PAPER TAPE RIM LOADER (AT 20): LOC 20 CONO PTR,60 ; 710600 000060 A: CONSO PTR,10 ; 710740 000010 JRST .-1 ; 254000 000021 DATAI PTR,B ; 710440 000026 CONSO PTR,10 ; 710740 000010 JRST .-1 ; 254000 000024 B: 0 ; 000000 000000 JRST A ; 254000 000021 DECTAPE RIM LOADER AT 0 (SHADOW) 014 INSTRUCTIONS MY DECTAPE LOADER: CONO DC,4010 ; 720200 004010 CONO UTC,220300 ; 721200 220300 MOVE 17,12 ; 200740 000012 CONSO DC,1000 ; 720340 001000 JRST .-1 ; 254000 000003 BLKI DC,17 ; 720000 000017 JRST DONE ; 254000 000010 JRST .-1 ; 254000 000003 DONE: CONO DC,0 ; 720200 000000 HALT 300 ; 254200 000300 777600000277 ; 777600 000277 PDP-10 RIM10 LOADER: 003110' R1BLDR: 000000 PHASE 0 003110' 777762 000000 IOWD $ADR,$ST 003111' 710600 000060 $ST: CONO PTR,60 003112' 541400 000004 HRRI $A,$RD+1 003113' 710740 000010 $RD: CONSO PTR,10 003114' 254000 000003 JRST .-1 003115' 710470 000007 DATAI PTR,@$TBL1-$RD+1($A) 003116' 256010 000007 XCT $TBL1-$RD+1($A) 003117' 256010 000012 XCT $TBL2-$RD+1($A) 003120' 364400 000000 $A: SOJA $A, 003121' 312740 000016 $TBL1: CAME $CKSM,$ADR 003122' 270756 000001 ADD $CKSM,1($ADR) 003123' 331740 000016 SKIPL $CKSM,$ADR 003124' 254200 000001 $TBL2: JRST 4,$ST 003125' 253700 000003 AOBJN $ADR,$RD 003126' 254000 000002 $ADR: JRST $ST+1 000017 $CKSM: 003127' DEPHASE MAC DECtape RIM loader: 00 255000 000000 JFCL / no-op, what for? 01 205000 255000 MOVSI (JFCL) / restore JFCL in 0 02 700200 635550 CONO 635550 / reset APR 03 700600 011577 CONO PI,11577 / reset PI 04 721200 223110 CONO UTC,223110 / read all forward 05 720200 004010 CONO DC,4010 / read 06 720340 001000 LUP%: CONSO DC,1000 / wait for word 07 254000 000006 JRST .-1 10 720040 000013 DATAI DC,A% / read word 11 345540 000006 AOJGE A%,LUP% / try next word if >= -1 12 602540 777777 TRNE A%,-1 / execute if RH!=0 (was -1) 13 000000 000013 A%: . 14 254000 000006 JRST LUP% 15 16 17 11: like AOBJP without incrementing left half 12: execute only if right half != 0 0 DATAI PTR,1 1 . 2 JRST 0 Written by RIM loader loader (part of MACDMP) 2 JRST 0 10 CONO 1000 / turn clock flag off 11 JFCL X 12 JFCL X 13 JFCL X 14 JFCL X 15 CONSZ 1000 / skip if clock flag off 16 JRST 10 / clock on, so still on repeat 17 SKIPA X / clock off, we're at full speed 20 CONO PTR,60 21 CONSO PTR,10 22 JRST 21 23 DATAI PTR,26 24 CONSO PTR,10 25 JRST 24 26 XCT 26 27 JRST 21 37 37176 PDP6 SBLK loader: 1 MOVE 1,15 2 JSP 17,30 / wait for ready 3 DATAI PTR,16 / get block header 4 MOVE 15,16 / save for checksum 5 JUMPG 16,16 / execute if not negative 6 JSP 17,30 / read block word 7 DATAI PTR,(16) 10 ROT 15,1 11 ADD 15,(16) 12 AOBJN 16,6 13 MOVEI 17,33 14 JRST 30 15 CONO PTR,60 / replaced by current checksum 16 / input word: header/aobjn pointer/checksum 17 / return address 30 CONSO PTR,10 / wait for word 31 JRST 30 32 JRST (17) 33 DATAI PTR,16 / get checksum word 34 CAMN 15,16 35 JRST 2 / go to next block if checksum ok 36 JRST 4,1