VOGONS


First post, by johnsonlam

User metadata
Rank Newbie
Rank
Newbie

It seems that the latest UltraDMA driver or DOS did not made popular in the forum, as I host the driver for over 10 years, I'm quite surprise.

The author Jack R. Ellis did notice some very outdated drivers talking around, the "UDMA 7.0" was seriously outdated and considered unstable.

If you go to <www.vogons.org> and do a search for "XHDD", note that the two most recent posts refer to the old V7.0 UDMA driver, […]
Show full quote

If you go to <www.vogons.org> and do a search for "XHDD", note that the
two most recent posts refer to the old V7.0 UDMA driver, the last one I
did with Lucho in 2004. V7.0 UDMA is 15 years old and has these items
which are long-since CORRECTED in the current XHDD /B driver:

A) UDMA runs only one "legacy IDE" controller (up to 4 disk drives from
primary-master to secondary-slave). XHDD /B runs up to 14 disks
on up to 5 "legacy" and/or Native-PCI controllers.

B) UDMA does not check all possible PCI-bus "function" codes, only 4 of
the basic ones, so it may NOT find a controller to use. XHDD /B
tests ALL possible PCI-bus "function" codes.

C) UDMA runs only controllers that issue "Data request" before starting
an UltraDMA transfer. XHDD /B normally runs without expecting a
"Data request" but will run such old controllers with a /Q switch.

D) UDMA does NOT switch to its own stack upon entry. XHDD /B does so.

Items (A) and (B) make UDMA "useful" only for very early PC mainboards,
ones that had only the 4 "IDE" ports on 2 80-pin cables. Item (C) may
make UDMA fail on newer controllers that do NOT support "Data request",
like my own VIA VT8237 which is now over 10 years old.

Item (D) is now known to be a DISASTER, since there are some cases when
DOS systems have only about 40 stack bytes, e.g. when COMMAND.COM loads
a new program! Also, issuing VDS or XMS requests needs a minimum 256
stack bytes. UDMA cannot depend on having that much, when it must run
on the user's stack, or when it is "in between" programs!

The latest "Full feature" driver hosted on my personal web server:
http://optimizr.dyndns.org/dos/drivers.html

Please download from my homepage, as it's official and original of all SATA CD-ROM/UltraDMA caching driver!
And I'll forward any question to the author, since he can't visit the forum.

Rgds,
Johnson Lam.

Reply 1 of 7, by AvalonH

User metadata
Rank Member
Rank
Member

Possible to get XHDD DMA working on motherboards that support USB legacy booting in DOS. The BIOS treats the USB hard disk as a fixed disk using Int13 and assigns number 0x80 with no device drivers in DOS needed. (INT13 +extensions as I have tried a 1TB USB drive single partition under DOS7.1 formatted with Fat32).
Handy on newer computers that all have NTFS drives and you boot dos via bios from USB HD or flash drive.

Reply 2 of 7, by kalm_traveler

User metadata
Rank Member
Rank
Member

this is only for IDE controllers?

I'm currently trying to find a way to get DOS (Windows 98SE or Me) to work with a PCI-E SATA II card in a PCI-E to PCI adapter. It works great in my PIII setup, but officially only supports Windows 2000 and newer (no 9x-based driver that I can find).

Chief reasons here are that it actually runs at SATA II speeds, compared to the existing PCI SATA I cards - and in theory it supports booting from CD/DVD drives (I could not find any native PCI SATA/SAS controllers which support this).

Retro: Win2k/98SE - P3 1.13ghz, 512mb PC133 SDRAM, Quadro4 980XGL, Aureal Vortex 2
modern:i9 10980XE, 64gb DDR4, 2x Titan RTX | i9 9900KS, 32gb DDR4, RTX 2080 Ti | '19 Razer Blade Pro

Reply 3 of 7, by Rawit

User metadata
Rank Oldbie
Rank
Oldbie

Tried this version and the previous version with all the switches, but it hangs after displaying HDD info. This is on the MediaGX platform which is notorious for its UDMA issues though.

YouTube

Reply 4 of 7, by johnsonlam

User metadata
Rank Newbie
Rank
Newbie

According to author Jack, XDMA (UDMA is more than 10 years ago) is not designed for any adapter card.

"XHDD uses UltraDMA only on hard disks that identify themselves on the PCI bus as class 1 (storage), subclass 1 (IDE), that a a USB disk does not do, unless it were using some sort of USB-to-SATA or USB-to-IDE adapter."

If the adapter card design is very compatible, it may work. If it's working please update me and I'll update our document.

Reply 5 of 7, by mothergoose729

User metadata
Rank Oldbie
Rank
Oldbie
kalm_traveler wrote:

this is only for IDE controllers?

I'm currently trying to find a way to get DOS (Windows 98SE or Me) to work with a PCI-E SATA II card in a PCI-E to PCI adapter. It works great in my PIII setup, but officially only supports Windows 2000 and newer (no 9x-based driver that I can find).

Chief reasons here are that it actually runs at SATA II speeds, compared to the existing PCI SATA I cards - and in theory it supports booting from CD/DVD drives (I could not find any native PCI SATA/SAS controllers which support this).

SATA 1.5 is the fastest standard I know of that works in 9x, and even then it seems to work best on particular integrated intel controllers. There are promise PCI cards you can buy new today that do work but some people have problems with them freezing.

Last I read (I haven't tried it) UDMA drivers for DOS conflict with drivers in windows. For the most part this is fine because windows 9x will run at full speed on any IDE drive I have tried provided DMA is enabled (this is without a dedicated driver), but you can run into issues perhaps with third party controllers like promise which may need a driver to function.

Reply 7 of 7, by johnsonlam

User metadata
Rank Newbie
Rank
Newbie

I see many people complain XMGR did not compatible with games, XMGR really code from scratch and did not just like others, just modify HIMEM and done. XMGR remove many support for specific obsoleted 8086 BIOS support, so you can say it's not compatible with everything, however it's size is very small and it depends heavily to a good BIOS, since a DOS memory manager have to see thousand of different PC with different memory layout, so PLEASE read the README.TXT in the package and start with sample configuration. I've host the drivers for more than 10 years, conflicts usually with JEMMEX (not recommended), and the DOS Extenders. Games are picky so I can't guarantee anything, the drivers did not work good in emulators since there are difference from real hardware.

Unlike those authors, XMGR / UHDD still have update, but less often due to it's very mature and stable.

http://optimizr.dyndns.org/dos/drivers.html