IBM 5100 Restoration in progress

Christian Corti cc at informatik.uni-stuttgart.de
Wed Mar 18 11:23:19 CDT 2015


On Wed, 18 Mar 2015, Santo Nucifora wrote:
> execros.asm
> <http://ftp.informatik.uni-stuttgart.de/pub/cm/ibm/ibm5100/execros.asm> doesn't
> exist on the ftp server.  If you could send it to me off-line, I would

Sorry, there's a typo: .../ibm/ibm5110/... (instead of 5100). And use FTP
as I said, so just change http:// with ftp:// or use a FTP client.

BTW I had a look at your screen shot. The register contents is as follows:
R0 - varying around $0090
R1 - $0090
R2 - $0000
R3 - $0600
R4 - $0006
R5 - $0202
R6 - $0005
R7 - $05C0
R8 - $00C0
R9..R14 - $0000
R15 - $0005

R13L1 - $7FFF (last RWS address? Do you have 32kB in your machine?)

If your machine really halts at stop 'A', then this is strange. R5 should 
contain the screen address for the next character. $0202 should be for the 
'C', so the machine might hang at stop 'B'. R15 should contain $00FF.
Having R1 with $0090 implies a negative test instruction at $008C with the 
halt instruction at $008E. (R1 is used as link register with conditional 
skip instructions. If no skip occurs, the next instruction can be a jump 
to a subroutine, and R1 contains the address of the instruction following 
that jump. This is automatically done by the CPU).
R3 and R4 might contain the end values after the screen clear routine 
(just before the 'A' routine). The 5110 version looks like this:
                         ; Clear display
006C    8F40            LBI R15, #' '
006E    0FFD            MLH R15, R15
0070    8D06            LBI R13, #$06
0072    5F51            MOVE (R5)+, R15
0074    C5D7            SBSH R5, R13
0076    F005            BRA $0072               ; -> -$06(R0)

And the 5100 version could be something like this:
 	8200		LBI R2, #' '
 	022D		MLH R2, R2		; R2 <- $0000
 	8406		LBI R4, #$06		; R4 <- $0006
 	5231		MOVE (R3)+, R2
 	C347		SBSH R3, R4
 	F005		BRA $-6
The screen is cleared from $0200 (begin of screen) up to (excluding) $0600 
(end of screen). So R3 contains the address of the first byte after the 
screen area.

But to find out what the machine did until this point, I need the 
Executable ROS hex dump as described in my last post. Address 0090 is well 
within the first 512 bytes so we should get the first couple of diagnostic 
routines.

Christian


More information about the cctech mailing list