pcjs/_posts/2017-03-24-stepping-through-pdp-10-diagnostica.md
2017-03-24 16:23:27 -07:00

4.3 KiB

layout title date permalink machines
post Stepping Through PDP-10 Diagnostics 2017-03-24 22:00:00 /blog/2017/03/24/
id type config debugger commands
testka10 pdp10 /devices/pdp10/machine/ka10/test/debugger/machine.xml true a 30724 /apps/pdp10/diags/klad/dakaa/MYDAKAA.MAC

Now that the PDPjs MACRO-10 Mini-Assembler is limping along, it was time to start assembling some of DEC's PDP-10 diagnostics and loading them into a test machine. The first diagnostic I tried was KA10 Basic Instruction Diagnostic #1 (MAINDEC-10-DAKAA-B-D), which has been loaded into the machine below.

{% include machine.html id="testka10" %}

Here were the results of my first run attempt:

>> a 30724 /apps/pdp10/diags/klad/dakaa/MYDAKAA.MAC
starting PCjs MACRO-10 Mini-Assembler...
loading MYDAKAA.MAC
CPU will not be auto-started (click Run to start)
2844 words loaded at 030724-036357
00=000000000000 01=000000000000 02=000000000000 03=000000000000 
04=000000000000 05=000000000000 06=000000000000 07=000000000000 
10=000000000000 11=000000000000 12=000000000000 13=000000000000 
14=000000000000 15=000000000000 16=000000000000 17=000000000000 
PC=030724 RA=00000000 EA=000000 C0=0 C1=0 OV=0 ND=0 PD=0 
030724: 254000 030741  JRST    30741
>> g
running
undefined opcode: 000000
stopped (1698 instructions, 1697 cycles, 14 ms, 121214 hz)
00=000000000000 01=000000000000 02=777777777777 03=000000000000 
04=777777777777 05=000000000000 06=000000000000 07=777777777777 
10=777777777777 11=000000000000 12=000000000000 13=000000000000 
14=000000000000 15=000000000000 16=000000000000 17=000000000000 
PC=035057 RA=00000000 EA=000000 C0=0 C1=0 OV=0 ND=0 PD=0 
035057: 000000 000000  UUO     0,0
>> dh
035044: 444000 036353  EQV     0,36353          ;history=10
035045: 332000 000000  SKIPE   0,0              ;history=9
035047: 324000 035050  JUMPA   0,35050          ;history=8
035050: 200000 036354  MOVE    0,36354          ;history=7
035051: 404000 036355  AND     0,36355          ;history=6
035052: 444000 036356  EQV     0,36356          ;history=5
035053: 444000 036357  EQV     0,36357          ;history=4
035054: 332000 000000  SKIPE   0,0              ;history=3
035056: 324000 035057  JUMPA   0,35057          ;history=2
035057: 000000 000000  UUO     0,0              ;history=1

Happily, this was a good outcome, because 035057 is the end of the test. If you look at the diagnostic's listing file, this is what you would normally see at address 035057:

035057	254 00 0 00 030057 	ENDXX:	JRST	BEGEND		;LOOP PROGRAM

Next, I tried KA10 Basic Instruction Diagnostic #4 (MAINDEC-10-DAKAD-B-D):

>> a 30724 /apps/pdp10/diags/klad/dakad/MYDAKAD.MAC
starting PCjs MACRO-10 Mini-Assembler...
loading MYDAKAD.MAC
1986 words loaded at 030724-034625
00=000000000000 01=000000000000 02=777777777777 03=000000000000 
04=777777777777 05=000000000000 06=000000000000 07=777777777777 
10=777777777777 11=000000000000 12=000000000000 13=000000000000 
14=000000000000 15=000000000000 16=000000000000 17=000000000000 
PC=030724 RA=00000000 EA=000000 C0=0 C1=0 OV=0 ND=0 PD=0 
030724: 254000 030741  JRST    30741
>> g
running
stopped (450 instructions, 449 cycles, 8 ms, 56125 hz)
00=000000000017 01=400000000000 02=000000000001 03=400000000000 
04=000004000004 05=000005000005 06=000006000006 07=000007000007 
10=000010000010 11=000011000011 12=000012000012 13=000013000013 
14=000014000014 15=000015000015 16=000016000016 17=000017000017 
PC=032007 RA=00032007 EA=032007 C0=0 C1=0 OV=0 ND=0 PD=0 
032007: 324000 032010  JUMPA   0,32010
>> dh
031774: 201100 000001  MOVEI   2,1              ;history=10
031775: 200142 000000  MOVE    3,0(2)           ;history=9
031776: 312140 034461  CAME    3,34461          ;history=8
032000: 324000 032001  JUMPA   0,32001          ;history=7
032001: 476000 000003  SETOM   0,3              ;history=6
032002: 205040 400000  MOVSI   1,400000         ;history=5
032003: 201100 000001  MOVEI   2,1              ;history=4
032004: 200142 000000  MOVE    3,0(2)           ;history=3
032005: 312140 034462  CAME    3,34462          ;history=2
032006: 254200 032007  HALT    32007            ;history=1

This looked less good.

@jeffpar Mar 24, 2017