A simpler fix would be to a change of the BootDrive value to 0xFF.
As you said, the current value is 0,
but thats by design,
since all the values have been filled for a 1.44M diskette.
Even the File System ID could have been set differently,
since the neutral value 'FAT ' is allowed here.
--- Phillip Susi <psusi(a)cfl.rr.com> wrote:
> Well, I finally solved my problems with getting freeldr to boot from a
> hard drive. The first is a problem with fat.bin itself. Early during
> it's execution it checks to see if the boot sector header specifies a
> device ID of 0xff, and if so, it uses the device ID the bios passes in
> CL when it invokes the boot sector, otherwise it uses the device ID in
> the boot sector header. The device ID field of the boot sector is
> inherently unreliable and should NEVER be used. In my case mtools was
> leaving it as it was in fat.bin, which is 0, so it was trying to access
> the floppy instead of the hard disk. I have fixed this by removing the
> check to see if the field is 0xff, so the code will always use the
> device passed by the bios.
Kind regards,
Usurp (aka Sylvain Petreolle)
humans are like computers,
yesterday the BIOS was all
- today its just a word