VOGONS


First post, by jakethompson1

User metadata
Rank l33t
Rank
l33t

I recently got a chance to snag an EISA+VLB board at a reasonable price. Of course, the main purpose of these is to mess with EISA SCSI and Ethernet.

I have two EISA SCSI cards coming. A Storage Dimensions 3222WB (BusLogic BA80C30) and an AHA-2740A.

When you use SCSI, of course Windows 3.1/3.11 can't use 32-bit disk access because the built-in *WDCTRL is completely wrong for the hardware. Disk requests will have to be passed to the real mode Int 13h handler in the SCSI card's option ROM.

In briefly looking, I don't see such a driver for either card. Note I am not talking about ASPI or EZ-SCSI.

Did SCSI manufacturers not actually supply these in reality? It looks like Future Domain may have.

Reply 1 of 7, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi, I think I've found one. 🐱

FD_FDISK.ZIP

"Future Domain FastDisk Driver Ver 1.1 This
driver allows Win 3.1 fastdisk services with
a Future Domain SCSI."

Source: http://annex.retroarchive.org/cdrom/pier-01/017A/index.html

Edit: I do have collected a few Fast Disk drivers, I believe.
I'll check if one is for SCSI..

"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 7, by vetz

User metadata
Rank l33t
Rank
l33t

Yes, Adaptec did in EZ SCSI.

From the readme:

32-BIT SUPPORT FOR WINDOWS 3.1/3.11 […]
Show full quote

32-BIT SUPPORT FOR WINDOWS 3.1/3.11

Adaptec EZ-SCSI includes 32-Bit Disk Access support for Windows 3.1, Windows 3.11, and

Windows for Workgroups 3.11. To enable this support, simply run the "32-Bit Disk Access" utility (FASTSCSI.EXE), and follow the instructions. Please note the following:

Our 32-Bit Disk Access device drivers only support Adaptec's busmastering line of SCSI host adapters and Adaptec's AIC-6360/6370 based SCSI host adapters. These host adapters use the following ASPI managers:
ASPI2DOS.SYS
ASPI4DOS.SYS
ASPI7DOS.SYS
ASPI8DOS.SYS
ASPIEDOS.SYS

If your host adapter does not use one of these ASPI managers, our 32-Bit Disk Access utility will still allow you to enable or disable SCSI write caching.

If you are running Windows for Workgroups 3.11, and you are not able to get 32-Bit File Access to work properly, the following comes from Microsoft's Windows for Workgroups resource kit:

"32-bit File Access will not enable on a drive on which there are open files during the initialization process of 32-bit File Access. Because of this, 32-bit file access cannot be enabled through the Control Panel Virtual Memory dialog when using a temporary swap file. The temporary swap file is opened before 32-bit File Access initializes and 32-bit File Access will not be able to enable on the drive where the temporary swap file is located. There normally should not be any open files at the time when 32-bit File Access is initializing. If there are open files, they are probably the result of some real mode TSR or a 3rd-party VxD."

When 32-Bit Disk Access is enabled, you need to have the latest WINASPI.DLL file in your Windows' SYSTEM subdirectory. If an older revision is being used, you will experience protection faults when running "ASPI for Windows" applications. EZ-SCSI 3.11 (and later) will automatically install the correct WINASPI.DLL file. There are, however, a few older packages that install the older WINASPI.DLL file. If you are experiencing protection faults, while running "ASPI for Windows" applications, you should check the date of WINASPI.DLL in your Windows' SYSTEM subdirectory. If it is dated 1995 or later, you have the correct file.

32-Bit Disk Access, in general, does not significantly improve performance under Windows 3.1 or Windows 3.11. To get optimal disk performance, you should use Windows for Workgroups 3.11 which, in addition to 32-Bit Disk Access, includes support for 32-Bit File Access. We are seeing the larger performance gains by enabling 32-Bit Disk Access, 32-Bit File Access, and SCSI write caching.

Our 32-Bit Disk Access driver cannot be used if you are also using our SCSI Power Management driver. If you attempt to load both drivers, an appropriate error message will appear when you run Windows. If you encounter this message, and if you prefer 32-Bit Disk Access over SCSI Power Management, simply run Adaptec's 32-Bit Disk Access utility and select the "Install" option. It will detect the conflict and remove the SCSI power management device driver.

32-Bit Disk Access only supports drives under BIOS control (INT 13h drives). This does NOT include drives under the control of ASPIDISK.SYS. Most of our SCSI host adapters allow you to have up to 8 SCSI drives under BIOS control.

There is a known problem in Windows 3.1 and Windows 3.11 (does not affect Windows for Workgroups 3.11) in that its 32-Bit Disk Access solution only supports up to two hard drives. For example, if you have three hard drives under BIOS control, only the first two would be under 32-Bit Disk Access. If you encounter this situation, you can upgrade to Windows for Workgroups 3.11 which does not exhibit this limitation.

Adaptec's 32-Bit Disk Access utility provides an uninstall option that will remove our 32-Bit device drivers. If you would like to manually remove the drivers, remove the following entries from the [386Enh] section of your SYSTEM.INI file:

device=fastscsi.386 device=aha1540.386
device=aha1740.386
device=aic7770.386
device=aic7870.386
device=aic6x60.386

(NOTE: Not all of these drivers will be present in your SYSTEM.INI file. Depends on what type of host adapter you have.)

Enabling SCSI write caching can improve the overall performance of your system. Many SCSI hard drives ship factory default with SCSI write caching disabled. Our 32-Bit Disk Access utility will allow you to enable or disable SCSI write caching on a per device basis. We have found a few older drives causing system hangs, under intense disk I/O, when write caching is enabled. In the unlikely event that you encounter this situation, you can disable SCSI write caching at any time by running our 32-Bit Disk Access utility.

On some systems, when you enable 32-Bit Disk Access, Windows' Control Panel incorrectly loads the IDE 32-Bit Disk Access driver even if you only have SCSI disk drives. This will typically result in an error message, while loading Windows, similar to the following:

"The Microsoft Windows 32-bit disk driver (WDCTRL) cannot be loaded on this computer because of interrupt conflicts."

If you encounter this, simply remove the line "device=*wdctrl" from the [386Enh] section of your SYSTEM.INI file. Another option is to run our 32-Bit Disk Access utility. It will detect that your configuration is incorrectly loading the IDE device driver and ask if you would like us to remove it.

For the technical user: If you select to turn on SCSI write caching, we will also turn on the AWRE (Automatic Write Reallocation Enabled) bit in the Read/Write Error Recovery Page. If you select to turn off SCSI write caching, the AWRE bit is set back to the factory default setting (some drives ship factory default with AWRE set).

If you have an AVA-2825 or AHA-1520A/1522A, with BIOS support for floptical drives enabled, and you have a floptical drive connected to your system, 32-Bit Disk Access is not supported under Windows 3.1/3.11.

3D Accelerated Games List (Proprietary APIs - No 3DFX/Direct3D)
3D Acceleration Comparison Episodes

Reply 3 of 7, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Two questions that come to mind:

  • Are there any PCI cards for which Windows 3.1 FastDisk drivers are available, and if so, would they still work in a PCIe slot through an adapter?
  • How feasible would it be to write FastDisk drivers for more modern disk controller types (notably AHCI, NVMe, virtio-blk and virtio-scsi)? Would that require hunting down some kind of obscure old version of the Windows Driver Development Kit, just like what was needed for Windows 3.x video driver development?

Reply 4 of 7, by jakethompson1

User metadata
Rank l33t
Rank
l33t
vetz wrote on 2024-07-15, 21:02:

Yes, Adaptec did in EZ SCSI.

From the readme:

Thanks! I guess I'll see if those cover the 2740 as well.

Reply 5 of 7, by jakethompson1

User metadata
Rank l33t
Rank
l33t
digger wrote on 2024-07-15, 21:18:
Two questions that come to mind: […]
Show full quote

Two questions that come to mind:

  • Are there any PCI cards for which Windows 3.1 FastDisk drivers are available, and if so, would they still work in a PCIe slot through an adapter?
  • How feasible would it be to write FastDisk drivers for more modern disk controller types (notably AHCI, NVMe, virtio-blk and virtio-scsi)? Would that require hunting down some kind of obscure old version of the Windows Driver Development Kit, just like what was needed for Windows 3.x video driver development?

The DDK is out there on a site we don't link to from here, and it includes the source code for WDCTRL.
The issue is it's all written in assembly language and as a VxD, so it's pretty obscure development and not something one would want to do casually.

Reply 6 of 7, by jakethompson1

User metadata
Rank l33t
Rank
l33t

By the way, I think a Windows 95 driver for the Sil3114 is a more pressing matter than FastDisk drivers anyway

Reply 7 of 7, by digger

User metadata
Rank Oldbie
Rank
Oldbie
jakethompson1 wrote on 2024-07-15, 21:58:

The DDK is out there on a site we don't link to from here, and it includes the source code for WDCTRL.
The issue is it's all written in assembly language and as a VxD, so it's pretty obscure development and not something one would want to do casually.

I get that the WDCTRL driver source may be in assembly, but it should be perfectly possible to implement a VxD driver in C and/or C++.

Just the other day I read a blog post somewhere about someone who debunked the myth that VxD always had to be written in assembly language.

I'm not saying that this would make such an effort trivial, but it should make it a lot easier, and allow for the reuse of existing open source code, for instance from Linux drivers.

It would be really cool if someone managed to develop such drivers.