IBM 5100/5110 ROS (ROM) images?

Christian Corti cc at corti-net.de
Thu Jan 4 09:26:40 CST 2007


On Wed, 3 Jan 2007, Dave Dunfield wrote:
>> Has anyone extracted images of the Read Only Storage
>> for the IBM 5100/5100 desktop computers? I haven't

I've extracted the first of the two Exec ROS', the one containing all the 
monitor and I/O routines. I'm in the progress of disassembling and 
commenting the code. I've also disassembled several IBM utility programs, 
e.g. TDTCOPY, DDCOPY, SIO8BIT, DIAG DCP and so on.

This for example is the beginning of the Tape I/O supervisor routine:

; ***************************
; Device E (Tape) I/O Routine
; ***************************

7F00    216C            MOVE R1, $D8            ; Vector table for I/O routines
7F02    A13B            ADD R1, #$3C            ; Vector to device F
7F04    D718            MOVE R7, (R1)
7F06    0F33            INC2 R15, R3
7F08    6EF0            MOVB R14, (R15)+        ; IOCB_Cmd
7F0A    6DF6            MOVB R13, (R15)---      ; IOCB_Flags
7F0C    CE0B            SNZ R14
7F0E    A00B            BRA $7F1C               ; "Sense" command

7F10    8C30            LBI R12, #$30

7F12    8103            LBI R1, #$03
7F14    CE10            SLE R14, R1             ; Read or Write ?
7F16    A007            BRA $7F20               ; No

7F18    CDC6            SBC R13, R12
7F1A    A02B            BRA $7F48               ; Bit 2 or 3 set

7F1C    2807            MOVE R8, $0E            ; R7L0, contains vector
7F1E    2056            JMP ($00AC)             ; Do I/O and return to caller
[...]

>> seen any mention of it anywhere, nor any simulators.
>> Has anyone worked on this? Seems like it should be doable
>> and worthwhile. Though, it might be necessary to build
>> hardware to read out the ROS contents -- I don't think the
>> 5100 provides programmatic access to the PALM object code for
>> the 360 and S/3 emulators, just the BASIC and APL code.
>> Does that sound right?

Yes. The 5110 can only access the following ROS':
Common ROS
BASIC ROS
APL ROS
and maybe Diskette Sort (haven't tried yet)

These ROS' are accessed as an I/O device. You write two PUTB instructions 
to device 1, MSB of the ROS address first, then LSB. Then you can read the 
contents of this ROS with consecutive GETBs (the second GETB automatically 
increments the ROS address by 1; ROS address is given as word address!).
I've read these ROS' from my 5110 model 1.
The Executable ROS is only accessible by the processor during an 
instruction fetch cycle... and by the graphics adapter while -POR is 
active!

BTW I haven't found any 360 / S/3 emulator yet. Both BASIC and APL ROS 
don't contain any code I recognize.

> I'd be VERY interested if some progress can be made on this.

Really? Until now nobody have had any interest in neither a Kermit for the 
5110 nor an Infocom interpreter (both written in assembly).

> I have a (BASIC only) 5100 that has a failure of the non-executable
> ROS ...

Of what non-executable ROS? There are several. Do you also have the 
Diskette Sort feature (additional ROS card)?

> So far I've not been able to dig up any significant technical information,

You haven't searched for that information, have you? Do you know my site?
It's still not complete, though, as I'm learing more and more while 
disassembling programs and playing with different bits...

Christian




More information about the cctech mailing list