VOGONS


First post, by Bumrusher89

User metadata
Rank Newbie
Rank
Newbie

Hello Vogons users.

I have been looking at my Window 3.1 Hard disk image on PCem. And it has like 6095 Cylinders and 2999 megabytes. And I am questioning if using the 32 Bit disk access will work on my Windows 3.1 VM on PCem...

According to this source I found here
https://www.rigacci.org/docs/biblio/online/fi … re/win32bda.htm

What is saying that "The 32BitDiskAccess driver that is supplied with Windows 3.1x, WDCTRL, is limited to hard drives with 1024 cylinders or less (504MB or less). If a larger hard drive is installed and 32BitDiskAccess is enabled, Windows may lock up or freeze when started or it may return an error message such as "Insufficient memory to start Windows..." or "WDCTRL validation failed at phase XX,XX"."

Would using a program driver like 32 Bit Disk Access will work on a 2 GB DOS/Windows 3.1 hard disk, have you tried using 32BitDiskAccess on a Windows 3.1 2GB hard disk and ran into some problems like mentioned on the source I found? And is 2GB large for a Windows 3.1 hard disk?

Please leave me some answers. Thank you.

Reply 1 of 24, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hello again! ^^

I'm using the MicroHouse FastDisk driver here on a Surfstation JNT.
The OS is MS-DOS 6.22/WfW 3.11 and the CF card is 8GB in size.
I'm using 4 partitions, 2GB in size each (FAT16B).

The original FastDisk driver (WDCTRL) of Windows 3.1x is very limited.
It's program code dates back to the days of MFM/RLL fixed-disk drives, before IDE was around. When ESDI was still new.

WDCTRL will only work with IDE drives that stick to the early specifications of IDE, I believe. Say, early Conner or Miniscribe HDDs in the range of ca. 20 to 80MB.

More information can be found here:
https://www.os2museum.com/wp/how-to-please-wdctrl/

Attachments

  • micro_386enh.jpg
    Filename
    micro_386enh.jpg
    File size
    271.37 KiB
    Views
    2617 views
    File comment
    One of the four 2GB partitions (C to E), Control Panel/Swap file
    File license
    Public domain
  • surf_jnt.jpg
    Filename
    surf_jnt.jpg
    File size
    43.98 KiB
    Views
    2617 views
    File comment
    My Surfstation, Realistic DX 300 radio below
    File license
    Public domain

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 2 of 24, by Jo22

User metadata
Rank l33t++
Rank
l33t++

The reason why I often recommended that MicroHouse driver.. :
It does work. And it does with HDDs of different brands.
I'm using it for many years now on different systems (real 386 PC, 486 laptops, Virtual PC 2007, PCem).. It can handle disks up to 8GB maximum.

Note that I say "disks". I really mean that.
Disks with larger capacity can cause trouble.
Like an address-wraparound that may causes data corruption if the systems tries to addresses beyond 8GB (didn't Win95 have similar issues, but with secondary partitions ?).
This could happen even though you'd may try limiting the drive's capacity artificially by using custom values in CMOS Setup..

A good workaround would be to limit a modern HDD to 8GB via firmware modifications.
Phil of Phil's Computerlab did this with a Samsung HDD, I believe.

I think the issue exists because either that's a limit of the drivers LBA implementation, the limit of E-CHS (aka "Large") or something else (BIOS registers etc) .

MS-DOS 4/5/6 has a similar 8GB limit, by the way, though it doesn't recognize LBA (not LBA aware, DOS 7+ starts being LBA aware) unlike the 3rd party FastDisk drivers. Thus it will happily accept any values the BIOS reports.
The supplied disk utilities (FDISK, FORMAT) may have their own limitations here, but's that not so important.

Drivers like the newer WDCTRL driver, distributed by Western Digital, do check for the manufacturer ID and refuse to work if you use a HDD by the the competition.
Similarly, a FastDisk driver made by Maxtor will only work with Maxtor HDDs.

The MicroHouse driver is thus a bit special.
If you're looking for an alternative, have a look for a Dynamic Drive Overlay software.
Some DDOs do include FastDisk drivers, too. And they are not "dongled" to a specific HDD series.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 3 of 24, by Bumrusher89

User metadata
Rank Newbie
Rank
Newbie
Jo22 wrote on 2021-03-19, 13:38:
The reason why I often recommended that MicroHouse driver.. : It does work. And it does with HDDs of different brands. I'm using […]
Show full quote

The reason why I often recommended that MicroHouse driver.. :
It does work. And it does with HDDs of different brands.
I'm using it for many years now on different systems (real 386 PC, 486 laptops, Virtual PC 2007, PCem).. It can handle disks up to 8GB maximum.

Note that I say "disks". I really mean that.
Disks with larger capacity can cause trouble.
Like an address-wraparound that may causes data corruption if the systems tries to addresses beyond 8GB (didn't Win95 have similar issues, but with secondary partitions ?).
This could happen even though you'd may try limiting the drive's capacity artificially by using custom values in CMOS Setup..

A good workaround would be to limit a modern HDD to 8GB via firmware modifications.
Phil of Phil's Computerlab did this with a Samsung HDD, I believe.

I think the issue exists because either that's a limit of the drivers LBA implementation, the limit of E-CHS (aka "Large") or something else (BIOS registers etc) .

MS-DOS 4/5/6 has a similar 8GB limit, by the way, though it doesn't recognize LBA (not LBA aware, DOS 7+ starts being LBA aware) unlike the 3rd party FastDisk drivers. Thus it will happily accept any values the BIOS reports.
The supplied disk utilities (FDISK, FORMAT) may have their own limitations here, but's that not so important.

Drivers like the newer WDCTRL driver, distributed by Western Digital, do check for the manufacturer ID and refuse to work if you use a HDD by the the competition.
Similarly, a FastDisk driver made by Maxtor will only work with Maxtor HDDs.

The MicroHouse driver is thus a bit special.
If you're looking for an alternative, have a look for a Dynamic Drive Overlay software.
Some DDOs do include FastDisk drivers, too. And they are not "dongled" to a specific HDD series.

I have another thing to ask. How does this software affect Windows 3.1's 386 enhanced mode?

Reply 4 of 24, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Bumrusher89 wrote on 2021-03-19, 16:38:

I have another thing to ask. How does this software affect Windows 3.1's 386 enhanced mode?

I don't know how to explain, but..
FastDisk is a native HDD driver for Windows 3.1x.
If it is loaded, Windows 3.1x can access the HDD directly, without the help of DOS or BIOS.

Windows 3.1x can thus stay completely in Protected-Mode, there's no need to call HDD routines of these two Real-Mode programs.

Because if this, Windows 3.1x can handle DOS VMs much better.
Windows 3.1x and FastDisk do "filter" calls coming from DOS programs.

These calls that DOS applications are usually issuing are for int13h (HDD sub routines of the BIOS) and int21h (the MS-DOS API or ABI).

But there's more - The 386 Enhanced Mode of Windows 3.1x does also emulate Keyboard/Mouse ports (PS/2 ports).
It does so because of multitasking. Due to that emulation or virtualizations, multiple DOS programs can think they have full control of mouse/keyboard.
Only Windows itself communicates with the real ports.

Edit : So the bottom line is:
- 32Bit Disk Access is the Windows 3.1x HDD driver that runs in Protected-Mode.
- 32Bit File Access is the WfW 3.11 HDD cache. Like SmartDrive, though simpler (no CD, floppy caching). But it runs fully in Protected-Mode like FastDisk.

I'm sorry, that's all that comes to mind right now.
Maby another Vogon can help here.
I'm not very good at explaining things, I'm afraid. 😅

More information can be found here:

https://www.os2museum.com/wp/jumpy-ps2-mouse- … de-windows-3-x/

https://en.wikipedia.org/wiki/32-bit_disk_access

Other drivers can be found here: http://www.mdgx.com/w31toy.htm

There's also a patch for the Onteack driver:
https://github.com/Tony814/OntrackWMod

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 5 of 24, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

os2museum also has this nifty bit on exactly how WDCTRL decides a disk is worthy:
http://www.os2museum.com/wp/how-to-please-wdctrl/

Bumrusher89 wrote on 2021-03-19, 03:28:

And is 2GB large for a Windows 3.1 hard disk?

2 GB was unthinkably huge in the Win 3.x era.

Reply 6 of 24, by Bumrusher89

User metadata
Rank Newbie
Rank
Newbie
Jo22 wrote on 2021-03-19, 19:58:
I don't know how to explain, but.. FastDisk is a native HDD driver for Windows 3.1x. If it is loaded, Windows 3.1x can access t […]
Show full quote
Bumrusher89 wrote on 2021-03-19, 16:38:

I have another thing to ask. How does this software affect Windows 3.1's 386 enhanced mode?

I don't know how to explain, but..
FastDisk is a native HDD driver for Windows 3.1x.
If it is loaded, Windows 3.1x can access the HDD directly, without the help of DOS or BIOS.

Windows 3.1x can thus stay completely in Protected-Mode, there's no need to call HDD routines of these two Real-Mode programs.

Because if this, Windows 3.1x can handle DOS VMs much better.
Windows 3.1x and FastDisk do "filter" calls coming from DOS programs.

These calls that DOS applications are usually issuing are for int13h (HDD sub routines of the BIOS) and int21h (the MS-DOS API or ABI).

But there's more - The 386 Enhanced Mode of Windows 3.1x does also emulate Keyboard/Mouse ports (PS/2 ports).
It does so because of multitasking. Due to that emulation or virtualizations, multiple DOS programs can think they have full control of mouse/keyboard.
Only Windows itself communicates with the real ports.

Edit : So the bottom line is:
- 32Bit Disk Access is the Windows 3.1x HDD driver that runs in Protected-Mode.
- 32Bit File Access is the WfW 3.11 HDD cache. Like SmartDrive, though simpler (no CD, floppy caching). But it runs fully in Protected-Mode like FastDisk.

I'm sorry, that's all that comes to mind right now.
Maby another Vogon can help here.
I'm not very good at explaining things, I'm afraid. 😅

More information can be found here:

https://www.os2museum.com/wp/jumpy-ps2-mouse- … de-windows-3-x/

https://en.wikipedia.org/wiki/32-bit_disk_access

Other drivers can be found here: http://www.mdgx.com/w31toy.htm

There's also a patch for the Onteack driver:
https://github.com/Tony814/OntrackWMod

As for the Windows 3.1 386 enhanced mode Mouse emulation, how is my mouse not working when in a DOS VM and if Windows 3.1 handles DOS VMs better then why is one of my DOS get these system integrity errors? There is no other Vogon I know of that knows about this 32-bit disk access thing if it affects 386 enhanced mode.

Reply 7 of 24, by weedeewee

User metadata
Rank l33t
Rank
l33t
Jorpho wrote on 2021-03-19, 20:24:
os2museum also has this nifty bit on exactly how WDCTRL decides a disk is worthy: http://www.os2museum.com/wp/how-to-please-wdct […]
Show full quote

os2museum also has this nifty bit on exactly how WDCTRL decides a disk is worthy:
http://www.os2museum.com/wp/how-to-please-wdctrl/

Bumrusher89 wrote on 2021-03-19, 03:28:

And is 2GB large for a Windows 3.1 hard disk?

2 GB was unthinkably huge in the Win 3.x era.

2GB = 1422 HD 3"1/2 Floppy disks !!!!! 😁

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 8 of 24, by Bumrusher89

User metadata
Rank Newbie
Rank
Newbie
Jorpho wrote on 2021-03-19, 20:24:
os2museum also has this nifty bit on exactly how WDCTRL decides a disk is worthy: http://www.os2museum.com/wp/how-to-please-wdct […]
Show full quote

os2museum also has this nifty bit on exactly how WDCTRL decides a disk is worthy:
http://www.os2museum.com/wp/how-to-please-wdctrl/

Bumrusher89 wrote on 2021-03-19, 03:28:

And is 2GB large for a Windows 3.1 hard disk?

2 GB was unthinkably huge in the Win 3.x era.

This kinds of questions me if WDCTRL will work on my 2GB HDD?

Edit: Oh wait it sucked... Never Mind.

Reply 9 of 24, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi, may I ask what kind of DOS you are using? 😀

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 10 of 24, by OMORES

User metadata
Rank Member
Rank
Member

I posted a video on youtube about Windows 3.11 running on Ryzen 3900x from SSD and someone asked how about gaining 32bit disk access...

i'm wondering if you use microhouse fastdisk software suite and driver to gain access to 32 bit disk access. i know its kinda pointless on a fast system like this, but i remember it completely remove stutters when windows falls back to using legacy 16 bit bios disk access even a fast athlon system i had.

Well, it didn't work. I guess is too much to ask.

Attachments

My best video so far.

Reply 11 of 24, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I thought the 32bit driver worked as long as the drive geometry was handled at BIOS level and not with overlay software.

However, many E-IDE cards came with their own overlays and compatible 32Bit DMA mode windows drivers.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 12 of 24, by Jo22

User metadata
Rank l33t++
Rank
l33t++
BitWrangler wrote on 2022-10-20, 16:54:

I thought the 32bit driver worked as long as the drive geometry was handled at BIOS level and not with overlay software.

However, many E-IDE cards came with their own overlays and compatible 32Bit DMA mode windows drivers.

I thought the same. But it seems that MicroHouse also supported the EZ-Drive (?) overlay..

Personally, I'm pretty sure the Ryzen is compatible, if..

- a HDD/CF/SD up to 8GB of physical capacity is used
- MS-DOS 6.22 is running

The Windows help file of the MicroHouse driver explicitly talked about an 8 GB limit.
That's the same limit MS-DOS 6.x is considered to have.

But sure, we all did install MS-DOS 6.x on a 20 GB HDD in the 2000s at some point. 😇

So the total limit to 8 GB drives likely is of theoretical nature.
A limit that MS-DOS can handle.

If the rest of the HDD isn't used (no other OSes/partitions past 8GB boundary) or not visible (drive seen by FDISK or BIOS not larger than 8 GB), it judt *works*.

The 8 GB limit is also that maximum address range of E-CHS ("LARGE"), the predecessor of LBA.

Speaking of LBA, there's LBA-28 and LBA-48.

The Ryzen has LBA-48, of course.

But what's more important - the current ATA specification it supports.

That might be an issue for the MicroHouse driver,
just like ATA-2 was for WDCTRL in Windows 3.1.

Maybe certain IDE registers have changed there meaning or use a higher number count.

That might confuse the driver.

If so, there's a possible workaround..

Something like XTIDE Universal BIOS could be loaded from a PCI (+ PCIe adapter) or PCIe network card.

This way of loading an Option-ROM *might* still work.
Network boot must still be possible, after all, so loading a proprietary Option-ROM must be possible still (I know of PXE, but still).

Anyway, there were predecessors of the XTIDE BIOS..

Year 2000 compatibility cards (some) and IDE Enhancer cards had them in ROM.

Edit: More information on the IDE BIOS..

https://www.dosforum.de/viewtopic.php?t=11204

https://github.com/mamedev/mame/pull/3465

DTC1181 BiOS Adapter 1998 Pre XTIDE Adapter Info and Rom

Re: BIOS Limitations & Large Hard Drives

Edit: Correction.. Back in the 90s, people talked about EIDE or E-IDE (Enhanced IDE), not just IDE or ATA/PATA, even.
So if you're looking for a BIOS or card, please also use EIDE or E-IDE as search terms..

Attachments

  • lbacard.gif
    Filename
    lbacard.gif
    File size
    41.63 KiB
    Views
    2094 views
    File license
    Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 13 of 24, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I just booted an Athlon II X2 machine off a MSDOS disk the other day, and MSDOS 6.22 FDISK didn't see more than 8G per drive. i.e. it thought ll drives were 8GB, despite being much larger. Maybe Ranish or Ghost or something in the DOS versions can put partitions in higher, but looks like stock 6.22 can't.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 14 of 24, by Jo22

User metadata
Rank l33t++
Rank
l33t++
OMORES wrote on 2022-10-20, 16:44:

I posted a video on youtube about Windows 3.11 running on Ryzen 3900x from SSD and someone asked how about gaining 32bit disk access...

i'm wondering if you use microhouse fastdisk software suite and driver to gain access to 32 bit disk access. i know its kinda pointless on a fast system like this, but i remember it completely remove stutters when windows falls back to using legacy 16 bit bios disk access even a fast athlon system i had.

Well, it didn't work. I guess is too much to ask.

Hi there! Don't despair, there are no problems, just solutions!

OMORES, can you please provide more information about the system? 🙂
It would be interesting to see what your PC looks like to DOS software.

Please run NSSI or a similar diagnostics software.
IDEDIAG can also provide extra HDD information..

https://www.navsoft.cz/products.htm

IDE disk-on-module + 386

Edit: @Bumrusher89 I hope you're okay with this?! It's your thread, after all.

Edit: Attached the version of MicroHouse driver which I used to use successfully. It's from win31.de site.

Attachments

  • Filename
    win32bit.zip
    File size
    140.6 KiB
    Downloads
    73 downloads
    File comment
    MicroHouse Windows 3.1 driver (March 1999)
    File license
    Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 15 of 24, by OMORES

User metadata
Rank Member
Rank
Member

Well, I did try the newer version of MH32BIT.386 and I got an incompatibility error. Windows 3.11 won't load anymore unless 32bitacces=off.

I don't know how many drives does expect Micro House driver. With the older version I did get an error on 4 drives (as in the picture of my earlier post) but I have actually 7 physical drives connected. Maybe 3 of them got 32bit access? (didn't check)

If something goes wrong, I'm aware that my system has a confusing amount of disks and interfaces from what was standard:

1)PCI - IDE/SATA adapter - any FATA16 formatted disk connected here gets C: in DOS - it's the only way to boot in enhance mode Windows 3.1

2) NVME SSD which can be accessed under DOS and Windows 3.1 and later. FAT 16 partitions made on NVME are actually my main 16bit storage. It is bootable in DOS but it's not Windows friendly. (does not work with 3x/9x/NT)

3) On board SATA (6 ports intead of 4 which may introduce further problems)

4) Random external drives which are reported as physical drives also

Attachments

My best video so far.

Reply 16 of 24, by Jo22

User metadata
Rank l33t++
Rank
l33t++
OMORES wrote on 2022-10-21, 19:48:
Well, I did try the newer version of MH32BIT.386 and I got an incompatibility error. Windows 3.11 won't load anymore unless 32bi […]
Show full quote

Well, I did try the newer version of MH32BIT.386 and I got an incompatibility error. Windows 3.11 won't load anymore unless 32bitacces=off.

I don't know how many drives does expect Micro House driver. With the older version I did get an error on 4 drives (as in the picture of my earlier post) but I have actually 7 physical drives connected. Maybe 3 of them got 32bit access? (didn't check)

If something goes wrong, I'm aware that my system has a confusing amount of disks and interfaces from what was standard:

1)PCI - IDE/SATA adapter - any FATA16 formatted disk connected here gets C: in DOS - it's the only way to boot in enhance mode Windows 3.1

2) NVME SSD which can be accessed under DOS and Windows 3.1 and later. FAT 16 partitions made on NVME are actually my main 16bit storage. It is bootable in DOS but it's not Windows friendly. (does not work with 3x/9x/NT)

3) On board SATA (6 ports intead of 4 which may introduce further problems)

4) Random external drives which are reported as physical drives also

😳

.. um, do you mind if I may ask a question ? I don't mean to be disrespectful, but I'm curious.
What exactly is the priority of this project/experiment ?
I mean, is it more about finding a way getting 32BDA working or
more about finding out how much Windows 3.1 can handle before it collapses? 😉

Again, I don't mean to be disrespectful whatsoever.
Either is fine for me, but I'd like to know.

If we know, we might be able to give the right advices.
Like for example, discussing some changes of the actual hardware setup etc.

Edit: Traditionally, in an 486 era PC, IDE has two IDE channels with two devices maximum.

Primary Master
- Primary Slave
Secondary Master
- Secondary Slave

Standard i/o ports are 1F0h and 170h, respectively.

The secondary conntroller port was often found on soundcards,
meant to interface with the then-new ATAPI CD-ROM drives.

The FastDisk drivers do talk directly to IDE/WD1003 compatible controllers.
They're not using servuce routines provided by BIOS (int13h) or the MS-DOS ABI (int21h).

So in order to make the MicroHouse driver working,
it's important that there's an actual IDE/PATA controller visible to the PC.
Or more precisely, a basic IDE host adapter (ISA), at least.
A PCI style PATA controller with bus-mastering is supported, too, I think.

If the SATA/NVME looks like IDE to software, there's a chance it will work.

If your motherboard/UEFI doesn't have that ability,
you could try adding a PCI/PATA controller card.
There are PCI-PCIe adapter cards that may get them working in PCIe 1x slots.
Haven't really tried this so far.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 17 of 24, by OMORES

User metadata
Rank Member
Rank
Member

The main project for me... is to have all Windows versions running on the same PC. I'm almost there. Only for NT 3.1 couldn't find a proper PCI disk controller but I'm still looking.

I have Windows 3.11, NT3.51 and Windows 95A all running fine with sound and video support on this Ryzen configuration.(Also 98SE, NT4.0, 2000 and all the rest)

32bit disk access in Windows 3.11 it's not a thing for me, but some youtube user was curios about this posibility... In real life, using a SSD via int 13h gives you about 10MB/s throughput... which is twice as much a regular hard drive could deliver in 1995. Not to mention the access time.

My best video so far.

Reply 18 of 24, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I guess the machine I mentioned above doesn't know that, it was clocking 90MB/sec on a DOS benchmark on it's SSD... not up to full speed, but way above 10MB

edit: the spindle SATA drive was at about 10MB/sec though.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 19 of 24, by OMORES

User metadata
Rank Member
Rank
Member
BitWrangler wrote on 2022-10-23, 14:26:

I guess the machine I mentioned above doesn't know that, it was clocking 90MB/sec on a DOS benchmark on it's SSD... not up to full speed, but way above 10MB

edit: the spindle SATA drive was at about 10MB/sec though.

I guess I had another SSD when I got about 10MB/s. Now it looks like 40MB/s max after doing a Winbench Disk Winmark.

Attachments

My best video so far.