C8EFE.ADF - Init file for @8EFE.ADF
@8EFEh.ADF "IBM PS/2 SCSI Adapter - PHW modified ADF 1.0.1"
For Historical Purposes Only! Could not pass other IRQs.
ZM5 Firmware Uses 27C256 (Thanks to Rick Ekblaw for these images)
SCSI BIOS 92F2245, 1991, for PS/2 Caching SCSI controller 27C256
Terminating the IBM SCSI-1 Adapters
The old SCSI Adapter /A
Swapping BIOS chips for >1GB Support
Complex BIOS Levels for >1GB IML Support (Type 1 and 2 ONLY!)
Modified ADF for ESDI and SCSI Coexistence
Could Not Pass IRQs to System!
New BIOS Improvements
Multiple SCSI Device Order
The Short SCSI /A (>1GB support!)
OS/2 v.3 SCSI Controller switches
Terminator Resistance Values
SCSI-1 Controller FRU 15F6561 / 85F0002
The SCSI Adapter/A lacks auto termination. For proper termination of the SCSI chain, you will need to either use the internal T-Res or the external terminator.
ECA 032 Explanation
Joe Kovacs says
The bus master capability of this SCSI adapter optimizes data flow from each SCSI device configured to the system. This capability can provide performance benefits in applications where multitasking or high-speed data flow is essential. It allows the processor to be off-loaded from many of the input/output activities common to DASD transfers. This SCSI Adapter also conforms to the Subsystem Control Block (SCB) architecture for Micro Channel bus master.
Is the SCSI /A SCSI-2?
These SCSI adapters have a single bus that provides both internal and external SCSI bus connectors. For these adapters, devices are logically ordered depending only on adapter slot number and the SCSI IDs of the devices. NOTE: IBM SCSI adapters that use a SCSI BIOS earlier than the 92F2244 / 92F2245 pair will require the IML drive to be SCSI ID6.
The SCSI w/Cache is a "Single Ended" SCSI controller, which means that every signal has GND as return line. The other relevant SCSI standard of "Differential" means, that every signal has a return line with inversed polarity ... when -for example- +DATA0 sends a logical "1" on the active line the return line -DATA0 sends a logical "0". The transceiver circuit in the device checks the *difference* between the two signals (therefore "differential") - line disturbances afflict both lines at once and are eliminated therefore.
SCSI Device Order
From Brad Parker
Because the standard gives the greatest SCSI bus priority to the highest numbered drive and the lowest priority for the lowest numbered drive. If you have more than one partition on each drive, then the drive letters may change, but the device IDs will stay the same. In fact, I might just set the CD to id 0 to give yourself room for future expansion :-)
I have five HDs, three floppies, a 6 disc changer and a Zip drive on one of my 95s, of course I have two host adapters....
The upgrade provides the following additional
Multiple, redundant partitions are useful if drive id. 6 fails. 'Recovery' can be automatic without partially ripping the machine down to change SCSI Id.s. You do, however, need to have planned for this and set up the appropriate 'IML/Reference Partition'(s) and 'Active Partition'(s) on the 'fallback' drives (Id. 5, 4, 3... etc.)
Autotermination Capable Adapters or Planars
> Peter, for the $64,000 Question. If you use a yellow termpack on a adapter or board that had a red one initially, will that enable it to autoterminate?
Definitely: No. The "Auto-Terminate" is a function that require a little more hardware: a switching transistor that disables the TermPwr wire from the T-RES and another transistor / IC function that senses the voltage on the TermPwr line and the voltage on the data lines to figure out whether the line is terminated or not.
Enable Termpower or Not?
The later standard defined the TERMPWR
circuit as a "fuse / diode" combo:- the fuse (pico fuse
or PTC / auto-reset fuse) to protect the adapter /
device against short-circuits on the TERMPWR line and
the diode to prevent backflow of +5V from external
devices to the controller.
So *normally* there should be no problem
to have TERMPWR enabled on all devices - which makes
sense on setups with very long cables and multiple
external devices. The importance of TERMPWR is often
underestimated in SCSI-1 environment. Here it is pretty
important to feed the TERMPWR line from *at least* one
device to have the proper pull-up on the signal lines at
all. On SCSI-2, where each device *should* have its own
active termination and *should* monitor the TERMPWR and
set the termination accordingly it is of lesser
importance. In the worst case one device supplies the
termination at least - if not the host adapter
The main problem occurs, when the TERMPWR line on SCSI-1 setup is interrupted between two devices and none of the devices supplies TERMPWR: in this case a proper termination cannot be achieved, because the (passive) terminator at the end of the chain has no TERMPWR to act on.
Multiple installed IBM SCSI
MC/A (w/o Cache) Adapter
Pinouts for the SCSI /A and
the SCSI w/Cache
The long, uncached adapter... This link is to an ECA
that concerns a mandatory replacement...
Short SCSI /A PN66G1080
The uncached SCSI adapter was available in two different versions as well: the long card, which cannot handle >1GB and the short card (half card with microcode dated 1993 and later) which can.
80C32GB- 10MHz microcontroller as busmaster CPU
J3 Serial Port
T-Res for Short SCSI/A
Swapping BIOS chips for >1GB Support
From Peter Wendt
Some time ago Charles Lasitter sent me one of the rare short IBM SCSI adapters without cache /A ... and I found out, that this adapter uses the same two SCSI-Bios chips 92F2244 and 92F2245 as the "later" SCSI adapter with cache. This card however is a strange mix of this "later" adapter and the uncached ... on half the length.
Today - while juggling around with parts & cards on a Model 90 - I decided by what reason to remove the SCSI-Bios from an old uncached SCSI and stuff that from the "later" cached on it. Earlier this year I'd tried to swap the entire Eprom-Sets among the old and the later cached - and it did not work. Today I left the busmaster microcode EPROM on the card and only swapped the SCSI-Bios.
To my indescribable surprise: it worked.
Then I used the 92F2244 and 92F2245 on that same adapter ... Voilą: "OS Loader V4.00 ..." and WinNT 4.0 Server started up ... ! (Ever seen that on a Mod. 70 ?) Tried the same procedure with the old IBM SCSI adapter with cache (the one *with* the AIC-6250EL Line Interface) - with the same results. Old Bios-chips: No operating system - New chips: Win NT starts
Conclusion: If you have one of the older SCSI-Adapter *cards* you can use the SCSI-Bios from the later-level SCSI Adapter with cache to make the system capable to handle drives over 1GB.
I do *not* know if there is another limit after 4GB - but assume it is (I don't have drives over 2.2GB currently). This limitation will at least exist on the IML-machines, since the principle that starts up the IML cannot handle drives over 3.94GB (the mysterious IML-border) due to the technical method of putting the system partition MBR at *the end* of the physical diskspace. The register width is obviously limited to any number of total data-blocks below 4GB. So that does not change at all.
BIOS Upgrade Needed for >1GB IML Drive
'Enhanced IML' in the complex upgrades is
the *only* way to be able to IML from a drive >1GB
(and from a drive Id. ¬= 6).
At this time I must assume that the 92F2244+5 ROMs provide support for drives <= 4GB, but the 'old' complex ROMs' IML support somehow does not make (proper) use of it, possibly due to bad bit-shifting and/or masking when 'translating' the 'cylinder, head, sector' information to and from the SCSI 'logical block/sector' value.
From another thread
Some Other Thoughts
With the 52G9509 in place, ID6 in bottom
bay (Mod 95) at end of cable, ID5 in bay above on next
spot on cable, I couldn't get the IML to go to ID6 to
save my ass. It made a beeline for ID5 every
time. Put in the old BIOS, and it goes straight
I think there are a LOT of quirks like
this (and yours) to be mapped out, and that seemingly
innocuous settings changes in the ABIOS make differences
you'd never guess sometimes.
Making Your Own IBM Cable
Modified ADF for ESDI and SCSI Coexistence
For a mixed ESDI+SCSI installation, the "incorporated BIOS" (if any) plus adapter ROM address determine the BIOS "Drive Number" and the ESDI ROM *has* to be processed *first* (i.e. Be BIOS Drives 80h & 81h) for correct operation. Which is why there can be problems with onboard SCSI and/or System Partition (but not Convenience Partition, IIRC) systems.
As far as I recall the German version ADF is the one I rewrote for manual selection of the ROM addresses. It was written to gain compatibility with a) the IBM SCSI adapter and b) the Adaptec AHA-1640. It allows to put the ESDI address range *after* them - to make the SCSI adapter come primary HD adapter.
The English (original IBM) version requires the ADP - the German does not use it. It does not harm if it is still on the refdisk, but it is necessary and you could delete the CDDFF.ADF to get some few bytes of room. Then rename the @DDFFA.ADF to @DDFF.ADF and copy it onto your refdisk. After that you get the German comments and can select your adapter address range manually - or autoconfig does it for you - using C800 as a default value *if* no other adapter in a lower-numbered slot already allocates that range.
(I rewrote this file for operation of Mod.80's along with a hardware encryption card - Utimaco SafeBoard - which required the ESDI adapter to reside on C800, and which was barely gained with the ADP.)
Safe to use before 1990, I would say ...
The German version is from 1988 and contained in the refdisk of Mod. 70/80. At this time and on this refdisk, there were no any SCSI adapters resp. SCSI ADFs. Hence, standalone ESDI mode without SCSI, because Spock/Tribble were not yet available. The "Adapter Memory Location" item is functional on the 1988-DDFF.ADF, it is not commented out.
The English version you posted is from 1990 and contained on Mod. 8580-Axx refdisk. This refdisk has a WORM support for the MO drive and contains now SCSI ADFs, Spock and Tribble (SCSI with/without cache). The "Adapter Memory Location" item is partly disabled on the 1990-DDFF.ADF where only the "ROM Enabled" choice is enabled.
The English version of the ADF I referred to is from 1993 and contained on the latest refdisk v1.12, about 1993, along with support for SCSI adapters resp. SCSI ADFs, Spock/Tribble/Corvette are there. The "Adapter Memory Location" item is completely disabled on the 1993-DDFF.ADF, it is commented out.
Furthermore, the 1993-SysConfig SC.EXE has doubled in size compared to 1988, you can see strings like "EXABYTE 21F TOSHIBA XM 3232 MD3125A I8EFF.ADF I8EFC.ADF I8EFE.ADF" which you don't see in 1988-SC.EXE but see some in 1990-SC.EXE "I8EFE.ADF I8EFF.ADF". (Would that mean better Corvette support in Mod. 80 with 1993-SC.EXE?) Ed. use XGAOPT to patch Model 80 refdisk...
The best ESDI case is to get and use always the latest refdisk. The ADF and SC.EXE history above may help to explain ESDI/ESDI+SCSI anomalies, especially in combination with older SC.EXE and newer DDFF.ADF.
P.S. History and behavior of SysConfig Mod.70/80....?
Could Not Pass IRQs to System!
I had one Adapter with a modified MCA bus decoder, which *should* be able to pick one of the five IRQs manually with a jumper field - but unfortunately it did not work as supposed.
If you look on the hardware of the card you find only IRQ14-line (0Eh) is tied up into the bus interface, the others "just hang there". I wired them to a jumperfield hotglued to the board and *thought* it would suffice to set the IRQ manually and just tell the ADF about it.
The "Set Configuration" (SC.EXE) however failed to properly include the infos and set the card to 0Eh nonetheless regarding the infos used for other adapters even if it were jumpered to (eg) 09h hardwarewise. That consequentially led to confusion and the system crashed.
At one point I stopped further work on it. The original goal was more flexibility on the adapter settings, but it did never take off. You cannot trick out MCA that easy ...
DMA Arbitration Level
ROM Wait State Disable
SCSI Adapter Address (ID)
ADPItem 1 ROM Address Range