Couldn’t be done with the Falcon, not possible on the Hawk, not even thought of for the Osprey. Crucial for the Kestrel. No way around it. Strobe designers had to find a way to address both real and virtual devices assigned as subunits of one RTE-A logical unit.
A major monster was hiding in the weeds when the Kestrel team decided to emulate the CS80 disk on an HPIB controller as the first HP disk device on the A-Series HP1000 replacement, the Kestrel/A. (The first “bootable” disk available on the Kestrel/A was the SDIdisk – a Strobe invention.) To be fair, HP documentation strongly advised against combining a CS80 disk with any other device on the same logical unit. So Strobe engineers can be forgiven for believing that an HPIB controller driving a CS80 disk would not be used for printers, tapes, instruments or other disks.
Wrong! Turns out that Hewlett Packard itself was a major violator of this informal “rule”. HP routinely shipped software configured for tape units on the same HPIB controller as the system CS80 disk. Ooops.
When Strobe proudly announced the availability of the CS80 disk on HPIB controller last November (see Kestrel Status 11/15/03), the engineers were surprised by this response: “That’s great, only now I can’t communicate with my (tape, printer, non-CS80 disk – pick one)? and oh and by the way, I can’t sysgen”. Double Ooops. Without emulations for the other devices, we (and they) couldn’t use the CS80 disk emulation.
Well, it looked like there were three choices. 1) Wave a magic wand and have the Emulation Fairy Godmother instantly create emulations for HP devices (excluding instruments, of course). 2) Redesign the Kestrel CPU to allow the configuration of a virtual CS80 disk on a virtual HPIB controller on the same logical unit as a real tape drive on a real HPIB controller. 3) Change the device emulation logic to separate the virtual CS80 disk and its virtual HPIB controller from the rest of the logical unit emulation, finish the task of replacing the HPIB card with PC-compatible National Instruments GPIB card, then use that for the other devices sharing the CS80 disk logical unit.
The team chose door number three. The HPIB replacement of the HPIB by NI GPIB card was nearly done and, in any event, a PC couldn’t drive HPIB instruments until that functionality existed, anyway.
This means that applications can now use the CS80 virtual disk and still talk to devices sharing the CS80’s controller by sticking a GPIB card in the PC or Kestrel chassis and plugging the devices into the GPIB ports.
RTE, when it needs the virtualized CS80 disk thinks it is talking to the HPIB controller. Actually, it talks to some software acting like the HPIB. When RTE prints something on the HPIB printer, or rewinds the HPIB tape drive, it actually communicates with a National Instruments GPIB card.
Still confused? OK. One picture’s worth a thousand words.