• Please review our updated Terms and Rules here

XTIDE Universal BIOS v2.0.0 beta testing thread

aitotat

Experienced Member
Joined
Aug 13, 2009
Messages
351
Location
Finland
It's been over a year since XTIDE Universal BIOS v1.1.5 was released and now it is finally time to release v2.0.0 beta 1.

This is quite a big release as the version number indicates. There are so many changes that I don't think there are any code left from v1.1.5. Here are some of the most significant changes:

  • Support for EBIOS functions (more than 7.8 GiB / 8.4 GB can now be accessed)
  • Support for LBA48 addressing (more than 128 GiB / 137 GB can now be accessed)
  • Support for virtual drives via serial port
  • Support for XTIDE "chuck mod", XTIDE rev2 and JR-IDE/ISA

Personally I think the most significant change is that I no longer do all the coding myself. Serial support is done by GregLi and Krille had done lots of excellent optimizations.

There is a reason for public beta. Please, read wiki manual carefully, especially the Important if you are upgrading from XTIDE Universal BIOS v1.x.x. So basically you might lost all data if you upgrade from XTIDE Universal BIOS v1.x.x!!! Also note that you might lose all data when updating to future versions if I need to change the way CHS parameters are generated for LBA drives. That is the main reason for public beta.

There are separate instructions for emulating Serial Drives.

Beta 1 comes included with BIOS Drive Information Tool (BIOSDRVS.COM). It displays some information about the drives in system. The output looks like this:
Code:
-= Drive 80h   =-
ATA-information from AH=25h...
 Name: SAMSUNG SP1634N                        
 Cylinders    : 16383     , Heads: 16   , Sectors: 63  
 CHS   sectors: 16514064
 LBA28 sectors: 268435455
 LBA48 sectors: 312581808
Old INT 13h information from AH=08h and AH=15h...
 Cylinders    : 1024     , Heads: 255   , Sectors: 63  
 Total sectors: 16450560
EBIOS information from AH=48h...
 Version      : 21h  , Interface bitmap: 1h  
 Total sectors: 312581808
 Sector size  : 512

I'm hoping you can run this program on systems without XTIDE Universal BIOS and then compare the results with XTIDE Universal BIOS v2 with the same drive. Please let me know if there are any differences. It should be safe to move the hard drive from one system to another if the drive geometry results are the same.

Of course, please let me know any bugs or if something should be improved or modified.

XTIDE Universal BIOS v2.0.0 beta 1 can be found here.
 
Wow, virtual serial drives - that's impressive!
Quick question: this BIOS will not work on a XTIDE v1 card?
 
Great news!

Yes it will work with the original; use the 8K binaries.

Aitotat - don't suppose the flash utility supports sst39sf0x0a chips?
 
XTIDE Universal BIOS v2.0.0 works with XTIDE rev 1 just like the previous versions do.

Configurator does not support flash chips (at least not yet) but EEPROMs from 8 to 32k are supported (but I've only tested with the 8k that is on XTIDE rev 1). Changes can be saved so it is possible to use other utility for flashing.

SATA to PATA converters are invisible to software so if the adapter works with your hardware, it will work with XTIDE Universal BIOS.
 
The CSEL issue on the original XT/IDE board might cause issues with SATA bridges.
 
Hi, did I imagine it or is there a potential bug in 1.x with drives of approximately 1GB? I felt sure I'd seen something but can't find it now. Aside from a couple of ATA-2 drives, it seems odd that all four devices that won't work properly with the DPv2 board are about 1GB - namely WD 2850, 21000, 31200, and an integral compact flash card INCF1G.
 
There is nothing special in 1 GB capacity. I used to have 1.2 GB Seagate (the great ST51270A slimline model) on my 486 when I did testing with XTIDE Unversal BIOS 1.x.x. I also tested 850 MB and 1 GB Seagates, 1 GB Maxtor and 850 MB Quantum. Never had any problems with them.

I have no idea why WD drives are problematic. I don't have one to test, except old 85 MB WDAC280 (and I think I tested that one too).

It is easy to test if the problem is with XTIDE Universal BIOS or IDE controller. Find a system where the drives do work with the motherboard BIOS. Then disable them from motherboard BIOS (set to none) and place XTIDE Universal BIOS AT build on the system (doesn't matter if the BIOS is on a network card, XTIDE or in some other card). Do not connect the drive to XTIDE but keep it connected to the multi I/O card or motherboard integrated IDE. There is no need to configure the v2.0.0 AT build since the default settings are fine for just about any AT system.

Now the XTIDE Universal BIOS should detect the WD drive and it should work fine. If not, then I must find one of those problematic models for testing.
 
The note I was thinking about turned out to be in the 0.11 BIOS notes,

todo/notes:
1) possible drive translation issue with drives ~2G in size. Some bioses report cylinders-2, whereas we report cylinders-1 in INT13 fn 8


Anyway, is there a BIOS development thread somewhere?
 
A few comments on the v2-beta:

- Flash utility seemed to have problems with ST M28C64C-15P1 chips. It wrote one out with SDP=None eventually.
- Flash utility also hung the PC when saving settings on one occasion (edit: maybe because the FDD entry point was via the BIOS I'd just over-written?)
- With the BIOS loaded, MDA cursor position is floating - looks like: C:\>-

Using my simple testing utility (file system test with 4MB file on a compact flash card) throughput was:

- XT: write 117KB/s, read 205KB/s (MHS D8088.)
- P200: write 101KB/s, read 175KB/s (IDT WinChip P200)

The P200 slower!? Shadowing it's ROM has a BIG effect, increasing the numbers to 520KB/s and 750KB/s, and 770 sector-IOPS (off a compact-flash card, this is). Of course the on-board controller is way faster as we'd expect, 3-4MB/s and 1400 IOPS. All tests done twice and tally to stop-watch.

The card boots just fine and runs Norton Disk Doctor OK.

That's it so far!
 
Last edited:
A few comments on the v2-beta:
- Flash utility seemed to have problems with ST M28C64C-15P1 chips. It wrote one out with SDP=None eventually.
Sounds like the EEPROM chip does not support Software Data Protection. If that is the case, then I strongly recommend to use one that does.

- Flash utility also hung the PC when saving settings on one occasion (edit: maybe because the FDD entry point was via the BIOS I'd just over-written?)
This is a new problem.

- With the BIOS loaded, MDA cursor position is floating - looks like: C:\>-
I thought I already fixed that but I could't test it since my MDA equipment is currently in storage. Do you have original IBM PC or XT BIOS or did this happen on a clone BIOS?


The P200 slower!? Shadowing it's ROM has a BIG effect, increasing the numbers to 520KB/s and 750KB/s, and 770 sector-IOPS (off a compact-flash card, this is). Of course the on-board controller is way faster as we'd expect, 3-4MB/s and 1400 IOPS.
Pentiums are terrible at fetching code from 8-bit BUS, just like I documented on the wiki manual.
 
Re MDA, my test platform is a 5160 with original BIOS and MDA card.

I missed the two notes about Pentiums (performance and flashing); since I use that system for flashing that probably explains it too.

Many thanks!
 
The Shadow RAM stuff was in the wiki all along but I added the Pentium flash problem just after my last reply.

I made the CHS compatibility testing a lot easier. Here is new BIOS Drive Information Tool v1.0.1. Here is an example of what it displays:
Code:
-= Drive 81h   =-
ATA-information from AH=25h...
 Name: HMS360606D5CF00                        
 Cylinders    : 11905     , Heads: 16   , Sectors: 63  
 CHS   sectors: 12000240
 LBA28 sectors: 12000556
XTIDE Universal BIOS v2.0.0ß1 (2012-03-19) generates following L-CHS...
 Cylinders    : 744     , Heads: 255   , Sectors: 63  
Old INT 13h information from AH=08h and AH=15h...
 Cylinders    : 744     , Heads: 255   , Sectors: 63  
 Total sectors: 11952360
EBIOS information from AH=48h...
 Version      : 21h  , Interface bitmap: 1h  
 Total sectors: 12000556
 Sector size  : 512

The XTIDE Universal BIOS v2.0.0ß1 (2012-03-19) generates following L-CHS... is what is new. It displays the L-CHS parameters what XTIDE Universal BIOS v2.0.0 beta 1 generates and that helps in three different ways:

1) It is now a lot easier to check if the XTIDE Universal BIOS uses compatible CHS values so you can move the drive from one system to another. Heads and Sectors must be the same!!! Cylinders might be one less in other BIOSes but that does not matter if you create partition(s) in the system that shows less cylinders.

2) Even though XTIDE Universal BIOS v1.x.x uses different method for generating L-CHS for LBA drives, there are some drives where the CHS will end up being the same (cylinders can be one or two less). It should be safe to update to v2.0.0 beta 1 in that case. Do take backups before updating, just in case.

3) I asked to do comparisons with other BIOSes. It is now easy since it is no longer necessary to install XTIDE Universal BIOS. Just run the BIOS Drive Information Tool v1.0.1 and let me know if there are any differences between XTIDE Universal BIOS v2.0.0ß1 (2012-03-19) generates following L-CHS... and Old INT 13h information from AH=08h and AH=15h... (no need to report if the latter displays one cylinder less).
 
Please do some testing. I'd really like to know if the CHS parameters are the same as on other BIOSes.

By the way, next beta will have native support for QDI Vision QD6500 and QD6580 VLB IDE controllers. Read rates were 1.9 MB/s with beta 1 and now they are nearly 7 MB/s on my 486. I'd like to know if there is need for supporting other VLB or PCI controllers as well.
 
It really depends what you're trying to do with it; what advantage does it present over the built-in BIOS? Regardless, the coding speedup is pretty impressive :)

I will be doing some testing of the CHS stuff at some point - as ever, time is always the problem!

BTW I wanted to raise the idea of a 'silent' mode. Say I replaced an old ISA hard card with an XT/IDE board, it would be nice if the system could remain 'authentic', i.e. with no BIOS mention of anything to do with storage. Just a thought :)
 
I'm still using the modified Hargle BIOS on mine. I can't say that I've ever used the startup menu.

Just a simple report of what was found and an attempt to boot from A:, followed by an attempt to boot from C: would probably be fine. No menu.
 
To be fair the menu itself can be silenced in the v2, but IIRC it still has various keyboard options at the bottom of the screen and displays drive info. I'm probably being picky :)
 
what advantage does it present over the built-in BIOS? Regardless, the coding speedup is pretty impressive :)

Motherboard BIOSes do not support VLB IDE Controller chips (unless it is integrated to the motherboard). There are many different VLB IDE controllers made from the beginning to the end of VLB lifetime. Without support, the 32-bit VLB multi I/O cards do not offer any advantage over 16-bit ISA multi I/O card (except that few VLB multi I/O cards have jumpers for setting timings, usually up to PIO-2). For example the QDI Vision QD6580 that I have defaults to slowest possible timings with read buffering disabled.

Since there is no BIOS supports, drivers must be used to get the controller to work with all features enabled. How many of you ever used drivers for VLB multi I/O cards? I never did.

Drivers need to be installed and they require memory. Native support in XTIDE Universal BIOS autodetects the controller, sets fastest possible timings supported by the drives and enables 32-bit I/O. This is what later BIOSes do for the intergrated IDE controller.


BTW I wanted to raise the idea of a 'silent' mode. Say I replaced an old ISA hard card with an XT/IDE board, it would be nice if the system could remain 'authentic', i.e. with no BIOS mention of anything to do with storage. Just a thought :)
I'm not going to add any option to disable all output. At least the BIOS title and version should be displayed, like display adapters do. It would be very easy to disable all character output since eventually one function gets called that places the character on screen or calls BIOS to handle special characters. If you really need the silent mode, you'll have to build XTIDE Universal BIOS by yourself.
 
I'm using the version 2 beta BIOS (burned the latest copy 3 weeks ago) on an 80386SX, using the ROM in a network card, no problems to report. I'm getting 1.4MB/s reads.
Using a 20Gb Seagate Medalist, Pheonix ROM BIOS PLUS 1.10.20, and a Goldstar Prime 2 - DOS 622 + WIN 311. Only thing I noticed was checkitpro describes the drive as being -137Mb but thinking that could be just an overflow error in the program.

I too would like a simpler startup (maybe hold CTRL for boot detection details and menu?). Product name and copyright is all good, even a "Auto-detecting drives...." just looks odd scanning 4 channels and referencing their hex addresses and 99% of the time I just want to boot off the first primary. I'm using the AT BIOS standalone not the full XTIDE card though.

But I do wish to give my HUGE thanks, the BIOS is a huge help and I got a bit of a rush when I watched "XTIDE" appear on my 386 at boot!
 
Back
Top