VOGONS


Adaptec 1542B not working with ASPI4DOS

Topic actions

Reply 20 of 28, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

So turns out I can read from, write to, and even execute binaries on the drive handled by ASPIDISK.SYS just fine... but anytime a directory command is issued or DISKTEST.EXE is attempted to run on the ASPIDISK.SYS managed drive, system hangs for a solid minute before displaying "general failure reading from drive e"

Only on drives using extended translation, ASPIDISK will manage <1GB drives without issue

Reply 21 of 28, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

Well I guess this was a case of RTFM - here's a quote from the documentation accompanying the BIOS upgrade files:

"Drives handled by the BIOS will use extended translation
provided they are over 1 Gigabyte in formatted capacity.
Drives with less than 1 Gigabyte of formatted
capacity will use standard translation regardless of
whether extended translation is enabled. Drives handled
by the disk driver ASPIDISK.SYS will continue to use
standard translation and not be capable of DOS partitions
over 1 Gigabyte."

Pretty damn lame, guess it's time to start looking for 3rd party ASPI storage drivers

Last edited by maxtherabbit on 2020-03-16, 13:54. Edited 1 time in total.

Reply 22 of 28, by Xeen

User metadata
Rank Newbie
Rank
Newbie

Hello!
I'm a still confused, can anyone help with the case if I want to hook a hard drive and a cd-rom with one cable, should I load ASPIDISK or ASPICD?

Reply 23 of 28, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

I just wanted to report back about the true cause of the issues with large drives vs Adaptec drivers.

After narrowing everything down, I determined that the ASPIDISK.SYS is not the problem at all. In fact I can use the exact same version of ASPIDISK.SYS on a machine with a different Adaptec controller (using ASPI2DOS.SYS) and it handles the large drives with extended translation just fine.

The real problem is a bug in ASPI4DOS v3.35 (1997). I have a AHA-1542B with two drives connected, a 2GB and a 74GB (with a 2GB FAT16 partition for DOS access). The 3.20 BIOS is installed and enabled. If I simply boot into DOS using the BIOS and do NOT load any SCSI drivers, both drives work. If I load ASPI4DOS.SYS in my CONFIG.SYS (just the ASPI manager, nothing else, no disk, no CD) then the DIR command to my larger drive will fail as described above, but access to the 2GB drive will continue to work as normal, even though both drives use extended translation. So from that I can assume the bug in the ASPI4DOS manager driver is specific to large HDDs, though I cannot determine an exact size threshold.

It's possible this bug is fixed in the final version of ASPI4DOS, but we will never know since apparently no one can get it to work with a 1542B.

Reply 24 of 28, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
Xeen wrote on 2020-02-14, 06:49:

Hello!
I'm a still confused, can anyone help with the case if I want to hook a hard drive and a cd-rom with one cable, should I load ASPIDISK or ASPICD?

if you have the SCSI BIOS enabled (i.e. you're booting off the SCSI HDD) then you only need to load ASPICD, not ASPIDISK

Reply 25 of 28, by Xeen

User metadata
Rank Newbie
Rank
Newbie
maxtherabbit wrote on 2020-03-16, 14:02:
Xeen wrote on 2020-02-14, 06:49:

Hello!
I'm a still confused, can anyone help with the case if I want to hook a hard drive and a cd-rom with one cable, should I load ASPIDISK or ASPICD?

if you have the SCSI BIOS enabled (i.e. you're booting off the SCSI HDD) then you only need to load ASPICD, not ASPIDISK

Thanks for the answer, in other words if I have a card without SCSI BIOS then I still need ASPIDISK. Right?

Reply 26 of 28, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
Xeen wrote on 2020-03-16, 14:16:
maxtherabbit wrote on 2020-03-16, 14:02:
Xeen wrote on 2020-02-14, 06:49:

Hello!
I'm a still confused, can anyone help with the case if I want to hook a hard drive and a cd-rom with one cable, should I load ASPIDISK or ASPICD?

if you have the SCSI BIOS enabled (i.e. you're booting off the SCSI HDD) then you only need to load ASPICD, not ASPIDISK

Thanks for the answer, in other words if I have a card without SCSI BIOS then I still need ASPIDISK. Right?

Correct. Without a SCSI BIOS, you need to load 3 drivers to support both a CD and HDD on the SCSI bus:
1) the ASPI manager (ASPIxDOS.SYS)
2) ASPICD.SYS
3) ASPIDISK.SYS

Reply 27 of 28, by douglar

User metadata
Rank Oldbie
Rank
Oldbie

https://www.os2museum.com/wp/learn-something- … d-aspi4dos-sys/

the AHA-154xB does not work with Adaptec’s last DOS drivers from circa 1999. That includes the drivers still available for download (ASPI4DOS.SYS version 3.36), as well as the driver shipped with OEM versions of Windows 98SE (ASPI4DOS.SYS version 3.36S).
...
The reason for the ASPI4DOS.SYS failure is quite interesting. The AHA-154x interface was relatively simple and well designed for the time (circa 1987), became more or less an industry standard, and therefore became the target of cloning (notably by BusLogic). In their own drivers, Adaptec wanted to distinguish its own boards from clones.

Both Adaptec and BusLogic drivers used the I/O port at offset 3 from the I/O base (e.g. port 333h for a HBA configured at I/O base 330h) as part of their clone detection logic. This register was not documented by either Adaptec and BusLogic, and therefore many drivers shipped with operating systems didn’t use it, but Adaptec’s and BusLogic’s own drivers did.

On the Adaptec AHA-154xB (and presumably older variants as well), the register actually does not exist.
...
It should not be difficult to patch out the ‘ADAP’ signature check from ASPI4DOS.SYS, but for an AHA-154xB one might as well use ASPI4DOS.SYS version 3.35 or earlier and forget that version 3.36 ever existed.

Reply 28 of 28, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
douglar wrote on 2024-10-20, 20:12:
https://www.os2museum.com/wp/learn-something- … d-aspi4dos-sys/ […]
Show full quote

https://www.os2museum.com/wp/learn-something- … d-aspi4dos-sys/

the AHA-154xB does not work with Adaptec’s last DOS drivers from circa 1999. That includes the drivers still available for download (ASPI4DOS.SYS version 3.36), as well as the driver shipped with OEM versions of Windows 98SE (ASPI4DOS.SYS version 3.36S).
...
The reason for the ASPI4DOS.SYS failure is quite interesting. The AHA-154x interface was relatively simple and well designed for the time (circa 1987), became more or less an industry standard, and therefore became the target of cloning (notably by BusLogic). In their own drivers, Adaptec wanted to distinguish its own boards from clones.

Both Adaptec and BusLogic drivers used the I/O port at offset 3 from the I/O base (e.g. port 333h for a HBA configured at I/O base 330h) as part of their clone detection logic. This register was not documented by either Adaptec and BusLogic, and therefore many drivers shipped with operating systems didn’t use it, but Adaptec’s and BusLogic’s own drivers did.

On the Adaptec AHA-154xB (and presumably older variants as well), the register actually does not exist.
...
It should not be difficult to patch out the ‘ADAP’ signature check from ASPI4DOS.SYS, but for an AHA-154xB one might as well use ASPI4DOS.SYS version 3.35 or earlier and forget that version 3.36 ever existed.

We tried patching out the check. It still doesn't work with the 1542B