VOGONS


First post, by Tempest

User metadata
Rank Member
Rank
Member

I'm attempting to configure the XTIDE BIOS for use in my 3COM network card which resides in my 486. I'm bit confused though on a few things and I'm hoping someone can help me out:

1. Up until the latest build (r629) there were two different bin files for 386+ systems. The regular 8K bin and the 'large' 10k bin. I believe I read somewhere that the larger one had better transfer speeds on 386 and faster computers, but that's the only thing I could find about it. What is the exact difference between the two? I see no reason not to use the larger one, but I'd like to know because...

2. The latest build (r629) doesn't seem to have the large version anymore. Is it no longer necessary or is it just not available yet?

3. The configuration menu items are a bit cryptic in spots. Does the auto configure option generally set these correctly or do you usually have to set them on your own?

4. This is more related to my 3COM card that I'm using for the boot rom. I have an IBM ValuePoint 486SX/S which has onboard video (S3 chipset I think). Does anyone know where in memory the onboard video is located so I can make sure it doesn't conflict with the XT-IDE BIOS?

--- AtariProtos.com ---
For when excellence and burnished fineries need to gently visit the warmth of your tablery

Reply 1 of 12, by douglar

User metadata
Rank Oldbie
Rank
Oldbie

Oooo! Thanks for pointing out that there's an update. That's the first new release in 18 month. Doesn't seem to have any new features. Or changes.

Here are the modules and features:
https://www.xtideuniversalbios.org/wiki/BuildInstructions

# Following modules can be included or excluded:                                                   #
# MODULE_8BIT_IDE Support for 8-BIT IDE cards like XTIDE #
# MODULE_8BIT_IDE_ADVANCED Support for memory mapped and DMA based cards like JRIDE and XTCF #
# MODULE_ADVANCED_ATA Native support for some VLB IDE controllers (requires USE_386) #
# MODULE_COMPATIBLE_TABLES Support for ill behaving software that tries to access DPT directly #
# MODULE_BOOT_MENU Boot Menu for selection of drive to boot from #
# MODULE_EBIOS Enhanced functions for accessing drives over 8.4 GB #
# MODULE_HOTKEYS Hotkey Bar to boot from any drive #
# MODULE_IRQ IDE IRQ support #
# MODULE_SERIAL Virtual hard disks using serial port #
# MODULE_SERIAL_FLOPPY Virtual floppy drives using serial port (requires MODULE_SERIAL) #
# MODULE_STRINGS_COMPRESSED Use compressed strings to save space #
# MODULE_VERY_LATE_INIT Initialize on INT 13h if our INT 19h handler is not called #
# MODULE_POWER_MANAGEMENT Power Management support #
# MODULE_WIN9X_CMOS_HACK Hack for Windows 9x compatibility #
# MODULE_MFM_COMPATIBILITY Restores BDA drive count for MFM controllers that expect to be the #
# only hard drive controller on the system #
# #
# Not modules but these affect the assembly: #
# ELIMINATE_CGA_SNOW Prevents CGA snowing at the cost of a few bytes #
# RELOCATE_INT13H_STACK ** Relocates INT 13h stack to beginning of stolen conventional memory #
# NO_ATAID_VALIDATION *** Excludes code that tries to ensure proper communication with drives #
# NO_ATAID_CORRECTION Excludes code that corrects illegal CHS values from some CF cards #
# USE_186 Use instructions supported by 80188/80186 and V20/V30 and later #
# USE_286 Use instructions supported by 286 and later (defines USE_UNDOC_INTEL)#
# USE_386 Use instructions supported by 386 and later (defines USE_286) #
# USE_AT Use features supported on AT and later systems (not available on XT) #
# USE_UNDOC_INTEL Optimizations for Intel CPU:s - do NOT use on NEC V20/V30/Sony CPU:s #
# USE_NEC_V Optimizations for use with NEC V20/V30 processors only #
# CLD_NEEDED Only needed for compatibility with buggy software/BIOSes

pretty sure the 386L includes # MODULE_ADVANCED_ATA
here's what's in that--

  • Native support for QDI Vision QD6500 and QD6580 VLB IDE controllers
  • Beta Support for Promise 20230C VLB IDE controllers
  • 32-bit VLB/PCI IDE --For those 32-bit controllers that do not require software support (PIO mode is set with jumpers). Can be used with all 32-bit controllers but PIO mode is 0 just like on 16-bit controllers

Reply 2 of 12, by Tempest

User metadata
Rank Member
Rank
Member

So the older version is probably still ok?

--- AtariProtos.com ---
For when excellence and burnished fineries need to gently visit the warmth of your tablery

Reply 3 of 12, by MikeSG

User metadata
Rank Member
Rank
Member

3 - The auto config button does generally set things up correctly. You can press it, then flash straight after. It should find your IDE controller..

4 - IIRC Video BIOS is always on C000. While flashing the XT-IDE BIOS in-system you can't shadow it, only afterwards.

Reply 4 of 12, by Tempest

User metadata
Rank Member
Rank
Member
MikeSG wrote on 2024-07-26, 15:17:

4 - IIRC Video BIOS is always on C000. While flashing the XT-IDE BIOS in-system you can't shadow it, only afterwards.

This is more for my 3COM card as I'm using the Boot ROM with it. I need to configure the card to know where the boot rom bios will reside.

--- AtariProtos.com ---
For when excellence and burnished fineries need to gently visit the warmth of your tablery

Reply 5 of 12, by Tempest

User metadata
Rank Member
Rank
Member

So I used the auto config program to make a rom image (which ended up being 12.3K) and burned it onto a 16K EPROM (27C128). I then configured my 3COM card to use the 16K Boot EPROM and set the address to C800h as suggested in this video to avoid conflict with my S3 built in video (https://www.youtube.com/watch?app=desktop&v=ofZLDAOmZYU). The system boots and sees the XT-IDE BIOS but says it can't find a boot sector on my CF card and then attempts to boot from the A drive which doesn't work either (the A drive just spins forever even with a bootable disk in it). Before the BIOS attempts to boot form the C drive I can select the different options at the top, but once it tries to boot anything the keyboard goes dead and I have to reboot.

Any ideas on what I did wrong? Does this sound like the Auto Config program didn't work right, the EPROM was burnt wrong, or that there's a memory conflict with the video bios and the xt-ide bios somewhere?

--- AtariProtos.com ---
For when excellence and burnished fineries need to gently visit the warmth of your tablery

Reply 6 of 12, by Tempest

User metadata
Rank Member
Rank
Member

If I let the boot process sit long enough it brings up this menu but I can't select anything as the keyboard is dead at this point.

The attachment IMG_6646.jpg is no longer available

Here are the settings I'm using for the 3COM card.

The attachment IMG_6644.jpg is no longer available

And I'll attach the BIOS file I made.

--- AtariProtos.com ---
For when excellence and burnished fineries need to gently visit the warmth of your tablery

Reply 7 of 12, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie
Tempest wrote on 2024-08-19, 16:38:

If I let the boot process sit long enough it brings up this menu but I can't select anything as the keyboard is dead at this point.

The one odd thing about your ROM is that it was filled with some random or duplicated bytes at the end, instead of zeros, but the cheksum byte is correct. Not sure if it's of any consequence.
Did you try to test it on other systems? Or without the CF card (floppy only)? Does the keyboard still lock up if you bypass the ROM during boot (hold CTRL key)?

BTW I did try to create ide_386l.bin and I've ended up with the same garbage, even though ide_at.bin and ide_386.bin were filled with zeros up to 8192. So it's not your a glitch on your end, the config program does that for longer ROMs.

Reply 8 of 12, by Tempest

User metadata
Rank Member
Rank
Member
Deunan wrote on 2024-08-19, 17:44:

The one odd thing about your ROM is that it was filled with some random or duplicated bytes at the end, instead of zeros, but the cheksum byte is correct. Not sure if it's of any consequence.
Did you try to test it on other systems? Or without the CF card (floppy only)? Does the keyboard still lock up if you bypass the ROM during boot (hold CTRL key)?

Holding CTRL didn't seem to do anything.

If I disconnect the CF reader then the BIOS will boot from a floppy disk but it's VERY slow, like a quarter of the speed it should be. If I reconnect the CF reader then it won't boot from the floppy. It just runs for a second or two and stops and keeps doing this until it eventually times out and goes back to that menu. The keyboard is always disabled, I can't do anything after it starts the boot attempt. Before this I can select the different options listed on the top of the screen, but I only have a second or two to try this before the boot sequence starts and freezes out the keyboard.

--- AtariProtos.com ---
For when excellence and burnished fineries need to gently visit the warmth of your tablery

Reply 9 of 12, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie
Tempest wrote on 2024-08-19, 18:00:

Holding CTRL didn't seem to do anything.

The timing can be tricky. If you hold it too early, BIOS might detect "keyboard error" and force you to release and press F1. If you hold it too late XTIDE would've already initialized and will run. So somehere right after memory test and KB init is the right spot. Also not sure if it matters but I've been using left CTRL for that.

Tempest wrote on 2024-08-19, 18:00:

If I disconnect the CF reader then the BIOS will boot from a floppy disk but it's VERY slow, like a quarter of the speed it should be.

I've had that with XTIDE too, even HDD booting linux can be slow. Seems like it's doing per-sector reads and doesn't do any read-ahead. So it's "normal", it speeds up the moment the first stage boot is loaded and run. For DOS it means loading IO.SYS into memory.

Tempest wrote on 2024-08-19, 18:00:

If I reconnect the CF reader then it won't boot from the floppy.

Does it work (floppy boot) with CTRL bypass or when the network card is removed? Because that might be a CF card issue, some apparently also map the floppy drive I/O space and there's a conflict. So that too might not be an XTIDE issue, although it would not explain why CF card is not booting. But that could be due to parition table issues - was is created before XTIDE was in the system?

Reply 10 of 12, by Tempest

User metadata
Rank Member
Rank
Member
Deunan wrote on 2024-08-19, 18:46:

Does it work (floppy boot) with CTRL bypass or when the network card is removed? Because that might be a CF card issue, some apparently also map the floppy drive I/O space and there's a conflict. So that too might not be an XTIDE issue, although it would not explain why CF card is not booting. But that could be due to parition table issues - was is created before XTIDE was in the system?

Everything works perfectly if I remove the network card boot rom.

--- AtariProtos.com ---
For when excellence and burnished fineries need to gently visit the warmth of your tablery

Reply 11 of 12, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

Hm. I was wondering why the bus width is set to 32-bit (per your screenshot), even though the config defaults to 16-bit. Is this 486 a PCI system with on-mobo IDE controllers? Perhaps XTIDE mis-detects the controller and tries to use the faster 32-bit setting but it simply doesn't work. I don't have any VLB IDE controllers, and I don't run XTIDE on PCI mobos - and if I do it's only to work around BIOS limitations during boot, then the OS takes over - so I don't much care about speed. I stick to the smaller 386 and AT images that fit into 8k ROMs. Unless you really need that speed under DOS (because again, a proper OS will bypass XTIDE and do it's own thing) you should probably avoid the large ROM if it gives you trouble.

I would even suggest going for the AT (not 386) version if the boot time annoys you. I have some vague recollection of the AT version not having that slowdown, even with all other optios set the same (including BIOS HDD removal, which is enabled by default only on 386+). But that might have been a different mobo. There should not be any significant difference between AT and 386 in terms of raw speed, you are limited by PIO 0, CPU clock and ROM shadowing options in BIOS. And for pure DOS I would also disable the IRQ and stick to pooling only, that too might help both with the performance and that booting issue.

Reply 12 of 12, by Tempest

User metadata
Rank Member
Rank
Member
Deunan wrote on 2024-08-19, 20:35:

Hm. I was wondering why the bus width is set to 32-bit (per your screenshot), even though the config defaults to 16-bit. Is this 486 a PCI system with on-mobo IDE controllers? Perhaps XTIDE mis-detects the controller and tries to use the faster 32-bit setting but it simply doesn't work. I don't have any VLB IDE controllers, and I don't run XTIDE on PCI mobos - and if I do it's only to work around BIOS limitations during boot, then the OS takes over - so I don't much care about speed. I stick to the smaller 386 and AT images that fit into 8k ROMs. Unless you really need that speed under DOS (because again, a proper OS will bypass XTIDE and do it's own thing) you should probably avoid the large ROM if it gives you trouble.

Yes this is a 486 SX.

I guess I'll have to try a different version then.

--- AtariProtos.com ---
For when excellence and burnished fineries need to gently visit the warmth of your tablery