What's going on with XTIDEUniversal BIOS? It's been four months since v2.0.0 beta 3 was
released.
Beta 3 was supposed to be
last and quick beta testing phase before releasing stable v2.0.4.
Well, beta 3 turned out to be a lot more buggy than I thought it
would. It is buggy but fortunately most of the bugs are quite minor
and doesn't effect many users, except that slave drive support is
broken.
I believe most people use
XTIDE Universal BIOS on their XT systems along with XTIDE or Lo-tech XT-CF boards. Actually I do most of the testing with Pentium system
so AT builds get most of my attention. I have 8 MHz Turbo board for
testing XT builds but I don't have enough space to keep all my
testing equipment available all the time. I also test with my gaming
286 and 486 systems from time to time.
Back to the bugs in beta
3. I started to do lots of testing to get stable version released and
I fixed those minor bugs quite soon I found one. I decided to try to
install Windows 95 and 98 along the testing process. There were no
problems to install Windows 95 but Windows 98 was something else. One
bug was exceptionally hard to fix and it took weeks.
Windows 98 install always
crashed to blue screen at certain point. I was able to install
Windows 98 using motherboard BIOS but again I got the very same blue
screen when loading Windows once I had switched back to XTIDE
Universal BIOS. Eventually I found out that the blue screen happened
when Windows 98 tried to load protected mode floppy driver
(HSFLOP.PDR). Renaming it forced Windows to use real mode floppy
driver and that helped. Next I had to find out how XTIDE Universal
BIOS was incompatible with Windows 98 floppy driver.
If you are familiar with
XTIDE Universal BIOS, then you must know that it has a feature to
allow install DOS from any floppy drive to any hard drive on the
system. DOS itself only supports boot from first floppy or hard drive
on the system. Drive number translation, or swapping, is a way around
this limitation. During drive detection, you can use hot keys to
select what drive(s) are to be set as primary. For example to boot
from second hard drive in the system, press D. This sets second drive
to be drive C and first drive to be D. Next you can press A to boot
from floppy drive containing DOS install disk. Or you can press B to
set second floppy drive as primary floppy drive and boot from it. Now
you can install DOS from second floppy drive to second hard drive.
Floppy drives are handled
by motherboard BIOS and there can be hard disks handled by other
BIOSes as well. They don't know anything about drive swapping so
XTIDE Universal BIOS must do all the drive number translations. One
thing to complicate this is that the other BIOSes can make recursive
INT 13h calls (INT 13h contains drive access functions) so XTIDE
Universal BIOS must not translate the drive number more than once.
Previously XTIDE Universal
BIOS temporarily restored system INT 13h handler before calling it.
This way the system BIOS could do as much recursive calls as it
needed to. Replacing the INT 13h handler was something Windows didn't
expect and that caused blue screen. Now XTIDE Universal BIOS disables
drive swapping before it calls system INT 13h.
I still have more testing
and fixing do to before stable version can be released. I just don't
have as much time for coding as I would like.
Ei kommentteja:
Lähetä kommentti