File: dump.t2

For general comments see here
LineAddressObject Code LabelF1N1BF2N2CommentsCheck
1 0  ; tape2/dump.t2
2 0  ;--------------
3 0  ; dump program
4 0  ;
5 0  =7122 
6 7122  Dump::; 
7 7122  .keybd:; 
8 7122 0615146 lod W6758   ;=EP5 @7122
9 7122+0400001 sto T2Link   ;set return address to EP5
10 7123  Dump:; 
11 7123 0617252 lod Read.calldwt   ;=calln T2Link,L6684 @7123
12 7123+0400015 sto ep13   ;
13 7124 0040001 o02 T2Link   ;=run_program address @7124
14 7124+1320024 sll 20   ;
15 7125 0115142 add TopBit   ; @7125
16 7125+0400016 sto ep14   ;
17 7126  ;
18 7126  ; re-output dump after punch errors
19 7126  ;
20 7126  DumpAgain:; 
21 7126 0615155 lod Jcorrupt   ; @7126
22 7126+0400010 sto ep8   ;
23 7127 0615747 lod W7143   ;=<40 6:00 15> @7127
24 7127+0000000 o00 0   ;
25 7128   calln ,   ;dump bootstrap + memory from 6=15 @7128
25+17128 7377571017700 lnk W8158:jmp DumpSub 
26 7129 0600027 lod stkpt   ; @7129
27 7129+0210000 exa ExtMem   ;
28 7130 0210000 exa ExtMem   ; @7130
29 7130+1054672 jz .4K   ;patch area
30 7131 1320024 sll 20   ; @7131
31 7131+0115750 add W7144   ;<20 0 : 00 0>
32 7132  .1:; 
33 7132   calln ,   ;dump stack+program+tape2 @7132
33+17132 7377571017700 lnk W8158:jmp DumpSub 
34 7133 0615751 lod W7145   ;=<20 L8051:00 L8059> @7133
35 7133+1015746 jmp .subr   ;pseudo-call to DumpSub
36 7134  ;
37 7134 0615752 lod W7146   ;=<20 L8063:00 L8105> @7134
38 7134+1015746 jmp .subr   ;pseudo-call to DumpSub
39 7135  ;
40 7135 0615753 lod W7147   ;=<20 PunchAddr:00 L8157> @7135
41 7135+1015746 jmp .subr   ;pseudo-call to DumpSub
42 7136  ;
43 7136 0615754 lod W7148   ;=<04 0:40 13> @7136
44 7136+0417562 sto W8050   ;
45 7137   calln ,   ;output trigger to 13 @7137
45+17137 7377571017700 lnk W8158:jmp DumpSub 
46 7138  .halt:; 
47 7138 1015742 jmp .halt   ;loop stop @7138
48 7138+0000000 o00 0   ;
49 7139  =6586 
50 6586  .4K:; 
51 6586 0600027 lod stkpt   ; @6586
52 6586+1320024 sll 20   ;
53 6587 0115750 add W7144   ;<20 0 : 00 0> @6587
54 6587+0135162 sub K4096   ;
55 6588 1015734 jmp .1   ; @6588
56 6588+ ;
57 6588+ .done:; 
58 6588+0615755 lod W7149   ;=
59 6589 0400010 sto ep8   ; @6589
60 6589+1015742 jmp .halt   ;enter loop stop
61 6590  ;
62 6590  =7139 
63 7139  ;--------------------------------------------------------------------
64 7139  ; verify dump
65 7139  ;
66 7139  DumpVrfy:; 
67 7139   calln ,   ; @7139
67+17139 7377571017577 lnk W8158:jmp L8063 
68 7140 1114674 jmp .done   ; @7140
69 7140+ ;
70 7140+ ; dump program
71 7140+ ;
72 7140+ DumpProg:; 
73 7140+0600033 lod himem   ;set stack to sensible setting
74 7141 0400027 sto stkpt   ; @7141
75 7141+1015722 jmp Dump.keybd   ;call dump via special entry
76 7142  ;
77 7142  .subr:; 
78 7142 0457736 inc W8158   ; @7142
79 7142+1017700 jmp DumpSub   ;
80 7143  ;
81 7143  ; descriptors below for DumpSub represent areas needed on dump tape
82 7143  ;
83 7143 4000030000017W7143:40 ep6:00 +15;include bootstrap @7143
84 7144 2000000017561W7144:20 0:00 +8049; @7144
85 7145 2076714017573W7145:20 L8051:00 W8059; @7145
86 7146 2076774017651W7146:20 L8063:00 L8105; @7146
87 7147 2077300017735W7147:20 PunchAddr:00 L8157; @7147
88 7148 0400001000015W7148:04 0:jmp ep13;trigger to EP13 @7148
89 7149  ;
90 7149  W7149:calln ,   ; @7149
90+17149 7300005100035 lnk T2Link:jmp Pause 
91 7150  ;--------------------------------------------------------------------