mirror of
https://github.com/aap/pdp6.git
synced 2026-01-11 23:53:31 +00:00
124 lines
2.9 KiB
Plaintext
124 lines
2.9 KiB
Plaintext
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
|