Hi there!
Recently i was looking into the source code of the IBM 5160 BIOS, and although knowledge of 8088 assembly is pretty much non existant i found one piece of code that i found particularly interesting. So the system BIOS obviously has to stop looking for extension ROMs past a certain memory address and at F600h it starts looking for ROM BASIC. This is well known right?
So i really like the BIOS from Plasma which not only includes the source code but a also a very convenient way of assembling it back to binary. So i took a look into the code and made it so the BASIC ROM search becomes irrelevant and also made it so that the BIOS only stops look for ROM extensions past FC00h. The reason why i did this is simple. Some XT clones had several sockets that could be used not only for ROM BASIC but also for ROM extensions. Later clones however only include a single 32KB ROM socket that is wired for F600h to FCFFh. Exactly for ROM BASIC usage only. My opinion is that Cassete BASIC is pretty useless without a cassete port, so by hacking the BIOS the way i did made it possible that i can use the BASIC socket for extension ROMs, thus saving space in the C000h to EFFFh area.
Well usually these experiments don't have an happy ending, at least for me, but it actually works! So i moved my High Density floppy extensions (by Sergey) to the Fxxxh area and it works just as well as on my lo-tech 8 bit IDE socket. So if it works why am i here?
Well Sergey's BIOS is great, because one can patch it to change the floppy configuration, but the BIOS doesn't seem to be the most compatible ever. If i have the BIOS installed some PC Booter games refuse to work:
1 - Wizardry 1 (Original release) refuses to work, displays "Can't access system disk"
2 - Metropolis boots into the screen where it asks for the second disk but refuses to work, with a PC speaker message
3 - Oil's Well actually works with Sergey's BIOS, but only if i disable the XT-IDE BIOS, so the imcompatibility seems to come from XT-IDE BIOS
So i tried a different HD Floppy BIOS, actually this one from minuszerodegrees.net and it luckily its configuration matches the one in my system.
So i tried the booters that were not working with Sergey's BIOS. Metropolis still does not work and Oil's Well only works if i disable XT-IDE BIOS but Wizardry now works!!
Unfortunately i don't like the HD Floppy BIOS does a Floppy drive seek, moving the heads back and forth, right at cold boot, and everytime i warm boot too, so i was wondering if this BIOS can be hacked to remove all that floppy drive racket. Sergey's BIOS does not make the floppy drives move heads but it doesn't seem to be as compatible. So can any kind sould hack this floppy BIOS to remove all that floppy heads moving during boot?
I'm wondering if Sergey's BIOS is still being actively developed and improved. Because if there's improvements i just prefer to use it, as its great to change the floppy configuration.
Recently i was looking into the source code of the IBM 5160 BIOS, and although knowledge of 8088 assembly is pretty much non existant i found one piece of code that i found particularly interesting. So the system BIOS obviously has to stop looking for extension ROMs past a certain memory address and at F600h it starts looking for ROM BASIC. This is well known right?
So i really like the BIOS from Plasma which not only includes the source code but a also a very convenient way of assembling it back to binary. So i took a look into the code and made it so the BASIC ROM search becomes irrelevant and also made it so that the BIOS only stops look for ROM extensions past FC00h. The reason why i did this is simple. Some XT clones had several sockets that could be used not only for ROM BASIC but also for ROM extensions. Later clones however only include a single 32KB ROM socket that is wired for F600h to FCFFh. Exactly for ROM BASIC usage only. My opinion is that Cassete BASIC is pretty useless without a cassete port, so by hacking the BIOS the way i did made it possible that i can use the BASIC socket for extension ROMs, thus saving space in the C000h to EFFFh area.
Well usually these experiments don't have an happy ending, at least for me, but it actually works! So i moved my High Density floppy extensions (by Sergey) to the Fxxxh area and it works just as well as on my lo-tech 8 bit IDE socket. So if it works why am i here?
Well Sergey's BIOS is great, because one can patch it to change the floppy configuration, but the BIOS doesn't seem to be the most compatible ever. If i have the BIOS installed some PC Booter games refuse to work:
1 - Wizardry 1 (Original release) refuses to work, displays "Can't access system disk"
2 - Metropolis boots into the screen where it asks for the second disk but refuses to work, with a PC speaker message
3 - Oil's Well actually works with Sergey's BIOS, but only if i disable the XT-IDE BIOS, so the imcompatibility seems to come from XT-IDE BIOS
So i tried a different HD Floppy BIOS, actually this one from minuszerodegrees.net and it luckily its configuration matches the one in my system.
So i tried the booters that were not working with Sergey's BIOS. Metropolis still does not work and Oil's Well only works if i disable XT-IDE BIOS but Wizardry now works!!
Unfortunately i don't like the HD Floppy BIOS does a Floppy drive seek, moving the heads back and forth, right at cold boot, and everytime i warm boot too, so i was wondering if this BIOS can be hacked to remove all that floppy drive racket. Sergey's BIOS does not make the floppy drives move heads but it doesn't seem to be as compatible. So can any kind sould hack this floppy BIOS to remove all that floppy heads moving during boot?
I'm wondering if Sergey's BIOS is still being actively developed and improved. Because if there's improvements i just prefer to use it, as its great to change the floppy configuration.