Burning a Magic7 EPROM
For operating system programmers only.
Described here are the superficial basics of what you need to know
in order to make a ROM version of the kernel, transfering the
executable from a DECstation to a PC, and burn an erasable
programmable read only memory (EPROM) chip using the Allpro system.
Compiling the Kernel
To make a ROM version of the kernel the following environment
variables need to be set before compiling:
- MEM_STYLE must be set to INROM
- ROM_SIZE must be set to the hexadecimal size of the EPROM in bytes
To date, we have used 3 different types of EPROMS and thus 3
different values for ROM_SIZE:
- 2000 128Kbytes EPRINT-27C210
- 4000 256Kbytes EPRINT-27C220
- 8000 512Kbytes EPRAMD-AM27C4096
The m7 Makefile automatically checks that tables required for
i80960 bootup are located at their proper addresses. The minimum
address of the text segment should be 0xF0000000. The maximum address
of the text segment should be 0xF0000000+ROM_SIZE. You may want to run
gnm960 m7 | sort | tail or invoke make listing to
see the maximum text segment (code) address. Also, head the
instructions given by the .check_addresses part of the Makefile,
directing where the global variables _rom_prcb and
_init_boot_record should be located, and how to fix their
positions if need be.
The file m7.ROM_SIZE (i.e. m7.80000) is the stripped executable that
is used to program the EPROM. The m7/Makefile automatically checks
addresses and strips the b.out header for preparation to be downloaded
to the Allpro program.
Transfering the Executable
On the PC hosting the Allpro, in room E15-347, type ftpon.
This launches a DOS batch file that copies the config.sys file that
runs the terminate and stay resident tcp/ip handler after
rebooting. After it soft reboots, cd c:\tmp and type
tftp serve to start the ftp server that will dump files into
that directory.
Now go to a DECstation, cd $CHEOPS_LOCAL_BIN and type
tftp phoenix to start a tftp session. Then type mode
binary and then put m7.ROM_SIZE. The transfer will
signal completion after a while. Now go back to the PC and type q to
quit the tftp server and then ftpoff to take out the tcp/ip
handler after the next reboot. Once it has rebooted, cd
c:\allpro and then type allpro to begin the Allpro
session.
Programming with the Allpro system
Programming an AMD AM27C4096 EPROM
Select the following items from the allpro main menu/and subsequent submenus.
- main menu/select library epramd (Advanced Micro Devices EPROM
Library) and device 13211 (AM27C40960 - 256K x 16bits - Flash
Algorithim) = 4096 Kbits or 512 Kbytes = 80000 hex bytes.
- main menu/read formatted file/binary format/m7.8000
- this step is OPTIONAL: view the data to make sure it arrived
properly, but be very careful not to edit anything.
- main menu/edit data map
- verify that the value at address 0h is 00 30 28 80
- go to byte 2C of the ibr (which starts at F0000000+ROM_SIZE-100)
with the commands
- F8 to skip to next page +40000
- F5/3FF2Ch to go to the desired position and
verify that the value at address 7FF2Ch is FF 7F FE 1F
- F10 to return to main menu
- take an AM27C4096 EPROM that has been exposed to UV light for at
least 1 hour. (Remember the legs must poke downward into the foam in
the tanning booth). Insert it into the Allpro "software driven device
programmer" with the notched end facing south and lock it in with the
lever.
- main menu/blank check device (this will take a while)
- main menu/program device (this will take even longer)
- now put a label on the EPROM that relays the most important information.
Programming an INTEL 27C220 CMOS EPROM
Select the following items from the allpro menu as shown above:
- select library eprint (Intel EPROM Library) and device 12802
(27C220 - 128K x 16 CMOS EPROM - Quick Pulse) = 2048Kbits or 256Kbytes
= 40000 hex bytes.
- read formatted file/binary format /m7.4000
- as done above, optionally verify that
the value at 0h is 00 30 20 80 and
the value at 1FF2Ch is FF 7F FE 1F
- Continue as shown above.
Programming an INTEL 27C210 CMOS EPROM
Select the following items from the allpro menu as shown above :
- select library eprint (Intel EPROM Library) and device 12644
(27C210 - 64K x 16 CMOS EPROM - Quick Pulse) = 1024Kbits or 128Kbytes
= 20000 hex bytes.
- read formatted file/binary format /m7.2000
- as done above, optionally verify that
the value at 0h is 00 30 20 80 and
the value at FF2Ch is FF 7F FE 1F
- Continue as shown above.
Jump to the Magic7 Intro
Jump to the Cheops Homepage
Originally created by sbeck@media.mit.edu, in FrameMaker format.
cheops-web@media.mit.edu
This is a "fix it yourself" page,
located at /mas/garden/cheops/WWW/magic7/magic7_eprom.html