Re: [hatari-devel] Fast-boot option and SCSI

[ Thread Index | Date Index | More Archives ]

This is a multi-part message in MIME format.

Thanks Uwe!

Thomas, there's place in tos.c where IDE & ACSI
are checked, but SCSI isn't:

should that need a check for SCSI too?

I also noticed that SCSI partition counts where
not handled in all the places ACSI ones are.

Attached patch(es) should fix these issues, but I
was wondering, whether I should replace bAcsiEmuOn
& bScsiEmuOn flags with a check for ACSI & SCSI
partition counts?

Any other comments?

(I haven't tested the patch more than that it
compiles, I'll do that after getting ACK for it


On 8/30/20 9:01 PM, Uwe Seimet wrote:

Yes, TOS (at least an unpatched TOS) can only boot from the first IDE drive,
whereas it can boot from any ACSI and SCSI drive. The IDE drive is checked
for a bootable root sector first, followed by the 8 SCSI drives, followed by
the 8 ACSI drives. Of course, unpatched TOS versions can only boot from
those interface types (IDE, SCSI, ACSI) supported by the respective TOS. The
device type does not matter, i.e. TOS would also be able to boot from a
SCSI CD-ROM drive with 512 bytes per sector if this drive had the right
filesystem layout instead of ISO format. (Very old CD-ROM drives support
this sector size.)
TOS cannot boot from drives that have more than 512 physical bytes per

Best regards



On 8/30/20 1:43 AM, Thomas Huth wrote:
Am Mon, 17 Aug 2020 13:03:01 +0300
schrieb Eero Tamminen <oak@xxxxxxxxxxxxxx>:
While doing tos-boot Hatari tests for next EmuTOS release, I noticed
a bug in Hatari.

When using SCSI drive with "--fast-boot on" option, boot drive is A:,
not C:.

Thomas, because there can be multiple drives, and
one doesn't necessarily use drive zero, is this
correct fix, or should something more complicated
be done:
--- a/src/floppy.c
+++ b/src/floppy.c
@@ -174,7 +174,7 @@ void Floppy_GetBootDrive(void)
           if (!ConfigureParams.HardDisk.bBootFromHardDisk)

-       if (ACSI_EMU_ON || ConfigureParams.Ide[0].bUseDevice)
+       if (ACSI_EMU_ON || ConfigureParams.Ide[0].bUseDevice ||
                   nBootDrive = 2;  /* Drive C */

I think you could boot from any SCSI disk, not only from the first one.
So it likely would be better to check all SCSI disks here.

What about IDE, can one boot only from the first IDE drive?

	- Eero

Mail converted by MHonArc 2.6.19+