pcjs/apps/pdp11/boot/monitor/PDPJSMON.lst
2016-11-02 13:35:50 -07:00

535 lines
29 KiB
Text

1 ; BOOT MONITOR
2 ;
3 ; REBASE HIGHER LINK/BOT:140000
4 ; WANT PERFORMANCE COUNTER - CLOCK TICKS TO DO SOMETHING?
5
6 177776 PSW = 177776
7 177570 CNSW = 177570
8 177564 DL11XCSR = 177564
9 000064 DL11VEC = 64
10
11 177546 KW11LKS = 177546
12 000100 KW11VEC = 100
13
14 .ASECT
15 140000 .=140000
16 140000 000005 START: RESET ; 140000
17 140002 005037 177776 CLR @#PSW
18 140006 012706 140000 MOV #START,SP
19 140012 005037 177564 CLR @#DL11XCSR ; CLEAR THE XCSR
20 140016 012700 141125 MOV #BANNER,R0
21 140022 004767 140154' JSR PC,PRINT
22 140026 012737 140130 000100 MOV #CLKAST,@#KW11VEC
23 140034 012737 000340 000102 MOV #340,@#KW11VEC+2
24 140042 052737 000100 177546 BIS #100,@#KW11LKS ; SET CLOCK TICKING
25
26 140050 012700 141155 MOV #PROMPT,R0
27 140054 004767 140154' JSR PC,PRINT
28 140060 162706 000256 SUB #256,SP
29 140064 010600 MOV SP,R0
30 140066 004767 140250' JSR PC,INPUT
31 140072 005000 CLR R0
32 140074 010037 177570 1$: MOV R0,@#CNSW ; UPDATE THE FRONT PANEL DATA DISPLAY WITH R0
33 140100 000001 WAIT
34 140102 005200 INC R0
35 140104 005767 140124' TST LGHTON
36 140110 001771 BEQ 1$
37 140112 012746 054000 MOV #054000,-(SP) ; SUPER PRIORITY 0 ALT REG
38 140116 016746 140124' MOV LGHTON,-(SP) ; CALL SUPER LOOP START
39 140122 000002 RTI
40
41 140124 000000 LGHTON: .WORD 0
42 140126 000000 CLKTIC: .WORD 0
43
44 CLKAST: ; 140124
45 140130 005267 140126' INC CLKTIC
46 140134 000002 RTI
47
48 ONECHR:
49 140136 105737 177564 TSTB @#DL11XCSR ; 140132
50 140142 100375 BPL ONECHR
51 140144 110037 177566 MOVB R0,@#177566
52 140150 000207 RTS PC
53
54 140152 000000 PRTPTR: .WORD 0 ; 140146
55
56 PRINT: ; 140150
57 140154 132737 000100 177564 BITB #100,@#DL11XCSR
58 140162 001374 BNE PRINT
59 140164 010067 140152' MOV R0,PRTPTR
60 140170 012737 140214 000064 MOV #PRTAST,@#DL11VEC
61 140176 012737 000200 000066 MOV #200,@#DL11VEC+2
62 140204 152737 000100 177564 BISB #100,@#DL11XCSR
63 140212 000207 RTS PC
64
65 PRTAST: ; 140210
66 140214 105777 140152' TSTB @PRTPTR
67 140220 001406 BEQ 2$
68 140222 117737 140152' 177566 MOVB @PRTPTR,@#177566
69 140230 005267 140152' INC PRTPTR
70 140234 000002 RTI
71 140236 105037 177564 2$: CLRB @#177564
72 140242 000002 RTI
73
74 140244 000000 BUFFER: .WORD 0 ; INPUT BUFFER POINTER
75 140246 000000 LENGTH: .WORD 0 ; INPUT BUFFER LENGTH
76
77 INPUT:
78 140250 010067 140244' MOV R0,BUFFER ; 140244
79 140254 005067 140246' CLR LENGTH
80 140260 012737 140304 000060 MOV #INPAST,@#60
81 140266 012737 000200 000062 MOV #200,@#62
82 140274 152737 000100 177560 BISB #100,@#177560
83 140302 000207 RTS PC
84
85 INPAST: ; 140300
86 140304 010046 MOV R0,-(SP)
87 140306 113700 177562 MOVB @#177562,R0
88 140312 120027 000015 CMPB R0,#15
89 140316 001455 BEQ 7$ ; CARRIAGE RETURN
90 140320 120027 000177 CMPB R0,#127.
91 140324 001403 BEQ 2$ ; <DEL>
92 140326 120027 000010 CMPB R0,#10
93 140332 001012 BNE 4$ ; BACK SPACE
94 140334 005767 140246' 2$: TST LENGTH ; DATA IN BUFFER?
95 140340 001406 BEQ 3$
96 140342 005367 140246' DEC LENGTH ; LENGTH
97 140346 012700 141043 MOV #DEL,R0
98 140352 004767 140154' JSR PC,PRINT
99 140356 000453 3$: BR 9$
100 140360 120027 000040 4$: CMPB R0,#40
101 140364 002450 BLT 9$ ; BELOW SPACE
102 140366 120027 000177 CMPB R0,#177
103 140372 002045 BGE 9$ ; SKIP STUFF TOO BIG
104 140374 004767 140136' JSR PC,ONECHR ; ECHO CHAR
105 140400 120027 000172 CMPB R0,#172
106 140404 003005 BGT 5$ ; ABOVE Z
107 140406 120027 000141 CMPB R0,#141
108 140412 002402 BLT 5$ ; BELOW A
109 140414 142700 000040 BICB #40,R0 ; CONVERT TO UPPER CASE
110 140420 026727 140246' 000254 5$: CMP LENGTH,#254
111 140426 002027 BGE 9$
112 140430 110046 MOVB R0,-(SP)
113 140432 016700 140244' MOV BUFFER,R0
114 140436 066700 140246' ADD LENGTH,R0
115 140442 112610 MOVB (SP)+,(R0)
116 140444 005267 140246' INC LENGTH
117 140450 000416 BR 9$
118
119 140452 016700 140244' 7$: MOV BUFFER,R0
120 140456 066700 140246' ADD LENGTH,R0
121 140462 105010 CLRB (R0)
122 140464 012737 140512 000240 MOV #CMD,@#240 ; CALL CMD AT PRIORITY 2
123 140472 012737 000100 000242 MOV #100,@#242
124 140500 012737 002000 177772 MOV #2000,@#177772
125 140506 012600 9$: MOV (SP)+,R0
126 140510 000002 RTI
127
128 CMD: ; 140506
129 140512 005037 177772 CLR @#177772 ; NO MORE PIR CALLS
130 140516 010046 MOV R0,-(SP)
131 140520 010146 MOV R1,-(SP)
132 140522 010246 MOV R2,-(SP)
133 140524 010346 MOV R3,-(SP)
134 140526 010446 MOV R4,-(SP)
135 140530 012700 141040 MOV #EOL,R0
136 140534 004767 140154' JSR PC,PRINT
137 140540 132737 000100 177564 1$: BITB #100,@#177564
138 140546 001374 BNE 1$
139 140550 005004 CLR R4
140 140552 012703 141047 MOV #CMDLST,R3 ; CMD LIST
141 140556 112300 3$: MOVB (R3)+,R0
142 140560 001431 BEQ 13$
143 140562 016702 140244' MOV BUFFER,R2 ; USER CMD
144 140566 112201 4$: MOVB (R2)+,R1
145 140570 001431 BEQ 15$ ; NULL COMMAND?
146 140572 120127 000040 CMPB R1,#40
147 140576 001773 BEQ 4$ ; SKIP SPACE
148 140600 120001 5$: CMPB R0,R1
149 140602 001010 BNE 7$
150 140604 112300 MOVB (R3)+,R0
151 140606 001412 BEQ 9$
152 140610 112201 MOVB (R2)+,R1
153 140612 001410 BEQ 9$
154 140614 120127 000040 CMPB R1,#40
155 140620 001367 BNE 5$
156 140622 000404 BR 9$
157 140624 112300 7$: MOVB (R3)+,R0
158 140626 001376 BNE 7$
159 140630 005204 INC R4
160 140632 000751 BR 3$
161 140634 006304 9$: ASL R4
162 140636 004774 140704 JSR PC,@CMDTBL(R4) ; EXECUTE
163 140642 000404 BR 15$
164
165 140644 012700 141103 13$: MOV #UNKMSG,R0
166 140650 004767 140154' JSR PC,PRINT
167
168 140654 005067 140246' 15$: CLR LENGTH
169 140660 012700 141155 MOV #PROMPT,R0
170 140664 004767 140154' JSR PC,PRINT
171 140670 012604 MOV (SP)+,R4
172 140672 012603 MOV (SP)+,R3
173 140674 012602 MOV (SP)+,R2
174 140676 012601 MOV (SP)+,R1
175 140700 012600 MOV (SP)+,R0
176 140702 000002 RTI
177
178
179 140704 142054 141250 141264 CMDTBL: .WORD BOOT,HALT,TEST,LIGHTS,HELP
140712 141370 141236
180 140716 103 117 115 HLPMSG: .ASCIZ 'COMMANDS ARE BOOT, HALT, LIGHTS, TEST AND HELP'<15><12>'BOOT DEVICES ARE RK? RL? OR RP?'<15><12>
140721 115 101 116
140724 104 123 040
140727 101 122 105
140732 040 102 117
140735 117 124 054
140740 040 110 101
140743 114 124 054
140746 040 114 111
140751 107 110 124
140754 123 054 040
140757 124 105 123
140762 124 040 101
140765 116 104 040
140770 110 105 114
140773 120 015 012
140776 102 117 117
141001 124 040 104
141004 105 126 111
141007 103 105 123
141012 040 101 122
141015 105 040 122
141020 113 077 040
141023 122 114 077
141026 040 117 122
141031 040 122 120
141034 077 015 012
141037 000
181 141040 015 012 000 EOL: .BYTE 15,12,0
182 141043 010 040 010 DEL: .BYTE 10,40,10,0
141046 000
183 141047 102 117 117 CMDLST: .ASCIZ 'BOOT'
141052 124 000
184 141054 110 101 114 .ASCIZ 'HALT'
141057 124 000
185 141061 124 105 123 .ASCIZ 'TEST'
141064 124 000
186 141066 114 111 107 .ASCIZ 'LIGHTS'
141071 110 124 123
141074 000
187 141075 110 105 114 .ASCIZ 'HELP'
141100 120 000
188 141102 000 .BYTE 0
189 141103 125 116 113 UNKMSG: .ASCIZ 'UNKNOWN COMMAND'<12><15>
141106 116 117 127
141111 116 040 103
141114 117 115 115
141117 101 116 104
141122 012 015 000
190 141125 120 104 120 BANNER: .ASCIZ 'PDP-11 MONITOR V1.0'<12><15><12><15>
141130 055 061 061
141133 040 115 117
141136 116 111 124
141141 117 122 040
141144 126 061 056
141147 060 012 015
141152 012 015 000
191 ; 'ADAPTED FROM CODE BY PAUL NANKERVIS <PAULNANK@HOTMAIL.COM>'<12><15><12><15>
192 141155 102 117 117 PROMPT: .ASCIZ 'BOOT> '
141160 124 076 040
141163 000
193 141164 125 116 113 BADBOO: .ASCIZ 'UNKNOWN BOOT DEVICE'<12><15>
141167 116 117 127
141172 116 040 102
141175 117 117 124
141200 040 104 105
141203 126 111 103
141206 105 012 015
141211 000
194 141212 040 040 040 PERMSG: .ASCIZ ' CLOCK TICKS'<12><15>
141215 040 040 040
141220 103 114 117
141223 103 113 040
141226 124 111 103
141231 113 123 012
141234 015 000
195
196 .EVEN
197
198 HELP: ; 141244
199 141236 012700 140716 MOV #HLPMSG,R0
200 141242 004767 140154' JSR PC,PRINT
201 141246 000207 RTS PC
202
203 HALT: ; 141260
204 141250 000000 HALT
205 141252 012700 141040 MOV #EOL,R0
206 141256 004767 140154' JSR PC,PRINT
207 141262 000207 RTS PC
208
209 TEST: ; 141272
210 141264 005067 140126' CLR CLKTIC
211
212 141270 012705 015000 MOV #15000,R5
213 141274 010537 177570 10$: MOV R5,@#177570 ; DISPLAY
214 141300 010504 MOV R5,R4
215 141302 006204 ASR R4
216 141304 005000 15$: CLR R0
217 141306 010501 MOV R5,R1
218 141310 071004 DIV R4,R0
219 141312 010002 MOV R0,R2
220 141314 070204 MUL R4,R2
221 141316 060301 ADD R3,R1
222 141320 020105 CMP R1,R5
223 141322 001401 BEQ 20$
224 141324 000000 HALT
225 141326 077412 20$: SOB R4,15$
226 141330 077517 SOB R5,10$
227
228 141332 012700 141217 MOV #PERMSG+5,R0
229 141336 016703 140126' MOV CLKTIC,R3
230
231 141342 005002 25$: CLR R2 ; 141350
232 141344 071227 000010 DIV #10,R2
233 141350 062703 000060 ADD #'0,R3
234 141354 110340 MOVB R3,-(R0)
235 141356 010203 MOV R2,R3
236 141360 001370 BNE 25$
237
238 141362 004767 140154' JSR PC,PRINT
239 141366 000207 RTS PC
240
241
242 177572 MMR0=177572
243 177574 MMR1=177574
244 177576 MMR2=177576
245 172516 MMR3=172516
246
247 LIGHTS: ; 141376
248 141370 012703 077406 MOV #77406,R3 ; DEFAULT PDR
249 141374 005002 CLR R2
250 141376 005001 CLR R1
251 141400 012700 000010 MOV #8.,R0
252 141404 010361 172300 1$: MOV R3,172300(R1) ; KERNEL I PDR
253 141410 010261 172340 MOV R2,172340(R1) ; KERNEL I PAR
254 141414 010361 172320 MOV R3,172320(R1) ; KERNEL D PDR
255 141420 010261 172360 MOV R2,172360(R1) ; KERNEL D PAR
256 141424 010361 172200 MOV R3,172200(R1) ; SUPER I PDR
257 141430 010261 172240 MOV R2,172240(R1) ; SUPER I PAR
258 141434 010361 172220 MOV R3,172220(R1) ; SUPER D PDR
259 141440 010261 172260 MOV R2,172260(R1) ; SUPER D PAR
260 141444 010361 177600 MOV R3,177600(R1) ; USER I PDR
261 141450 010261 177640 MOV R2,177640(R1) ; USER I PAR
262 141454 010361 177620 MOV R3,177620(R1) ; USER D PDR
263 141460 010361 177660 MOV R3,177660(R1) ; USER D PAR
264 141464 062702 000200 ADD #200,R2
265 141470 062701 000002 ADD #2,R1
266 141474 077035 SOB R0,1$
267 141476 052737 176000 172376 BIS #176000,@#172376 ; KERNEL D POINTS TO I/O SPACE
268 141504 052737 176000 172276 BIS #176000,@#172276 ; SUPER D POINTS TO I/O SPACE
269 141512 052737 176000 177676 BIS #176000,@#177676 ; USER D POINTS TO I/O SPACE
270 141520 012737 000077 172516 MOV #77,@#MMR3 ; 77 FOR 22 BIT
271 141526 012737 000001 177572 MOV #1,@#MMR0
272
273 141534 012737 001700 172244 MOV #1700,@#172244 ; BASE SUPER I (PAR 2) #40000 AT #170000
274 141542 012737 001700 172264 MOV #1700,@#172264 ; BASE SUPER D (PAR 2) #40000 AT #170000
275 141550 012737 010000 177776 MOV #010000,@#177776 ; SET PM TO SUPER
276
277 141556 012703 040200 MOV #40200,R3 ; SUPER CODE ADDRESS
278 141562 012702 141610 MOV #SUPERS,R2 ; ADDRESS SUPER CODE
279 141566 012246 10$: MOV (R2)+,-(SP)
280 141570 006623 MTPI (R3)+
281 141572 020227 142054 CMP R2,#SUPERE
282 141576 103773 BLO 10$
283
284 141600 012767 040200 140124' MOV #40200,LGHTON ; CHANGE IDLE TASK
285 141606 000207 RTS PC
286
287 ;
288 ; TO BE COPIED TO SUPER #40200 AT PHYSICAL #170000
289 ; #40000 TO #40200 FOR WAIT & JMP INSTRUCTIONS
290 ;
291 SUPERS: ; 141616
292 141610 012700 000037 MOV #37,R0 ; LOAD PATTERN
293 141614 012701 174000 MOV #174000,R1
294 141620 032737 000001 177570 BIT #1,@#177570
295 141626 001414 BEQ 10$
296 141630 012700 007417 MOV #7417,R0
297 141634 010001 MOV R0,R1
298 141636 005101 COM R1
299 141640 032737 000002 177570 BIT #2,@#177570
300 141646 001404 BEQ 10$
301 141650 012700 036163 MOV #36163,R0
302 141654 012701 037000 MOV #37000,R1
303 141660 010102 10$: MOV R1,R2
304 141662 162702 000002 SUB #2,R2
305 141666 042702 000001 BIC #1,R2 ; WAIT ADDRESS
306 141672 010203 MOV R2,R3
307 141674 042703 177701 BIC #177701,R3 ; ADDRESS OFFSET
308 141700 012763 000001 040000 MOV #0000001,40000(R3) ; WRITE WAIT
309 141706 062703 000002 ADD #2,R3
310 141712 012763 000113 040000 MOV #0000113,40000(R3) ; WRITE JMP (R3)
311
312 141720 010204 MOV R2,R4
313 141722 072427 177772 ASH #-6,R4
314 141726 042704 177600 BIC #177600,R4
315 141732 012705 001700 MOV #1700,R5
316 141736 160405 SUB R4,R5 ; PAR ADDRESS BASE FOR WAIT
317 141740 010204 MOV R2,R4
318 141742 072427 177764 ASH #-12.,R4
319 141746 042704 177761 BIC #177761,R4 ; PAR SELECT OFFSET
320 141752 010564 172240 MOV R5,172240(R4) ; SUPER I SPACE
321
322 141756 010103 MOV R1,R3
323 141760 072327 177764 ASH #-12.,R3
324 141764 042703 177761 BIC #177761,R3 ; PAR SELECT OFFSET
325 141770 020304 CMP R3,R4 ; SAME PAR
326 141772 001412 BEQ 30$
327 141774 010104 MOV R1,R4
328 141776 072427 177772 ASH #-6,R4
329 142002 042704 177600 BIC #177600,R4
330 142006 012705 001700 MOV #1700,R5
331 142012 160405 SUB R4,R5 ; PAR ADDRESS BASE FOR JMP
332 142014 010563 172240 MOV R5,172240(R3) ; SUPER I SPACE
333 30$:
334 142020 012704 000003 MOV #3,R4
335 142024 063704 177570 ADD @#177570,R4
336 142030 012703 000002 MOV #2,R3
337 142034 060703 ADD PC,R3
338 142036 000112 40$: JMP (R2)
339 142040 077402 SOB R4,40$
340 142042 010002 MOV R0,R2
341 142044 006002 ROR R2 ; ROTATE PATTERN
342 142046 006101 ROL R1
343 142050 006000 ROR R0
344 142052 000702 BR 10$
345 SUPERE:
346
347 BOOT: ; 142062
348 142054 005003 CLR R3 ; UNIT
349 142056 112201 1$: MOVB (R2)+,R1
350 142060 001545 BEQ BOOTRK ; DEFAULT DEVICE IS RK0
351 142062 120127 000040 CMPB R1,#40
352 142066 001773 BEQ 1$
353 142070 120127 000122 CMPB R1,#'R
354 142074 001405 BEQ 5$
355
356 142076 012700 141164 MOV #BADBOO,R0
357 142102 004767 140154' JSR PC,PRINT
358 142106 000207 RTS PC
359
360 142110 112201 5$: MOVB (R2)+,R1 ; HOPEFULLY K, L OR P
361 142112 112200 7$: MOVB (R2)+,R0 ; DIGIT
362 142114 001416 BEQ 9$
363 142116 120027 000040 CMPB R0,#40
364 142122 001413 BEQ 9$
365 142124 120027 000067 CMPB R0,#'7
366 142130 003031 BGT 11$
367 142132 162700 000060 SUB #'0,R0
368 142136 002426 BLT 11$
369 142140 006303 ASL R3
370 142142 006303 ASL R3
371 142144 006303 ASL R3
372 142146 050003 BIS R0,R3 ; PUT DIGIT INTO UNIT
373 142150 000760 BR 7$
374 142152 005002 9$: CLR R2
375 142154 012722 000137 MOV #137,(R2)+ ; STORE "JMP @#140000" INSTRUCTION AT ADDRESS 0
376 142160 012722 140000 MOV #START,(R2)+
377 142164 012722 140000 MOV #START,(R2)+ ; STORE #140000 IN VECTOR 4, IN CASE OF TRAP TO 4
378 142170 005022 CLR (R2)+
379 142172 120127 000113 CMPB R1,#'K
380 142176 001476 BEQ BOOTRK
381 142200 120127 000114 CMPB R1,#'L
382 142204 001410 BEQ BOOTRL
383 142206 120127 000120 CMPB R1,#'P
384 142212 001517 BEQ BOOTRP
385
386 142214 012700 141103 11$: MOV #UNKMSG,R0
387 142220 004767 140154' JSR PC,PRINT
388 142224 000207 RTS PC
389
390 174400 RLCS=174400
391 BOOTRL: ; 142326
392 142226 000005 RESET
393 142230 000303 SWAB R3 ; UNIT NUMBER
394 142232 012701 174400 MOV #RLCS,R1 ; CSR
395 142236 012761 000013 000004 MOV #13,4(R1) ; CLR ERR
396 142244 052703 000004 BIS #4,R3 ; UNIT+GSTAT
397 142250 010311 MOV R3,(R1) ; ISSUE CMD
398 142252 105711 TSTB (R1) ; WAIT
399 142254 100376 BPL .-2
400 142256 105003 CLRB R3
401 142260 052703 000010 BIS #10,R3 ; UNIT+RDHDR
402 142264 010311 MOV R3,(R1) ; ISSUE CMD
403 142266 105711 TSTB (R1) ; WAIT
404 142270 100376 BPL .-2
405 142272 016102 000006 MOV 6(R1),R2 ; GET HDR
406 142276 042702 000077 BIC #77,R2 ; CLR SECTOR
407 142302 005202 INC R2 ; MAGIC BIT
408 142304 010261 000004 MOV R2,4(R1) ; SEEK TO 0
409 142310 105003 CLRB R3
410 142312 052703 000006 BIS #6,R3 ; UNIT+SEEK
411 142316 010311 MOV R3,(R1) ; ISSUE CMD
412 142320 105711 TSTB (R1) ; WAIT
413 142322 100376 BPL .-2
414 142324 005061 000002 CLR 2(R1) ; CLR BA
415 142330 005061 000004 CLR 4(R1) ; CLR DA
416 142334 012761 177000 000006 MOV #-512.,6(R1) ; SET WC
417 142342 105003 CLRB R3
418 142344 052703 000014 BIS #14,R3 ; UNIT+READ
419 142350 010311 MOV R3,(R1) ; ISSUE CMD
420 142352 105711 TSTB (R1) ; WAIT
421 142354 100376 BPL .-2
422 142356 042711 000377 BIC #377,(R1)
423 142362 005002 CLR R2
424 142364 005003 CLR R3
425 142366 005004 CLR R4
426 142370 005005 CLR R5
427 142372 005007 CLR PC
428
429 177412 RKDA=177412
430 000005 READGO=5
431 BOOTRK:
432 142374 000005 RESET ; 142402
433 142376 000303 SWAB R3 ; UNIT NUMBER
434 142400 006303 ASL R3
435 142402 006303 ASL R3
436 142404 006303 ASL R3
437 142406 006303 ASL R3
438 142410 006303 ASL R3
439 142412 012701 177412 MOV #RKDA,R1 ; CSR
440 142416 010311 MOV R3,(R1) ; LOAD DA
441 142420 005041 CLR -(R1) ; CLEAR BA
442 142422 012741 177000 MOV #-256.*2,-(R1) ; LOAD WC
443 142426 012741 000005 MOV #READGO,-(R1) ; READ & GO
444 142432 005002 CLR R2
445 142434 005003 CLR R3
446 142436 005004 CLR R4
447 142440 005005 CLR R5
448 142442 105711 TSTB (R1)
449 142444 100376 BPL .-2
450 142446 105011 CLRB (R1)
451 142450 005007 CLR PC
452
453 176700 RPCSR=0176700
454 BOOTRP: ; 142460
455 142452 000005 RESET
456 142454 012701 176700 MOV #RPCSR, R1
457 142460 012761 000040 000010 MOV #0000040, 10(R1) ; RESET
458 142466 010361 000010 MOV R3, 10(R1) ; SET UNIT
459 142472 012711 000021 MOV #0000021, (R1) ; PACK ACK
460 142476 012761 010000 000032 MOV #0010000, 32(R1) ; 16B MODE
461 142504 012761 177000 000002 MOV #-512., 2(R1) ; SET WC
462 142512 005061 000004 CLR 4(R1) ; CLR BA
463 142516 005061 000006 CLR 6(R1) ; CLR DA
464 142522 005061 000034 CLR 34(R1) ; CLR CYL
465 142526 012711 000071 MOV #0000071, (R1) ; READ
466 142532 105711 TSTB (R1) ; WAIT
467 142534 100376 BPL .-2
468 142536 105011 CLRB (R1)
469 142540 010300 MOV R3,R0
470 142542 005007 CLR PC
471
472 .END START
472