Short: Dump the Amiga 1000 boot ROMs to disk Author: markk@clara.co.uk Uploader: markk clara co uk Type: util/misc Version: 1.2 Architecture: m68k-amigaos >= 1.0 DumpBootROM 1.2 by Mark K --------------------------------------------- The purpose of this program is to write the boot ROM data of Amiga 1000 computers to disk. Some reasons you might want to do that: · If your A1000 has EPROMs for its boot ROM data, those chips will go bad eventually. So it would be a good idea to have a backup so you can re-burn the EPROMs when they do. · The WinUAE Amiga emulator supports emulation of the A1000. You could use the boot ROM image file with that. · You want to disassemble the code in the boot ROM. About the boot ROM ------------------ Unlike all other Amigas, the Amiga 1000 does not have Kickstart in ROM. Instead it has a small boot ROM and 256KB of "WCS" (writeable control store) RAM. When an A1000 is turned on, the boot ROM runs and loads Kickstart data from floppy disk into the WCS memory. It then write-protects the WCS memory and resets. The boot ROM is physically implemented in two 256Kbit EPROMs or mask ROMs. Its total size is 64KB, and appears at (at least) addresses $F80000-$F8FFFF and $FA0000-$FAFFFF. It probably also appears at $FC0000-$FCFFFF and $FE0000- $FEFFFF at power-on, though that region is not visible once Kickstart is loaded and run. As far as I know there was only ever one public version of the boot ROM. The data (when dumped to a single 64KB image file) has MD5 checksum 7be4a34d91e5dd7377e9b5c4ac64fc5a. I have a set of A1000 boot ROM chips which are marked as follows: MOS 252179-01 ©1985 CBM 5185 TAIWAN 28005A-0054 MOS 252180-01 ©1985 CBM 5085 TAIWAN 28005A-0055 The 252179-01 ROM contains bytes which appear at even addresses, the 252180-01 bytes at odd addresses. The A1000 boot ROM is not normally visible, being switched out of the 68000 address space when the WCS is write-protected. It can however be made visible by resetting the Amiga in a special way, which also write-enables the WCS RAM. At least two Amiga programs can write-enable the WCS memory in order to use the extra RAM: the A-Max Macintosh emulator and Dragon's Lair, both by Readysoft. Interesting boot-ROM-related notes: · Apparently one type of A1000 hard disk made by Comspec was able to load Kickstart from hard disk! It would have done that by having a ROM at $F00000 which the boot ROM code jumps to. · The boot ROM contains fairly extensive diagnostic code to test the CPU and custom chips. This code is not used in the release version but is still present in the ROM. Perhaps earlier boot ROMs used during development of the Amiga ran all the tests to make sure the custom chips (or breadboards) were fully working. Instructions ------------ Format a floppy disk and copy DumpBootROM to it. Use the Install command to make the disk bootable. You can optionally create an S/Startup-Sequence file to run the program automatically when the disk boots. Make sure the disk is write-enabled. Turn on your A1000 and load Kickstart. Once the insert Workbench disk image appears insert the disk you wrote DumpBootROM to. Type DumpBootROM and press return at the CLI prompt: > DumpBootROM It will probably tell you that the WCS is write-protected and that it will reset the machine to write-enable the WCS after ten seconds. You can break by pressing Ctrl-C during the wait. After the machine resets and the disk boots, run DumpBootROM again. This time it should dump the boot ROM data to a file. Wait until it is finished and all disk activity has stopped. (If run on an Amiga with Kickstart in ROM, DumpBootROM will reset the machine every time.) By default DumpBootROM dumps the 64KB boot ROM area from $F80000 to $F8FFFF. For diagnostic/analysis purposes, you can tell it to dump the entire 768KB region from $F00000 to $FBFFFF instead. To do that run it like this: > DumpBootROM F