1 TITLE "RX28 Bootstrap for RX01/RX02 Media"
2
3 / RX28 bootstrap copied from the "RX01/RX02 Reference Card"
4
5 / device IOT symbolic equates
6
7 6751 LCD=6751 / LOAD COMMAND
8 6752 XDR=6752 / TRANSFER DATA
9 6753 STR=6753 / SKIP IF READY TO TRANSFER
10 6754 SER=6754 / SKIP ON ERROR
11 6755 SDN=6755 / SKIP ON DONE
12
13 0020 *20
14 00020 1061 READ, TAD UNIT / try next combination of density and unit
15 00021 1046 TAD K360 / adding in 360
16 00022 0060 AND K420 / keeping only 420 bits
17 00023 3061 DCA UNIT / cycles 400,420,0,20,400,,,,,,,,
18 00024 7327 CLL CLA CML IAC RTL / command to read disk AC=6
19 00025 1061 TAD UNIT / UNIT and DENSITY
20 00026 6751 LCD / command to controller
21 00027 7301 CLL CLA IAC / set sector and track AC=1
22 00030 4053 JMS LOAD / sector to controller, leaves AC alone
23 00031 4053 JMS LOAD / track to controller
24 00032 7004 K7004, RAL / command to read FIFO AC=2
25
26 / FOLLOWING IS PART OF WAIT LOOP, SAME SECONDARY BOOTS, OLD PRIMARY BOOT
27
28 00033 6755 START, SDN / has done come up; code starts here!
29 00034 5054 JMP LOAD+1 / no, go check for ready to transfer
30 00035 6754 SER / skip on an error, try another density etc.
31 00036 7450 SNA / nasty, AC=2 for about to do SILO, AC=0 on start-up
32 00037 5020 JMP READ / START-UP, go set up UNIT, then read to SILO
33 00040 1061 TAD UNIT / AC already 2, put in UNIT, DENSITY
34 00041 6751 LCD / to empty the SILO
35 00042 1061 TAD UNIT / set up loc 60 for old secondary boot
36 00043 0046 AND K360 / keeping only DENSITY bit
37 00044 1032 TAD K7004 / adding in 7004, because that's what sys wants
38 00045 3060 DCA RXSAVE / old secondary boot moves it to handler
39 00046 0360 K360, 360 / AND C 160 a NOP here; AC is already zero
40
41 / following code same as old primary boot
42
43 00047 4053 LOOP, JMS LOAD / grab next item from SILO
44 00050 3002 ADDR, DCA 2 / tradition; secondary boot starts loading at 2 !
45 00051 2050 ISZ ADDR / increment load address
46 00052 5047 JMP LOOP / go back for another
47
48 / secondary boot loads over primary boot unit location 47 is loaded,
49 / then control passes to secondary boot
50
51 00053 0000 LOAD, 0 / subroutine to give and take data from controller
52 00054 6753 STR / is he ready to talk to us?
53 00055 5033 JMP START / no, is he perhaps done with silo, or in error?
54 00056 6752 XDR / yes, data in or out;if data to controller, AC unchanged
55 00057 5453 JMP I LOAD / no magic, just exit from subroutine
56
57 / 60 goes to old secondary boot
58 / 61 has density and unit that booted successfully
59
60 0060 *60
61 K420,
62 00060 0420 RXSAVE, 420 / UNIT^20+7004 to go to sys handler
63 00061 0020 UNIT, 20 / <DENSITY^400>+<UNIT^20> that booted OK
64