20

It has been my belief that one of the nice features of the original Atari ST is that it has support "out-of-the-box" for a hard disk drive connected via its built-in ACSI port- similar to the way you can connect an external SCSI drive to a Macintosh Plus and have it just work.

However, I see a lot of information online about hard disk driver software for the Atari ST. This usually comes with complicated caveats regarding TOS versions and HDD partitioning.

Question: Can a bare stock, original Atari 520ST, with TOS 1.0x ROM, boot from a connected hard drive, without any special boot floppy or 3rd party driver?

Assuming the answer is affirmative, what limitations are there with such a setup? And which 3rd party driver(s) or special partitioning software should be used to best overcome the limitations?

2 Answers 2

21

All models of the Atari ST1 had code in ROM to attempt to read and run a boot sector from the first sector an ACSI2-attached drive. The bootloader3 contained in that sector would4 load the hard disk driver from a known file5 in the hard drive's root directory6. This program would install the full hard disk driver and boot would proceed normally using the hard drive's root directory, AUTO folder, etc.

1 The very first version of the 520ST loaded TOS from floppy disk. I am unsure of how it behaved when presented with a hard-drive at boot time.

2 ACSI was very closely related to SCSI, see here for details. All of the hard drives I used on the Atari ST/TT were natively SCSI with a small adapter (ICD Link 2, about 2×4×6 cm IIRC) placed inline between the ST's ACSI port and the SCSI cable. Later models such as the TT used SCSI natively and booted directly from their internal hard drive; the TT provided both ACSI and SCSI-2 ports on its back panel. The Falcon was a bit different; it used an internal IDE bus (PIO, no DMA) and an external (DMA-capable) SCSI-2 port (no ACSI port was provided).

3 The bootloader would be installed onto the hard drive using a stand-alone utility, typically named HINSTALL.PRG.

4 Based on a combination of my recollections and the info on this page. AFAICR I haven't used a hard drive with any 520ST model only the 1040STf (early, TOS 1.0), 1040STe (TOS 1.62 or 2.06, forget which), and TT030 (TOS 3.x) models.

5 Originally this was SHDRIVER.SYS (for SH204, SH205, and Megafile) and I believe was specific to the drive's controller board. I used the third-party ICDBOOT.SYS (for a 40MB drive) and SUPBOOT.SYS (for a 720MB Supra drive) on my drives. I don't recall what the TT's internal drive used (the driver may have been built into the TT's version of TOS).

6 One could also install the hard disk driver by placing the driver (AHDI.PRG) in the AUTO folder of one's normal boot (floppy) disk. The SHDRIVER.SYS file is simply a renamed copy of this program.

6
  • 2
    @PeterCordes Been using PCs for too long. Yes I meant ACSI (Atari Computer Systems Interface), not AHCI. May 18 at 0:56
  • Does the TOS version matter at all? Say for partition type support or partition/drive size support?
    – Brian H
    May 18 at 14:38
  • 1
    To your point 2: original Atari harddisks (SH-204/SH-205/Megafile 30/60) did not use SCSI drives but MFM or RLL drives using the PC standard ST-506 interface drives. They had a special ACSI/ST-506 interface. May 19 at 8:55
  • 1
    TOS 1.00 had several bugs making use of hard disk extremely annoying (40 folder limit for example). TOS 1.02 (aka blitter TOS) that came with Mega ST corrected some of these earlier flows. May 19 at 8:58
  • Discovered from the linked docs that all versions of TOS limit HDD partition size severely, with TOS 1.0x being limited to 256 MiB per partition.
    – Brian H
    May 19 at 15:33
10

Question: Can a bare stock, original Atari 520ST, with TOS 1.0x ROM, boot from a connected hard drive, without any special boot floppy or 3rd party driver?

Yes, as long as it's fitted with a proper partition/boot sector and hard disk driver (usually AHDI.SYS).

Assuming the answer is affirmative, what limitations are there with such a setup? And which 3rd party driver(s) or special partitioning software should be used to best overcome the limitations?

There are none, just many ways to screw it when tinkering. Let's look how the Atari ST boot works:

  • Look at the first Floppy (Drive A:) for an executable sector at Side 0, Track 1, Sector 1
    • If one is found, go ahead and execute it
  • If none is found check the AHCI drive (HD) for a a partition sector (again at logical sector 0
    • If one is found, check if executable
    • If executable, then do so
  • If neither worked, bring up the default desktop, optional with a DESKTOP.INF if found on Drive A: (no matter if bootable or not)

Looks straight forward, so where do all these 'Drivers' come into play?

Well, they need to be loaded from disk, either Floppy or HD. On a properly initialized HD, the partition/boot sector contains a loader which loads AHDI.SYS (or whatever 3rd party to be used), which in turn hooks the RWABS vectors - Read or Write ABSolute (IIRC) - the OS vector to read a block from any device.

So in theory it would as well be fine if the driver is loaded from Floppy by some automated or manual process - except, the DOS layer only adds a C drive to the list of drives, if a proper partition/boot sector is found. Some drivers overcome this by 'informing' DOS independent of what it detected. That's also the way to install a new HD.


Follow up question: So why are there so many problems reported?

Simple answer: PEOPLE.

Possible issues are:

  • Having a bootable floppy (still very common back then)
  • Deleting the driver
  • Having the HD not ready when turning the ST on makes the DISK invisible
  • Changing Partitions without correcting the bootable signature
  • and several more

Personally I never had any issue with an ST Hard drive. Neither the original SH20 nor third party.

1
  • I had some kind of driver floppy for my Mega 2 to boot from hard disk, I think it was called "Hushi Jr" or something?
    – AndreKR
    May 19 at 17:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.