• Please review our updated Terms and Rules here

Tape issue on IBM 5110 Type 1

I don't have much time to write a detailed suggestion here, but one thing you might look into is using machine code to control the tape directly.

The MARK command is a fairly complicated operation: it at least erases and writes, and it might read too. All of this activity might make it hard to pinpoint a problem.

I think there's a way to control the tape by fiddling with values in one of the I/O Control Blocks, but what I'm proposing is to bypass the IOCB altogether and use I/O instructions to control the tape directly. I don't recall the details of how you might do this, unfortunately, and I've also never tried!
 
It's a good suggestion, and a good excuse to learn about those I/O calls. Which incidentally, I think it's neat that the PALM IO calls are akin to the IN/OUT opcodes of the later Intel 8088 used in the 5150 (i.e. you could bypass the BIOS and make direct hardware calls yourself, which some software did and by-passed the early CGA-color-mode snow bug).

Appendix C of the IBM 5100 MIM document has the PALM opcodes (same codes for the 5110, but Appendix C was omitted in the 5110 MIM). Let's see...


Initialize some register with an address containing a byte to push to the device. Can manually edit the contents of that address as needed...

8708 LBI R7, #$08
077D MLH R7, R7
8700 LBI R7, #$00 ; R7 <- $0800


Then maybe a PUTB instruction?

PUTB DA, Ry, M

BITS 0-3 = OPCODE = 4 (PUTB)
BITS 4-7 = DA = E (tape unit)
Ry = the register containing address (R7)
BITS 12-15 = M = modifier to the address-index, -4 to 0 to +4


0100 1110 0111 1000 ==> PUTB E,R7,8 (put byte at address in R7, $800, unmodified to the tape device)

But yep, I'm not sure how to pack the contents of the address to be meaningful to the tape. I guess we could learn from the disassembled Executive ROS code (that contains a DCP diagnostic program for the tape).
 
So, I separated out the Base IO card from the Processor of some 5110's.... And there are some interesting differences!

In the System Logic Manual for the BaseIO, there is a corner section dedicated "to internal tape control card." But nothing in the poster says "for Type 1 models"-only. But looking at the Base IO card for the Type 1 (that has the internal tape unit), there are substantial differences as shown below. I'll have larger versions of all my images in the blog eventually, for now just quick comparisons..

IMG_2381B.jpg


So - while I had hoped a tape unit could be added to a Type 2 model -- the Executive ROS between them is the same (interchangeable) -- but it is the Base IO logic that will be different. The Type2 physically has components missing to drive the internal tape. So the Type2 can support an external tape unit (the rare 5106), and looking in the MIM, I think the 5106 does have "C1" adapter card and its own internal logic board, probably similar to the components that are in the Base IO of the 5110 Type 1 model.

Long story short: I don't have another Base IO card with internal tape deck support to try out.



BTW, per the MAP: channel 0 is the "format track" and ch1 is the "data track" (I think as was mentioned earlier, but just showing it is confirmed in the MAP manual)

I did run the DCP diagnostic for the tape unit, which did get to a 973 Error: tape might be moving too slow. So while the tape motors/mechanism can find BOT and rewind/forward fine, it still might not be calibrated quite right to support read/write. I'll check the magnet gaps soon. I can't fathom 0.001" making a difference, but it's something to try.
 
Thanks for these great images. I'm looking forward to having the chance to look at them more closely later, but once again I'm short on time.

In the meantime, my 5110 assembly language resource of choice is Christian Corti's here:


Christian uses a different set of assembler mnemonics to IBM's dialect. It's what I'm used to and what I implemented in my PALM assembler. Anyway, you might find this page especially useful:

 
Back
Top