12

Commodore A590 was a peripheral hard drive and memory expansion unit for Amiga 500/500+ computers. It provides SCSI and XT-harddrive controller and 2MB Fast Ram. Here is the Big Book of Amiga Hardware page for A590.

According to the A590 manual, Kickstart 1.3 users can directly boot from the A590. This function was provided by the autoboot ROM installed on the device. On the other hand Kickstart 1.2 users had to use a bootable floppy disk because kickstart 1.2 doesn't have necessary drivers.

Also grabbed from some forum conversations, an updated version of FFS should also be installed on the hard drive. This was not mentioned in the manual because the setup disk makes it automatically. Apparently, this is not required on Kickstart 2.01 and or later. Because updated FFS was already available in the system ROM.

So, how do autoboot ROM and mentioned bootable floppy disk works? What should be installed in boot floppy and hard disk itself?
Also, how is it possible that something required to use the hard disk can be installed on the very same disk? Why didn't Commodore put it in the autoboot ROM?

1 Answer 1

15

In order to autoboot any Amiga hard disk, 3 things are needed.

  1. A version of Kickstart that supports boot from HD. This means >= Kickstart 1.3.
  2. A device driver that knows how to speak to the HD controller, such as scsi.device.
  3. A filesystem handler that understands the format of the HD.

I think #1 is simple to understand. This is a function of the Strap (as in "bootstrap") code in the Kickstart ROM. Earlier versions did not check for the existence of an HD device driver, so it could only boot the machine using the built-in trackdisk.device - meaning boot from floppy.

For #2, since any device driver on the Amiga is a dynamic library, it can be stored in a ROM or loaded from a boot disk. A non-autoboot HD controller would get the HD device driver off the boot floppy, load it into RAM, and use it to access the HD. Similarly, a HD controller that includes an onboard autoboot ROM does not need a boot floppy. The system recognizes the device driver in the ROM and uses it to boot directly off the HD for Kickstart 1.3 or higher.

In case that is not clear enough pertaining to the A590, it means the A590 can use any option; either load a device driver from a boot floppy for Kickstart 1.2, or load it from onboard autoboot ROM for Kickstart 1.3, or use the device driver already part of the Kickstart 2.0 ROM. The boot code is smart enough to compare version numbers and choose the latest one.

For #3, the setup is similar for the filesystem handler as for the device driver. On the Amiga, filesystems are also dynamic libraries that can reside in ROM or RAM, and can be loaded from any boot drive. So, if your HD needs a filesystem that is disk loaded, it can provide that on the bootable partition. The Amiga recognizes the presence of the filesystem handler on the HD, loads this code first using the device driver, then uses the loaded filesystem to access the files and directories on the HD. This is also how advanced Amiga filesystems, such as PFS3, are loaded during system boot. In cases where the filesystem handler is already in ROM, this step is bypassed.

Again, applying the functionality above to the A590, means that the filesystem can be in ROM or loaded from disk. For Kickstart 1.3, the newer FFS is the one that will be found on the boot partition, so it will be used. For Kickstart 2.0, the ROM FFS is newer, so will supercede the one on the boot partition. If you want to use PFS3 on your A590 so you can stick a bigger HD inside it, then you just install PFS3 onto your new drive's boot partition.

Finally, filesystem handlers tend to be large code that are frequently enhanced. Conversely, a device driver for an HD controller is usually small and prone to minor revisions. Since HD autoboot ROM's also tend to be small, usually around 32KiB, they don't try to include filesystem handlers within them. Better to leave that for the main ROM or disk-loaded so they can afford more space for the code and more flexibility for how the filesystem is loaded.

Amiga's disk subsystem was quite "pluggable" and robust. That's part of the reason it ends up being possible to put modern flash storage devices into old Amigas, and even exchange them among different Amigas without trouble.

2
  • Wouldn't the file system need to be in the RigidDiskBlocks on the disk, if it's not in ROM or a floppy? Sep 19, 2020 at 20:28
  • Yes. That's case #3. I used the phrase "on the bootable partition", but more correctly "on the RDB" for use with the bootable partition.
    – Brian H
    Sep 21, 2020 at 12:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .