skiselev / 8088_bios

BIOS for Intel 8088 based computers
GNU General Public License v3.0
513 stars 61 forks source link

Not able to boot Minix 1.2 #68

Closed krangerich closed 3 months ago

krangerich commented 3 months ago

Currently, the BIOS is not able to boot old Minix versions like 1.1 or 1.2.

The reason for that is, that these disk images don't have the 0xAA55 boot sector signature. Initially I thought, these images must be bad or something, but it turns out, that the boot sector signature on floppy disks is actually not checked by basically every historical BIOS. I tried a lot of different BIOSes using 86Box (IBM PC, XT, American XT, AMI XT, Generic XT, ...even 286, 386 or Pentiums), as well as external floppy BIOSes (Magitronic B215, DTK) - every BIOS is able to boot the Minix disk without the boot sector signature.

All the messages, that exist ("Disk is not bootable, ...") and we are used to actually come from valid default bootsectors on every disk, not from the BIOS itself.

So I would suggest to remove the check for the boot sector signature for floppies from the BIOS, since this would be in line with the default behavior of other BIOSes (and enables booting from uncommon disk images)

skiselev commented 3 months ago

Thanks for the input! I thought that if the signature is there, why not to check for it? 😄 I made it configurable using BOOT_SIGNATURE