Updated PDP-11 BOOTTEST banner
This commit is contained in:
parent
5808778351
commit
e9164c4deb
3 changed files with 340 additions and 320 deletions
|
|
@ -22,7 +22,7 @@
|
|||
22 140034 012737 000340 000102 MOV #340,@#KW11VEC+2
|
||||
23 140042 052737 000100 177546 BIS #100,@#KW11LKS ; SET CLOCK TICKING
|
||||
24
|
||||
25 140050 012700 141173 MOV #PROMPT,R0
|
||||
25 140050 012700 141254 MOV #PROMPT,R0
|
||||
26 140054 004767 140150' JSR PC,PRINT
|
||||
27 140060 162706 000256 SUB #256,SP
|
||||
28 140064 010600 MOV SP,R0
|
||||
|
|
@ -164,7 +164,7 @@
|
|||
164 140644 004767 140150' JSR PC,PRINT
|
||||
165
|
||||
166 140650 005067 140242' 15$: CLR LENGTH
|
||||
167 140654 012700 141173 MOV #PROMPT,R0
|
||||
167 140654 012700 141254 MOV #PROMPT,R0
|
||||
168 140660 004767 140150' JSR PC,PRINT
|
||||
169 140664 012604 MOV (SP)+,R4
|
||||
170 140666 012603 MOV (SP)+,R3
|
||||
|
|
@ -174,8 +174,8 @@
|
|||
174 140676 000002 RTI
|
||||
175
|
||||
176
|
||||
177 140700 142072 141266 141302 CMDTBL: .WORD BOOT,HALT,TEST,LIGHTS,HELP
|
||||
140706 141406 141254
|
||||
177 140700 142154 141350 141364 CMDTBL: .WORD BOOT,HALT,TEST,LIGHTS,HELP
|
||||
140706 141470 141336
|
||||
178 140712 103 117 115 HLPMSG: .ASCIZ 'COMMANDS ARE BOOT, HALT, LIGHTS, TEST AND HELP'<15><12>'BOOT DEVICES ARE RK? RL? OR RP?'<15><12>
|
||||
140715 115 101 116
|
||||
140720 104 123 040
|
||||
|
|
@ -225,83 +225,100 @@
|
|||
141110 117 115 115
|
||||
141113 101 116 104
|
||||
141116 012 015 000
|
||||
188 141121 120 101 125 BANNER: .ASCIZ 'PAUL NANKERVIS - PAULNANK@HOTMAIL.COM'<12><15><12><15>
|
||||
141124 114 040 116
|
||||
141127 101 116 113
|
||||
141132 105 122 126
|
||||
141135 111 123 040
|
||||
141140 055 040 120
|
||||
141143 101 125 114
|
||||
141146 116 101 116
|
||||
141151 113 100 110
|
||||
141154 117 124 115
|
||||
141157 101 111 114
|
||||
141162 056 103 117
|
||||
141165 115 012 015
|
||||
141170 012 015 000
|
||||
189 141173 102 117 117 PROMPT: .ASCIZ 'BOOT> '
|
||||
141176 124 076 040
|
||||
141201 000
|
||||
190 141202 125 116 113 BADBOO: .ASCIZ 'UNKNOWN BOOT DEVICE'<12><15>
|
||||
141205 116 117 127
|
||||
141210 116 040 102
|
||||
141213 117 117 124
|
||||
141216 040 104 105
|
||||
141221 126 111 103
|
||||
141224 105 012 015
|
||||
141227 000
|
||||
191 141230 040 040 040 PERMSG: .ASCIZ ' CLOCK TICKS'<12><15>
|
||||
141233 040 040 040
|
||||
141236 103 114 117
|
||||
141241 103 113 040
|
||||
141244 124 111 103
|
||||
141247 113 123 012
|
||||
141252 015 000
|
||||
188 141121 120 104 120 BANNER: .ASCIZ 'PDP-11 BOOT TEST FOR PDPjs'<12><15>'ADAPTED FROM CODE BY PAUL NANKERVIS <PAULNANK@HOTMAIL.COM>'<12><15><12><15>
|
||||
141124 055 061 061
|
||||
141127 040 102 117
|
||||
141132 117 124 040
|
||||
141135 124 105 123
|
||||
141140 124 040 106
|
||||
141143 117 122 040
|
||||
141146 120 104 120
|
||||
141151 152 163 012
|
||||
141154 015 101 104
|
||||
141157 101 120 124
|
||||
141162 105 104 040
|
||||
141165 106 122 117
|
||||
141170 115 040 103
|
||||
141173 117 104 105
|
||||
141176 040 102 131
|
||||
141201 040 120 101
|
||||
141204 125 114 040
|
||||
141207 116 101 116
|
||||
141212 113 105 122
|
||||
141215 126 111 123
|
||||
141220 040 074 120
|
||||
141223 101 125 114
|
||||
141226 116 101 116
|
||||
141231 113 100 110
|
||||
141234 117 124 115
|
||||
141237 101 111 114
|
||||
141242 056 103 117
|
||||
141245 115 076 012
|
||||
141250 015 012 015
|
||||
141253 000
|
||||
189 141254 102 117 117 PROMPT: .ASCIZ 'BOOT> '
|
||||
141257 124 076 040
|
||||
141262 000
|
||||
190 141263 125 116 113 BADBOO: .ASCIZ 'UNKNOWN BOOT DEVICE'<12><15>
|
||||
141266 116 117 127
|
||||
141271 116 040 102
|
||||
141274 117 117 124
|
||||
141277 040 104 105
|
||||
141302 126 111 103
|
||||
141305 105 012 015
|
||||
141310 000
|
||||
191 141311 040 040 040 PERMSG: .ASCIZ ' CLOCK TICKS'<12><15>
|
||||
141314 040 040 040
|
||||
141317 103 114 117
|
||||
141322 103 113 040
|
||||
141325 124 111 103
|
||||
141330 113 123 012
|
||||
141333 015 000
|
||||
192
|
||||
193 .EVEN
|
||||
193 141335 000 .EVEN
|
||||
194
|
||||
195 HELP: ; 141244
|
||||
196 141254 012700 140712 MOV #HLPMSG,R0
|
||||
197 141260 004767 140150' JSR PC,PRINT
|
||||
198 141264 000207 RTS PC
|
||||
196 141336 012700 140712 MOV #HLPMSG,R0
|
||||
197 141342 004767 140150' JSR PC,PRINT
|
||||
198 141346 000207 RTS PC
|
||||
199
|
||||
200 HALT: ; 141260
|
||||
201 141266 000000 HALT
|
||||
202 141270 012700 141034 MOV #EOL,R0
|
||||
203 141274 004767 140150' JSR PC,PRINT
|
||||
204 141300 000207 RTS PC
|
||||
201 141350 000000 HALT
|
||||
202 141352 012700 141034 MOV #EOL,R0
|
||||
203 141356 004767 140150' JSR PC,PRINT
|
||||
204 141362 000207 RTS PC
|
||||
205
|
||||
206 TEST: ; 141272
|
||||
207 141302 005067 140122' CLR CLKTIC
|
||||
207 141364 005067 140122' CLR CLKTIC
|
||||
208
|
||||
209 141306 012705 015000 MOV #15000,R5
|
||||
210 141312 010537 177570 10$: MOV R5,@#177570 ; DISPLAY
|
||||
211 141316 010504 MOV R5,R4
|
||||
212 141320 006204 ASR R4
|
||||
213 141322 005000 15$: CLR R0
|
||||
214 141324 010501 MOV R5,R1
|
||||
215 141326 071004 DIV R4,R0
|
||||
216 141330 010002 MOV R0,R2
|
||||
217 141332 070204 MUL R4,R2
|
||||
218 141334 060301 ADD R3,R1
|
||||
219 141336 020105 CMP R1,R5
|
||||
220 141340 001401 BEQ 20$
|
||||
221 141342 000000 HALT
|
||||
222 141344 077412 20$: SOB R4,15$
|
||||
223 141346 077517 SOB R5,10$
|
||||
209 141370 012705 015000 MOV #15000,R5
|
||||
210 141374 010537 177570 10$: MOV R5,@#177570 ; DISPLAY
|
||||
211 141400 010504 MOV R5,R4
|
||||
212 141402 006204 ASR R4
|
||||
213 141404 005000 15$: CLR R0
|
||||
214 141406 010501 MOV R5,R1
|
||||
215 141410 071004 DIV R4,R0
|
||||
216 141412 010002 MOV R0,R2
|
||||
217 141414 070204 MUL R4,R2
|
||||
218 141416 060301 ADD R3,R1
|
||||
219 141420 020105 CMP R1,R5
|
||||
220 141422 001401 BEQ 20$
|
||||
221 141424 000000 HALT
|
||||
222 141426 077412 20$: SOB R4,15$
|
||||
223 141430 077517 SOB R5,10$
|
||||
224
|
||||
225 141350 012700 141235 MOV #PERMSG+5,R0
|
||||
226 141354 016703 140122' MOV CLKTIC,R3
|
||||
225 141432 012700 141316 MOV #PERMSG+5,R0
|
||||
226 141436 016703 140122' MOV CLKTIC,R3
|
||||
227
|
||||
228 141360 005002 25$: CLR R2 ; 141350
|
||||
229 141362 071227 000010 DIV #10,R2
|
||||
230 141366 062703 000060 ADD #'0,R3
|
||||
231 141372 110340 MOVB R3,-(R0)
|
||||
232 141374 010203 MOV R2,R3
|
||||
233 141376 001370 BNE 25$
|
||||
228 141442 005002 25$: CLR R2 ; 141350
|
||||
229 141444 071227 000010 DIV #10,R2
|
||||
230 141450 062703 000060 ADD #'0,R3
|
||||
231 141454 110340 MOVB R3,-(R0)
|
||||
232 141456 010203 MOV R2,R3
|
||||
233 141460 001370 BNE 25$
|
||||
234
|
||||
235 141400 004767 140150' JSR PC,PRINT
|
||||
236 141404 000207 RTS PC
|
||||
235 141462 004767 140150' JSR PC,PRINT
|
||||
236 141466 000207 RTS PC
|
||||
237
|
||||
238
|
||||
239 177572 MMR0=177572
|
||||
|
|
@ -310,229 +327,229 @@
|
|||
242 172516 MMR3=172516
|
||||
243
|
||||
244 LIGHTS: ; 141376
|
||||
245 141406 012703 077406 MOV #77406,R3 ; DEFAULT PDR
|
||||
246 141412 005002 CLR R2
|
||||
247 141414 005001 CLR R1
|
||||
248 141416 012700 000010 MOV #8.,R0
|
||||
249 141422 010361 172300 1$: MOV R3,172300(R1) ; KERNEL I PDR
|
||||
250 141426 010261 172340 MOV R2,172340(R1) ; KERNEL I PAR
|
||||
251 141432 010361 172320 MOV R3,172320(R1) ; KERNEL D PDR
|
||||
252 141436 010261 172360 MOV R2,172360(R1) ; KERNEL D PAR
|
||||
253 141442 010361 172200 MOV R3,172200(R1) ; SUPER I PDR
|
||||
254 141446 010261 172240 MOV R2,172240(R1) ; SUPER I PAR
|
||||
255 141452 010361 172220 MOV R3,172220(R1) ; SUPER D PDR
|
||||
256 141456 010261 172260 MOV R2,172260(R1) ; SUPER D PAR
|
||||
257 141462 010361 177600 MOV R3,177600(R1) ; USER I PDR
|
||||
258 141466 010261 177640 MOV R2,177640(R1) ; USER I PAR
|
||||
259 141472 010361 177620 MOV R3,177620(R1) ; USER D PDR
|
||||
260 141476 010361 177660 MOV R3,177660(R1) ; USER D PAR
|
||||
261 141502 062702 000200 ADD #200,R2
|
||||
262 141506 062701 000002 ADD #2,R1
|
||||
263 141512 077035 SOB R0,1$
|
||||
264 141514 052737 176000 172376 BIS #176000,@#172376 ; KERNEL D POINTS TO I/O SPACE
|
||||
265 141522 052737 176000 172276 BIS #176000,@#172276 ; SUPER D POINTS TO I/O SPACE
|
||||
266 141530 052737 176000 177676 BIS #176000,@#177676 ; USER D POINTS TO I/O SPACE
|
||||
267 141536 012737 000077 172516 MOV #77,@#MMR3 ; 77 FOR 22 BIT
|
||||
268 141544 012737 000001 177572 MOV #1,@#MMR0
|
||||
245 141470 012703 077406 MOV #77406,R3 ; DEFAULT PDR
|
||||
246 141474 005002 CLR R2
|
||||
247 141476 005001 CLR R1
|
||||
248 141500 012700 000010 MOV #8.,R0
|
||||
249 141504 010361 172300 1$: MOV R3,172300(R1) ; KERNEL I PDR
|
||||
250 141510 010261 172340 MOV R2,172340(R1) ; KERNEL I PAR
|
||||
251 141514 010361 172320 MOV R3,172320(R1) ; KERNEL D PDR
|
||||
252 141520 010261 172360 MOV R2,172360(R1) ; KERNEL D PAR
|
||||
253 141524 010361 172200 MOV R3,172200(R1) ; SUPER I PDR
|
||||
254 141530 010261 172240 MOV R2,172240(R1) ; SUPER I PAR
|
||||
255 141534 010361 172220 MOV R3,172220(R1) ; SUPER D PDR
|
||||
256 141540 010261 172260 MOV R2,172260(R1) ; SUPER D PAR
|
||||
257 141544 010361 177600 MOV R3,177600(R1) ; USER I PDR
|
||||
258 141550 010261 177640 MOV R2,177640(R1) ; USER I PAR
|
||||
259 141554 010361 177620 MOV R3,177620(R1) ; USER D PDR
|
||||
260 141560 010361 177660 MOV R3,177660(R1) ; USER D PAR
|
||||
261 141564 062702 000200 ADD #200,R2
|
||||
262 141570 062701 000002 ADD #2,R1
|
||||
263 141574 077035 SOB R0,1$
|
||||
264 141576 052737 176000 172376 BIS #176000,@#172376 ; KERNEL D POINTS TO I/O SPACE
|
||||
265 141604 052737 176000 172276 BIS #176000,@#172276 ; SUPER D POINTS TO I/O SPACE
|
||||
266 141612 052737 176000 177676 BIS #176000,@#177676 ; USER D POINTS TO I/O SPACE
|
||||
267 141620 012737 000077 172516 MOV #77,@#MMR3 ; 77 FOR 22 BIT
|
||||
268 141626 012737 000001 177572 MOV #1,@#MMR0
|
||||
269
|
||||
270 141552 012737 001700 172244 MOV #1700,@#172244 ; BASE SUPER I (PAR 2) #40000 AT #170000
|
||||
271 141560 012737 001700 172264 MOV #1700,@#172264 ; BASE SUPER D (PAR 2) #40000 AT #170000
|
||||
272 141566 012737 010000 177776 MOV #010000,@#177776 ; SET PM TO SUPER
|
||||
270 141634 012737 001700 172244 MOV #1700,@#172244 ; BASE SUPER I (PAR 2) #40000 AT #170000
|
||||
271 141642 012737 001700 172264 MOV #1700,@#172264 ; BASE SUPER D (PAR 2) #40000 AT #170000
|
||||
272 141650 012737 010000 177776 MOV #010000,@#177776 ; SET PM TO SUPER
|
||||
273
|
||||
274 141574 012703 040200 MOV #40200,R3 ; SUPER CODE ADDRESS
|
||||
275 141600 012702 141626 MOV #SUPERS,R2 ; ADDRESS SUPER CODE
|
||||
276 141604 012246 10$: MOV (R2)+,-(SP)
|
||||
277 141606 006623 MTPI (R3)+
|
||||
278 141610 020227 142072 CMP R2,#SUPERE
|
||||
279 141614 103773 BLO 10$
|
||||
274 141656 012703 040200 MOV #40200,R3 ; SUPER CODE ADDRESS
|
||||
275 141662 012702 141710 MOV #SUPERS,R2 ; ADDRESS SUPER CODE
|
||||
276 141666 012246 10$: MOV (R2)+,-(SP)
|
||||
277 141670 006623 MTPI (R3)+
|
||||
278 141672 020227 142154 CMP R2,#SUPERE
|
||||
279 141676 103773 BLO 10$
|
||||
280
|
||||
281 141616 012767 040200 140120' MOV #40200,LGHTON ; CHANGE IDLE TASK
|
||||
282 141624 000207 RTS PC
|
||||
281 141700 012767 040200 140120' MOV #40200,LGHTON ; CHANGE IDLE TASK
|
||||
282 141706 000207 RTS PC
|
||||
283
|
||||
284 ;
|
||||
285 ; TO BE COPIED TO SUPER #40200 AT PHYSICAL #170000
|
||||
286 ; #40000 TO #40200 FOR WAIT & JMP INSTRUCTIONS
|
||||
287 ;
|
||||
288 SUPERS: ; 141616
|
||||
289 141626 012700 000037 MOV #37,R0 ; LOAD PATTERN
|
||||
290 141632 012701 174000 MOV #174000,R1
|
||||
291 141636 032737 000001 177570 BIT #1,@#177570
|
||||
292 141644 001414 BEQ 10$
|
||||
293 141646 012700 007417 MOV #7417,R0
|
||||
294 141652 010001 MOV R0,R1
|
||||
295 141654 005101 COM R1
|
||||
296 141656 032737 000002 177570 BIT #2,@#177570
|
||||
297 141664 001404 BEQ 10$
|
||||
298 141666 012700 036163 MOV #36163,R0
|
||||
299 141672 012701 037000 MOV #37000,R1
|
||||
300 141676 010102 10$: MOV R1,R2
|
||||
301 141700 162702 000002 SUB #2,R2
|
||||
302 141704 042702 000001 BIC #1,R2 ; WAIT ADDRESS
|
||||
303 141710 010203 MOV R2,R3
|
||||
304 141712 042703 177701 BIC #177701,R3 ; ADDRESS OFFSET
|
||||
305 141716 012763 000001 040000 MOV #0000001,40000(R3) ; WRITE WAIT
|
||||
306 141724 062703 000002 ADD #2,R3
|
||||
307 141730 012763 000113 040000 MOV #0000113,40000(R3) ; WRITE JMP (R3)
|
||||
289 141710 012700 000037 MOV #37,R0 ; LOAD PATTERN
|
||||
290 141714 012701 174000 MOV #174000,R1
|
||||
291 141720 032737 000001 177570 BIT #1,@#177570
|
||||
292 141726 001414 BEQ 10$
|
||||
293 141730 012700 007417 MOV #7417,R0
|
||||
294 141734 010001 MOV R0,R1
|
||||
295 141736 005101 COM R1
|
||||
296 141740 032737 000002 177570 BIT #2,@#177570
|
||||
297 141746 001404 BEQ 10$
|
||||
298 141750 012700 036163 MOV #36163,R0
|
||||
299 141754 012701 037000 MOV #37000,R1
|
||||
300 141760 010102 10$: MOV R1,R2
|
||||
301 141762 162702 000002 SUB #2,R2
|
||||
302 141766 042702 000001 BIC #1,R2 ; WAIT ADDRESS
|
||||
303 141772 010203 MOV R2,R3
|
||||
304 141774 042703 177701 BIC #177701,R3 ; ADDRESS OFFSET
|
||||
305 142000 012763 000001 040000 MOV #0000001,40000(R3) ; WRITE WAIT
|
||||
306 142006 062703 000002 ADD #2,R3
|
||||
307 142012 012763 000113 040000 MOV #0000113,40000(R3) ; WRITE JMP (R3)
|
||||
308
|
||||
309 141736 010204 MOV R2,R4
|
||||
310 141740 072427 177772 ASH #-6,R4
|
||||
311 141744 042704 177600 BIC #177600,R4
|
||||
312 141750 012705 001700 MOV #1700,R5
|
||||
313 141754 160405 SUB R4,R5 ; PAR ADDRESS BASE FOR WAIT
|
||||
314 141756 010204 MOV R2,R4
|
||||
315 141760 072427 177764 ASH #-12.,R4
|
||||
316 141764 042704 177761 BIC #177761,R4 ; PAR SELECT OFFSET
|
||||
317 141770 010564 172240 MOV R5,172240(R4) ; SUPER I SPACE
|
||||
309 142020 010204 MOV R2,R4
|
||||
310 142022 072427 177772 ASH #-6,R4
|
||||
311 142026 042704 177600 BIC #177600,R4
|
||||
312 142032 012705 001700 MOV #1700,R5
|
||||
313 142036 160405 SUB R4,R5 ; PAR ADDRESS BASE FOR WAIT
|
||||
314 142040 010204 MOV R2,R4
|
||||
315 142042 072427 177764 ASH #-12.,R4
|
||||
316 142046 042704 177761 BIC #177761,R4 ; PAR SELECT OFFSET
|
||||
317 142052 010564 172240 MOV R5,172240(R4) ; SUPER I SPACE
|
||||
318
|
||||
319 141774 010103 MOV R1,R3
|
||||
320 141776 072327 177764 ASH #-12.,R3
|
||||
321 142002 042703 177761 BIC #177761,R3 ; PAR SELECT OFFSET
|
||||
322 142006 020304 CMP R3,R4 ; SAME PAR
|
||||
323 142010 001412 BEQ 30$
|
||||
324 142012 010104 MOV R1,R4
|
||||
325 142014 072427 177772 ASH #-6,R4
|
||||
326 142020 042704 177600 BIC #177600,R4
|
||||
327 142024 012705 001700 MOV #1700,R5
|
||||
328 142030 160405 SUB R4,R5 ; PAR ADDRESS BASE FOR JMP
|
||||
329 142032 010563 172240 MOV R5,172240(R3) ; SUPER I SPACE
|
||||
319 142056 010103 MOV R1,R3
|
||||
320 142060 072327 177764 ASH #-12.,R3
|
||||
321 142064 042703 177761 BIC #177761,R3 ; PAR SELECT OFFSET
|
||||
322 142070 020304 CMP R3,R4 ; SAME PAR
|
||||
323 142072 001412 BEQ 30$
|
||||
324 142074 010104 MOV R1,R4
|
||||
325 142076 072427 177772 ASH #-6,R4
|
||||
326 142102 042704 177600 BIC #177600,R4
|
||||
327 142106 012705 001700 MOV #1700,R5
|
||||
328 142112 160405 SUB R4,R5 ; PAR ADDRESS BASE FOR JMP
|
||||
329 142114 010563 172240 MOV R5,172240(R3) ; SUPER I SPACE
|
||||
330 30$:
|
||||
331 142036 012704 000003 MOV #3,R4
|
||||
332 142042 063704 177570 ADD @#177570,R4
|
||||
333 142046 012703 000002 MOV #2,R3
|
||||
334 142052 060703 ADD PC,R3
|
||||
335 142054 000112 40$: JMP (R2)
|
||||
336 142056 077402 SOB R4,40$
|
||||
337 142060 010002 MOV R0,R2
|
||||
338 142062 006002 ROR R2 ; ROTATE PATTERN
|
||||
339 142064 006101 ROL R1
|
||||
340 142066 006000 ROR R0
|
||||
341 142070 000702 BR 10$
|
||||
331 142120 012704 000003 MOV #3,R4
|
||||
332 142124 063704 177570 ADD @#177570,R4
|
||||
333 142130 012703 000002 MOV #2,R3
|
||||
334 142134 060703 ADD PC,R3
|
||||
335 142136 000112 40$: JMP (R2)
|
||||
336 142140 077402 SOB R4,40$
|
||||
337 142142 010002 MOV R0,R2
|
||||
338 142144 006002 ROR R2 ; ROTATE PATTERN
|
||||
339 142146 006101 ROL R1
|
||||
340 142150 006000 ROR R0
|
||||
341 142152 000702 BR 10$
|
||||
342 SUPERE:
|
||||
343
|
||||
344 BOOT: ; 142062
|
||||
345 142072 005003 CLR R3 ; UNIT
|
||||
346 142074 112201 1$: MOVB (R2)+,R1
|
||||
347 142076 001545 BEQ BOOTRK ; DEFAULT DEVICE IS RK0
|
||||
348 142100 120127 000040 CMPB R1,#40
|
||||
349 142104 001773 BEQ 1$
|
||||
350 142106 120127 000122 CMPB R1,#'R
|
||||
351 142112 001405 BEQ 5$
|
||||
345 142154 005003 CLR R3 ; UNIT
|
||||
346 142156 112201 1$: MOVB (R2)+,R1
|
||||
347 142160 001545 BEQ BOOTRK ; DEFAULT DEVICE IS RK0
|
||||
348 142162 120127 000040 CMPB R1,#40
|
||||
349 142166 001773 BEQ 1$
|
||||
350 142170 120127 000122 CMPB R1,#'R
|
||||
351 142174 001405 BEQ 5$
|
||||
352
|
||||
353 142114 012700 141202 MOV #BADBOO,R0
|
||||
354 142120 004767 140150' JSR PC,PRINT
|
||||
355 142124 000207 RTS PC
|
||||
353 142176 012700 141263 MOV #BADBOO,R0
|
||||
354 142202 004767 140150' JSR PC,PRINT
|
||||
355 142206 000207 RTS PC
|
||||
356
|
||||
357 142126 112201 5$: MOVB (R2)+,R1 ; HOPEFULLY K, L OR P
|
||||
358 142130 112200 7$: MOVB (R2)+,R0 ; DIGIT
|
||||
359 142132 001416 BEQ 9$
|
||||
360 142134 120027 000040 CMPB R0,#40
|
||||
361 142140 001413 BEQ 9$
|
||||
362 142142 120027 000067 CMPB R0,#'7
|
||||
363 142146 003031 BGT 11$
|
||||
364 142150 162700 000060 SUB #'0,R0
|
||||
365 142154 002426 BLT 11$
|
||||
366 142156 006303 ASL R3
|
||||
367 142160 006303 ASL R3
|
||||
368 142162 006303 ASL R3
|
||||
369 142164 050003 BIS R0,R3 ; PUT DIGIT INTO UNIT
|
||||
370 142166 000760 BR 7$
|
||||
371 142170 005002 9$: CLR R2
|
||||
372 142172 012722 000137 MOV #137,(R2)+
|
||||
373 142176 012722 140000 MOV #START,(R2)+
|
||||
374 142202 012722 140000 MOV #START,(R2)+
|
||||
375 142206 005022 CLR (R2)+
|
||||
376 142210 120127 000113 CMPB R1,#'K
|
||||
377 142214 001476 BEQ BOOTRK
|
||||
378 142216 120127 000114 CMPB R1,#'L
|
||||
379 142222 001410 BEQ BOOTRL
|
||||
380 142224 120127 000120 CMPB R1,#'P
|
||||
381 142230 001517 BEQ BOOTRP
|
||||
357 142210 112201 5$: MOVB (R2)+,R1 ; HOPEFULLY K, L OR P
|
||||
358 142212 112200 7$: MOVB (R2)+,R0 ; DIGIT
|
||||
359 142214 001416 BEQ 9$
|
||||
360 142216 120027 000040 CMPB R0,#40
|
||||
361 142222 001413 BEQ 9$
|
||||
362 142224 120027 000067 CMPB R0,#'7
|
||||
363 142230 003031 BGT 11$
|
||||
364 142232 162700 000060 SUB #'0,R0
|
||||
365 142236 002426 BLT 11$
|
||||
366 142240 006303 ASL R3
|
||||
367 142242 006303 ASL R3
|
||||
368 142244 006303 ASL R3
|
||||
369 142246 050003 BIS R0,R3 ; PUT DIGIT INTO UNIT
|
||||
370 142250 000760 BR 7$
|
||||
371 142252 005002 9$: CLR R2
|
||||
372 142254 012722 000137 MOV #137,(R2)+
|
||||
373 142260 012722 140000 MOV #START,(R2)+
|
||||
374 142264 012722 140000 MOV #START,(R2)+
|
||||
375 142270 005022 CLR (R2)+
|
||||
376 142272 120127 000113 CMPB R1,#'K
|
||||
377 142276 001476 BEQ BOOTRK
|
||||
378 142300 120127 000114 CMPB R1,#'L
|
||||
379 142304 001410 BEQ BOOTRL
|
||||
380 142306 120127 000120 CMPB R1,#'P
|
||||
381 142312 001517 BEQ BOOTRP
|
||||
382
|
||||
383 142232 012700 141077 11$: MOV #UNKMSG,R0
|
||||
384 142236 004767 140150' JSR PC,PRINT
|
||||
385 142242 000207 RTS PC
|
||||
383 142314 012700 141077 11$: MOV #UNKMSG,R0
|
||||
384 142320 004767 140150' JSR PC,PRINT
|
||||
385 142324 000207 RTS PC
|
||||
386
|
||||
387 174400 RLCS=174400
|
||||
388 BOOTRL: ; 142234
|
||||
389 142244 000005 RESET
|
||||
390 142246 000303 SWAB R3 ; UNIT NUMBER
|
||||
391 142250 012701 174400 MOV #RLCS,R1 ; CSR
|
||||
392 142254 012761 000013 000004 MOV #13,4(R1) ; CLR ERR
|
||||
393 142262 052703 000004 BIS #4,R3 ; UNIT+GSTAT
|
||||
394 142266 010311 MOV R3,(R1) ; ISSUE CMD
|
||||
395 142270 105711 TSTB (R1) ; WAIT
|
||||
396 142272 100376 BPL .-2
|
||||
397 142274 105003 CLRB R3
|
||||
398 142276 052703 000010 BIS #10,R3 ; UNIT+RDHDR
|
||||
399 142302 010311 MOV R3,(R1) ; ISSUE CMD
|
||||
400 142304 105711 TSTB (R1) ; WAIT
|
||||
401 142306 100376 BPL .-2
|
||||
402 142310 016102 000006 MOV 6(R1),R2 ; GET HDR
|
||||
403 142314 042702 000077 BIC #77,R2 ; CLR SECTOR
|
||||
404 142320 005202 INC R2 ; MAGIC BIT
|
||||
405 142322 010261 000004 MOV R2,4(R1) ; SEEK TO 0
|
||||
406 142326 105003 CLRB R3
|
||||
407 142330 052703 000006 BIS #6,R3 ; UNIT+SEEK
|
||||
408 142334 010311 MOV R3,(R1) ; ISSUE CMD
|
||||
409 142336 105711 TSTB (R1) ; WAIT
|
||||
410 142340 100376 BPL .-2
|
||||
411 142342 005061 000002 CLR 2(R1) ; CLR BA
|
||||
412 142346 005061 000004 CLR 4(R1) ; CLR DA
|
||||
413 142352 012761 177000 000006 MOV #-512.,6(R1) ; SET WC
|
||||
414 142360 105003 CLRB R3
|
||||
415 142362 052703 000014 BIS #14,R3 ; UNIT+READ
|
||||
416 142366 010311 MOV R3,(R1) ; ISSUE CMD
|
||||
417 142370 105711 TSTB (R1) ; WAIT
|
||||
418 142372 100376 BPL .-2
|
||||
419 142374 042711 000377 BIC #377,(R1)
|
||||
420 142400 005002 CLR R2
|
||||
421 142402 005003 CLR R3
|
||||
422 142404 005004 CLR R4
|
||||
423 142406 005005 CLR R5
|
||||
424 142410 005007 CLR PC
|
||||
389 142326 000005 RESET
|
||||
390 142330 000303 SWAB R3 ; UNIT NUMBER
|
||||
391 142332 012701 174400 MOV #RLCS,R1 ; CSR
|
||||
392 142336 012761 000013 000004 MOV #13,4(R1) ; CLR ERR
|
||||
393 142344 052703 000004 BIS #4,R3 ; UNIT+GSTAT
|
||||
394 142350 010311 MOV R3,(R1) ; ISSUE CMD
|
||||
395 142352 105711 TSTB (R1) ; WAIT
|
||||
396 142354 100376 BPL .-2
|
||||
397 142356 105003 CLRB R3
|
||||
398 142360 052703 000010 BIS #10,R3 ; UNIT+RDHDR
|
||||
399 142364 010311 MOV R3,(R1) ; ISSUE CMD
|
||||
400 142366 105711 TSTB (R1) ; WAIT
|
||||
401 142370 100376 BPL .-2
|
||||
402 142372 016102 000006 MOV 6(R1),R2 ; GET HDR
|
||||
403 142376 042702 000077 BIC #77,R2 ; CLR SECTOR
|
||||
404 142402 005202 INC R2 ; MAGIC BIT
|
||||
405 142404 010261 000004 MOV R2,4(R1) ; SEEK TO 0
|
||||
406 142410 105003 CLRB R3
|
||||
407 142412 052703 000006 BIS #6,R3 ; UNIT+SEEK
|
||||
408 142416 010311 MOV R3,(R1) ; ISSUE CMD
|
||||
409 142420 105711 TSTB (R1) ; WAIT
|
||||
410 142422 100376 BPL .-2
|
||||
411 142424 005061 000002 CLR 2(R1) ; CLR BA
|
||||
412 142430 005061 000004 CLR 4(R1) ; CLR DA
|
||||
413 142434 012761 177000 000006 MOV #-512.,6(R1) ; SET WC
|
||||
414 142442 105003 CLRB R3
|
||||
415 142444 052703 000014 BIS #14,R3 ; UNIT+READ
|
||||
416 142450 010311 MOV R3,(R1) ; ISSUE CMD
|
||||
417 142452 105711 TSTB (R1) ; WAIT
|
||||
418 142454 100376 BPL .-2
|
||||
419 142456 042711 000377 BIC #377,(R1)
|
||||
420 142462 005002 CLR R2
|
||||
421 142464 005003 CLR R3
|
||||
422 142466 005004 CLR R4
|
||||
423 142470 005005 CLR R5
|
||||
424 142472 005007 CLR PC
|
||||
425
|
||||
426 177412 RKDA=177412
|
||||
427 000005 READGO=5
|
||||
428 BOOTRK:
|
||||
429 142412 000005 RESET ; 142402
|
||||
430 142414 000303 SWAB R3 ; UNIT NUMBER
|
||||
431 142416 006303 ASL R3
|
||||
432 142420 006303 ASL R3
|
||||
433 142422 006303 ASL R3
|
||||
434 142424 006303 ASL R3
|
||||
435 142426 006303 ASL R3
|
||||
436 142430 012701 177412 MOV #RKDA,R1 ; CSR
|
||||
437 142434 010311 MOV R3,(R1) ; LOAD DA
|
||||
438 142436 005041 CLR -(R1) ; CLEAR BA
|
||||
439 142440 012741 177000 MOV #-256.*2,-(R1) ; LOAD WC
|
||||
440 142444 012741 000005 MOV #READGO,-(R1) ; READ & GO
|
||||
441 142450 005002 CLR R2
|
||||
442 142452 005003 CLR R3
|
||||
443 142454 005004 CLR R4
|
||||
444 142456 005005 CLR R5
|
||||
445 142460 105711 TSTB (R1)
|
||||
446 142462 100376 BPL .-2
|
||||
447 142464 105011 CLRB (R1)
|
||||
448 142466 005007 CLR PC
|
||||
429 142474 000005 RESET ; 142402
|
||||
430 142476 000303 SWAB R3 ; UNIT NUMBER
|
||||
431 142500 006303 ASL R3
|
||||
432 142502 006303 ASL R3
|
||||
433 142504 006303 ASL R3
|
||||
434 142506 006303 ASL R3
|
||||
435 142510 006303 ASL R3
|
||||
436 142512 012701 177412 MOV #RKDA,R1 ; CSR
|
||||
437 142516 010311 MOV R3,(R1) ; LOAD DA
|
||||
438 142520 005041 CLR -(R1) ; CLEAR BA
|
||||
439 142522 012741 177000 MOV #-256.*2,-(R1) ; LOAD WC
|
||||
440 142526 012741 000005 MOV #READGO,-(R1) ; READ & GO
|
||||
441 142532 005002 CLR R2
|
||||
442 142534 005003 CLR R3
|
||||
443 142536 005004 CLR R4
|
||||
444 142540 005005 CLR R5
|
||||
445 142542 105711 TSTB (R1)
|
||||
446 142544 100376 BPL .-2
|
||||
447 142546 105011 CLRB (R1)
|
||||
448 142550 005007 CLR PC
|
||||
449
|
||||
450 176700 RPCSR=0176700
|
||||
451 BOOTRP: ; 142460
|
||||
452 142470 000005 RESET
|
||||
453 142472 012701 176700 MOV #RPCSR, R1
|
||||
454 142476 012761 000040 000010 MOV #0000040, 10(R1) ; RESET
|
||||
455 142504 010361 000010 MOV R3, 10(R1) ; SET UNIT
|
||||
456 142510 012711 000021 MOV #0000021, (R1) ; PACK ACK
|
||||
457 142514 012761 010000 000032 MOV #0010000, 32(R1) ; 16B MODE
|
||||
458 142522 012761 177000 000002 MOV #-512., 2(R1) ; SET WC
|
||||
459 142530 005061 000004 CLR 4(R1) ; CLR BA
|
||||
460 142534 005061 000006 CLR 6(R1) ; CLR DA
|
||||
461 142540 005061 000034 CLR 34(R1) ; CLR CYL
|
||||
462 142544 012711 000071 MOV #0000071, (R1) ; READ
|
||||
463 142550 105711 TSTB (R1) ; WAIT
|
||||
464 142552 100376 BPL .-2
|
||||
465 142554 105011 CLRB (R1)
|
||||
466 142556 010300 MOV R3,R0
|
||||
467 142560 005007 CLR PC
|
||||
452 142552 000005 RESET
|
||||
453 142554 012701 176700 MOV #RPCSR, R1
|
||||
454 142560 012761 000040 000010 MOV #0000040, 10(R1) ; RESET
|
||||
455 142566 010361 000010 MOV R3, 10(R1) ; SET UNIT
|
||||
456 142572 012711 000021 MOV #0000021, (R1) ; PACK ACK
|
||||
457 142576 012761 010000 000032 MOV #0010000, 32(R1) ; 16B MODE
|
||||
458 142604 012761 177000 000002 MOV #-512., 2(R1) ; SET WC
|
||||
459 142612 005061 000004 CLR 4(R1) ; CLR BA
|
||||
460 142616 005061 000006 CLR 6(R1) ; CLR DA
|
||||
461 142622 005061 000034 CLR 34(R1) ; CLR CYL
|
||||
462 142626 012711 000071 MOV #0000071, (R1) ; READ
|
||||
463 142632 105711 TSTB (R1) ; WAIT
|
||||
464 142634 100376 BPL .-2
|
||||
465 142636 105011 CLRB (R1)
|
||||
466 142640 010300 MOV R3,R0
|
||||
467 142642 005007 CLR PC
|
||||
468
|
||||
469 .END START
|
||||
469
|
||||
|
|
|
|||
Loading…
Reference in a new issue