AminetAminet
Search:
84493 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/misc/DumpA1000BootROM.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Dump the Amiga 1000 boot ROMs to disk
Author:markk at clara.co.uk
Uploader:markk clara co uk
Type:util/misc
Version:1.2
Architecture:m68k-amigaos >= 1.0
Date:2013-01-06
Download:http://aminet.net/util/misc/DumpA1000BootROM.lha - View contents
Readme:http://aminet.net/util/misc/DumpA1000BootROM.readme
Downloads:1405

DumpBootROM 1.2 by Mark K <markk at clara.co.uk>
---------------------------------------------
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


Contents of util/misc/DumpA1000BootROM.lha
PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[generic]                 1815    3845  47.2% -lh5- 03ed Jan  6  1980 DumpA1000BootROM/DumpA1000BootROM.txt
[generic]                  601     772  77.8% -lh5- 5fe6 Apr  9  1980 DumpA1000BootROM/DumpBootROM
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total         2 files    2416    4617  52.3%            Jan  6 22:25

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>