968
|
1 IFNE 1
|
|
2 L0000 fcb $87,$CD,$17,$A2,$00,$1C,$11,$82 .M."....
|
|
3 L0008 fcb $8F,$06,$65,$03,$16,$0C,$1F,$20 ..e....
|
|
4 L0010 fcb $00,$1F,$21,$00,$04,$0B,$05,$21 ..!....!
|
|
5 L0018 fcb $00,$05,$20,$00,$64,$45,$E4,$05 .. .dEd.
|
|
6 L0020 fcb $43,$6F,$70,$79,$72,$69,$67,$68 Copyrigh
|
|
7 L0028 fcb $74,$20,$31,$39,$38,$37,$20,$44 t 1987 D
|
|
8 L0030 fcb $6F,$75,$67,$20,$44,$65,$4D,$61 oug DeMa
|
|
9 L0038 fcb $72,$74,$69,$6E,$69,$73,$4C,$53 rtinisLS
|
|
10 L0040 fcb $4E,$3D,$A4,$53,$45,$43,$54,$4F N=$SECTO
|
|
11 L0048 fcb $52,$20,$3D,$20,$A4,$20,$20,$20 R = $
|
|
12 L0050 fcb $20,$20,$20,$30,$20,$20,$31,$20 0 1
|
|
13 L0058 fcb $20,$32,$20,$20,$33,$20,$20,$34 2 3 4
|
|
14 L0060 fcb $20,$20,$35,$20,$20,$36,$20,$20 5 6
|
|
15 L0068 fcb $37,$20,$20,$38,$20,$20,$39,$20 7 8 9
|
|
16 L0070 fcb $20,$41,$20,$20,$42,$20,$20,$43 A B C
|
|
17 L0078 fcb $20,$20,$44,$20,$20,$45,$20,$20 D E
|
|
18 L0080 fcb $46,$20,$20,$20,$20,$30,$20,$32 F 0 2
|
|
19 L0088 fcb $20,$34,$20,$36,$20,$38,$20,$41 4 6 8 A
|
|
20 L0090 fcb $20,$43,$20,$45,$20,$0D,$43,$4D C E .CM
|
|
21 L0098 fcb $44,$3A,$A0,$3C,$42,$52,$45,$41 D: <BREA
|
|
22 L00A0 fcb $4B,$3E,$20,$74,$6F,$67,$67,$6C K> toggl
|
|
23 L00A8 fcb $65,$73,$20,$48,$45,$58,$2F,$41 es HEX/A
|
|
24 L00B0 fcb $53,$43,$49,$49,$20,$65,$64,$69 SCII edi
|
|
25 L00B8 fcb $74,$20,$6D,$6F,$64,$65,$73,$20 t modes
|
|
26 L00C0 fcb $20,$20,$20,$20,$3C,$45,$4E,$54 <ENT
|
|
27 L00C8 fcb $45,$52,$3E,$20,$65,$78,$69,$74 ER> exit
|
|
28 L00D0 fcb $73,$20,$65,$64,$69,$74,$20,$6D s edit m
|
|
29 L00D8 fcb $6F,$64,$E5,$5A,$61,$70,$A0,$62 odeZap b
|
|
30 L00E0 fcb $79,$74,$65,$3A,$A0,$63,$68,$61 yte: cha
|
|
31 L00E8 fcb $72,$3A,$A0,$41,$72,$65,$20,$79 r: Are y
|
|
32 L00F0 fcb $6F,$75,$20,$73,$75,$72,$65,$3F ou sure?
|
|
33 L00F8 fcb $20,$28,$59,$2F,$4E,$29,$A0,$57 (Y/N) W
|
|
34 L0100 fcb $72,$69,$74,$69,$6E,$67,$20,$73 riting s
|
|
35 L0108 fcb $65,$63,$74,$6F,$72,$2E,$2E,$AE ector...
|
|
36 L0110 fcb $4F,$55,$54,$46,$49,$4C,$45,$3A OUTFILE:
|
|
37 L0118 fcb $A0,$56,$65,$72,$69,$66,$79,$69 Verifyi
|
|
38 L0120 fcb $6E,$67,$2E,$2E,$AE,$56,$65,$72 ng...Ver
|
|
39 L0128 fcb $69,$66,$79,$20,$61,$62,$6F,$72 ify abor
|
|
40 L0130 fcb $74,$65,$64,$2E,$2E,$AE,$73,$68 ted...sh
|
|
41 L0138 fcb $65,$6C,$EC,$4C,$69,$6E,$6B,$20 ellLink
|
|
42 L0140 fcb $74,$6F,$20,$77,$68,$69,$63,$68 to which
|
|
43 L0148 fcb $20,$6D,$6F,$64,$75,$6C,$65,$3F module?
|
|
44 L0150 fcb $A0,$4F,$66,$66,$20,$20,$4C,$65 Off Le
|
|
45 L0158 fcb $6E,$20,$20,$4E,$61,$6D,$65,$0A n Name.
|
|
46 L0160 fcb $2D,$2D,$2D,$2D,$20,$2D,$2D,$2D ---- ---
|
|
47 L0168 fcb $2D,$20,$2D,$2D,$2D,$2D,$0D,$4D - ----.M
|
|
48 L0170 fcb $4F,$44,$55,$4C,$45,$3A,$20,$A0 ODULE:
|
|
49 L0178 fcb $4F,$46,$46,$53,$45,$54,$3A,$20 OFFSET:
|
|
50 L0180 fcb $A4,$1F,$24,$2D,$20,$45,$78,$70 $.$- Exp
|
|
51 L0188 fcb $65,$72,$74,$20,$4D,$6F,$64,$65 ert Mode
|
|
52 L0190 fcb $20,$2D,$1F,$A5,$46,$69,$6E,$64 -.%Find
|
|
53 L0198 fcb $20,$62,$79,$74,$65,$20,$73,$74 byte st
|
|
54 L01A0 fcb $72,$69,$6E,$67,$20,$A4,$46,$69 ring $Fi
|
|
55 L01A8 fcb $6E,$64,$20,$63,$68,$61,$72,$20 nd char
|
|
56 L01B0 fcb $73,$74,$72,$69,$6E,$67,$3A,$A0 string:
|
|
57 L01B8 fcb $53,$65,$61,$72,$63,$68,$69,$6E Searchin
|
|
58 L01C0 fcb $67,$2E,$2E,$AE,$43,$75,$72,$72 g...Curr
|
|
59 L01C8 fcb $65,$6E,$74,$20,$46,$69,$6C,$65 ent File
|
|
60 L01D0 fcb $20,$4C,$65,$6E,$67,$74,$68,$20 Length
|
|
61 L01D8 fcb $A4,$4E,$65,$77,$20,$4C,$65,$6E $New Len
|
|
62 L01E0 fcb $67,$74,$68,$3F,$20,$A4,$2A,$2A gth? $**
|
|
63 L01E8 fcb $20,$52,$45,$53,$54,$41,$52,$54 RESTART
|
|
64 L01F0 fcb $2C,$20,$45,$6E,$74,$65,$72,$20 , Enter
|
|
65 L01F8 fcb $70,$61,$74,$68,$6E,$61,$6D,$65 pathname
|
|
66 L0200 fcb $3A,$A0,$42,$41,$4D,$3A,$20,$46 : BAM: F
|
|
67 L0208 fcb $72,$6F,$6D,$20,$53,$65,$63,$74 rom Sect
|
|
68 L0210 fcb $6F,$72,$3A,$24,$20,$20,$20,$20 or:$
|
|
69 L0218 fcb $20,$20,$20,$74,$6F,$20,$24,$20 to $
|
|
70 L0220 fcb $20,$20,$20,$20,$20,$A0,$42,$69 Bi
|
|
71 L0228 fcb $74,$73,$BA,$07,$53,$65,$63,$74 ts:.Sect
|
|
72 L0230 fcb $6F,$72,$20,$53,$74,$61,$63,$6B or Stack
|
|
73 L0238 fcb $20,$46,$75,$6C,$6C,$A0,$20,$20 Full
|
|
74 L0240 fcb $20,$55,$70,$2F,$44,$6F,$77,$6E Up/Down
|
|
75 L0248 fcb $20,$41,$72,$72,$6F,$77,$73,$20 Arrows
|
|
76 L0250 fcb $20,$52,$65,$61,$64,$20,$26,$20 Read &
|
|
77 L0258 fcb $64,$69,$73,$70,$6C,$61,$79,$20 display
|
|
78 L0260 fcb $4E,$65,$78,$74,$2F,$50,$72,$65 Next/Pre
|
|
79 L0268 fcb $76,$69,$6F,$75,$73,$20,$73,$65 vious se
|
|
80 L0270 fcb $63,$74,$6F,$72,$0A,$20,$3C,$43 ctor. <C
|
|
81 L0278 fcb $52,$3E,$20,$43,$6C,$65,$61,$6E R> Clean
|
|
82 L0280 fcb $20,$75,$70,$20,$74,$68,$65,$20 up the
|
|
83 L0288 fcb $73,$63,$72,$65,$65,$6E,$20,$64 screen d
|
|
84 L0290 fcb $69,$73,$70,$6C,$61,$79,$0A,$20 isplay.
|
|
85 L0298 fcb $20,$20,$2A,$20,$20,$52,$65,$73 * Res
|
|
86 L02A0 fcb $74,$61,$72,$74,$0A,$20,$20,$20 tart.
|
|
87 L02A8 fcb $24,$20,$20,$46,$6F,$72,$6B,$20 $ Fork
|
|
88 L02B0 fcb $61,$20,$53,$48,$45,$4C,$4C,$20 a SHELL
|
|
89 L02B8 fcb $28,$43,$74,$72,$6C,$2D,$42,$52 (Ctrl-BR
|
|
90 L02C0 fcb $45,$41,$4B,$20,$74,$6F,$20,$72 EAK to r
|
|
91 L02C8 fcb $65,$74,$75,$72,$6E,$29,$0A,$20 eturn).
|
|
92 L02D0 fcb $20,$20,$41,$20,$20,$41,$70,$70 A App
|
|
93 L02D8 fcb $65,$6E,$64,$20,$64,$69,$73,$70 end disp
|
|
94 L02E0 fcb $6C,$61,$79,$65,$64,$20,$73,$65 layed se
|
|
95 L02E8 fcb $63,$74,$6F,$72,$20,$74,$6F,$20 ctor to
|
|
96 L02F0 fcb $6F,$75,$74,$70,$75,$74,$20,$66 output f
|
|
97 L02F8 fcb $69,$6C,$65,$0A,$20,$20,$20,$43 ile. C
|
|
98 L0300 fcb $20,$20,$43,$6C,$6F,$73,$65,$20 Close
|
|
99 L0308 fcb $6F,$75,$74,$70,$75,$74,$20,$66 output f
|
|
100 L0310 fcb $69,$6C,$65,$0A,$20,$20,$20,$44 ile. D
|
|
101 L0318 fcb $20,$20,$44,$69,$64,$64,$6C,$65 Diddle
|
|
102 L0320 fcb $20,$28,$61,$64,$6A,$75,$73,$74 (adjust
|
|
103 L0328 fcb $29,$20,$66,$69,$6C,$65,$20,$6C ) file l
|
|
104 L0330 fcb $65,$6E,$67,$74,$68,$0A,$20,$20 ength.
|
|
105 L0338 fcb $20,$45,$20,$20,$45,$64,$69,$74 E Edit
|
|
106 L0340 fcb $20,$74,$68,$65,$20,$64,$69,$73 the dis
|
|
107 L0348 fcb $70,$6C,$61,$79,$65,$64,$20,$73 played s
|
|
108 L0350 fcb $65,$63,$74,$6F,$72,$0A,$20,$20 ector.
|
|
109 L0358 fcb $20,$46,$20,$20,$46,$69,$6E,$64 F Find
|
|
110 L0360 fcb $20,$61,$20,$62,$79,$74,$65,$20 a byte
|
|
111 L0368 fcb $6F,$72,$20,$74,$65,$78,$74,$20 or text
|
|
112 L0370 fcb $73,$74,$72,$69,$6E,$67,$20,$28 string (
|
|
113 L0378 fcb $42,$52,$45,$41,$4B,$20,$61,$62 BREAK ab
|
|
114 L0380 fcb $6F,$72,$74,$73,$29,$0A,$20,$20 orts).
|
|
115 L0388 fcb $20,$48,$20,$20,$48,$65,$6C,$70 H Help
|
|
116 L0390 fcb $20,$73,$63,$72,$65,$65,$6E,$20 screen
|
|
117 L0398 fcb $28,$61,$6C,$73,$6F,$20,$75,$73 (also us
|
|
118 L03A0 fcb $65,$20,$27,$3F,$27,$29,$0A,$20 e '?').
|
|
119 L03A8 fcb $20,$20,$4C,$20,$20,$4C,$69,$6E L Lin
|
|
120 L03B0 fcb $6B,$20,$74,$6F,$20,$61,$20,$6D k to a m
|
|
121 L03B8 fcb $6F,$64,$75,$6C,$65,$20,$2D,$20 odule -
|
|
122 L03C0 fcb $4C,$69,$73,$74,$20,$61,$6C,$6C List all
|
|
123 L03C8 fcb $20,$6D,$6F,$64,$75,$6C,$65,$73 modules
|
|
124 L03D0 fcb $0A,$20,$20,$20,$4E,$20,$20,$4E . N N
|
|
125 L03D8 fcb $65,$78,$74,$20,$6F,$63,$63,$75 ext occu
|
|
126 L03E0 fcb $72,$72,$65,$6E,$63,$65,$20,$6F rrence o
|
|
127 L03E8 fcb $66,$20,$62,$79,$74,$65,$28,$73 f byte(s
|
|
128 L03F0 fcb $29,$20,$6F,$72,$20,$73,$74,$72 ) or str
|
|
129 L03F8 fcb $69,$6E,$67,$20,$28,$46,$69,$6E ing (Fin
|
|
130 L0400 fcb $64,$29,$0A,$20,$20,$20,$4F,$20 d). O
|
|
131 L0408 fcb $20,$4F,$70,$65,$6E,$20,$61,$20 Open a
|
|
132 L0410 fcb $66,$69,$6C,$65,$20,$66,$6F,$72 file for
|
|
133 L0418 fcb $20,$6F,$75,$74,$70,$75,$74,$20 output
|
|
134 L0420 fcb $28,$75,$73,$65,$20,$77,$69,$74 (use wit
|
|
135 L0428 fcb $68,$20,$41,$70,$70,$65,$6E,$64 h Append
|
|
136 L0430 fcb $29,$0A,$20,$20,$20,$50,$20,$20 ). P
|
|
137 L0438 fcb $50,$75,$73,$68,$20,$63,$75,$72 Push cur
|
|
138 L0440 fcb $72,$65,$6E,$74,$20,$73,$65,$63 rent sec
|
|
139 L0448 fcb $74,$6F,$72,$20,$6F,$6E,$74,$6F tor onto
|
|
140 L0450 fcb $20,$73,$74,$61,$63,$6B,$0A,$20 stack.
|
|
141 L0458 fcb $20,$20,$51,$20,$20,$51,$75,$69 Q Qui
|
|
142 L0460 fcb $74,$20,$64,$45,$64,$20,$2D,$20 t dEd -
|
|
143 L0468 fcb $45,$78,$69,$74,$20,$74,$6F,$20 Exit to
|
|
144 L0470 fcb $4F,$53,$39,$0A,$20,$20,$20,$52 OS9. R
|
|
145 L0478 fcb $20,$20,$52,$65,$6D,$6F,$76,$65 Remove
|
|
146 L0480 fcb $20,$61,$6E,$64,$20,$64,$69,$73 and dis
|
|
147 L0488 fcb $70,$6C,$61,$79,$20,$61,$20,$73 play a s
|
|
148 L0490 fcb $65,$63,$74,$6F,$72,$20,$66,$72 ector fr
|
|
149 L0498 fcb $6F,$6D,$20,$73,$74,$61,$63,$6B om stack
|
|
150 L04A0 fcb $0A,$20,$20,$20,$53,$20,$20,$53 . S S
|
|
151 L04A8 fcb $6B,$69,$70,$20,$74,$6F,$20,$67 kip to g
|
|
152 L04B0 fcb $69,$76,$65,$6E,$20,$73,$65,$63 iven sec
|
|
153 L04B8 fcb $74,$6F,$72,$20,$28,$73,$65,$63 tor (sec
|
|
154 L04C0 fcb $74,$6F,$72,$20,$23,$20,$69,$6E tor # in
|
|
155 L04C8 fcb $20,$68,$65,$78,$29,$0A,$20,$20 hex).
|
|
156 L04D0 fcb $20,$55,$20,$20,$55,$6E,$6C,$69 U Unli
|
|
157 L04D8 fcb $6E,$6B,$20,$66,$72,$6F,$6D,$20 nk from
|
|
158 L04E0 fcb $6D,$6F,$64,$75,$6C,$65,$0A,$20 module.
|
|
159 L04E8 fcb $20,$20,$56,$20,$20,$56,$65,$72 V Ver
|
|
160 L04F0 fcb $69,$66,$79,$20,$61,$6C,$6C,$20 ify all
|
|
161 L04F8 fcb $6D,$6F,$64,$75,$6C,$65,$73,$20 modules
|
|
162 L0500 fcb $69,$6E,$20,$66,$69,$6C,$65,$0A in file.
|
|
163 L0508 fcb $20,$20,$20,$57,$20,$20,$57,$72 W Wr
|
|
164 L0510 fcb $69,$74,$65,$20,$74,$68,$65,$20 ite the
|
|
165 L0518 fcb $73,$65,$63,$74,$6F,$72,$20,$62 sector b
|
|
166 L0520 fcb $61,$63,$6B,$20,$74,$6F,$20,$74 ack to t
|
|
167 L0528 fcb $68,$65,$20,$64,$69,$73,$6B,$0A he disk.
|
|
168 L0530 fcb $20,$20,$20,$58,$20,$20,$65,$58 X eX
|
|
169 L0538 fcb $70,$65,$72,$74,$20,$6D,$6F,$64 pert mod
|
|
170 L0540 fcb $65,$20,$74,$6F,$67,$67,$6C,$65 e toggle
|
|
171 L0548 fcb $20,$6F,$6E,$2F,$6F,$66,$66,$0A on/off.
|
|
172 L0550 fcb $20,$20,$20,$5A,$20,$20,$5A,$61 Z Za
|
|
173 L0558 fcb $70,$20,$28,$66,$69,$6C,$6C,$20 p (fill
|
|
174 L0560 fcb $69,$6E,$29,$20,$74,$68,$65,$20 in) the
|
|
175 L0568 fcb $73,$65,$63,$74,$6F,$72,$20,$64 sector d
|
|
176 L0570 fcb $69,$73,$70,$6C,$61,$79,$65,$64 isplayed
|
|
177 L0578 fcb $0A,$0A,$20,$20,$20,$20,$20,$20 ..
|
|
178 L0580 fcb $28,$50,$72,$65,$73,$73,$20,$61 (Press a
|
|
179 L0588 fcb $6E,$79,$20,$6B,$65,$79,$20,$74 ny key t
|
|
180 L0590 fcb $6F,$20,$72,$65,$74,$75,$72,$6E o return
|
|
181 L0598 fcb $20,$74,$6F,$20,$63,$6F,$6D,$6D to comm
|
|
182 L05A0 fcb $61,$6E,$64,$20,$70,$72,$6F,$6D and prom
|
|
183 L05A8 fcb $70,$74,$29,$3A,$55,$73,$65,$3A pt):Use:
|
|
184 L05B0 fcb $20,$20,$64,$45,$64,$20,$3C,$70 dEd <p
|
|
185 L05B8 fcb $61,$74,$68,$6C,$69,$73,$74,$3E athlist>
|
|
186 L05C0 fcb $0D,$98,$96,$80,$0F,$42,$40,$01 .....B@.
|
|
187 L05C8 fcb $86,$A0,$00,$27,$10,$00,$03,$E8 . .'...h
|
|
188 L05D0 fcb $00,$00,$64,$00,$00,$0A,$00,$00 ..d.....
|
|
189 L05D8 fcb $01,$0C,$0A,$40,$0A,$0A,$4E,$2A ...@..N*
|
|
190 L05E0 fcb $06,$27,$24,$10,$BD,$0D,$10,$EF .'$.=..o
|
|
191 L05E8 fcb $73,$0A,$67,$7A,$0B,$23,$77,$0B s.gz.#w.
|
|
192 L05F0 fcb $D4,$6F,$0C,$26,$61,$0C,$AD,$63 To.&a.-c
|
|
193 L05F8 fcb $0C,$97,$65,$0D,$37,$71,$0D,$22 ..e.7q."
|
|
194 L0600 fcb $76,$11,$16,$6C,$12,$23,$75,$13 v..l.#u.
|
|
195 L0608 fcb $CA,$78,$13,$EB,$68,$14,$13,$3F Jx.kh..?
|
|
196 L0610 fcb $14,$13,$66,$14,$2B,$6E,$15,$F9 ..f.+n.y
|
|
197 L0618 fcb $64,$16,$12,$70,$16,$A9,$72,$16 d..p.)r.
|
|
198 L0620 fcb $E2,$00,$E7,$C9,$00,$8B,$3B,$10 b.gI..;.
|
|
199 L0628 fcb $DE,$1D,$DE,$1B,$03,$1A,$17,$0A ^.^.....
|
|
200 L0630 fcb $C4,$17,$01,$5B,$30,$8D,$FB,$AE D..[0...
|
|
201 L0638 fcb $17,$01,$1E,$17,$01,$72,$30,$C9 .....r0I
|
|
202 L0640 fcb $01,$D6,$9F,$D6,$10,$8E,$00,$50 .V.V...P
|
|
203 L0648 fcb $4F,$10,$3F,$8B,$10,$25,$06,$66 O.?..%.f
|
|
204 L0650 fcb $10,$8C,$00,$01,$26,$08,$0F,$1A ....&...
|
|
205 L0658 fcb $17,$0A,$9A,$16,$00,$AD,$96,$00 .....-..
|
|
206 L0660 fcb $10,$3F,$8F,$20,$0D,$9F,$D6,$30 .?. ..V0
|
|
207 L0668 fcb $8D,$FF,$B7,$10,$3F,$09,$10,$25 ..7.?..%
|
|
208 L0670 fcb $06,$44,$4F,$C6,$D6,$30,$C4,$A7 .DOFV0D'
|
|
209 L0678 fcb $80,$5A,$26,$FB,$DF,$1B,$10,$DF .Z&._.._
|
|
210 L0680 fcb $1D,$CC,$00,$02,$DD,$0A,$32,$E8 .L..].2h
|
|
211 L0688 fcb $E0,$30,$E4,$4F,$5F,$10,$3F,$8D `0dO_.?.
|
|
212 L0690 fcb $10,$25,$06,$22,$A6,$04,$97,$19 .%."&...
|
|
213 L0698 fcb $32,$E8,$20,$9E,$D6,$34,$10,$0F 2h .V4..
|
|
214 L06A0 fcb $8C,$A6,$80,$81,$0D,$27,$06,$81 .&...'..
|
|
215 L06A8 fcb $40,$26,$F6,$03,$8C,$35,$10,$86 @&v..5..
|
|
216 L06B0 fcb $03,$10,$3F,$84,$24,$11,$C1,$D6 ..?.$.AV
|
|
217 L06B8 fcb $10,$26,$06,$78,$9E,$D6,$86,$83 .&.x.V..
|
|
218 L06C0 fcb $10,$3F,$84,$10,$25,$06,$6D,$97 .?..%.m.
|
|
219 L06C8 fcb $00,$C6,$02,$10,$3F,$8D,$9F,$49 .F..?..I
|
|
220 L06D0 fcb $DF,$4B,$DE,$1B,$0F,$1A,$17,$0A _K^.....
|
|
221 L06D8 fcb $1C,$17,$00,$DE,$0D,$8C,$27,$15 ...^..'.
|
|
222 L06E0 fcb $17,$00,$E1,$9E,$12,$EC,$04,$DD ..a..l.]
|
|
223 L06E8 fcb $8D,$1F,$01,$CC,$01,$00,$17,$10 ...L....
|
|
224 L06F0 fcb $37,$30,$01,$9F,$8F,$17,$00,$CC 70.....L
|
|
225 L06F8 fcb $10,$9F,$1F,$DC,$02,$DD,$05,$96 ...\.]..
|
|
226 L0700 fcb $04,$97,$07,$CC,$00,$00,$DD,$42 ...L..]B
|
|
227 L0708 fcb $17,$01,$14,$17,$00,$81,$30,$8D ......0.
|
|
228 L0710 fcb $F9,$84,$8D,$45,$30,$8D,$F8,$FD y..E0.x.
|
|
229 L0718 fcb $10,$8E,$00,$01,$10,$3F,$8A,$10 .....?..
|
|
230 L0720 fcb $25,$05,$93,$30,$C9,$01,$D6,$17 %..0I.V.
|
|
231 L0728 fcb $00,$BE,$A6,$84,$81,$41,$25,$02 .>&..A%.
|
|
232 L0730 fcb $8A,$20,$30,$8D,$FE,$A3,$A1,$80 . 0..#!.
|
|
233 L0738 fcb $27,$08,$30,$02,$6D,$84,$26,$F6 '.0.m.&v
|
|
234 L0740 fcb $20,$C9,$0D,$2E,$27,$0B,$0D,$2D I..'..-
|
|
235 L0748 fcb $27,$07,$34,$12,$17,$04,$A1,$35 '.4...!5
|
|
236 L0750 fcb $12,$EC,$84,$30,$8D,$F8,$A9,$6E .l.0.x)n
|
|
237 L0758 fcb $8B,$31,$C9,$01,$D6,$5F,$5C,$A6 .1I.V_\&
|
|
238 L0760 fcb $80,$2B,$04,$A7,$A0,$20,$F7,$84 .+.' w.
|
|
239 L0768 fcb $7F,$A7,$A4,$30,$C9,$01,$D6,$4F '$0I.VO
|
|
240 L0770 fcb $1F,$02,$20,$04,$10,$8E,$00,$78 .. ....x
|
|
241 L0778 fcb $86,$01,$10,$3F,$8C,$10,$25,$05 ...?..%.
|
|
242 L0780 fcb $35,$39,$10,$8E,$00,$03,$4F,$10 59....O.
|
|
243 L0788 fcb $3F,$8B,$10,$25,$05,$28,$39,$CC ?..%.(9L
|
|
244 L0790 fcb $20,$36,$30,$4A,$ED,$02,$10,$8E 60Jm...
|
|
245 L0798 fcb $00,$04,$20,$DC,$30,$8D,$F8,$6E .. \0.xn
|
|
246 L07A0 fcb $10,$8E,$00,$02,$20,$D2,$30,$8D .... R0.
|
|
247 L07A8 fcb $F8,$67,$10,$8E,$00,$02,$20,$C8 xg.... H
|
|
248 L07B0 fcb $30,$8D,$F8,$60,$10,$8E,$00,$01 0.x`....
|
|
249 L07B8 fcb $20,$BE,$30,$8D,$F8,$4F,$10,$8E >0.xO..
|
|
250 L07C0 fcb $00,$01,$20,$B4,$8D,$2B,$30,$C9 .. 4.+0I
|
|
251 L07C8 fcb $00,$D6,$9F,$12,$0D,$4D,$27,$0A .V...M'.
|
|
252 L07D0 fcb $DC,$23,$90,$04,$26,$04,$1F,$02 \#..&...
|
|
253 L07D8 fcb $20,$04,$10,$8E,$01,$00,$96,$00 .......
|
|
254 L07E0 fcb $10,$3F,$89,$10,$25,$04,$CF,$39 .?..%.O9
|
|
255 L07E8 fcb $4F,$10,$8E,$00,$01,$10,$3F,$89 O.....?.
|
|
256 L07F0 fcb $39,$0D,$4D,$26,$13,$9E,$02,$96 9.M&....
|
|
257 L07F8 fcb $04,$5F,$1F,$03,$96,$00,$10,$3F ._.....?
|
|
258 L0800 fcb $88,$10,$25,$04,$B1,$DE,$1B,$39 ..%.1^.9
|
|
259 L0808 fcb $DC,$23,$83,$00,$01,$91,$04,$24 \#.....$
|
|
260 L0810 fcb $05,$C6,$D3,$16,$04,$A0,$DC,$08 .FS.. \.
|
|
261 L0818 fcb $9B,$04,$8E,$00,$00,$20,$DB,$CC ..... [L
|
|
262 L0820 fcb $20,$20,$17,$FF,$6D,$30,$8D,$F8 ..m0.x
|
|
263 L0828 fcb $15,$17,$FF,$2D,$8D,$82,$17,$00 ...-....
|
|
264 L0830 fcb $B5,$30,$C9,$01,$D6,$17,$FF,$3C 50I.V..<
|
|
265 L0838 fcb $0D,$4D,$27,$03,$17,$0B,$5B,$0D .M'...[.
|
|
266 L0840 fcb $01,$27,$03,$17,$04,$31,$CC,$20 .'...1L
|
|
267 L0848 fcb $22,$17,$FF,$46,$30,$8D,$F7,$BE "..F0.w>
|
|
268 L0850 fcb $10,$8E,$00,$02,$17,$FF,$23,$30 ......#0
|
|
269 L0858 fcb $8D,$F7,$F2,$17,$FF,$16,$30,$8D .wr...0.
|
|
270 L0860 fcb $F7,$AF,$10,$8E,$00,$02,$17,$FF w/......
|
|
271 L0868 fcb $11,$17,$01,$20,$96,$0F,$8B,$10 ... ....
|
|
272 L0870 fcb $97,$0F,$26,$F5,$30,$C9,$00,$D6 ..&u0I.V
|
|
273 L0878 fcb $9F,$12,$0D,$8C,$27,$4C,$DC,$03 ....'L\.
|
|
274 L0880 fcb $10,$83,$00,$01,$25,$44,$10,$93 ....%D..
|
|
275 L0888 fcb $8F,$22,$3F,$DC,$03,$83,$00,$01 ."?\....
|
|
276 L0890 fcb $8E,$08,$00,$17,$0E,$68,$1F,$20 .....h.
|
|
277 L0898 fcb $D7,$91,$DF,$92,$33,$C9,$07,$FF W._.3I..
|
|
278 L08A0 fcb $11,$93,$4A,$23,$0A,$D1,$49,$25 ..J#.QI%
|
|
279 L08A8 fcb $06,$D6,$49,$DE,$4A,$33,$5F,$D7 .VI^J3_W
|
|
280 L08B0 fcb $94,$DF,$95,$DE,$1B,$9E,$91,$D6 ._.^...V
|
|
281 L08B8 fcb $93,$9F,$97,$D7,$99,$9E,$94,$D6 ...W...V
|
|
282 L08C0 fcb $96,$9F,$9A,$D7,$9C,$17,$0E,$80 ...W....
|
|
283 L08C8 fcb $20,$09,$CC,$20,$34,$17,$FE,$C2 .L 4..B
|
|
284 L08D0 fcb $17,$FE,$DD,$0D,$2E,$10,$27,$FF ..]...'.
|
|
285 L08D8 fcb $2E,$CC,$59,$33,$17,$FE,$B3,$30 .LY3..30
|
|
286 L08E0 fcb $8D,$F8,$9E,$16,$FE,$73,$DC,$02 .x...s\.
|
|
287 L08E8 fcb $03,$18,$31,$C9,$01,$D6,$8D,$6D ..1I.V.m
|
|
288 L08F0 fcb $1F,$98,$8D,$69,$0F,$18,$96,$04 ...i....
|
|
289 L08F8 fcb $8D,$63,$CC,$20,$20,$ED,$A1,$CC .cL m!L
|
|
290 L0900 fcb $00,$08,$34,$06,$03,$18,$30,$8D ..4...0.
|
|
291 L0908 fcb $FC,$B7,$6F,$E4,$DC,$03,$A3,$01 .7od\.#.
|
|
292 L0910 fcb $34,$01,$DD,$03,$96,$02,$5F,$A0 4.]..._
|
|
293 L0918 fcb $84,$24,$01,$5C,$35,$01,$24,$02 .$.\5.$.
|
|
294 L0920 fcb $80,$01,$97,$02,$24,$01,$5C,$5D ....$.\]
|
|
295 L0928 fcb $26,$04,$6C,$E4,$20,$DE,$DC,$03 &.ld ^\.
|
|
296 L0930 fcb $E3,$01,$DD,$03,$96,$02,$24,$01 c.]...$.
|
|
297 L0938 fcb $4C,$AB,$84,$97,$02,$30,$03,$8D L+...0..
|
|
298 L0940 fcb $43,$6A,$61,$27,$0A,$A6,$61,$81 Cja'.&a.
|
|
299 L0948 fcb $02,$26,$BF,$0F,$18,$20,$BB,$86 .&?.. ;.
|
|
300 L0950 fcb $0D,$A7,$A4,$DC,$06,$DD,$03,$96 .'$\.]..
|
|
301 L0958 fcb $05,$97,$02,$35,$86,$34,$02,$44 ...5.4.D
|
|
302 L0960 fcb $44,$44,$44,$8D,$07,$35,$02,$84 DDD..5..
|
|
303 L0968 fcb $0F,$8D,$01,$39,$81,$09,$2F,$02 ...9../.
|
|
304 L0970 fcb $8B,$07,$8B,$30,$A7,$A0,$0D,$18 ...0' ..
|
|
305 L0978 fcb $27,$06,$81,$30,$27,$03,$0F,$18 '..0'...
|
|
306 L0980 fcb $39,$31,$3F,$39,$34,$02,$A6,$63 91?94.&c
|
|
307 L0988 fcb $8D,$E8,$35,$82,$31,$C9,$01,$D6 .h5.1I.V
|
|
308 L0990 fcb $30,$8D,$F6,$7A,$17,$00,$9A,$96 0.vz....
|
|
309 L0998 fcb $20,$27,$0A,$84,$F0,$91,$0F,$26 '..p..&
|
|
310 L09A0 fcb $04,$86,$FF,$97,$11,$96,$0F,$8D ........
|
|
311 L09A8 fcb $B4,$86,$3A,$A7,$A0,$30,$8D,$F6 4.:' 0.v
|
|
312 L09B0 fcb $60,$8D,$7E,$CC,$20,$20,$ED,$A1 `.~L m!
|
|
313 L09B8 fcb $9E,$12,$C6,$10,$0D,$11,$27,$08 ..F...'.
|
|
314 L09C0 fcb $D6,$20,$C4,$0F,$27,$74,$34,$04 V D.'t4.
|
|
315 L09C8 fcb $A6,$80,$8D,$91,$86,$20,$A7,$A0 &.... '
|
|
316 L09D0 fcb $5A,$26,$F5,$0D,$11,$27,$0D,$CC Z&u..'.L
|
|
317 L09D8 fcb $03,$10,$E0,$E4,$3D,$86,$20,$A7 ..`d=. '
|
|
318 L09E0 fcb $A0,$5A,$26,$FB,$C6,$20,$ED,$A1 Z&.F m!
|
|
319 L09E8 fcb $A7,$A0,$9E,$12,$57,$0D,$11,$27 ' ..W..'
|
|
320 L09F0 fcb $02,$E6,$E4,$A6,$80,$84,$7F,$81 .fd&...
|
|
321 L09F8 fcb $20,$24,$02,$86,$2E,$A7,$A0,$5A $...' Z
|
|
322 L0A00 fcb $26,$F1,$9F,$12,$0D,$11,$27,$1E &q....'.
|
|
323 L0A08 fcb $C6,$10,$E0,$E0,$86,$20,$A7,$A0 F.``. '
|
|
324 L0A10 fcb $5A,$26,$FB,$86,$F0,$97,$0F,$8D Z&..p...
|
|
325 L0A18 fcb $0D,$0F,$11,$30,$8D,$F5,$F6,$10 ...0.uv.
|
|
326 L0A20 fcb $8E,$00,$01,$16,$FD,$52,$86,$0D .....R..
|
|
327 L0A28 fcb $A7,$A4,$30,$C9,$01,$D6,$16,$FD '$0I.V..
|
|
328 L0A30 fcb $43,$A6,$80,$27,$04,$A7,$A0,$20 C&.'.'
|
|
329 L0A38 fcb $F8,$39,$86,$F0,$97,$0F,$20,$D9 x9.p.. Y
|
|
330 L0A40 fcb $DC,$03,$C3,$00,$01,$DD,$03,$26 \.C..].&
|
|
331 L0A48 fcb $02,$0C,$02,$16,$FC,$A7,$DC,$03 .....'\.
|
|
332 L0A50 fcb $26,$06,$0D,$02,$10,$27,$FC,$B3 &....'.3
|
|
333 L0A58 fcb $83,$00,$01,$DD,$03,$10,$83,$FF ...]....
|
|
334 L0A60 fcb $FF,$26,$E8,$0A,$02,$20,$E4,$17 .&h.. d.
|
|
335 L0A68 fcb $FD,$25,$30,$8D,$F5,$D5,$17,$FC .%0.uU..
|
|
336 L0A70 fcb $E8,$10,$8E,$00,$07,$8D,$12,$25 h......%
|
|
337 L0A78 fcb $0B,$DC,$47,$DD,$03,$96,$46,$97 .\G]..F.
|
|
338 L0A80 fcb $02,$16,$FC,$71,$17,$0A,$AE,$20 ...q...
|
|
339 L0A88 fcb $DE,$34,$20,$0F,$1A,$03,$1A,$17 ^4 .....
|
|
340 L0A90 fcb $06,$63,$35,$20,$30,$C9,$01,$D6 .c5 0I.V
|
|
341 L0A98 fcb $17,$FC,$EB,$0F,$1A,$17,$06,$55 ..k....U
|
|
342 L0AA0 fcb $31,$3F,$27,$4A,$1F,$20,$A6,$80 1?'J. &.
|
|
343 L0AA8 fcb $8D,$49,$25,$3F,$5A,$26,$F7,$10 .I%?Z&w.
|
|
344 L0AB0 fcb $9F,$45,$86,$30,$E6,$82,$31,$3F .E.0f.1?
|
|
345 L0AB8 fcb $27,$04,$A6,$82,$31,$3F,$8D,$49 '.&.1?.I
|
|
346 L0AC0 fcb $34,$04,$10,$8C,$00,$00,$26,$EA 4.....&j
|
|
347 L0AC8 fcb $D6,$46,$5C,$54,$4F,$30,$C8,$45 VF\TO0HE
|
|
348 L0AD0 fcb $C1,$04,$27,$0E,$A7,$80,$C1,$03 A.'.'.A.
|
|
349 L0AD8 fcb $27,$08,$A7,$80,$C1,$02,$27,$02 '.'.A.'.
|
|
350 L0AE0 fcb $A7,$80,$35,$02,$A7,$80,$5A,$26 '.5.'.Z&
|
|
351 L0AE8 fcb $F9,$5F,$39,$17,$0A,$47,$32,$62 y_9..G2b
|
|
352 L0AF0 fcb $16,$FC,$18,$81,$30,$25,$10,$81 ....0%..
|
|
353 L0AF8 fcb $39,$23,$0A,$84,$5F,$81,$46,$22 9#.._.F"
|
|
354 L0B00 fcb $06,$81,$41,$25,$02,$4F,$39,$43 ..A%.O9C
|
|
355 L0B08 fcb $39,$8D,$0D,$34,$04,$1F,$89,$8D 9..4....
|
|
356 L0B10 fcb $07,$58,$58,$58,$58,$EA,$E0,$39 .XXXXj`9
|
|
357 L0B18 fcb $C0,$30,$C1,$09,$23,$04,$C4,$5F @0A.#.D_
|
|
358 L0B20 fcb $C0,$07,$39,$0F,$1A,$03,$1A,$17 @.9.....
|
|
359 L0B28 fcb $05,$CB,$17,$FC,$62,$17,$FC,$80 .K..b...
|
|
360 L0B30 fcb $30,$8D,$F5,$A7,$17,$FC,$22,$0D 0.u'..".
|
|
361 L0B38 fcb $17,$26,$46,$30,$8D,$F5,$A0,$17 .&F0.u .
|
|
362 L0B40 fcb $FC,$17,$10,$8E,$00,$03,$8D,$1A ........
|
|
363 L0B48 fcb $8D,$4C,$25,$2D,$30,$C9,$00,$D6 .L%-0I.V
|
|
364 L0B50 fcb $9F,$12,$5F,$A7,$80,$5A,$26,$FB .._'.Z&.
|
|
365 L0B58 fcb $0F,$1A,$17,$05,$98,$0C,$2D,$16 ......-.
|
|
366 L0B60 fcb $FB,$A6,$4F,$30,$C9,$01,$D6,$10 .&O0I.V.
|
|
367 L0B68 fcb $3F,$8B,$25,$01,$39,$C1,$02,$10 ?.%.9A..
|
|
368 L0B70 fcb $26,$01,$43,$03,$17,$32,$62,$20 &.C..2b
|
|
369 L0B78 fcb $AA,$0F,$1A,$17,$05,$77,$16,$FB *....w..
|
|
370 L0B80 fcb $8A,$30,$8D,$F5,$60,$17,$FB,$D1 .0.u`..Q
|
|
371 L0B88 fcb $10,$8E,$00,$02,$8D,$D4,$A6,$84 .....T&.
|
|
372 L0B90 fcb $81,$20,$25,$E5,$20,$B6,$8D,$12 . %e 6..
|
|
373 L0B98 fcb $25,$2F,$1F,$89,$8D,$0C,$25,$29 %/....%)
|
|
374 L0BA0 fcb $58,$58,$58,$58,$34,$04,$AA,$E0 XXXX4.*`
|
|
375 L0BA8 fcb $20,$1A,$8D,$04,$25,$1B,$20,$1A ...%. .
|
|
376 L0BB0 fcb $A6,$80,$81,$30,$25,$11,$81,$39 &..0%..9
|
|
377 L0BB8 fcb $23,$0A,$84,$5F,$81,$41,$25,$07 #.._.A%.
|
|
378 L0BC0 fcb $81,$46,$22,$03,$1C,$FE,$39,$1A .F"...9.
|
|
379 L0BC8 fcb $01,$39,$80,$30,$81,$09,$23,$02 .9.0..#.
|
|
380 L0BD0 fcb $80,$07,$20,$F0,$0D,$2E,$10,$26 .. p...&
|
|
381 L0BD8 fcb $FB,$31,$8D,$23,$10,$26,$FB,$2B .1.#.&.+
|
|
382 L0BE0 fcb $17,$FB,$AC,$17,$FB,$CA,$17,$FB ..,..J..
|
|
383 L0BE8 fcb $A6,$30,$8D,$F5,$12,$17,$FB,$69 &0.u...i
|
|
384 L0BF0 fcb $17,$FB,$FE,$96,$00,$17,$00,$92 ........
|
|
385 L0BF8 fcb $0D,$2E,$27,$78,$0F,$2D,$39,$17 ..'x.-9.
|
|
386 L0C00 fcb $FB,$8D,$0F,$1A,$03,$1A,$17,$04 ........
|
|
387 L0C08 fcb $EC,$30,$8D,$F4,$DE,$17,$FB,$49 l0.t^..I
|
|
388 L0C10 fcb $17,$FB,$9D,$30,$C9,$01,$D6,$17 ...0I.V.
|
|
389 L0C18 fcb $FB,$CE,$0F,$1A,$17,$04,$D6,$A6 .N....V&
|
|
390 L0C20 fcb $84,$84,$5F,$81,$59,$39,$0D,$01 .._.Y9..
|
|
391 L0C28 fcb $26,$4A,$0F,$1A,$03,$1A,$17,$04 &J......
|
|
392 L0C30 fcb $C4,$17,$FB,$5B,$30,$8D,$F4,$D8 D..[0.tX
|
|
393 L0C38 fcb $17,$FB,$1E,$17,$FB,$72,$30,$C9 .....r0I
|
|
394 L0C40 fcb $01,$D6,$10,$8E,$00,$1E,$17,$FB .V......
|
|
395 L0C48 fcb $3D,$0F,$1A,$17,$04,$A7,$10,$8C =....'..
|
|
396 L0C50 fcb $00,$01,$27,$20,$34,$10,$31,$C8 ..' 4.1H
|
|
397 L0C58 fcb $6B,$A6,$80,$A7,$A0,$81,$20,$22 k&.' . "
|
|
398 L0C60 fcb $F8,$86,$0D,$A7,$3F,$35,$10,$86 x..'?5..
|
|
399 L0C68 fcb $02,$C6,$0B,$10,$3F,$83,$25,$46 .F..?.%F
|
|
400 L0C70 fcb $97,$01,$8D,$03,$16,$FA,$94,$CC .....z.L
|
|
401 L0C78 fcb $30,$21,$17,$FB,$15,$30,$8D,$F4 0!...0.t
|
|
402 L0C80 fcb $8F,$17,$FA,$D5,$30,$C8,$6B,$16 ..zU0Hk.
|
|
403 L0C88 fcb $FA,$EA,$30,$C9,$00,$D6,$10,$9E zj0I.V..
|
|
404 L0C90 fcb $1F,$10,$3F,$8A,$25,$20,$39,$96 ..?.% 9.
|
|
405 L0C98 fcb $01,$27,$D9,$10,$3F,$8F,$25,$16 .'Y.?.%.
|
|
406 L0CA0 fcb $CC,$30,$21,$17,$FA,$EC,$17,$FB L0!.zl..
|
|
407 L0CA8 fcb $07,$0F,$01,$20,$C7,$96,$01,$27 ... G..'
|
|
408 L0CB0 fcb $FA,$8D,$D7,$16,$FD,$8A,$34,$04 z.W...4.
|
|
409 L0CB8 fcb $0F,$8B,$DC,$05,$DD,$02,$96,$07 ..\.]...
|
|
410 L0CC0 fcb $97,$04,$35,$04,$10,$DE,$1D,$C1 ..5..^.A
|
|
411 L0CC8 fcb $02,$27,$0C,$C1,$03,$26,$04,$0F .'.A.&..
|
|
412 L0CD0 fcb $2D,$20,$04,$C1,$D3,$26,$03,$16 - .AS&..
|
|
413 L0CD8 fcb $FE,$9F,$C1,$CD,$26,$14,$0D,$4D ..AM&..M
|
|
414 L0CE0 fcb $26,$10,$8D,$1D,$30,$8D,$F3,$25 &...0.s%
|
|
415 L0CE8 fcb $10,$8E,$00,$01,$17,$FA,$89,$16 .....z..
|
|
416 L0CF0 fcb $FA,$16,$34,$04,$17,$FA,$98,$17 z.4..z..
|
|
417 L0CF8 fcb $FA,$B6,$35,$04,$8D,$03,$16,$FA z65....z
|
|
418 L0D00 fcb $0A,$86,$02,$10,$3F,$0F,$0F,$1A ....?...
|
|
419 L0D08 fcb $17,$03,$EA,$30,$C9,$01,$D6,$16 ..j0I.V.
|
|
420 L0D10 fcb $FA,$D6,$86,$02,$30,$8D,$F8,$94 zV..0.x.
|
|
421 L0D18 fcb $10,$8E,$00,$78,$17,$FA,$5B,$5F ...x.z[_
|
|
422 L0D20 fcb $20,$12,$17,$FE,$DA,$10,$26,$F9 ...Z.&y
|
|
423 L0D28 fcb $E2,$17,$FA,$8E,$96,$19,$97,$1A b.z.....
|
|
424 L0D30 fcb $17,$03,$C2,$5F,$10,$3F,$06,$17 ..B_.?..
|
|
425 L0D38 fcb $FA,$55,$30,$8D,$F3,$5D,$17,$FA zU0.s].z
|
|
426 L0D40 fcb $18,$30,$C9,$00,$D6,$9F,$14,$86 .0I.V...
|
|
427 L0D48 fcb $01,$97,$16,$86,$23,$97,$0F,$86 ....#...
|
|
428 L0D50 fcb $25,$97,$0E,$86,$58,$97,$10,$17 %...X...
|
|
429 L0D58 fcb $FA,$42,$17,$00,$EA,$96,$0E,$D6 zB..j..V
|
|
430 L0D60 fcb $0F,$0D,$17,$27,$02,$96,$10,$0D ...'....
|
|
431 L0D68 fcb $8C,$10,$27,$00,$CA,$9E,$03,$8C ..'.J...
|
|
432 L0D70 fcb $00,$01,$10,$25,$00,$C1,$9C,$8F ...%.A..
|
|
433 L0D78 fcb $10,$22,$00,$BB,$34,$06,$9E,$91 .".;4...
|
|
434 L0D80 fcb $D6,$93,$9F,$97,$D7,$99,$9E,$94 V...W...
|
|
435 L0D88 fcb $D6,$96,$9F,$9A,$D7,$9C,$4F,$D6 V...W.OV
|
|
436 L0D90 fcb $0F,$C0,$23,$86,$10,$3D,$34,$06 .@#..=4.
|
|
437 L0D98 fcb $4F,$D6,$0E,$C0,$25,$27,$0A,$1F OV.@%'..
|
|
438 L0DA0 fcb $01,$CC,$00,$03,$17,$09,$81,$1F .L......
|
|
439 L0DA8 fcb $10,$E3,$E1,$9E,$03,$9C,$8F,$25 .ca....%
|
|
440 L0DB0 fcb $12,$34,$06,$DC,$8D,$4F,$1F,$01 .4.\.O..
|
|
441 L0DB8 fcb $35,$06,$30,$1F,$34,$10,$10,$A3 5.0.4..#
|
|
442 L0DC0 fcb $E1,$22,$1A,$8E,$00,$08,$17,$09 a"......
|
|
443 L0DC8 fcb $35,$1F,$30,$D3,$98,$DD,$98,$C3 5.0S.].C
|
|
444 L0DD0 fcb $00,$07,$10,$93,$95,$23,$02,$DC .....#.\
|
|
445 L0DD8 fcb $95,$DD,$9B,$20,$06,$0F,$9A,$0F .]. ....
|
|
446 L0DE0 fcb $9B,$0F,$9C,$DE,$1B,$17,$F9,$BE ...^..y>
|
|
447 L0DE8 fcb $0D,$9C,$26,$13,$0D,$9B,$26,$0F ..&...&.
|
|
448 L0DF0 fcb $0D,$9A,$26,$0B,$CC,$20,$34,$17 ..&.L 4.
|
|
449 L0DF8 fcb $F9,$98,$17,$F9,$B3,$20,$33,$17 y..y3 3.
|
|
450 L0E00 fcb $09,$46,$CC,$49,$34,$17,$F9,$8A .FLI4.y.
|
|
451 L0E08 fcb $30,$8D,$F4,$1A,$17,$F9,$4A,$30 0.t..yJ0
|
|
452 L0E10 fcb $C9,$00,$9D,$A6,$D8,$14,$C6,$08 I..&X.F.
|
|
453 L0E18 fcb $34,$12,$68,$E4,$25,$04,$86,$30 4.hd%..0
|
|
454 L0E20 fcb $20,$02,$86,$31,$A7,$80,$5A,$26 ..1'.Z&
|
|
455 L0E28 fcb $F1,$35,$12,$10,$8E,$00,$08,$17 q5......
|
|
456 L0E30 fcb $F9,$46,$17,$F9,$67,$35,$06,$17 yF.yg5..
|
|
457 L0E38 fcb $F9,$58,$30,$C9,$01,$D6,$0D,$17 yX0I.V..
|
|
458 L0E40 fcb $10,$26,$00,$F4,$16,$00,$B7,$96 .&.t..7.
|
|
459 L0E48 fcb $0E,$D6,$0F,$17,$F9,$44,$31,$C9 .V..yD1I
|
|
460 L0E50 fcb $01,$D6,$A6,$D8,$14,$34,$02,$17 .V&X.4..
|
|
461 L0E58 fcb $FB,$03,$30,$3E,$10,$8E,$00,$02 ..0>....
|
|
462 L0E60 fcb $86,$01,$17,$F9,$15,$96,$10,$D6 ...y...V
|
|
463 L0E68 fcb $0F,$17,$F9,$26,$35,$02,$84,$7F ..y&5..
|
|
464 L0E70 fcb $81,$20,$24,$02,$86,$2E,$30,$C9 . $...0I
|
|
465 L0E78 fcb $01,$D6,$A7,$84,$10,$8E,$00,$01 .V'.....
|
|
466 L0E80 fcb $16,$F8,$F5,$34,$14,$4F,$C6,$01 .xu4.OF.
|
|
467 L0E88 fcb $10,$3F,$8D,$24,$49,$C1,$F6,$26 .?.$IAv&
|
|
468 L0E90 fcb $2E,$8E,$00,$01,$10,$3F,$0A,$25 .....?.%
|
|
469 L0E98 fcb $26,$0A,$89,$96,$89,$98,$8A,$84 &.......
|
|
470 L0EA0 fcb $40,$27,$12,$03,$8A,$27,$04,$8D @'...'..
|
|
471 L0EA8 fcb $1E,$20,$0A,$30,$8D,$F1,$6A,$10 . .0.qj.
|
|
472 L0EB0 fcb $8E,$00,$02,$8D,$1A,$D6,$8B,$C1 .....V.A
|
|
473 L0EB8 fcb $02,$27,$04,$C1,$03,$26,$C6,$E7 .'.A.&Fg
|
|
474 L0EC0 fcb $E4,$8D,$04,$35,$14,$20,$1E,$30 d..5. .0
|
|
475 L0EC8 fcb $8D,$F1,$4B,$10,$8E,$00,$02,$86 .qK.....
|
|
476 L0ED0 fcb $01,$10,$3F,$8A,$5F,$39,$8D,$EF ..?._9.o
|
|
477 L0ED8 fcb $35,$14,$10,$8E,$00,$01,$4F,$10 5.....O.
|
|
478 L0EE0 fcb $3F,$89,$25,$01,$39,$32,$62,$0F ?.%.92b.
|
|
479 L0EE8 fcb $8B,$C1,$02,$27,$0C,$34,$04,$17 .A.'.4..
|
|
480 L0EF0 fcb $01,$28,$0F,$0F,$35,$04,$16,$FD .(..5...
|
|
481 L0EF8 fcb $BD,$03,$17,$16,$FE,$5F,$8D,$83 =...._..
|
|
482 L0F00 fcb $8D,$1C,$25,$46,$17,$F8,$71,$E6 ..%F.xqf
|
|
483 L0F08 fcb $84,$17,$FF,$77,$8D,$10,$25,$3A ...w..%:
|
|
484 L0F10 fcb $1E,$89,$17,$FB,$F4,$E7,$D8,$14 ....tgX.
|
|
485 L0F18 fcb $86,$01,$97,$2D,$20,$57,$A6,$84 ...- W&.
|
|
486 L0F20 fcb $81,$30,$25,$11,$81,$39,$23,$0A .0%..9#.
|
|
487 L0F28 fcb $84,$5F,$81,$46,$22,$07,$81,$41 ._.F"..A
|
|
488 L0F30 fcb $25,$03,$1C,$FE,$39,$1A,$01,$39 %...9..9
|
|
489 L0F38 fcb $17,$FF,$48,$A6,$84,$81,$20,$25 ..H&.. %
|
|
490 L0F40 fcb $09,$A7,$D8,$14,$86,$01,$97,$2D .'X....-
|
|
491 L0F48 fcb $20,$2B,$81,$09,$27,$27,$81,$08 +..''..
|
|
492 L0F50 fcb $27,$61,$81,$0C,$10,$27,$00,$C8 'a...'.H
|
|
493 L0F58 fcb $81,$0A,$10,$27,$01,$18,$81,$0D ...'....
|
|
494 L0F60 fcb $10,$26,$FD,$F9,$17,$00,$B3,$CC .&.y..3L
|
|
495 L0F68 fcb $49,$34,$17,$F8,$25,$17,$F8,$40 I4.x%.x@
|
|
496 L0F70 fcb $0F,$0F,$16,$F7,$96,$17,$00,$A2 ...w..."
|
|
497 L0F78 fcb $0D,$20,$27,$08,$96,$16,$91,$20 . '....
|
|
498 L0F80 fcb $10,$27,$FD,$BD,$DC,$14,$C3,$00 .'.=\.C.
|
|
499 L0F88 fcb $01,$DD,$14,$0C,$16,$0C,$10,$96 .]......
|
|
500 L0F90 fcb $10,$81,$68,$24,$09,$96,$0E,$8B ..h$....
|
|
501 L0F98 fcb $03,$97,$0E,$16,$FD,$B9,$0C,$0F .....9..
|
|
502 L0FA0 fcb $96,$0F,$81,$32,$10,$22,$FD,$99 ...2."..
|
|
503 L0FA8 fcb $86,$25,$97,$0E,$86,$58,$97,$10 .%...X..
|
|
504 L0FB0 fcb $16,$FD,$A4,$8D,$65,$DC,$14,$83 ..$.e\..
|
|
505 L0FB8 fcb $00,$01,$DD,$14,$0A,$16,$0A,$10 ..].....
|
|
506 L0FC0 fcb $96,$10,$81,$58,$25,$09,$96,$0E ...X%...
|
|
507 L0FC8 fcb $80,$03,$97,$0E,$16,$FD,$88,$0A ........
|
|
508 L0FD0 fcb $0F,$86,$52,$97,$0E,$86,$67,$97 ..R...g.
|
|
509 L0FD8 fcb $10,$96,$0F,$81,$23,$25,$03,$16 ....#%..
|
|
510 L0FE0 fcb $FD,$75,$9E,$14,$D6,$20,$27,$25 .u..V '%
|
|
511 L0FE8 fcb $D7,$16,$4F,$30,$8B,$5A,$34,$04 W.O0.Z4.
|
|
512 L0FF0 fcb $54,$54,$54,$54,$CB,$23,$D7,$0F TTTTK#W.
|
|
513 L0FF8 fcb $A6,$E0,$84,$0F,$34,$02,$8B,$58 &`..4..X
|
|
514 L1000 fcb $97,$10,$35,$02,$C6,$03,$3D,$CB ..5.F.=K
|
|
515 L1008 fcb $25,$D7,$0E,$20,$08,$86,$32,$97 %W. ..2.
|
|
516 L1010 fcb $0F,$30,$89,$01,$00,$9F,$14,$16 .0......
|
|
517 L1018 fcb $FD,$3D,$17,$F7,$89,$16,$FE,$27 .=.w...'
|
|
518 L1020 fcb $8D,$F8,$D6,$20,$27,$06,$96,$0F .xV '...
|
|
519 L1028 fcb $81,$23,$27,$23,$DC,$14,$83,$00 .#'#\...
|
|
520 L1030 fcb $10,$DD,$14,$D6,$16,$C0,$10,$D7 .].V.@.W
|
|
521 L1038 fcb $16,$0A,$0F,$96,$0F,$81,$23,$24 ......#$
|
|
522 L1040 fcb $0B,$86,$32,$97,$0F,$DC,$14,$C3 ..2..\.C
|
|
523 L1048 fcb $01,$00,$DD,$14,$16,$FD,$08,$C4 ..]....D
|
|
524 L1050 fcb $F0,$96,$20,$84,$0F,$91,$16,$24 p. ....$
|
|
525 L1058 fcb $02,$C0,$10,$4F,$34,$06,$DC,$14 .@.O4.\.
|
|
526 L1060 fcb $E3,$E0,$DD,$14,$D6,$16,$EB,$E4 c`].V.kd
|
|
527 L1068 fcb $D7,$16,$35,$04,$54,$54,$54,$54 W.5.TTTT
|
|
528 L1070 fcb $CB,$23,$D7,$0F,$20,$D6,$8D,$A2 K#W. V."
|
|
529 L1078 fcb $D6,$20,$27,$06,$D0,$16,$C1,$10 V '.P.A.
|
|
530 L1080 fcb $25,$25,$DC,$14,$C3,$00,$10,$DD %%\.C..]
|
|
531 L1088 fcb $14,$96,$16,$8B,$10,$97,$16,$0C ........
|
|
532 L1090 fcb $0F,$96,$0F,$81,$32,$10,$23,$FC ....2.#.
|
|
533 L1098 fcb $BE,$DC,$14,$83,$01,$00,$DD,$14 >\....].
|
|
534 L10A0 fcb $86,$23,$97,$0F,$16,$FC,$B0,$4F .#....0O
|
|
535 L10A8 fcb $D6,$16,$5A,$C4,$F0,$34,$06,$DC V.ZDp4.\
|
|
536 L10B0 fcb $14,$A3,$E0,$DD,$14,$D6,$16,$E0 .#`].V.`
|
|
537 L10B8 fcb $E0,$D7,$16,$20,$E3,$17,$F6,$FA `W. c.vz
|
|
538 L10C0 fcb $96,$19,$97,$1A,$8D,$2F,$30,$8D ...../0.
|
|
539 L10C8 fcb $F0,$6C,$10,$8E,$00,$10,$33,$C9 pl....3I
|
|
540 L10D0 fcb $01,$D6,$86,$0D,$A7,$C4,$CC,$00 .V..'DL.
|
|
541 L10D8 fcb $00,$10,$3F,$03,$10,$25,$FB,$D6 ..?..%.V
|
|
542 L10E0 fcb $10,$3F,$04,$DE,$1B,$30,$C9,$00 .?.^.0I.
|
|
543 L10E8 fcb $D6,$9F,$12,$0F,$1A,$8D,$06,$17 V.......
|
|
544 L10F0 fcb $F6,$C8,$16,$F6,$13,$34,$10,$32 vH.v.4.2
|
|
545 L10F8 fcb $E8,$E0,$30,$E4,$4F,$5F,$10,$3F h`0dO_.?
|
|
546 L1100 fcb $8D,$10,$25,$FB,$B1,$96,$1A,$A7 ..%.1..'
|
|
547 L1108 fcb $04,$4F,$10,$3F,$8E,$10,$25,$FB .O.?..%.
|
|
548 L1110 fcb $A5,$32,$E8,$20,$35,$90,$17,$F6 %2h 5..v
|
|
549 L1118 fcb $76,$30,$8D,$EF,$FC,$17,$F6,$39 v0.o..v9
|
|
550 L1120 fcb $CE,$00,$00,$8E,$00,$00,$9F,$25 N......%
|
|
551 L1128 fcb $96,$00,$10,$3F,$88,$10,$25,$FB ...?..%.
|
|
552 L1130 fcb $85,$DE,$1B,$CC,$FF,$FF,$DD,$29 .^.L..])
|
|
553 L1138 fcb $D7,$2B,$30,$C9,$01,$D6,$10,$8E W+0I.V..
|
|
554 L1140 fcb $00,$08,$96,$00,$10,$3F,$89,$10 .....?..
|
|
555 L1148 fcb $25,$FB,$6B,$10,$8C,$00,$08,$10 %.k.....
|
|
556 L1150 fcb $26,$00,$BB,$EC,$84,$81,$87,$10 &.;l....
|
|
557 L1158 fcb $26,$00,$B3,$C1,$CD,$10,$26,$00 &.3AM.&.
|
|
558 L1160 fcb $AD,$EC,$02,$10,$83,$00,$0F,$10 -l......
|
|
559 L1168 fcb $23,$00,$A3,$83,$00,$03,$DD,$21 #.#...]!
|
|
560 L1170 fcb $D3,$25,$DD,$25,$4F,$C6,$08,$A8 S%]%OF.(
|
|
561 L1178 fcb $80,$5A,$26,$FB,$43,$A7,$84,$10 .Z&.C'..
|
|
562 L1180 fcb $8E,$00,$01,$96,$00,$10,$3F,$8A ......?.
|
|
563 L1188 fcb $10,$25,$FB,$2A,$DC,$21,$83,$00 .%.*\!..
|
|
564 L1190 fcb $09,$DD,$21,$30,$C9,$01,$D6,$10 .]!0I.V.
|
|
565 L1198 fcb $8E,$00,$09,$8D,$64,$96,$00,$10 ....d...
|
|
566 L11A0 fcb $8E,$00,$78,$10,$9C,$21,$23,$03 ..x..!#.
|
|
567 L11A8 fcb $10,$9E,$21,$10,$3F,$89,$25,$5E ..!.?.%^
|
|
568 L11B0 fcb $10,$9F,$27,$8D,$4C,$DC,$21,$93 ..'.L\!.
|
|
569 L11B8 fcb $27,$DD,$21,$26,$E0,$96,$00,$C6 ']!&`..F
|
|
570 L11C0 fcb $05,$10,$3F,$8D,$1F,$30,$DE,$1B ..?..0^.
|
|
571 L11C8 fcb $10,$93,$25,$26,$41,$03,$29,$03 ..%&A.).
|
|
572 L11D0 fcb $2A,$03,$2B,$30,$C8,$29,$10,$8E *.+0H)..
|
|
573 L11D8 fcb $00,$03,$96,$00,$10,$3F,$8A,$10 .....?..
|
|
574 L11E0 fcb $25,$FA,$D3,$CC,$00,$03,$D3,$25 %zSL..S%
|
|
575 L11E8 fcb $DD,$25,$C6,$06,$96,$00,$10,$3F ]%F....?
|
|
576 L11F0 fcb $8D,$10,$24,$FF,$3E,$C1,$D3,$10 ..$.>AS.
|
|
577 L11F8 fcb $26,$FA,$BB,$17,$F5,$C6,$16,$F5 &z;.uF.u
|
|
578 L1200 fcb $07,$33,$C8,$29,$10,$3F,$17,$10 .3H).?..
|
|
579 L1208 fcb $25,$FA,$AB,$DE,$1B,$39,$CC,$20 %z+^.9L
|
|
580 L1210 fcb $36,$17,$F5,$7E,$30,$8D,$EF,$0D 6.u~0.o.
|
|
581 L1218 fcb $17,$F5,$3E,$C6,$CD,$17,$FA,$E1 .u>FM.za
|
|
582 L1220 fcb $16,$F4,$E8,$0D,$4D,$10,$26,$F4 .th.M.&t
|
|
583 L1228 fcb $E2,$CC,$00,$00,$DD,$25,$DD,$23 bL..]%]#
|
|
584 L1230 fcb $0F,$1A,$03,$1A,$17,$FE,$BE,$17 ......>.
|
|
585 L1238 fcb $F5,$55,$17,$F5,$73,$30,$8D,$EE uU.us0.n
|
|
586 L1240 fcb $FA,$17,$F5,$15,$30,$C8,$4D,$10 z.u.0HM.
|
|
587 L1248 fcb $8E,$00,$1E,$17,$F5,$38,$0F,$1A ....u8..
|
|
588 L1250 fcb $17,$FE,$A2,$10,$8C,$00,$01,$10 ..".....
|
|
589 L1258 fcb $26,$00,$B1,$17,$F5,$5C,$0F,$4D &.1.u\.M
|
|
590 L1260 fcb $30,$8D,$EE,$ED,$17,$F5,$0D,$DC 0.nm.u.\
|
|
591 L1268 fcb $23,$D3,$25,$DD,$25,$1F,$03,$8E #S%]%...
|
|
592 L1270 fcb $00,$00,$96,$00,$10,$3F,$88,$25 .....?.%
|
|
593 L1278 fcb $7F,$DE,$1B,$30,$C9,$01,$D6,$10 ^.0I.V.
|
|
594 L1280 fcb $8E,$00,$06,$10,$3F,$89,$25,$70 ....?.%p
|
|
595 L1288 fcb $EC,$81,$81,$87,$26,$68,$C1,$CD l...&hAM
|
|
596 L1290 fcb $26,$64,$31,$C9,$01,$D6,$EC,$81 &d1I.Vl.
|
|
597 L1298 fcb $DD,$23,$EC,$81,$34,$06,$DC,$25 ]#l.4.\%
|
|
598 L12A0 fcb $8D,$44,$86,$20,$A7,$A0,$DC,$23 .D. ' \#
|
|
599 L12A8 fcb $8D,$3C,$86,$20,$A7,$A0,$DC,$25 .<. ' \%
|
|
600 L12B0 fcb $E3,$E1,$1F,$03,$8E,$00,$00,$96 ca......
|
|
601 L12B8 fcb $00,$10,$3F,$88,$10,$25,$F9,$F6 ..?..%yv
|
|
602 L12C0 fcb $DE,$1B,$1F,$21,$10,$8E,$00,$1D ^..!....
|
|
603 L12C8 fcb $96,$00,$10,$3F,$89,$10,$25,$F9 ...?..%y
|
|
604 L12D0 fcb $E5,$A6,$80,$2A,$FC,$84,$7F,$A7 e&.*..'
|
|
605 L12D8 fcb $1F,$86,$0D,$A7,$84,$30,$C9,$01 ...'.0I.
|
|
606 L12E0 fcb $D6,$17,$F4,$90,$20,$81,$17,$F6 V.t. ..v
|
|
607 L12E8 fcb $74,$1F,$98,$16,$F6,$6F,$C1,$D3 t...voAS
|
|
608 L12F0 fcb $26,$06,$C6,$DD,$20,$02,$C6,$CD &.F] .FM
|
|
609 L12F8 fcb $0F,$4D,$C1,$D3,$10,$26,$F9,$B6 .MAS.&y6
|
|
610 L1300 fcb $17,$F4,$E5,$30,$C9,$00,$D6,$9F .te0I.V.
|
|
611 L1308 fcb $12,$16,$FD,$E3,$10,$3F,$10,$10 ...c.?..
|
|
612 L1310 fcb $25,$F9,$A3,$D7,$2C,$5A,$A6,$85 %y#W,Z&.
|
|
613 L1318 fcb $8A,$80,$A7,$85,$9F,$29,$CE,$00 ..'..)N.
|
|
614 L1320 fcb $00,$8E,$00,$00,$96,$00,$10,$3F .......?
|
|
615 L1328 fcb $88,$10,$25,$F9,$89,$DE,$1B,$30 ..%y.^.0
|
|
616 L1330 fcb $C9,$01,$D6,$10,$8E,$00,$06,$10 I.V.....
|
|
617 L1338 fcb $3F,$89,$25,$B2,$EC,$81,$81,$87 ?.%2l...
|
|
618 L1340 fcb $26,$B4,$C1,$CD,$26,$B0,$EC,$81 &4AM&0l.
|
|
619 L1348 fcb $DD,$23,$EC,$84,$D3,$25,$1F,$03 ]#l.S%..
|
|
620 L1350 fcb $8E,$00,$00,$96,$00,$10,$3F,$88 ......?.
|
|
621 L1358 fcb $25,$94,$DE,$1B,$30,$C9,$01,$D6 %.^.0I.V
|
|
622 L1360 fcb $10,$8E,$00,$1D,$10,$3F,$89,$25 .....?.%
|
|
623 L1368 fcb $85,$1F,$12,$9E,$29,$D6,$2C,$10 ....)V,.
|
|
624 L1370 fcb $3F,$11,$24,$0A,$DC,$23,$D3,$25 ?.$.\#S%
|
|
625 L1378 fcb $DD,$25,$1F,$03,$20,$A3,$86,$0D ]%.. #..
|
|
626 L1380 fcb $A7,$85,$5A,$A6,$85,$84,$7F,$A7 '.Z&..'
|
|
627 L1388 fcb $85,$DC,$25,$DD,$08,$CC,$00,$06 .\%].L..
|
|
628 L1390 fcb $30,$42,$A7,$80,$5A,$26,$FB,$16 0B'.Z&..
|
|
629 L1398 fcb $F3,$5B,$CC,$30,$20,$17,$F3,$F2 s[L0 .sr
|
|
630 L13A0 fcb $30,$8D,$ED,$CB,$17,$F3,$B2,$30 0.mK.s20
|
|
631 L13A8 fcb $C8,$4D,$17,$F3,$C7,$CC,$58,$20 HM.sGLX
|
|
632 L13B0 fcb $17,$F3,$DF,$30,$8D,$ED,$C1,$17 .s_0.mA.
|
|
633 L13B8 fcb $F3,$9F,$31,$C9,$01,$D6,$DC,$08 s.1I.V\.
|
|
634 L13C0 fcb $17,$FF,$23,$86,$0D,$A7,$A4,$16 ..#..'$.
|
|
635 L13C8 fcb $F3,$AE,$0D,$4D,$10,$27,$F3,$3B s..M.'s;
|
|
636 L13D0 fcb $CC,$00,$08,$30,$42,$A7,$80,$5A L..0B'.Z
|
|
637 L13D8 fcb $26,$FB,$CC,$30,$20,$17,$F3,$B2 &.L0 .s2
|
|
638 L13E0 fcb $17,$F3,$CD,$17,$F3,$CA,$0F,$4D .sM.sJ.M
|
|
639 L13E8 fcb $16,$F3,$0A,$0D,$2E,$27,$0E,$0F .s...'..
|
|
640 L13F0 fcb $2E,$CC,$59,$33,$17,$F3,$9B,$17 .LY3.s..
|
|
641 L13F8 fcb $F3,$B6,$16,$F3,$0E,$17,$F7,$FF s6.s..w.
|
|
642 L1400 fcb $26,$F8,$03,$2E,$CC,$59,$33,$17 &x..LY3.
|
|
643 L1408 fcb $F3,$88,$30,$8D,$ED,$73,$17,$F3 s.0.ms.s
|
|
644 L1410 fcb $48,$20,$E7,$17,$F3,$A4,$30,$8D H g.s$0.
|
|
645 L1418 fcb $EE,$24,$10,$8E,$03,$6E,$17,$F3 n$...n.s
|
|
646 L1420 fcb $59,$30,$C9,$01,$D6,$17,$F3,$C0 Y0I.V.s@
|
|
647 L1428 fcb $16,$FC,$C4,$0F,$1A,$03,$1A,$17 ..D.....
|
|
648 L1430 fcb $FC,$C3,$17,$F3,$5A,$17,$F3,$78 .C.sZ.sx
|
|
649 L1438 fcb $0D,$2F,$26,$35,$30,$8D,$ED,$54 ./&50.mT
|
|
650 L1440 fcb $17,$F3,$16,$10,$8E,$00,$21,$17 .s....!.
|
|
651 L1448 fcb $00,$CA,$10,$8C,$00,$01,$10,$27 .J.....'
|
|
652 L1450 fcb $01,$07,$31,$3F,$1F,$20,$54,$10 ..1?. T.
|
|
653 L1458 fcb $25,$00,$D3,$D7,$30,$33,$C8,$31 %.SW03H1
|
|
654 L1460 fcb $17,$F7,$33,$10,$25,$00,$C7,$A7 .w3.%.G'
|
|
655 L1468 fcb $C0,$31,$3E,$26,$F3,$DE,$1B,$20 @1>&s^.
|
|
656 L1470 fcb $25,$30,$8D,$ED,$31,$17,$F2,$E1 %0.m1.ra
|
|
657 L1478 fcb $10,$8E,$00,$11,$17,$00,$95,$10 ........
|
|
658 L1480 fcb $8C,$00,$01,$10,$27,$00,$D2,$1F ....'.R.
|
|
659 L1488 fcb $20,$5A,$D7,$30,$31,$C8,$31,$A6 ZW01H1&
|
|
660 L1490 fcb $80,$A7,$A0,$5A,$26,$F9,$0F,$1A .' Z&y..
|
|
661 L1498 fcb $17,$FC,$5A,$30,$C9,$00,$D6,$D6 ..Z0I.VV
|
|
662 L14A0 fcb $20,$31,$C8,$31,$A6,$A4,$A8,$80 1H1&$(.
|
|
663 L14A8 fcb $10,$27,$00,$B0,$0D,$2F,$27,$06 .'.0./'.
|
|
664 L14B0 fcb $85,$5F,$10,$27,$00,$A6,$5A,$26 ._.'.&Z&
|
|
665 L14B8 fcb $EB,$34,$36,$4F,$C6,$01,$10,$3F k46OF..?
|
|
666 L14C0 fcb $8D,$25,$0D,$30,$C9,$01,$D6,$17 .%.0I.V.
|
|
667 L14C8 fcb $F3,$1E,$A6,$84,$81,$05,$27,$76 s.&...'v
|
|
668 L14D0 fcb $35,$36,$8D,$02,$20,$C9,$0D,$4D 56.. I.M
|
|
669 L14D8 fcb $27,$09,$DC,$23,$83,$00,$01,$91 '.\#....
|
|
670 L14E0 fcb $04,$27,$63,$DC,$03,$C3,$00,$01 .'c\.C..
|
|
671 L14E8 fcb $DD,$03,$26,$02,$0C,$02,$17,$F3 ].&....s
|
|
672 L14F0 fcb $00,$30,$C9,$00,$D6,$9F,$12,$0D .0I.V...
|
|
673 L14F8 fcb $4D,$27,$0A,$DC,$23,$90,$04,$26 M'.\#..&
|
|
674 L1500 fcb $04,$1F,$02,$20,$04,$10,$8E,$01 ... ....
|
|
675 L1508 fcb $00,$96,$00,$10,$3F,$89,$25,$30 ....?.%0
|
|
676 L1510 fcb $10,$9F,$1F,$39,$30,$C9,$01,$D6 ...90I.V
|
|
677 L1518 fcb $4F,$10,$3F,$8B,$25,$01,$39,$32 O.?.%.92
|
|
678 L1520 fcb $62,$0F,$8B,$C1,$02,$10,$26,$F7 b..A..&w
|
|
679 L1528 fcb $8D,$03,$2F,$16,$FE,$FD,$DE,$1B ../...^.
|
|
680 L1530 fcb $8D,$03,$16,$FE,$F6,$30,$8D,$EC ....v0.l
|
|
681 L1538 fcb $F2,$10,$8E,$00,$01,$16,$F2,$38 r.....r8
|
|
682 L1540 fcb $C1,$D3,$10,$26,$F7,$70,$10,$DE AS.&wp.^
|
|
683 L1548 fcb $1D,$DC,$05,$DD,$02,$96,$07,$97 .\.]....
|
|
684 L1550 fcb $04,$17,$F2,$70,$10,$9F,$1F,$8D ..rp....
|
|
685 L1558 fcb $DC,$16,$F6,$1D,$34,$04,$5A,$D7 \.v.4.ZW
|
|
686 L1560 fcb $44,$9F,$42,$D6,$30,$5A,$27,$2F D.BV0Z'/
|
|
687 L1568 fcb $6A,$E4,$27,$1C,$31,$21,$A6,$A4 jd'.1!&$
|
|
688 L1570 fcb $A8,$80,$27,$F1,$0D,$2F,$27,$04 (.'q./'.
|
|
689 L1578 fcb $85,$5F,$27,$E9,$32,$61,$9E,$42 ._'i2a.B
|
|
690 L1580 fcb $31,$C8,$31,$D6,$44,$16,$FF,$2F 1H1VD../
|
|
691 L1588 fcb $32,$61,$34,$24,$17,$FF,$47,$35 2a4$..G5
|
|
692 L1590 fcb $24,$96,$20,$34,$02,$20,$D5,$32 $. 4. U2
|
|
693 L1598 fcb $61,$96,$04,$91,$07,$27,$21,$9C a....'!.
|
|
694 L15A0 fcb $42,$24,$15,$DC,$03,$83,$00,$01 B$.\....
|
|
695 L15A8 fcb $DD,$03,$10,$83,$FF,$FF,$26,$02 ].....&.
|
|
696 L15B0 fcb $0A,$02,$17,$F2,$0F,$10,$9F,$1F ...r....
|
|
697 L15B8 fcb $DC,$02,$DD,$05,$96,$04,$97,$07 \.].....
|
|
698 L15C0 fcb $17,$F2,$5C,$DC,$42,$83,$00,$01 .r\\B...
|
|
699 L15C8 fcb $DD,$14,$93,$12,$34,$04,$C4,$0F ]...4.D.
|
|
700 L15D0 fcb $34,$04,$CB,$58,$D7,$10,$35,$04 4.KXW.5.
|
|
701 L15D8 fcb $86,$03,$3D,$CB,$25,$D7,$0E,$35 ..=K%W.5
|
|
702 L15E0 fcb $04,$C4,$F0,$54,$54,$54,$54,$CB .DpTTTTK
|
|
703 L15E8 fcb $23,$D7,$0F,$17,$F1,$AE,$17,$F8 #W..q..x
|
|
704 L15F0 fcb $56,$17,$F1,$B2,$0F,$0F,$16,$FF V.q2....
|
|
705 L15F8 fcb $60,$0D,$30,$10,$27,$F1,$0C,$17 `.0.'q..
|
|
706 L1600 fcb $F1,$8D,$30,$8D,$EB,$B2,$17,$F1 q.0.k2.q
|
|
707 L1608 fcb $50,$9E,$42,$10,$27,$FE,$87,$16 P.B.'...
|
|
708 L1610 fcb $FF,$6E,$17,$F1,$7A,$30,$8D,$EB .n.qz0.k
|
|
709 L1618 fcb $AB,$17,$F1,$3D,$03,$18,$31,$C9 +.q=..1I
|
|
710 L1620 fcb $01,$D6,$DC,$49,$17,$F3,$36,$1F .V\I.s6.
|
|
711 L1628 fcb $98,$17,$F3,$31,$DC,$4B,$17,$F3 ..s1\K.s
|
|
712 L1630 fcb $2C,$0F,$18,$1F,$98,$17,$F3,$25 ,.....s%
|
|
713 L1638 fcb $CC,$20,$20,$ED,$A1,$ED,$A1,$30 L m!m!0
|
|
714 L1640 fcb $C9,$01,$D6,$9F,$27,$1F,$20,$93 I.V.'. .
|
|
715 L1648 fcb $27,$1F,$02,$17,$F1,$2A,$30,$8D '...q*0.
|
|
716 L1650 fcb $EB,$87,$17,$F1,$04,$10,$8E,$00 k..q....
|
|
717 L1658 fcb $09,$17,$F4,$2D,$25,$B4,$CC,$20 ..t-%4L
|
|
718 L1660 fcb $37,$17,$F1,$2E,$17,$F5,$9B,$10 7.q..u..
|
|
719 L1668 fcb $26,$F0,$A0,$9E,$45,$DE,$47,$C6 &p .E^GF
|
|
720 L1670 fcb $02,$96,$00,$10,$3F,$8E,$10,$25 ....?..%
|
|
721 L1678 fcb $F6,$3C,$9F,$49,$DF,$4B,$DE,$1B v<.I_K^.
|
|
722 L1680 fcb $96,$49,$91,$02,$25,$0C,$26,$07 .I..%.&.
|
|
723 L1688 fcb $DC,$4A,$10,$93,$03,$23,$07,$16 \J...#..
|
|
724 L1690 fcb $F0,$63,$97,$02,$DC,$4A,$0D,$4C pc..\J.L
|
|
725 L1698 fcb $26,$03,$83,$00,$01,$DD,$03,$10 &....]..
|
|
726 L16A0 fcb $83,$FF,$FF,$26,$EA,$0A,$02,$20 ...&j..
|
|
727 L16A8 fcb $E6,$96,$A5,$81,$10,$24,$24,$C6 f.%..$$F
|
|
728 L16B0 fcb $03,$3D,$30,$C9,$00,$A6,$30,$85 .=0I.&0.
|
|
729 L16B8 fcb $DC,$02,$ED,$81,$96,$04,$A7,$84 \.m...'.
|
|
730 L16C0 fcb $0D,$A5,$27,$0A,$A1,$1D,$26,$06 .%'.!.&.
|
|
731 L16C8 fcb $DC,$02,$A1,$1B,$27,$02,$0C,$A5 \.!.'..%
|
|
732 L16D0 fcb $16,$F0,$38,$17,$F0,$B9,$30,$8D .p8.p90.
|
|
733 L16D8 fcb $EB,$51,$17,$F0,$7C,$17,$F1,$08 kQ.p|.q.
|
|
734 L16E0 fcb $20,$EE,$96,$A5,$27,$EA,$C6,$03 n.%'jF.
|
|
735 L16E8 fcb $3D,$C0,$03,$30,$C9,$00,$A6,$30 =@.0I.&0
|
|
736 L16F0 fcb $85,$EC,$81,$DD,$02,$A6,$84,$97 .l.].&..
|
|
737 L16F8 fcb $04,$0A,$A5,$16,$EF,$F7,$34,$76 ..%.ow4v
|
|
738 L1700 fcb $6F,$64,$A6,$63,$3D,$ED,$66,$EC od&c=mfl
|
|
739 L1708 fcb $61,$3D,$EB,$66,$89,$00,$ED,$65 a=kf..me
|
|
740 L1710 fcb $E6,$E4,$A6,$63,$3D,$E3,$65,$ED fd&c=cem
|
|
741 L1718 fcb $65,$24,$02,$6C,$64,$A6,$E4,$E6 e$.ld&df
|
|
742 L1720 fcb $62,$3D,$E3,$64,$ED,$64,$35,$F6 b=cdmd5v
|
|
743 L1728 fcb $34,$16,$86,$10,$34,$02,$4F,$5F 4...4.O_
|
|
744 L1730 fcb $68,$64,$69,$63,$59,$49,$10,$A3 hdicYI.#
|
|
745 L1738 fcb $61,$25,$04,$A3,$61,$6C,$64,$6A a%.#aldj
|
|
746 L1740 fcb $E4,$26,$ED,$AE,$63,$32,$65,$39 d&m.c2e9
|
|
747 L1748 fcb $CC,$20,$34,$17,$F0,$44,$30,$8D L 4.pD0.
|
|
748 L1750 fcb $EA,$B0,$17,$F0,$04,$31,$C9,$01 j0.p.1I.
|
|
749 L1758 fcb $D6,$34,$20,$DC,$97,$17,$F1,$FD V4 \..q.
|
|
750 L1760 fcb $1F,$98,$17,$F1,$F8,$96,$99,$17 ...qx...
|
|
751 L1768 fcb $F1,$F3,$A6,$A2,$8A,$80,$A7,$A4 qs&"..'$
|
|
752 L1770 fcb $CC,$32,$34,$17,$F0,$1C,$AE,$E4 L24.p..d
|
|
753 L1778 fcb $17,$EF,$DE,$10,$AE,$E4,$DC,$9A .o^..d\.
|
|
754 L1780 fcb $17,$F1,$DA,$1F,$98,$17,$F1,$D5 .qZ...qU
|
|
755 L1788 fcb $96,$9C,$17,$F1,$D0,$A6,$A2,$8A ...qP&".
|
|
756 L1790 fcb $80,$A7,$A4,$CC,$3D,$34,$17,$EF .'$L=4.o
|
|
757 L1798 fcb $F9,$35,$10,$17,$EF,$BB,$39,$29 y5..o;9)
|
|
758 L17A0 fcb $9A,$3F .?
|
|
759
|
|
760 ELSE
|
|
761
|
|
762 nam dEd OS-9 Disk Editor Version 2.01
|
|
763 ttl Copyright 1987 Doug DeMartinis
|
|
764
|
|
765 *******************************************************
|
|
766 * Copyright 1987 Doug DeMartinis; All Rights Reserved *
|
|
767 * CIS: 72245,1400 *
|
|
768 * Delphi: DOUGLASD *
|
|
769 * Personal use and uploading of code, source and docs *
|
|
770 * to BBS's, as well as customization of the terminal *
|
|
771 * display codes, is permitted only if the copyright *
|
|
772 * notice and docs remain intact. *
|
|
773 * *
|
|
774 * 10/87 Various mods & fixes by Bruce Isted (BRI) *
|
|
775 * 11/87 Added Diddle, Find, Push, Remove routines. *
|
|
776 * Fixed bug throwing stack off by going in and *
|
|
777 * out of various error routines. *
|
|
778 * *
|
|
779 *******************************************************
|
|
780 * *
|
|
781 * Mods by Roger A. Krupski (HARDWAREHACK) *
|
|
782 * *
|
|
783 * 02/88 -Added "enter" command which cleans up the *
|
|
784 * screen by running the REDO subroutine. (RAK) *
|
|
785 * *
|
|
786 * 01/90 -Added a check for the break key which allows *
|
|
787 * aborting the <F>ind function. (RAK) *
|
|
788 * -Added a check for null filename in OUTFILE: *
|
|
789 * and bypass I$Create if so. *
|
|
790 * -Other minor bugs fixed / errors trapped. *
|
|
791 *******************************************************
|
|
792
|
|
793 ifp1
|
|
794 use defsfile
|
|
795 endc
|
|
796
|
|
797 type set prgrm+objct
|
|
798 revs set reent+1
|
|
799
|
|
800 top mod dEdend,dEdnam,type,revs,start,size
|
|
801
|
|
802 **************************************************************************
|
|
803 * To customize dEd for another driver, change the value of 'xyflipr', *
|
|
804 * change co380 to FALSE and OTHER to TRUE, and make the appropriate *
|
|
805 * changes to the display codes in the block that begins 'ifne OTHER'. *
|
|
806 * WordPak users only need to change co380 to FALSE and WPAK to TRUE. *
|
|
807 **************************************************************************
|
|
808
|
|
809 * Set xyflipr to 1 if XY cursor move code has form: row,col
|
|
810 * Set " to 0 " " " " " " " col,row
|
|
811 xyflipr set 0 co380 uses $2,Col,Row to position cursor
|
|
812
|
|
813 * Change one of the following lines to TRUE and others to FALSE,
|
|
814 * depending on which 80 column display you're using.
|
|
815
|
|
816 co380 set FALSE Set to TRUE if using Mike Dziedzic's co380 driver
|
|
817 WPAK set FALSE Set to TRUE if using WordPak
|
|
818 OTHER set TRUE Set to TRUE for another driver and change codes below
|
|
819
|
|
820 * Conditional assembly of terminal commands depending on previous choices:
|
|
821
|
|
822 ifne OTHER
|
|
823 * e.g. CoCo 3, OS-9 Level II
|
|
824 * Change the appropriate byte strings below for another driver
|
|
825
|
|
826 xyflipr set 0 Change to 1 if XY Cursor move code wants form Row,Col
|
|
827 curscode set $2 XY Cursor move code (max length=2 bytes)
|
|
828 cls fcb $c Clear Screen byte string
|
|
829 clschrs equ *-cls Don't change this.
|
|
830 revvid fcb $1F,$20,0 Reverse Video byte string. Must end with a 0.
|
|
831 revchrs equ *-revvid-1 Don't change this.
|
|
832 normvid fcb $1F,$21,0 Normal Video byte string. MUST end with a 0.
|
|
833 normchrs equ *-normvid-1 Don't change this.
|
|
834 eraselin fcb 4 Erase to End of Line byte string.
|
|
835 eraschrs equ *-eraselin Don't change this.
|
|
836 erasescr fcb $b Erase to End of Screen byte string.
|
|
837 era2chrs equ *-erasescr Don't change this.
|
|
838
|
|
839 * modification by BRI
|
|
840 * adds cursor on/off strings & string lengths
|
|
841 CursrOn fcb $05,$21,0 Cursor on string. MUST end with a 0.
|
|
842 CursOn equ *-CursrOn-1 Don't change this.
|
|
843 CursrOff fcb $05,$20,0 Cursor off string. MUST end with a 0.
|
|
844 CursOff equ *-CursrOff-1 Don't change this.
|
|
845 * end modification
|
|
846
|
|
847 endc
|
|
848
|
|
849 ifne WPAK
|
|
850 * This is for WordPak driver
|
|
851
|
|
852 xyflipr set 1 cursor move wants row,col
|
|
853 curscode set $2 XY cursor move code
|
|
854 cls fcb $c clear screen code
|
|
855 clschrs equ *-cls
|
|
856 revvid fcb $1b,$53,$21,0 reverse video toggle
|
|
857 revchrs equ *-revvid-1 # chars in code string
|
|
858 normvid fcb $1b,$53,$20,0 normal video toggle
|
|
859 normchrs equ *-normvid-1
|
|
860 eraselin fcb $1b,$41 erase to end of line
|
|
861 eraschrs equ *-eraselin
|
|
862 erasescr fcb $1b,$42 erase to end of screen
|
|
863 era2chrs equ *-erasescr
|
|
864
|
|
865 * modification by BRI
|
|
866 * adds cursor on/off strings & string lengths
|
|
867 CursrOn fcb 0 Cursor on string. MUST end with a 0.
|
|
868 CursOn equ *-CursrOn-1 Don't change this.
|
|
869 CursrOff fcb 0 Cursor off string. MUST end with a 0.
|
|
870 CursOff equ *-CursrOff-1 Don't change this.
|
|
871 * end modification
|
|
872
|
|
873 endc
|
|
874
|
|
875 ifne co380
|
|
876 * This is for co380 driver for CoCo3
|
|
877 xyflipr set 0 cursor move wants col,row
|
|
878 curscode set $2 1st byte of move cursor code
|
|
879 cls fcb $c clear screen code
|
|
880 clschrs equ *-cls
|
|
881 revvid fcb 0 reverse video not supported by co380
|
|
882 revchrs equ *-revvid-1 # chars in code string
|
|
883 normvid fcb 0 Reverse video off not supported by co380
|
|
884 normchrs equ *-normvid-1
|
|
885 eraselin fcb 4 erase to end of line
|
|
886 eraschrs equ *-eraselin
|
|
887 erasescr fcb $b erase to end of screen
|
|
888 era2chrs equ *-erasescr
|
|
889
|
|
890 * modification by BRI
|
|
891 * adds cursor on/off strings & string lengths
|
|
892 CursrOn fcb 0 Cursor on string. MUST end with a 0.
|
|
893 CursOn equ *-CursrOn-1 Don't change this.
|
|
894 CursrOff fcb 0 Cursor off string. MUST end with a 0.
|
|
895 CursOff equ *-CursrOff-1 Don't change this.
|
|
896 * end modification
|
|
897
|
|
898 endc
|
|
899
|
|
900 ***********************************************************************
|
|
901 * All the changes for customizing dEd should be done above this line. *
|
|
902 ***********************************************************************
|
|
903
|
|
904
|
|
905 * Don't change the following 2 blocks.
|
|
906 * X,Y coordinates of various screen prompts
|
|
907 ifne xyflipr
|
|
908 hedrpos set $2220 Header position (row/col)
|
|
909 cmdpos set $3620 Command position
|
|
910 cmd1pos set $3720 Command position + 1 row
|
|
911 outpos set $2130 Output pathlist position
|
|
912 modpos set $2030 Module name position
|
|
913 offpos set $2058 Offset position
|
|
914 xprtpos set $3435 EXPERT position
|
|
915
|
|
916 else
|
|
917
|
|
918 hedrpos set $2022
|
|
919 cmdpos set $2036 Command position
|
|
920 cmd1pos set $2037 Command position + 1 row
|
|
921 outpos set $3021 Output pathlist position
|
|
922 modpos set $3020 Module name position
|
|
923 offpos set $5820 Offset position
|
|
924 xprtpos set $3534 EXPERT position
|
|
925 endc
|
|
926
|
|
927 ****************************
|
|
928 * Variable Storage
|
|
929 ****************************
|
|
930
|
|
931 bufsiz equ 120
|
|
932 MaxStack equ 16 maximum # sectors that can be 'pushed' onto stack
|
|
933
|
|
934 inpath rmb 1 input path #
|
|
935 outpath rmb 1 output path #
|
|
936 lsn rmb 3 Logical Sector number
|
|
937 oldlsn rmb 3 LSN backup
|
|
938 offset rmb 2 'Linked' module offset
|
|
939 cursor rmb 4 Move cursor code
|
|
940 hexcol rmb 1 Hex dump column #
|
|
941 rownum rmb 1 Row number (Hex 0-f)
|
|
942 asciicol rmb 1 ASCII dump col #
|
|
943 lastflag rmb 1 Flag for last line display
|
|
944 buffptr rmb 2 Pointer for input buffer
|
|
945 edbufptr rmb 2 Edit buffer pointer
|
|
946 edpos rmb 1 Edit position counter for partial sector reads
|
|
947 hexascii rmb 1 hex/ascii edit mode flag; 0=>Hex, FF=>ASCII
|
|
948 zeroflag rmb 1 leading zero suppression flag, $FF=>Suppress
|
|
949 oldecho rmb 1 original echo status
|
|
950 echobyte rmb 1 current echo status
|
|
951 Usave rmb 2 U register storage
|
|
952 Ssave rmb 2 S register storage
|
|
953 seclen rmb 2 sector length ($100 unless last LSN in file)
|
|
954 vmodlen rmb 2 Verify module length
|
|
955 lmodlen rmb 2 'Linked' module length
|
|
956 fileln rmb 2 cumulative file length
|
|
957 bytsread rmb 2 bytes read during verify
|
|
958 CRC rmb 3 CRC accumulator for verify
|
|
959 modnmlen rmb 1 'Link' module name length
|
|
960 wrtflag rmb 1 Flag to auto-write sector
|
|
961 xprtflag rmb 1 Expert mode flag
|
|
962 FHexAsc rmb 1 'Find' Hex/Ascii mode flag
|
|
963 targlen rmb 1 length of string to find
|
|
964 findstr rmb 17 string to 'Find'
|
|
965 FindPtr rmb 2 pointer to byte to start next search at
|
|
966 FBytes rmb 1 # bytes left in target string
|
|
967 HexBuff rmb 4 scratch area for ASCII to Hex conversions
|
|
968 FileLen rmb 4 File length
|
|
969 infile rmb 30 linked module name
|
|
970 outfile rmb 30 Output filename
|
|
971
|
|
972 * modification by BRI
|
|
973 CrsrCnt rmb 1 8-bit cursor toggle counter (bit 3 active)
|
|
974 CrsrFlg rmb 1 cursor toggle (initialized to 0)
|
|
975 SgnlCode rmb 1 intercept routine signal code
|
|
976 * end modification
|
|
977
|
|
978 StackCnt rmb 1 # sectors on stack
|
|
979 Stack rmb 3*MaxStack room for 16 LSN's
|
|
980
|
|
981 inbuff rmb 256 input buffer
|
|
982 i.o.buff rmb bufsiz input/output buffer
|
|
983 rmb 200 stack storage
|
|
984 size equ . end of data area
|
|
985
|
|
986 dEdnam fcs /dEd/
|
|
987 fcb 3 version
|
|
988 fcc /Copyright 1987 Doug DeMartinis/
|
|
989
|
|
990 * Display messages
|
|
991
|
|
992 lsntitle fcs /LSN=$/
|
|
993 sect fcs /SECTOR = $/
|
|
994 header fcc / 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 2 4 6 8 A C E /
|
|
995 fcb $d
|
|
996 command fcs /CMD: /
|
|
997 edprompt fcs "<BREAK> toggles HEX/ASCII edit modes <ENTER> exits edit mode"
|
|
998 zaprompt fcs /Zap /
|
|
999 byte fcs /byte: /
|
|
1000 char fcs /char: /
|
|
1001 sure fcs "Are you sure? (Y/N) "
|
|
1002 writing fcs /Writing sector.../
|
|
1003 out$ fcs /OUTFILE: /
|
|
1004 vrfymess fcs /Verifying.../
|
|
1005 verrmess fcs /Verify aborted.../
|
|
1006 shell$ fcs /shell/
|
|
1007 linkmess fcs /Link to which module? /
|
|
1008 linkhdr fcc /Off Len Name/
|
|
1009 fcb $a
|
|
1010 fcc /---- ---- ----/
|
|
1011 fcb $d
|
|
1012 modnmhdr fcs /MODULE: /
|
|
1013 offmess fcs /OFFSET: $/
|
|
1014 xprtmess fcb $1f,$24 cc3 blink on
|
|
1015 fcc /- Expert Mode -/
|
|
1016 fcb $1f,$25+$80 blink off
|
|
1017 findbyte fcs /Find byte string $/
|
|
1018 findchar fcs /Find char string: /
|
|
1019 srchmess fcs /Searching.../
|
|
1020 lenmess fcs /Current File Length $/
|
|
1021 newmess fcs /New Length? $/
|
|
1022 fullmess equ *
|
|
1023 bell fcb 7
|
|
1024 fcs /Sector Stack Full /
|
|
1025
|
|
1026 * modification by BRI
|
|
1027 * alphabetized help list,
|
|
1028 * removed redundant 'Close' message,
|
|
1029 * added prompt at end
|
|
1030 helper fcc " Up/Down Arrows Read & display Next/Previous sector"
|
|
1031 fcb $a,$a
|
|
1032 fcc / <CR> Clean up the screen display/
|
|
1033 fcb $a
|
|
1034 fcc / $ Fork a SHELL (Ctrl-BREAK to return)/
|
|
1035 fcb $a
|
|
1036 fcc / A Append displayed sector to output file/
|
|
1037 fcb $a
|
|
1038 fcc / C Close output file/
|
|
1039 fcb $a
|
|
1040 fcc / D Diddle (adjust) file length/
|
|
1041 fcb $a
|
|
1042 fcc / E Edit the displayed sector/
|
|
1043 fcb $a
|
|
1044 fcc / F Find a byte or text string (BREAK aborts)/
|
|
1045 fcb $a
|
|
1046 fcc / H Help screen (also use '?')/
|
|
1047 fcb $a
|
|
1048 fcc / L Link to a module - List all modules/
|
|
1049 fcb $a
|
|
1050 fcc / N Next occurrence of byte(s) or string (Find)/
|
|
1051 fcb $a
|
|
1052 fcc / O Open a file for output (use with Append)/
|
|
1053 fcb $a
|
|
1054 fcc / P Push current sector onto stack/
|
|
1055 fcb $a
|
|
1056 fcc / Q Quit dEd - Exit to OS9/
|
|
1057 fcb $a
|
|
1058 fcc / R Remove and display a sector from stack/
|
|
1059 fcb $a
|
|
1060 fcc / S Skip to given sector (sector # in hex)/
|
|
1061 fcb $a
|
|
1062 fcc / U Unlink from module/
|
|
1063 fcb $a
|
|
1064 fcc / V Verify all modules in file/
|
|
1065 fcb $a
|
|
1066 fcc / W Write the sector back to the disk/
|
|
1067 fcb $a
|
|
1068 fcc " X eXpert mode toggle on/off"
|
|
1069 fcb $a
|
|
1070 fcc / Z Zap (fill in) the sector displayed/
|
|
1071 fcb $a,$a
|
|
1072 fcc / (Press any key to return to command prompt):/
|
|
1073 *fcb $a
|
|
1074 helpchrs equ *-helper
|
|
1075 * end modifications
|
|
1076
|
|
1077 hints fcc /Use: dEd <pathlist>/
|
|
1078 fcb $0d
|
|
1079
|
|
1080 * Table for converting Hex to Decimal
|
|
1081
|
|
1082 decimals fcb $98,$96,$80 Decimal 10,000,000
|
|
1083 fcb $0f,$42,$40 Decimal 1,000,000
|
|
1084 fcb $01,$86,$A0 Decimal 100,000
|
|
1085 fcb $00,$27,$10 Decinal 10,000
|
|
1086 fcb $00,$03,$E8 Decimal 1,000
|
|
1087 fcb $00,$00,$64 Decimal 100
|
|
1088 fcb $00,$00,$0A Decimal 10
|
|
1089 fcb $00,$00,$01 etc.
|
|
1090
|
|
1091 commands fcb $c up arrow
|
|
1092 fdb nxtsec
|
|
1093 fcb $a down arrow
|
|
1094 fdb prevsec
|
|
1095 fcb '$ shell
|
|
1096 fdb goshell
|
|
1097 fcb $d c/r clean up screen
|
|
1098 fdb redo
|
|
1099 fcb 's LSN change
|
|
1100 fdb changLSN
|
|
1101 fcb 'z zap
|
|
1102 fdb zap
|
|
1103 fcb 'w write sector
|
|
1104 fdb writesec
|
|
1105 fcb 'o open output file
|
|
1106 fdb openout
|
|
1107 fcb 'a append to out file
|
|
1108 fdb append
|
|
1109 fcb 'c close out file
|
|
1110 fdb closeout
|
|
1111 fcb 'e edit sector
|
|
1112 fdb edit
|
|
1113 fcb 'q quit
|
|
1114 fdb quit
|
|
1115 fcb 'v verify
|
|
1116 fdb verify
|
|
1117 fcb 'l 'link' to module
|
|
1118 fdb linker
|
|
1119 fcb 'u 'unlink' module
|
|
1120 fdb unlinker
|
|
1121 fcb 'x Expert mode
|
|
1122 fdb expert
|
|
1123 fcb 'h Help
|
|
1124 fdb help
|
|
1125 fcb '?
|
|
1126 fdb help
|
|
1127 fcb 'f
|
|
1128 fdb find
|
|
1129 fcb 'n
|
|
1130 fdb next
|
|
1131 fcb 'd
|
|
1132 fdb diddle
|
|
1133 fcb 'p
|
|
1134 fdb push
|
|
1135 fcb 'r
|
|
1136 fdb remove
|
|
1137 fcb 0 end of table
|
|
1138
|
|
1139 * Intercept signals
|
|
1140 * modification by BRI
|
|
1141 *icept rti
|
|
1142 icept stb SgnlCode,u save signal code
|
|
1143 rti
|
|
1144 * end modification
|
|
1145
|
|
1146
|
|
1147 start equ * entry point
|
|
1148
|
|
1149 stx inbuff save pointer to param
|
|
1150 leax icept,pcr intercept routine addr
|
|
1151 os9 f$icpt set up intercept
|
|
1152 lbcs error
|
|
1153
|
|
1154 * Initialize data area
|
|
1155
|
|
1156 clra
|
|
1157 ldb #inbuff # bytes to clear
|
|
1158 leax ,u point X to start of data area
|
|
1159 init sta ,x+ zero memory
|
|
1160 decb dec counter
|
|
1161 bne init loop if not done
|
|
1162 stu Usave save U register
|
|
1163 sts Ssave save Stack pointer
|
|
1164
|
|
1165 setcurs ldd #curscode cursor move code
|
|
1166 std cursor save it for output
|
|
1167 leas -32,s make room for terminal options
|
|
1168 leax ,s point x to 32 byte buffer
|
|
1169 clra path = 0 (stdin)
|
|
1170 clrb (SS.OPT - option status)
|
|
1171 os9 i$getstt read in option table
|
|
1172 lbcs error
|
|
1173 lda 4,x get echo status byte
|
|
1174 sta oldecho save it
|
|
1175 leas 32,s reset stack
|
|
1176
|
|
1177 * Open file
|
|
1178
|
|
1179 ldx inbuff pointer to file name
|
|
1180 lda #updat. mode=update
|
|
1181 os9 i$open open file
|
|
1182
|
|
1183 * modification by BRI
|
|
1184 * lbcs bye exit if error
|
|
1185 bcc OpenOK
|
|
1186 cmpb #E$FNA no permission?
|
|
1187 lbne bye no, go exit with error
|
|
1188 ldx inbuff pointer to file name
|
|
1189 lda #DIR.+UPDAT. mode=directory+update
|
|
1190 os9 I$Open open file
|
|
1191 lbcs bye exit if error
|
|
1192 OpenOK equ *
|
|
1193 * end modification
|
|
1194
|
|
1195 sta inpath save input path #
|
|
1196 ldb #ss.size
|
|
1197 os9 i$getstt get file size
|
|
1198 stx FileLen save
|
|
1199 stu FileLen+2
|
|
1200 ldu Usave restore U
|
|
1201 clr echobyte no echo flag
|
|
1202 lbsr echo set echo status
|
|
1203 lbsr clrscr go clear screen
|
|
1204
|
|
1205 * Main Read/Display loop
|
|
1206
|
|
1207 readloop lbsr seeksec find sector & read it
|
|
1208 sty seclen bytes read ($100 unless last LSN in file)
|
|
1209 ldd lsn get lsn just read
|
|
1210 std oldlsn & save it
|
|
1211 lda lsn+2 for retrieval
|
|
1212 sta oldlsn+2 after read errors
|
|
1213 ldd #0 Signal 'Next' command to start
|
|
1214 std findptr search at start of LSN
|
|
1215 disploop lbsr display go display sector
|
|
1216 getcmd lbsr movecmd move cursor
|
|
1217 leax command,pcr point to 'CMD: '
|
|
1218 bsr pstring display line
|
|
1219 leax erasescr,pcr erase to end of screen
|
|
1220 ldy #era2chrs
|
|
1221 os9 i$write
|
|
1222 lbcs error
|
|
1223 leax i.o.buff,u point to buffer to read into
|
|
1224 lbsr read1 read a char from stdin
|
|
1225 lda ,x get char read
|
|
1226 cmpa #'A alpha char?
|
|
1227 blo srchtabl no, leave it alone
|
|
1228 ora #$20 else UPPER -> lower case
|
|
1229 srchtabl leax commands,pcr point to command table
|
|
1230 findcmd cmpa ,x+ got command?
|
|
1231 beq gotcmd yes, bra
|
|
1232 leax 2,x else, skip address
|
|
1233 tst ,x end of table?
|
|
1234 bne findcmd no, loop back
|
|
1235 bra getcmd key invalid, exit
|
|
1236 gotcmd tst xprtflag expert mode?
|
|
1237 beq jmpcmd no, bra
|
|
1238 tst wrtflag need to write buffer out
|
|
1239 beq jmpcmd no, bra
|
|
1240 pshs x,a
|
|
1241 lbsr xprtwrt write sector
|
|
1242 puls a,x
|
|
1243 jmpcmd ldd ,x get address offset
|
|
1244 leax top,pcr start of module
|
|
1245 jmp d,x jump to offset addr
|
|
1246
|
|
1247
|
|
1248 * Print string of characters having bit 7 of last char set
|
|
1249
|
|
1250 pstring leay i.o.buff,u output buffer
|
|
1251 clrb counter
|
|
1252 xfer incb
|
|
1253 lda ,x+ get char
|
|
1254 bmi lstchar bra if bit 7 set
|
|
1255 sta ,y+ put in buffer
|
|
1256 bra xfer get more
|
|
1257 lstchar anda #$7f clr bit 7
|
|
1258 sta ,y put in buffer
|
|
1259 leax i.o.buff,u point to char string
|
|
1260 clra
|
|
1261 tfr d,y y= length of string
|
|
1262 bra writeout
|
|
1263
|
|
1264 wrtlin1 ldy #bufsiz write 200 chars max
|
|
1265 writeout lda #1 stdout
|
|
1266 wrtlin2 os9 i$writln write line
|
|
1267 lbcs error
|
|
1268 rts
|
|
1269
|
|
1270 readlin3 ldy #3 # chars to read
|
|
1271 readlin clra stdin
|
|
1272 os9 i$readln read in Y-1 chars + CR
|
|
1273 lbcs error
|
|
1274 rts
|
|
1275
|
|
1276 movecmd ldd #cmdpos
|
|
1277 movecurs leax cursor,u point to cursor move code
|
|
1278 std 2,x save row/col
|
|
1279 ldy #4 4 chars
|
|
1280 bra writeout
|
|
1281
|
|
1282 * Set display to reverse video
|
|
1283
|
|
1284 revdisp leax revvid,pcr point to code
|
|
1285 ldy #revchrs # chars
|
|
1286 bra writeout write to stdout
|
|
1287
|
|
1288 * Set display to normal video
|
|
1289
|
|
1290 normdisp leax normvid,pcr point to code
|
|
1291 ldy #normchrs # chars
|
|
1292 bra writeout write to stdout
|
|
1293
|
|
1294
|
|
1295 clrline leax eraselin,pcr point to erase line code
|
|
1296 ldy #eraschrs # chars
|
|
1297 bra wrtlin2 go erase rest of line & return
|
|
1298
|
|
1299 clrscr leax cls,pcr point to clear screen code
|
|
1300 ldy #clschrs #chars
|
|
1301 bra writeout clear screen & return
|
|
1302
|
|
1303 seeksec bsr lsnseek seek to sector
|
|
1304 leax inbuff,u point to buffer
|
|
1305 stx buffptr save pointer
|
|
1306 tst infile module linked?
|
|
1307 beq read256 no, bra
|
|
1308 ldd lmodlen linked mod length
|
|
1309 suba lsn+2 >$100 bytes left?
|
|
1310 bne read256 yes, bra
|
|
1311 tfr d,y no, set up for smaller read
|
|
1312 bra readsome
|
|
1313 read256 ldy #$100 read 256 bytes
|
|
1314 readsome lda inpath path #
|
|
1315 read os9 i$read read them in
|
|
1316 lbcs error
|
|
1317 rts
|
|
1318
|
|
1319 ******************************
|
|
1320 * changed to ignore errors 01/09/90 (RAK)
|
|
1321 *
|
|
1322 read1
|
|
1323 clra stdin
|
|
1324 ldy #1 get 1 byte
|
|
1325 os9 I$Read get 1 byte
|
|
1326 rts ignore any errors
|
|
1327 * bra read
|
|
1328 ****************************** END of modification
|
|
1329
|
|
1330 lsnseek tst infile module linked?
|
|
1331 bne offchk yes, bra
|
|
1332 ldx lsn x=lsn MS 16 bits
|
|
1333 lda lsn+2 get 3rd byte of lsn
|
|
1334 clrb
|
|
1335 lsnseek1 tfr d,u u=LS 16 bits
|
|
1336 lda inpath get input path #
|
|
1337 os9 i$seek seek lsn
|
|
1338 lbcs error
|
|
1339 ldu usave restore U
|
|
1340 lsnrts rts
|
|
1341
|
|
1342 offchk ldd lmodlen linked mod length
|
|
1343 subd #1 now A=LSN of last sector
|
|
1344 cmpa LSN+2 trying to read past last sector?
|
|
1345 bhs offseek no, bra
|
|
1346 ldb #e$eof yes, set EOF error
|
|
1347 lbra error
|
|
1348 * If module is 'linked' must add offset to functional LSN ->true seek count
|
|
1349 offseek ldd offset
|
|
1350 adda lsn+2 offset + 'LSN'
|
|
1351 ldx #0
|
|
1352 bra lsnseek1 seek to 'LSN'
|
|
1353
|
|
1354 display ldd #$2020
|
|
1355 lbsr movecurs
|
|
1356 leax lsntitle,pcr point to "lsn..."
|
|
1357 lbsr pstring
|
|
1358 bsr clrline clear rest of line
|
|
1359 bsr convert3 convert lsn to ascii/dec
|
|
1360 leax i.o.buff,u
|
|
1361 lbsr wrtlin1
|
|
1362
|
|
1363 tst infile is a module 'linked'?
|
|
1364 beq nolink no, bra
|
|
1365 lbsr prntmod yes, display name
|
|
1366
|
|
1367 nolink tst outpath is an output file open?
|
|
1368 beq noout no, bra
|
|
1369 lbsr prntout yes, print name
|
|
1370
|
|
1371 noout ldd #hedrpos get header row/col
|
|
1372 lbsr movecurs move cursor
|
|
1373 leax revvid,pcr point to reverse video code
|
|
1374 ldy #revchrs # chars
|
|
1375 lbsr wrtlin2
|
|
1376 leax header,pcr point to header
|
|
1377 lbsr wrtlin1 display it
|
|
1378 leax normvid,pcr point to normal vid code
|
|
1379 ldy #normchrs # chars
|
|
1380 lbsr wrtlin2 write code out
|
|
1381 disp lbsr dsplylin
|
|
1382 lda rownum get row #
|
|
1383 adda #$10 next row
|
|
1384 sta rownum save it
|
|
1385 bne disp do 16 rows
|
|
1386 leax inbuff,u
|
|
1387 stx buffptr reset buffer pointer
|
|
1388 tst xprtflag Expert mode?
|
|
1389 beq lsnrts no, return
|
|
1390 ldd #xprtpos
|
|
1391 lbsr movecurs
|
|
1392 leax xprtmess,pcr
|
|
1393 lbra pstring display 'EXPERT' & return
|
|
1394
|
|
1395 * Convert 3 HEX bytes to ASCII
|
|
1396
|
|
1397 convert3 ldd lsn get 2 MSB's of LSN
|
|
1398 com zeroflag suppresw leading zeroes
|
|
1399 leay i.o.buff,u point to output buffer
|
|
1400 bsr convert1 convert byte in A to ascii
|
|
1401 tfr b,a
|
|
1402 bsr convert1 and convert 2nd byte
|
|
1403 clr zeroflag stop suppressing leading 0's
|
|
1404 lda lsn+2 get LSB of LSN
|
|
1405 bsr convert1 and convert it
|
|
1406 ldd #$2020 2 space
|
|
1407 std ,y++ put in out buffer
|
|
1408
|
|
1409 * Output LSN as decimal number
|
|
1410
|
|
1411 ldd #$0008 8 dec digits max, 0=counter
|
|
1412 pshs d save them
|
|
1413 com zeroflag suppress leading zeroes
|
|
1414 leax decimals,pcr point to conversion table
|
|
1415 initsub1 clr ,s set counter = 0
|
|
1416 subdec1 ldd lsn+1 get LSB's of LSN
|
|
1417 subd 1,x subtract LSB's of table entry
|
|
1418 pshs cc save 'carry'
|
|
1419 std lsn+1 save result
|
|
1420 lda lsn get MSB
|
|
1421 clrb flag for enough subtractions
|
|
1422 suba ,x subtract MSB of LSN
|
|
1423 bcc LSBborow if no 'borrow', see if LSB sub needed borrow
|
|
1424 incb else, enough subs done
|
|
1425 LSBborow puls cc restore LSB 'borrow' flag
|
|
1426 bcc savemsb save byte if borrow not needed
|
|
1427 suba #1 else do borrow, setting flags
|
|
1428 savemsb sta lsn save MSB
|
|
1429 bcc chekenuf bra if no borrow needed by last dec
|
|
1430 incb else set flag ->enuf subs done
|
|
1431 chekenuf tstb enuf subs done?
|
|
1432 bne enufsub1 Yes, bra
|
|
1433 inc ,s else, inc decimal counter
|
|
1434 bra subdec1 and do more subtractions
|
|
1435 enufsub1 ldd lsn+1 get value
|
|
1436 addd 1,x make it positive again
|
|
1437 std lsn+1 and save
|
|
1438 lda lsn get MSB
|
|
1439 bcc addmsb 'Carry' bit still valid from 'addd 1,x'
|
|
1440 inca do carry from LSB's
|
|
1441 addmsb adda ,x make rest of remainder positive
|
|
1442 sta lsn and save it for next round of sub
|
|
1443 leax 3,x point X to next table entry
|
|
1444 bsr decascii go convert decimal counter to ascii
|
|
1445 dec 1,s dec counter (8 digits)
|
|
1446 beq getCR Yes, exit
|
|
1447 lda 1,s down to last 2 digits?
|
|
1448 cmpa #2
|
|
1449 bne initsub1 no, loop back
|
|
1450 clr zeroflag else stop suppressing leading 0's
|
|
1451 bra initsub1
|
|
1452
|
|
1453 getCR lda #$d <CR>
|
|
1454 sta ,y put in out string
|
|
1455 ldd oldlsn+1 restore LSN
|
|
1456 std lsn+1
|
|
1457 lda oldlsn
|
|
1458 sta lsn
|
|
1459 puls d,pc
|
|
1460
|
|
1461 * Convert HEX byte in A to ASCII and put in buffer (Y)
|
|
1462
|
|
1463 convert1 pshs a save byte
|
|
1464 lsra shift msn to lsnibble
|
|
1465 lsra
|
|
1466 lsra
|
|
1467 lsra
|
|
1468 bsr objasc
|
|
1469 puls a get byte back
|
|
1470 anda #$0f mask off msb
|
|
1471 bsr objasc convert if to ascii
|
|
1472 rts
|
|
1473 objasc cmpa #9 digit?
|
|
1474 ble asciify yes, make it ascii
|
|
1475 adda #7
|
|
1476 asciify adda #$30 makes it ascii
|
|
1477 sta ,y+ and put it in buffer
|
|
1478 tst zeroflag suppressing leading zeroes?
|
|
1479 beq convdone no, exit
|
|
1480 cmpa #'0 was it a zero?
|
|
1481 beq suppres0 Yes, go 'erase' it
|
|
1482 clr zeroflag No, so stop suppressing 0's
|
|
1483 convdone rts
|
|
1484 suppres0 leay -1,y reset pointer back over zero
|
|
1485 rts
|
|
1486
|
|
1487 * Convert object decimal # on stack to ASCII & put in buffer (Y)
|
|
1488
|
|
1489 decascii pshs a save this
|
|
1490 lda 3,s get decimal counter
|
|
1491 bsr asciify make it ascii
|
|
1492 puls a,pc get byte back & return
|
|
1493
|
|
1494
|
|
1495 dsplylin leay i.o.buff,u point to output buffer
|
|
1496 leax revvid,pcr
|
|
1497 lbsr transfer put in reverse video code
|
|
1498 lda seclen+1 LSB of # bytes read
|
|
1499 beq notlast skip ahead if 0 (seclen=$100)
|
|
1500 anda #$f0 mask off LSB
|
|
1501 cmpa rownum current display row = last?
|
|
1502 bne notlast no, go on
|
|
1503 lda #$ff
|
|
1504 sta lastflag signal last line
|
|
1505 notlast lda rownum get row number
|
|
1506 bsr convert1 convert it to hex byte
|
|
1507 lda #':
|
|
1508 sta ,y+
|
|
1509 leax normvid,pcr point to code
|
|
1510 bsr transfer move code to buffer
|
|
1511 ldd #$2020 spaces
|
|
1512 std ,y++
|
|
1513 ldx buffptr get buffer pointer
|
|
1514 ldb #$10 16 bytes
|
|
1515 tst lastflag last line?
|
|
1516 beq cnvrtbyt no, bra
|
|
1517 ldb seclen+1 bytes read
|
|
1518 andb #$0f now B=bytes for lst line
|
|
1519 beq noline bra if no bytes left
|
|
1520 pshs b save this
|
|
1521 cnvrtbyt lda ,x+ get byte from buffer
|
|
1522 bsr convert1 convert it to hex
|
|
1523 lda #$20 space
|
|
1524 sta ,y+ put in output buffer
|
|
1525 decb done?
|
|
1526 bne cnvrtbyt No, do more
|
|
1527 tst lastflag lst line?
|
|
1528 beq addspc2 no, bra
|
|
1529 ldd #$0310 B=max bytes on line
|
|
1530 subb ,s b=# bytes to null out
|
|
1531 mul 3 spaces per byte
|
|
1532 lda #$20 space
|
|
1533 addspc1 sta ,y+ put in buffer
|
|
1534 decb done?
|
|
1535 bne addspc1
|
|
1536 addspc2 ldb #$20 space
|
|
1537 std ,y++
|
|
1538 sta ,y+ output spaces
|
|
1539 ldx buffptr get buff pointer again
|
|
1540 asrb b=$10 (16 bytes)
|
|
1541 tst lastflag lst line?
|
|
1542 beq ascichar no, bra
|
|
1543 ldb ,s yes, get # bytes from prior calc
|
|
1544 ascichar lda ,x+ get byte
|
|
1545 anda #$7f clear bit 7
|
|
1546 cmpa #$20 <32?
|
|
1547 bhs printabl yes, print as is
|
|
1548 notascii lda #'. Non-ascii char
|
|
1549 printabl sta ,y+ put in buff
|
|
1550 decb done?
|
|
1551 bne ascichar
|
|
1552 stx buffptr save new buffer pointer
|
|
1553 tst lastflag last line?
|
|
1554 beq addCR no, bra
|
|
1555 ldb #$10 max bytes per line
|
|
1556 subb ,s+ b=bytes to null out
|
|
1557 lda #$20 space
|
|
1558 addspc3 sta ,y+ put in buffer
|
|
1559 decb
|
|
1560 bne addspc3
|
|
1561 lda #$f0 last row num
|
|
1562 sta rownum -> displays no more rows
|
|
1563 bsr addCR display line
|
|
1564 resetlst clr lastflag reset flag
|
|
1565 leax erasescr,pcr point to erase to end of screen code
|
|
1566 ldy #era2chrs length of string
|
|
1567 lbra writeout erase end of screen & return
|
|
1568 addCR lda #$d <CR>
|
|
1569 sta ,y
|
|
1570 leax i.o.buff,u
|
|
1571 lbra wrtlin1 go display this line & return
|
|
1572
|
|
1573 transfer lda ,x+ get byte
|
|
1574 beq trandone exit if done
|
|
1575 sta ,y+ move it
|
|
1576 bra transfer do more
|
|
1577 trandone rts return
|
|
1578
|
|
1579 noline lda #$f0
|
|
1580 sta rownum signal last row
|
|
1581 bra resetlst go erase rest of screen
|
|
1582
|
|
1583
|
|
1584 * Point to next LSN in file
|
|
1585
|
|
1586 nxtsec ldd lsn+1 get 2 lower bytes of lsn
|
|
1587 addd #1 next lsn
|
|
1588 std lsn+1 save it
|
|
1589 bne readsec d<>0 => carry not needed
|
|
1590 inc lsn else add carry to MSB of LSN
|
|
1591 readsec lbra readloop go read next sector
|
|
1592
|
|
1593 * Point to previous LSN unless at LSN 0 now
|
|
1594
|
|
1595 prevsec ldd lsn+1 get lsn
|
|
1596 bne notfirst <>0 => not LSN 0
|
|
1597 tst lsn LSN 0?
|
|
1598 lbeq getcmd yes, exit
|
|
1599 notfirst subd #1 else dec LSN
|
|
1600 std lsn+1 save it
|
|
1601 cmpd #$ffff borrow needed if LSN was $xx0000
|
|
1602 bne readsec if not, go read
|
|
1603 dec lsn do 'borrow'
|
|
1604 bra readsec go read previous sector
|
|
1605
|
|
1606
|
|
1607 * Change LSN sub
|
|
1608
|
|
1609 changLSN lbsr movecmd
|
|
1610 leax sect,pcr display message
|
|
1611 lbsr pstring
|
|
1612 ldy #7 max # chars to read
|
|
1613 bsr MakeHex read & convert them
|
|
1614 bcs BadLSN
|
|
1615 ldd HexBuff+2 get new LSN from buffer
|
|
1616 std lsn+1
|
|
1617 lda HexBuff+1
|
|
1618 sta lsn
|
|
1619 lbra readloop go read/display new LSN
|
|
1620
|
|
1621 BadLSN lbsr beep
|
|
1622 bra changLSN
|
|
1623
|
|
1624 MakeHex pshs y save # bytes to read
|
|
1625 clr echobyte
|
|
1626 com echobyte echo on
|
|
1627 lbsr echo set echo
|
|
1628 puls y
|
|
1629 leax i.o.buff,u point to buffer
|
|
1630 lbsr readlin read chars from keyboard
|
|
1631 clr echobyte
|
|
1632 lbsr echo echo off
|
|
1633 leay -1,y strip off CR
|
|
1634 beq ExitHex exit if no chars input
|
|
1635 tfr y,d # of bytes read -> B
|
|
1636 CheckHex lda ,x+ get char
|
|
1637 bsr hexdigit see if it's valid char
|
|
1638 bcs invalid if not, beep & redo
|
|
1639 decb done?
|
|
1640 bne CheckHex
|
|
1641 sty HexBuff save counter for now
|
|
1642 getascii lda #'0 leading zero, if needed
|
|
1643 ldb ,-x get a char
|
|
1644 leay -1,y last one?
|
|
1645 beq cnvrt2 yes, bra
|
|
1646 lda ,-x else, get next char in A
|
|
1647 leay -1,y dec counter
|
|
1648 cnvrt2 bsr asciihex convert ascii chars in A/B to hex byte
|
|
1649 pshs b save hex byte
|
|
1650 cmpy #0 all done?
|
|
1651 bne getascii no, do more
|
|
1652 ldb HexBuff+1 else, get # ascii chars 1st read
|
|
1653 incb get ready for divide
|
|
1654 lsrb divide by 2 -># of HEX bytes
|
|
1655 clra leading 0
|
|
1656 leax HexBuff,u point to storage
|
|
1657 cmpb #4 4 hex bytes on stack?
|
|
1658 beq hexstack yes, no leading zeroes needed
|
|
1659 sta ,x+ else, put in leading 0
|
|
1660 cmpb #3 3 hex bytes on stack?
|
|
1661 beq hexstack yes, no more 0's needed
|
|
1662 sta ,x+ else, put in 0
|
|
1663 cmpb #2 2 hex bytes?
|
|
1664 beq hexstack yes, bra
|
|
1665 sta ,x+ else, put in another 0
|
|
1666 hexstack puls a get a hex byte off stack
|
|
1667 sta ,x+ and put in templsn
|
|
1668 decb done?
|
|
1669 bne hexstack no, bra
|
|
1670 clrb clear carry bit
|
|
1671 rts
|
|
1672
|
|
1673 invalid lbsr beep
|
|
1674 coma set carry bit
|
|
1675 rts
|
|
1676
|
|
1677 ExitHex leas 2,s strip off return address
|
|
1678 lbra getcmd exit
|
|
1679
|
|
1680 hexdigit cmpa #'0 char <0?
|
|
1681 blo nothex yes, bra
|
|
1682 cmpa #'9 char <9 (digit)?
|
|
1683 bls ishex yes, bra
|
|
1684 anda #$5f lower->UPPER case
|
|
1685 cmpa #'F char >F?
|
|
1686 bhi nothex yes, bra
|
|
1687 cmpa #'A char <A?
|
|
1688 blo nothex yes, bra
|
|
1689 ishex clra clear carry bit if char is hex
|
|
1690 rts
|
|
1691 nothex coma set carry bit if not hex char
|
|
1692 rts
|
|
1693
|
|
1694 asciihex bsr hexnib convert B to LSNibble
|
|
1695 pshs b save LSNib
|
|
1696 tfr a,b get ready for MSN
|
|
1697 bsr hexnib convert it
|
|
1698 aslb shift LSNib to MSN
|
|
1699 aslb
|
|
1700 aslb
|
|
1701 aslb
|
|
1702 orb ,s+ add in LSNib from stack
|
|
1703 rts
|
|
1704
|
|
1705 hexnib subb #$30 convert asci # to hex
|
|
1706 cmpb #$9 <=9?
|
|
1707 bls nowhex yes, bra
|
|
1708 andb #$5f lower->UPPER case
|
|
1709 subb #7 else sub 7 or $A$F
|
|
1710 nowhex rts
|
|
1711
|
|
1712 * Zap sector sub
|
|
1713
|
|
1714 zap
|
|
1715 clr echobyte
|
|
1716 com echobyte echo on
|
|
1717 lbsr echo set echo
|
|
1718 lbsr movecmd
|
|
1719 lbsr clrline clear line
|
|
1720 leax zaprompt,pcr point to 'Zap '
|
|
1721 lbsr pstring print it
|
|
1722 tst hexascii ascii mode?
|
|
1723 bne zapascii yes, bra
|
|
1724 leax byte,pcr point to 'byte: '
|
|
1725 lbsr pstring print it
|
|
1726 ldy #3 2 chars + CR
|
|
1727 bsr zapread read in chars
|
|
1728 bsr hexobjct convert to object
|
|
1729 bcs exitzap exit if invalid chars
|
|
1730 zapstart leax inbuff,u point to data buffer
|
|
1731 stx buffptr new pointer
|
|
1732 clrb counter
|
|
1733 zapbuff sta ,x+ do zap
|
|
1734 decb done?
|
|
1735 bne zapbuff no, loop
|
|
1736 clr echobyte echo off
|
|
1737 lbsr echo set echo
|
|
1738 inc wrtflag signal for auto-write if expert mode
|
|
1739 lbra disploop display zapped buffer
|
|
1740
|
|
1741 zapread clra stdin
|
|
1742 leax i.o.buff,u point to buffer
|
|
1743 os9 i$readln read in line
|
|
1744 bcs cheksig1 check for break key if error
|
|
1745 rts else return
|
|
1746 cheksig1 cmpb #2 break key signal?
|
|
1747 lbne error no, process error
|
|
1748 com hexascii yes, toggle hex/ascii flag
|
|
1749 leas 2,s pull return addr off stack
|
|
1750 bra zap redo routine
|
|
1751
|
|
1752 exitzap clr echobyte echo off
|
|
1753 lbsr echo
|
|
1754 lbra getcmd get new command
|
|
1755
|
|
1756 zapascii leax char,pcr point to 'char: '
|
|
1757 lbsr pstring print it
|
|
1758 ldy #2 1 char + CR
|
|
1759 bsr zapread read in char
|
|
1760 lda ,x get char
|
|
1761 cmpa #$20 valid ascii char?
|
|
1762 blo exitzap no, exit
|
|
1763 bra zapstart go do zap
|
|
1764
|
|
1765 * Convert 2 hex chars in buffer (X) to object byte
|
|
1766
|
|
1767 hexobjct bsr cnvrtnib convert 1st nibble
|
|
1768 bcs badrts exit if bad char
|
|
1769 tfr a,b save 1st byte (MS nibble)
|
|
1770 bsr cnvrtnib convert 2nd nibble
|
|
1771 bcs badrts exit if bad char
|
|
1772 aslb shift LS nib to MS nib
|
|
1773 aslb
|
|
1774 aslb
|
|
1775 aslb
|
|
1776 pshs b save
|
|
1777 ora ,s+ add MS nib to LS nib
|
|
1778 bra goodhex exit
|
|
1779
|
|
1780 cnvrtnib bsr isithex is it valid char?
|
|
1781 bcs badrts no, exit
|
|
1782 bra cnvrthex yes, convert it to object
|
|
1783
|
|
1784 isithex lda ,x+
|
|
1785 cmpa #'0 <0?
|
|
1786 blo badhex yes, bra
|
|
1787 cmpa #'9 <9?
|
|
1788 bls goodhex yes, bra
|
|
1789 anda #$5F lower->UPPER case
|
|
1790 cmpa #'A <A?
|
|
1791 blo badhex yes, bra
|
|
1792 cmpa #'F >F?
|
|
1793 bhi badhex yes, bra
|
|
1794 goodhex andcc #$FE clear carry bit if valid
|
|
1795 rts
|
|
1796 badhex orcc #1 set carry bit if invalid
|
|
1797 badrts rts
|
|
1798
|
|
1799 cnvrthex suba #$30 convert char to object
|
|
1800 cmpa #9 decimal digit?
|
|
1801 bls nowobjct yes, done
|
|
1802 suba #7 else, A-F
|
|
1803 nowobjct bra goodhex clear carry & return
|
|
1804
|
|
1805 * Write current sector back to disk
|
|
1806
|
|
1807 writesec tst xprtflag expert mode on?
|
|
1808 lbne getcmd yes, exit
|
|
1809 bsr rusure Sure?
|
|
1810 lbne getcmd no, exit
|
|
1811 lbsr movecmd
|
|
1812 lbsr clrline clear line
|
|
1813 lbsr movecmd
|
|
1814 leax writing,pcr point to message
|
|
1815 lbsr pstring display it
|
|
1816 xprtwrt lbsr lsnseek seek to start of sector
|
|
1817 lda inpath get path #
|
|
1818 lbsr write100 write out sector
|
|
1819 tst xprtflag doing auto-write
|
|
1820 beq opendone no, go to getcmd
|
|
1821 clr wrtflag signal no more auto-write
|
|
1822 rts else & return to caller
|
|
1823
|
|
1824 * Ask 'Are you sure?' and get response
|
|
1825
|
|
1826 rusure lbsr movecmd
|
|
1827 rusure10
|
|
1828 clr echobyte
|
|
1829 com echobyte echo on
|
|
1830 lbsr echo set echo
|
|
1831 leax sure,pcr point to 'Sure? '
|
|
1832 lbsr pstring print it
|
|
1833 lbsr clrline blank rest of line
|
|
1834 leax i.o.buff,u input buffer
|
|
1835 lbsr read1 read answer
|
|
1836 clr echobyte echo off
|
|
1837 lbsr echo set echo
|
|
1838 lda ,x get response
|
|
1839 anda #$5f lower->UPPER case
|
|
1840 cmpa #'Y set flags
|
|
1841 rts
|
|
1842
|
|
1843 * Open output file sub
|
|
1844
|
|
1845 openout tst outpath is a file open already?
|
|
1846 bne opendone yes, exit
|
|
1847 clr echobyte
|
|
1848 com echobyte echo on
|
|
1849 lbsr echo set echo
|
|
1850 lbsr movecmd position cursor
|
|
1851 leax out$,pcr point to prompt
|
|
1852 lbsr pstring print it
|
|
1853 lbsr clrline clear rest of line
|
|
1854 leax i.o.buff,u point to input buffer
|
|
1855 ldy #30 29 chars + CR
|
|
1856 lbsr readlin read in a line (pathlist)
|
|
1857 clr echobyte echo off
|
|
1858 lbsr echo set echo
|
|
1859
|
|
1860 ***********************************************
|
|
1861 * Return to command prompt if no filename given
|
|
1862 * Added 01/09/90 (RAK)
|
|
1863 *
|
|
1864 cmpy #1 <enter> only pressed?
|
|
1865 beq opendone yes, abort
|
|
1866 *
|
|
1867 ********************************** END modification
|
|
1868
|
|
1869 pshs x save pointer to pathlist
|
|
1870 leay outfile,u point to storage area
|
|
1871 savname lda ,x+ get a char from name
|
|
1872 sta ,y+ save it
|
|
1873 cmpa #$20 space or CR?
|
|
1874 bhi savname
|
|
1875 lda #$0d CR
|
|
1876 sta -1,y delimit filename
|
|
1877 puls x restore pointer to name
|
|
1878 lda #write. Access mode = Write
|
|
1879 ldb #%00001011 attr ----R-wr
|
|
1880 os9 I$Create create & open file
|
|
1881 bcs error exit if error
|
|
1882 sta outpath save output path #
|
|
1883 bsr prntout
|
|
1884 opendone lbra getcmd exit
|
|
1885
|
|
1886 * move cursor & print 'Output pathlist'
|
|
1887
|
|
1888 prntout ldd #outpos
|
|
1889 lbsr movecurs
|
|
1890 leax out$,pcr point to 'OUTFILE:'
|
|
1891 lbsr pstring print it
|
|
1892 leax outfile,u point to name
|
|
1893 lbra wrtlin1 write name & return
|
|
1894
|
|
1895
|
|
1896 * Write out a sector
|
|
1897
|
|
1898 write100 leax inbuff,u point to data
|
|
1899 ldy seclen # chars in sector
|
|
1900 os9 i$write write sector
|
|
1901 bcs error
|
|
1902 rts
|
|
1903
|
|
1904 * Close output file sub
|
|
1905
|
|
1906 closeout lda outpath get output path #
|
|
1907 beq opendone exit if none open
|
|
1908 os9 i$close close it
|
|
1909 bcs error
|
|
1910 ldd #outpos
|
|
1911 lbsr movecurs
|
|
1912 lbsr clrline
|
|
1913 clr outpath flag no output file open
|
|
1914 closed bra opendone exit
|
|
1915
|
|
1916 * Append sector to output file sub
|
|
1917
|
|
1918 append lda outpath get output path #
|
|
1919 beq closed exit if no file open
|
|
1920 bsr write100 write sector out
|
|
1921 lbra nxtsec read in next sector & display it
|
|
1922
|
|
1923
|
|
1924 * ERROR handling routine
|
|
1925
|
|
1926 error pshs b save error code
|
|
1927
|
|
1928 * modification by BRI
|
|
1929 clr <SgnlCode clear intercept routine signal code
|
|
1930 * end modification
|
|
1931
|
|
1932 ldd oldlsn MSBs of last LSN read
|
|
1933 std lsn make it current LSN
|
|
1934 lda oldlsn+2 LSB of last LSN
|
|
1935 sta lsn+2 move it
|
|
1936 puls b error code
|
|
1937 lds Ssave restore Stack pointer
|
|
1938 cmpb #2 break?
|
|
1939 beq endexit yes, don't worry
|
|
1940 cmpb #3 shift break?
|
|
1941 bne eofchk no check if EOF
|
|
1942 clr wrtflag cancel auto-write
|
|
1943 bra endexit
|
|
1944 eofchk cmpb #e$eof EOF error?
|
|
1945 bne true.err exit
|
|
1946 endexit lbra exitzap
|
|
1947 true.err cmpb #e$bmid bad module ID error?
|
|
1948 bne othererr no, bra
|
|
1949 * If module is linked, BMID error must come from trying to Verify modules
|
|
1950 * use standard error reporting routine. Otherwise BMID error occurs when
|
|
1951 * trying to link (or list names of) modules; need to clear screen after these.
|
|
1952 tst infile module linked?
|
|
1953 bne othererr yes, use std error routine
|
|
1954 bsr prterr else display error #
|
|
1955 leax cls,pcr
|
|
1956 ldy #clschrs
|
|
1957 lbsr writeout clear screen
|
|
1958 lbra disploop & redisplay sector
|
|
1959 othererr pshs b save error code
|
|
1960 lbsr movecmd position cursor
|
|
1961 lbsr clrline
|
|
1962 puls b pull error code
|
|
1963 bsr prterr print error # on cmd line
|
|
1964 lbra getcmd
|
|
1965
|
|
1966 * Display error #
|
|
1967
|
|
1968 prterr lda #2 error out path
|
|
1969 os9 f$perr print error #
|
|
1970 clr echobyte echo off
|
|
1971 lbsr echo
|
|
1972
|
|
1973 leax i.o.buff,u point to input buffer
|
|
1974 lbra read1 wait for keypress & return
|
|
1975
|
|
1976 * Exit with usage prompt if no pathname called
|
|
1977
|
|
1978 badcall
|
|
1979 lda #2 errout
|
|
1980 leax hints,pcr
|
|
1981 ldy #bufsiz
|
|
1982 lbsr wrtlin2
|
|
1983 ldb #e$bpnam set bad path error
|
|
1984 bra bye
|
|
1985
|
|
1986 * Exit to OS9
|
|
1987
|
|
1988 quit lda oldecho get original echo status
|
|
1989 sta echobyte reset echo
|
|
1990 lbsr echo to original status
|
|
1991 clrb no error
|
|
1992 bye os9 f$exit exit program
|
|
1993
|
|
1994 * Edit sector sub
|
|
1995
|
|
1996 edit lbsr movecmd
|
|
1997 leax edprompt,pcr point to prompt
|
|
1998 lbsr pstring
|
|
1999 topleft leax inbuff,u point to data buffer
|
|
2000 stx edbufptr save pointer
|
|
2001 lda #1 init position counter
|
|
2002 sta edpos
|
|
2003 lda #$23 top row code
|
|
2004 sta rownum save
|
|
2005 lda #$25 1st hex dump col #
|
|
2006 sta hexcol save
|
|
2007 lda #$58 1st ascii dump col
|
|
2008 sta asciicol
|
|
2009
|
|
2010 revbyte lbsr revdisp set reverse video
|
|
2011 bsr eddisply display byte
|
|
2012
|
|
2013 ifne xyflipr
|
|
2014 edinput lda rownum A=row
|
|
2015 ldb hexcol B=col
|
|
2016 else
|
|
2017
|
|
2018 edinput lda hexcol A=col
|
|
2019 ldb rownum B=row
|
|
2020 endc
|
|
2021
|
|
2022 tst hexascii Hex mode?
|
|
2023 beq hexin yes, bra
|
|
2024
|
|
2025 ifne xyflipr
|
|
2026 ldb asciicol else B= ASCII col
|
|
2027 else
|
|
2028
|
|
2029 lda asciicol A= ASCII col
|
|
2030 endc
|
|
2031
|
|
2032 hexin lbsr movecurs position cursor
|
|
2033 leax i.o.buff,u
|
|
2034 tst hexascii ascii mode?
|
|
2035 lbne inputchr yes, bra
|
|
2036
|
|
2037 * modification by BRI
|
|
2038 * bra inputbyt
|
|
2039 lbra inputbyt
|
|
2040 * end modification
|
|
2041
|
|
2042 * Sub to do Hex and ASCII dump for byte to be editted
|
|
2043
|
|
2044 ifne xyflipr
|
|
2045 eddisply lda rownum A=row
|
|
2046 ldb hexcol b= hex column
|
|
2047 else
|
|
2048
|
|
2049 eddisply lda hexcol A=Hex column
|
|
2050 ldb rownum B=row
|
|
2051 endc
|
|
2052
|
|
2053 lbsr movecurs position cursor
|
|
2054 leay i.o.buff,u point to output buff
|
|
2055 lda [edbufptr,u] get byte
|
|
2056 pshs a save it
|
|
2057 lbsr convert1 convert to hex, put in buff
|
|
2058 leax -2,y reset pointer to hex chars
|
|
2059 ldy #2 2chars
|
|
2060 lda #1 stdout
|
|
2061 lbsr wrtlin2 display chars
|
|
2062
|
|
2063 ifne xyflipr
|
|
2064 lda rownum same row
|
|
2065 ldb asciicol get ascii dump col #
|
|
2066 else
|
|
2067
|
|
2068 lda asciicol ascii dump col #
|
|
2069 ldb rownum same row
|
|
2070 endc
|
|
2071
|
|
2072 lbsr movecurs position cursor
|
|
2073 puls a get byte again
|
|
2074 anda #$7F clear bit 7 for ascii dump
|
|
2075 cmpa #$20 printable?
|
|
2076
|
|
2077 bhs prntabl1 yes, bra
|
|
2078 lda #'. else print as '.'
|
|
2079 prntabl1 leax i.o.buff,u ouput buffer
|
|
2080 sta ,x put char in buff
|
|
2081 ldy #1 1 char
|
|
2082 lbra writeout display char & return
|
|
2083
|
|
2084 * Read in a character; check for BREAK key
|
|
2085
|
|
2086 * modification by BRI
|
|
2087 * toggles cursor on/off if enabled, checks for character
|
|
2088 *readit ldy #1 1 char
|
|
2089 readit pshs b,x save previous char, input buffer pointer
|
|
2090 CFlsh01 clra std. input
|
|
2091 ldb #SS.Ready
|
|
2092 os9 I$GetStt
|
|
2093 bcc CFExit character ready, go get it
|
|
2094 cmpb #E$NotRdy no character ready?
|
|
2095 bne CrsrErr no, go check other errors
|
|
2096 ldx #$0001 give up remainder of tick
|
|
2097 os9 F$Sleep
|
|
2098 bcs CrsrErr go clean up & check error
|
|
2099 dec <CrsrCnt decrement cursor toggle counter
|
|
2100 lda <CrsrCnt get new counter value
|
|
2101 eora <CrsrFlg cursor toggle required?
|
|
2102 anda #%01000000 clear all but active counter bit
|
|
2103 beq SigChk no, go check for signal
|
|
2104 com <CrsrFlg toggle cursor on or off?
|
|
2105 beq CrsrOff go toggle cursor off
|
|
2106 bsr CrsrOn go toggle cursor on
|
|
2107 bra SigChk go check intercept routine signal code
|
|
2108 CrsrOff leax CursrOff,pc point [X] to cursor off string
|
|
2109 ldy #CursOff number of bytes in string
|
|
2110 bsr WritCrsr go write cursor off string
|
|
2111 SigChk ldb <SgnlCode get intercept routine signal code
|
|
2112 cmpb #S$Abort keyboard abort signal? (error #2)
|
|
2113 beq CrsrErr yes, go report it
|
|
2114 cmpb #S$Intrpt keyboard interrupt signal? (error #3)
|
|
2115 bne CFlsh01 no, go check for data again
|
|
2116 CrsrErr stb ,s save error code for sigchek2
|
|
2117 bsr CrsrOn go make sure cursor is on
|
|
2118 puls b,x recover error code, input buffer pointer
|
|
2119 bra cheksig2
|
|
2120 CrsrOn leax CursrOn,pc point [X] to cursor on string
|
|
2121 ldy #CursOn number of bytes in string
|
|
2122 WritCrsr lda #1 std. output
|
|
2123 os9 I$Write
|
|
2124 clrb ignore any/all errors
|
|
2125 rts
|
|
2126 CFExit bsr CrsrOn go make sure cursor is on
|
|
2127 puls b,x recover previous char, input buffer pointer
|
|
2128 ldy #1 1 char
|
|
2129 * end modification
|
|
2130
|
|
2131 clra stdin
|
|
2132 os9 i$read read in char
|
|
2133 bcs cheksig2 chek for BREAK if error
|
|
2134 rts else return
|
|
2135
|
|
2136 * modification by BRI
|
|
2137 * clears old signal, traps BREAK,
|
|
2138 * cleans up before reporting other errors
|
|
2139 * (fixes shift-BREAK/control-BREAK in edit mode and
|
|
2140 * error report stack clean up bugs)
|
|
2141 * cheksig2 cmpb #2 BREAK key signal?
|
|
2142 * lbne error no, process error
|
|
2143 * com hexascii yes, toggle hex/ascii flag
|
|
2144 * leas 2,s pull return addr off stack
|
|
2145 * bra edinput loop back
|
|
2146 cheksig2 leas 2,s dump return address
|
|
2147 clr <SgnlCode clear old signal
|
|
2148 cmpb #2 keyboard abort? (BREAK)
|
|
2149 beq TrapSgnl yes, trap it & toggle hex/ascii
|
|
2150 pshs b save error code
|
|
2151 lbsr reset reset reversed chars
|
|
2152 clr <rownum reset row #
|
|
2153 puls b recover error code
|
|
2154 lbra error go process error
|
|
2155 TrapSgnl com <hexascii yes, toggle hex/ascii flag
|
|
2156 lbra edinput loop back
|
|
2157 * end modification
|
|
2158
|
|
2159
|
|
2160 * Input a hex byte
|
|
2161
|
|
2162 inputbyt bsr readit read in a char
|
|
2163 bsr digit is it valid hex digit?
|
|
2164 bcs edcurs no, see if it's arrow key
|
|
2165 lbsr writeout yes, display char
|
|
2166 ldb ,x save char
|
|
2167
|
|
2168 * modification by BRI
|
|
2169 * bsr readit read another char
|
|
2170 lbsr readit read another char
|
|
2171 * end modification
|
|
2172
|
|
2173 bsr digit is it valid?
|
|
2174 bcs edcurs no, check for arrows
|
|
2175 exg a,b A= 1st char
|
|
2176 lbsr asciihex change 2 ascii chars to hex byte
|
|
2177 stb [edbufptr,u] put new byte in buffer
|
|
2178 lda #1
|
|
2179 sta wrtflag signal auto-write
|
|
2180 bra movert move to next byte
|
|
2181
|
|
2182 * Check to see if char is valid hex digit.
|
|
2183 * Exit with Carry set if not valid.
|
|
2184
|
|
2185 digit lda ,x get char from buffer
|
|
2186 cmpa #'0 < 0?
|
|
2187 blo notdig YES, set carry
|
|
2188 cmpa #'9 Between 0 & 9?
|
|
2189 bls gotnib Yes, return
|
|
2190 anda #$5F Lowercase -> Upper
|
|
2191 cmpa #'F > F?
|
|
2192 bhi notdig Yes, set carry
|
|
2193 cmpa #'A Between A & F?
|
|
2194 blo notdig No, set carry
|
|
2195 gotnib andcc #$fe clear carry bit
|
|
2196 rts
|
|
2197 notdig orcc #1 set carry bit
|
|
2198 rts
|
|
2199
|
|
2200 * Input single ASCII character
|
|
2201
|
|
2202 * modification by BRI
|
|
2203 *inputchr bsr readit read char
|
|
2204 inputchr lbsr readit read char
|
|
2205 * end modification
|
|
2206
|
|
2207 lda ,x get char
|
|
2208 cmpa #$20 valid ascii char?
|
|
2209 blo edcurs no, check for arrows
|
|
2210 sta [edbufptr,u] yes, put in buffer
|
|
2211 lda #1
|
|
2212 sta wrtflag signal auto-write
|
|
2213 bra movert go do next byte
|
|
2214
|
|
2215 * Check if char is arrow (for cursor moves)
|
|
2216
|
|
2217 edcurs cmpa #9 Right arrow?
|
|
2218 beq movert
|
|
2219 cmpa #8 Left arrow?
|
|
2220 beq movelt
|
|
2221 cmpa #$c Up arrow?
|
|
2222 lbeq moveup
|
|
2223 cmpa #$a Down arrow?
|
|
2224 lbeq movedn
|
|
2225 cmpa #$d CR?
|
|
2226 lbne edinput no, get another key
|
|
2227
|
|
2228 * Exit edit routine
|
|
2229 lbsr reset reset reversed chars
|
|
2230 clr rownum reset row #
|
|
2231 lbra getcmd return to command level
|
|
2232
|
|
2233 * Move to next byte on screen
|
|
2234
|
|
2235 movert lbsr reset reset display byte
|
|
2236 tst seclen+1 editting partial (last) sec?
|
|
2237 beq rtptr no, bra
|
|
2238 lda edpos position # in sector
|
|
2239 cmpa seclen+1 last byte?
|
|
2240 lbeq topleft yes, bra
|
|
2241 rtptr ldd edbufptr get pointer
|
|
2242 addd #1 set to next byte
|
|
2243 std edbufptr save
|
|
2244 inc edpos
|
|
2245
|
|
2246 displyrt inc asciicol inc display counter
|
|
2247 lda asciicol get counter
|
|
2248 cmpa #$68 at end of screen row?
|
|
2249 bhs rowdn yes, move down a row
|
|
2250 lda hexcol no, inc hex display counter
|
|
2251 adda #3 3 screen columns per byte
|
|
2252 sta hexcol save
|
|
2253 lbra revbyte go do next byte
|
|
2254 rowdn inc rownum next row
|
|
2255 lda rownum get row #
|
|
2256 cmpa #$32 past bottom row?
|
|
2257 lbhi topleft yes, go to top row
|
|
2258 lda #$25 1st hex column #
|
|
2259 sta hexcol reset counter
|
|
2260 lda #$58 1st ascii col #
|
|
2261 sta asciicol reset counter
|
|
2262 lbra revbyte go do display
|
|
2263
|
|
2264 * Move to previous byte on screen
|
|
2265
|
|
2266 movelt bsr reset reset displayed byte
|
|
2267 ldd edbufptr get data pointer
|
|
2268 subd #1 dec it
|
|
2269 std edbufptr
|
|
2270 dec edpos & position counter
|
|
2271 dec asciicol dec display counter
|
|
2272 lda asciicol get col #
|
|
2273 cmpa #$58 past left end of row?
|
|
2274 blo rowup yes, move up a row
|
|
2275 lda hexcol get hex col #
|
|
2276 suba #3 move left 3 columns
|
|
2277 sta hexcol save
|
|
2278 lbra revbyte
|
|
2279 rowup dec rownum move up a row
|
|
2280 lda #$52 col # of right end of hex dump
|
|
2281 sta hexcol save
|
|
2282 lda #$67 col # of right end of ascii dump
|
|
2283 sta asciicol save
|
|
2284 lda rownum get row #
|
|
2285 cmpa #$23 past top row?
|
|
2286 blo gobot yes, go to bottom row
|
|
2287 lbra revbyte no, display next byte
|
|
2288 gobot ldx edbufptr old pointer
|
|
2289 ldb seclen+1 partial (last) sec?
|
|
2290 beq botptr no, bra
|
|
2291 stb edpos new last position
|
|
2292 clra
|
|
2293 leax d,x new pointer with partial sector
|
|
2294 decb offset to byte in buffer
|
|
2295 pshs b
|
|
2296 * MSN of B is last row-1 with partial sector
|
|
2297 lsrb
|
|
2298 lsrb
|
|
2299 lsrb
|
|
2300 lsrb Now B is last row-1
|
|
2301 addb #$23
|
|
2302 stb rownum
|
|
2303 lda ,s+ offset
|
|
2304 anda #$0f A=last col
|
|
2305 pshs a
|
|
2306 adda #$58 left most ASCII column
|
|
2307 sta asciicol new ASCII col
|
|
2308 puls a
|
|
2309 ldb #3 3 columns per hex byte
|
|
2310 mul
|
|
2311 addb #$25 1st hex col
|
|
2312 stb hexcol
|
|
2313 bra savebot
|
|
2314 botptr lda #$32 bottom row #
|
|
2315 sta rownum save
|
|
2316 leax $100,x new pointer
|
|
2317 savebot stx edbufptr save new pointer
|
|
2318 lbra revbyte do next byte
|
|
2319
|
|
2320 * Reset byte displayed in reverse video to normal video
|
|
2321
|
|
2322 reset lbsr normdisp set normal video
|
|
2323 lbra eddisply go display byte
|
|
2324
|
|
2325 * Move up a row on screen
|
|
2326
|
|
2327 moveup bsr reset reset reversed byte
|
|
2328 ldb seclen+1 partial sector?
|
|
2329 beq moveup1 no, bra
|
|
2330 lda rownum
|
|
2331 cmpa #$23 at top row now?
|
|
2332 beq moveup2 yes, bra
|
|
2333 moveup1 ldd edbufptr get data pointer
|
|
2334 subd #$10 move back 16 bytes
|
|
2335 std edbufptr save new pointer
|
|
2336 ldb edpos
|
|
2337 subb #$10 dec position counter by $10
|
|
2338 stb edpos
|
|
2339 dec rownum move up a row
|
|
2340 lda rownum get new row #
|
|
2341 cmpa #$23 above top row
|
|
2342 bhs updone no, go display next byte
|
|
2343 lda #$32 set to bottom row
|
|
2344 sta rownum
|
|
2345 ldd edbufptr get data pointer
|
|
2346 addd #$100 point to new byte
|
|
2347 std edbufptr and save
|
|
2348 updone lbra revbyte display next byte
|
|
2349
|
|
2350 moveup2 andb #$f0 MSN=row offset
|
|
2351 lda seclen+1 bytes read
|
|
2352 anda #$0f last col in last row
|
|
2353 cmpa edpos to left of current position?
|
|
2354 bhs moveup3 yes, bra
|
|
2355 subb #$10 else correct row offset
|
|
2356 moveup3 clra
|
|
2357 pshs b,a
|
|
2358 ldd edbufptr
|
|
2359 addd ,s+ add offset
|
|
2360 std edbufptr
|
|
2361 ldb edpos
|
|
2362 addb ,s
|
|
2363 stb edpos new position
|
|
2364 puls b
|
|
2365 lsrb
|
|
2366 lsrb
|
|
2367 lsrb
|
|
2368 lsrb row offset in LSNib
|
|
2369 addb #$23 calc new rownum
|
|
2370 stb rownum
|
|
2371 bra updone
|
|
2372
|
|
2373 * Move down a row on screen
|
|
2374
|
|
2375 movedn bsr reset reset reversed byte
|
|
2376 ldb seclen+1 partial sector?
|
|
2377 beq movedn1
|
|
2378 subb edpos
|
|
2379 cmpb #$10
|
|
2380 blo movedn2
|
|
2381 movedn1 ldd edbufptr get data pointer
|
|
2382 addd #$10 point 16 bytes ahead
|
|
2383 std edbufptr and save
|
|
2384 lda edpos
|
|
2385 adda #$10
|
|
2386 sta edpos
|
|
2387 inc rownum move down a row
|
|
2388 lda rownum check to see if below
|
|
2389 cmpa #$32 bottom row?
|
|
2390 lbls revbyte no, display next byte
|
|
2391 ldd edbufptr get data pointer
|
|
2392 subd #$100 reset to new byte
|
|
2393 std edbufptr save
|
|
2394 topptr lda #$23 yes, set for top row
|
|
2395 sta rownum save
|
|
2396 lbra revbyte display next byte
|
|
2397
|
|
2398 movedn2 clra
|
|
2399 ldb edpos
|
|
2400 decb
|
|
2401 andb #$f0 B = offset to first row
|
|
2402 pshs b,a
|
|
2403 ldd edbufptr
|
|
2404 subd ,s+ reset pointer
|
|
2405 std edbufptr
|
|
2406 ldb edpos
|
|
2407 subb ,s+ reset position counter
|
|
2408 stb edpos
|
|
2409 bra topptr
|
|
2410
|
|
2411
|
|
2412 * Start new SHELL
|
|
2413
|
|
2414 goshell lda oldecho get original echo status
|
|
2415 sta echobyte set up for change
|
|
2416 bsr echo set echo
|
|
2417 leax shell$,pcr point to 'SHELL' text
|
|
2418 ldy #$10 # pages in new param area
|
|
2419 leau i.o.buff,u new param area
|
|
2420 lda #$0d CR to
|
|
2421 sta ,u init param area
|
|
2422 ldd #$0000 language/type
|
|
2423 os9 f$fork fork to new shell
|
|
2424 lbcs error
|
|
2425 os9 f$wait wait for shell to die
|
|
2426 ldu usave pull data pointer
|
|
2427 leax inbuff,u
|
|
2428 stx buffptr reset buffer pointer
|
|
2429 clr echobyte echo off
|
|
2430 bsr echo set echo
|
|
2431 redo lbsr clrscr clear screen
|
|
2432 lbra disploop redo display
|
|
2433
|
|
2434 * Read in option section (32 bytes) of stdin path descriptor & turn echo on/off
|
|
2435
|
|
2436 echo pshs x save
|
|
2437 leas -32,s make room for data
|
|
2438 leax ,s point to buffer
|
|
2439 clra path = 0
|
|
2440 clrb SS.OPT
|
|
2441 os9 i$getstt read in 32 bytes
|
|
2442 lbcs error
|
|
2443 lda echobyte new echo status byte
|
|
2444 sta 4,x set echo
|
|
2445 clra path =0
|
|
2446 os9 i$setstt set new status
|
|
2447 lbcs error
|
|
2448 leas 32,s reset stack
|
|
2449 puls x,pc pull x & return
|
|
2450
|
|
2451 * Verify CRC on file, if it's a valid module.
|
|
2452
|
|
2453 verify lbsr movecmd position cursor
|
|
2454 leax vrfymess,pcr display message
|
|
2455 lbsr pstring
|
|
2456 ldu #$0000
|
|
2457 ldx #$0000
|
|
2458 stx fileln init file length
|
|
2459 lda inpath path #
|
|
2460 os9 i$seek rewind to LSN 0
|
|
2461 lbcs error
|
|
2462 ldu Usave restore U
|
|
2463 initCRC ldd #$FFFF initialize CRC bytes
|
|
2464 std crc
|
|
2465 stb crc+2
|
|
2466 leax i.o.buff,u input buffer
|
|
2467 ldy #8 8 bytes to read
|
|
2468 lda inpath path #
|
|
2469 os9 i$read read in 8 header bytes
|
|
2470 lbcs error exit on error
|
|
2471 cmpy #8 all read in ok?
|
|
2472 lbne verr no, error
|
|
2473 ldd ,x get 1st 2 bytes read in
|
|
2474 cmpa #$87 module sync byte?
|
|
2475 lbne verr no, error
|
|
2476 cmpb #$CD module sync byte?
|
|
2477 lbne verr no, error
|
|
2478 ldd 2,x get module length
|
|
2479 cmpd #$f minimum module length
|
|
2480 lbls verr exit if less
|
|
2481 subd #3 omit old CRC bytes
|
|
2482 std vmodlen module length less CRC
|
|
2483 addd fileln update file length
|
|
2484 std fileln read so far
|
|
2485
|
|
2486 * Check header parity by EOR'ing 1st 8 bytes to themselves, then taking
|
|
2487 * the one's complement. This is the 9th header byte, the parity check.
|
|
2488
|
|
2489 clra prepare for EORs
|
|
2490 ldb #8 # header bytes to EOR
|
|
2491 hedpar eora ,x+ EOR bytes read in
|
|
2492 decb done?
|
|
2493 bne hedpar no, bra
|
|
2494 coma A now is header parity
|
|
2495 sta ,x put in buffer
|
|
2496 ldy #1 1 char to write
|
|
2497 lda inpath path #
|
|
2498 os9 i$write write parity byte out
|
|
2499 lbcs error
|
|
2500 ldd vmodlen get # byte in module
|
|
2501 subd #9 9 bytes already read
|
|
2502 std vmodlen save
|
|
2503 leax i.o.buff,u start of header bytes
|
|
2504 ldy #9
|
|
2505 bsr CRCcal calculate CRC on 1st 9 bytes
|
|
2506 bytsleft lda inpath path #
|
|
2507 ldy #bufsiz # chars to read
|
|
2508 cmpy vmodlen buffer <= # bytes left to read?
|
|
2509 bls readmod yes, bra
|
|
2510 ldy vmodlen else, get exact # chars left to read
|
|
2511 readmod os9 i$read read in Y chars
|
|
2512 bcs verr exit on error
|
|
2513 sty bytsread save # bytes read in
|
|
2514 bsr CRCcal calc CRC on bytes just read in
|
|
2515 ldd vmodlen # bytes
|
|
2516 subd bytsread minus # bytes just read in
|
|
2517 std vmodlen save # byte left
|
|
2518 bne bytsleft do more if some left
|
|
2519 * Compare current position in file with # of bytes in module header
|
|
2520 * to prevent overwriting next module, in case module length changed.
|
|
2521 lda inpath path number
|
|
2522 ldb #ss.pos file position code
|
|
2523 os9 i$getstt get position in file
|
|
2524 tfr u,d D = position
|
|
2525 ldu Usave restore U
|
|
2526 cmpd fileln same as bytes read so far?
|
|
2527 bne verr no, exit
|
|
2528 com crc do one's
|
|
2529 com crc+1 complement on
|
|
2530 com crc+2 CRC accumulator
|
|
2531 leax crc,u point to accumulator
|
|
2532 ldy #3 3 bytes to write
|
|
2533 lda inpath path #
|
|
2534 os9 i$write write out 3 CRC bytes
|
|
2535 lbcs error
|
|
2536 ldd #3 update # bytes read/written
|
|
2537 addd fileln
|
|
2538 std fileln
|
|
2539 ldb #ss.eof test for EOF
|
|
2540 lda inpath
|
|
2541 os9 i$getstt
|
|
2542 lbcc initCRC bra if not EOF
|
|
2543 cmpb #e$eof EOF?
|
|
2544 lbne error no, exit
|
|
2545 * Redisplay LSN (may have changed with verify)
|
|
2546 lbsr seeksec read in sector again
|
|
2547 lbra disploop redo display
|
|
2548
|
|
2549 * Calculate CRC sub. Enter with Y = # of bytes to calculate CRC over.
|
|
2550 * X = address of 1st byte
|
|
2551
|
|
2552 CRCcal leau crc,u point to CRC bytes
|
|
2553 os9 f$crc calc CRC
|
|
2554 lbcs error
|
|
2555 ldu Usave restore U
|
|
2556 rts
|
|
2557
|
|
2558 * Verify error display sub
|
|
2559
|
|
2560 verr ldd #cmdpos position cursor
|
|
2561 lbsr movecurs at cmd position
|
|
2562 leax verrmess,pcr point to message
|
|
2563 lbsr pstring display it
|
|
2564 ldb #e$bmid bad module ID
|
|
2565 lbsr prterr display error #
|
|
2566 lbra getcmd exit
|
|
2567
|
|
2568 * 'Link' to a given module or display all modules if no name is input
|
|
2569
|
|
2570 linker tst infile linked already?
|
|
2571 lbne getcmd yes, exit
|
|
2572 ldd #0
|
|
2573 std fileln init vars
|
|
2574 std lmodlen "
|
|
2575 clr echobyte
|
|
2576 com echobyte
|
|
2577 lbsr echo echo on
|
|
2578 lbsr movecmd
|
|
2579 lbsr clrline
|
|
2580 leax linkmess,pcr prompt
|
|
2581 lbsr pstring print it
|
|
2582 leax infile,u point to buffer for module name
|
|
2583 ldy #30 max name length+1
|
|
2584 lbsr readlin read in module name
|
|
2585 clr echobyte
|
|
2586 lbsr echo echo off
|
|
2587 cmpy #1 any name entered?
|
|
2588 lbne parsmod yes, go find it
|
|
2589 * else list all module names
|
|
2590 clr infile flag => no modules linked
|
|
2591 leax linkhdr,pcr point to header
|
|
2592 lbsr wrtlin1 write it
|
|
2593 nxtmod ldd lmodlen current mod length
|
|
2594 addd fileln + cummulative lengths
|
|
2595 std fileln save
|
|
2596 tfr d,u point u to next module
|
|
2597 ldx #0
|
|
2598 lda inpath
|
|
2599 os9 i$seek
|
|
2600 bcs moderr
|
|
2601 ldu Usave restore U
|
|
2602 leax i.o.buff,u
|
|
2603 ldy #6 bytes to read
|
|
2604 os9 i$read
|
|
2605 bcs moderr
|
|
2606 ldd ,x++ get sync bytes
|
|
2607 cmpa #$87 OK?
|
|
2608 bne moderr1 no, exit
|
|
2609 cmpb #$CD OK?
|
|
2610 bne moderr1 no, exit
|
|
2611 leay i.o.buff,u
|
|
2612 ldd ,x++ get module length
|
|
2613 std lmodlen save
|
|
2614 ldd ,x++ offset to module name
|
|
2615 pshs d save
|
|
2616 ldd fileln current offset
|
|
2617 bsr convert2 convert D to ASCII
|
|
2618 lda #$20 space
|
|
2619 sta ,y+ put in buffer
|
|
2620 ldd lmodlen current module length
|
|
2621 bsr convert2 convert to ASCII
|
|
2622 lda #$20
|
|
2623 sta ,y+ insert space
|
|
2624 ldd fileln offset to mod start
|
|
2625 addd ,s++ add mod name offset
|
|
2626 tfr d,u U = offset to name
|
|
2627 ldx #0
|
|
2628 lda inpath
|
|
2629 os9 i$seek seek to module name
|
|
2630 lbcs error
|
|
2631 ldu Usave restore U
|
|
2632 tfr y,x point x to buffer
|
|
2633 ldy #29 max chars in name
|
|
2634 lda inpath
|
|
2635 os9 i$read
|
|
2636 lbcs error
|
|
2637 namend lda ,x+ find char w/ bit 7 set
|
|
2638 bpl namend
|
|
2639 anda #$7f clear bit 7
|
|
2640 sta -1,x
|
|
2641 lda #$0d CR
|
|
2642 sta ,x end output line
|
|
2643 leax i.o.buff,u buffer start
|
|
2644 lbsr wrtlin1
|
|
2645 bra nxtmod
|
|
2646
|
|
2647 convert2 lbsr convert1 put ASCII val of A in Y
|
|
2648 tfr b,a repeat for B
|
|
2649 lbra convert1 and return
|
|
2650
|
|
2651 moderr2 cmpb #e$eof
|
|
2652 bne moderr
|
|
2653 ldb #e$MNF module not found error
|
|
2654 bra moderr
|
|
2655 moderr1 ldb #E$BMID bad module ID error
|
|
2656 moderr clr infile flag => not linked
|
|
2657 cmpb #e$eof end of file?
|
|
2658 lbne error no, print error
|
|
2659 lbsr read1 wait for keypress
|
|
2660 leax inbuff,u
|
|
2661 stx buffptr reset buffer pointer for display
|
|
2662 lbra redo redo display
|
|
2663
|
|
2664 parsmod os9 f$prsnam
|
|
2665 lbcs error
|
|
2666 stb modnmlen save length of name
|
|
2667 decb name len -1
|
|
2668 lda b,x last char of name
|
|
2669 ora #$80 set bit 7
|
|
2670 sta b,x
|
|
2671 stx CRC save pointer
|
|
2672 ldu #0
|
|
2673 modloop ldx #0
|
|
2674 lda inpath
|
|
2675 os9 i$seek go to start of file
|
|
2676 lbcs error
|
|
2677 ldu Usave restore U
|
|
2678 leax i.o.buff,u buffer
|
|
2679 ldy #6 bytes to read in
|
|
2680 os9 i$read
|
|
2681 bcs moderr2
|
|
2682 ldd ,x++ sync bytes
|
|
2683 cmpa #$87 OK?
|
|
2684 bne moderr1
|
|
2685 cmpb #$CD OK?
|
|
2686 bne moderr1
|
|
2687 ldd ,x++ module length
|
|
2688 std lmodlen save
|
|
2689 ldd ,x mod name offset
|
|
2690 addd fileln d=true offset to name
|
|
2691 tfr d,u
|
|
2692 ldx #0
|
|
2693 lda inpath
|
|
2694 os9 i$seek seek to mod name
|
|
2695 bcs moderr2
|
|
2696 ldu Usave restore U
|
|
2697 leax i.o.buff,u buffer
|
|
2698 ldy #29 max chars in name
|
|
2699 os9 i$read read in name
|
|
2700 bcs moderr2
|
|
2701 tfr x,y
|
|
2702 ldx CRC point to desired name
|
|
2703 ldb modnmlen get len of name
|
|
2704 os9 f$cmpnam do they match?
|
|
2705 bcc newbase yes, bra
|
|
2706 ldd lmodlen no, check next
|
|
2707 addd fileln new offset
|
|
2708 std fileln
|
|
2709 tfr d,u
|
|
2710 bra modloop
|
|
2711
|
|
2712 * Set Offset to module. LSN is functionally set to 0.
|
|
2713
|
|
2714 newbase lda #$0d CR
|
|
2715 sta b,x delimit name
|
|
2716 decb
|
|
2717 lda b,x last char
|
|
2718 anda #$7f clr bit 7
|
|
2719 sta b,x
|
|
2720 ldd fileln get offset
|
|
2721 std offset
|
|
2722 ldd #0006
|
|
2723 leax LSN,u
|
|
2724 nbloop sta ,x+
|
|
2725 decb
|
|
2726 bne nbloop
|
|
2727 lbra readloop go read 1st 'LSN'
|
|
2728
|
|
2729 * Display module name and offset
|
|
2730
|
|
2731 prntmod ldd #modpos
|
|
2732 lbsr movecurs point to screen position
|
|
2733 leax modnmhdr,pcr mod name header
|
|
2734 lbsr pstring print it
|
|
2735 leax infile,u point to name
|
|
2736 lbsr wrtlin1 print it
|
|
2737 ldd #offpos 'offset' screen postion
|
|
2738 lbsr movecurs
|
|
2739 leax offmess,pcr
|
|
2740 lbsr pstring print 'Offset' label
|
|
2741 leay i.o.buff,u
|
|
2742 ldd offset
|
|
2743 lbsr convert2 convert offset to ASCII
|
|
2744 lda #$0d
|
|
2745 sta ,y delimit offset
|
|
2746 lbra writeout display it & return
|
|
2747
|
|
2748 * 'Unlink' named module and restore LSN to original file's LSN
|
|
2749
|
|
2750 unlinker tst infile linked?
|
|
2751 lbeq getcmd no, exit
|
|
2752 ldd #0008
|
|
2753 leax LSN,u
|
|
2754 unloop sta ,x+
|
|
2755 decb
|
|
2756 bne unloop
|
|
2757 ldd #modpos position cursor
|
|
2758 lbsr movecurs
|
|
2759 lbsr clrline erase module name
|
|
2760 lbsr clrline erase offset
|
|
2761 clr infile flag => no modules linked
|
|
2762 lbra readloop
|
|
2763
|
|
2764 * Toggle expert mode - edits and zaps of buffer are automatically written
|
|
2765
|
|
2766 expert tst xprtflag in expert mode now?
|
|
2767 beq xprton no, go turn it on
|
|
2768 clr xprtflag signal mode off
|
|
2769 ldd #xprtpos
|
|
2770 lbsr movecurs
|
|
2771 lbsr clrline erase label
|
|
2772 xprtout lbra getcmd
|
|
2773 xprton lbsr rusure Sure?
|
|
2774 bne xprtout no, exit
|
|
2775 com xprtflag signal xpert mode
|
|
2776 ldd #xprtpos
|
|
2777 lbsr movecurs position cursor
|
|
2778 leax xprtmess,pcr
|
|
2779 lbsr pstring display 'EXPERT'
|
|
2780 bra xprtout
|
|
2781
|
|
2782 help lbsr clrscr clear screen
|
|
2783 leax helper,pcr point to help message
|
|
2784 ldy #helpchrs length of message
|
|
2785 lbsr wrtlin2 print it
|
|
2786 leax i.o.buff,u
|
|
2787 lbsr Read1 get 1 byte
|
|
2788 lbra redo redo display
|
|
2789
|
|
2790 find
|
|
2791 clr echobyte
|
|
2792 com echobyte echo on
|
|
2793 lbsr echo
|
|
2794 lbsr movecmd
|
|
2795 lbsr clrline
|
|
2796 tst FHexAsc Hex or Ascii mode?
|
|
2797 bne charfind bra if Ascii
|
|
2798 leax findbyte,pcr
|
|
2799 lbsr pstring display prompt
|
|
2800 ldy #33 max chars to read + 1
|
|
2801 lbsr FRead
|
|
2802 cmpy #1 blank line entered?
|
|
2803 lbeq exitfind yes, exit find mode
|
|
2804 leay -1,y get rid of CR
|
|
2805 tfr y,d
|
|
2806 lsrb divide # bytes read by 2
|
|
2807 lbcs badfind bra if odd # read
|
|
2808 stb TargLen save # bytes in find string
|
|
2809 leau findstr,u point to storage area
|
|
2810 * Convert 2 bytes pointed to by X to object byte in A
|
|
2811 FConvert lbsr hexobjct
|
|
2812 lbcs badfind bra if invalid char
|
|
2813 sta ,u+ save byte
|
|
2814 leay -2,y all chars converted?
|
|
2815 bne FConvert no, bra
|
|
2816 ldu Usave restore U
|
|
2817 bra gofind
|
|
2818
|
|
2819 * Input a string of ASCII characters to search for
|
|
2820
|
|
2821 charfind leax findchar,pcr
|
|
2822 lbsr pstring display prompt
|
|
2823 ldy #17 max # of chars + 1
|
|
2824 lbsr FRead
|
|
2825 cmpy #1 only CR entered?
|
|
2826 lbeq exitfind yes, exit find mode
|
|
2827 tfr y,d # bytes read
|
|
2828 decb dump CR
|
|
2829 stb TargLen save length of target string
|
|
2830 leay findstr,u
|
|
2831 find20 lda ,x+ move target
|
|
2832 sta ,y+ string to storage area
|
|
2833 decb done?
|
|
2834 bne find20
|
|
2835
|
|
2836 * Check if byte from target string matches byte in buffer by EOR'ing the two.
|
|
2837 * If they match exactly, result is 0. If in 'char' search mode, EOR results
|
|
2838 * in bits 5 and/or 7 being set if 2 bytes differ only by case or bit 7 status
|
|
2839
|
|
2840 gofind
|
|
2841 *****************************
|
|
2842 * Added 01/08/90 (RAK)
|
|
2843 *
|
|
2844 clr echobyte echo off
|
|
2845 lbsr echo
|
|
2846 *
|
|
2847 * END of modification
|
|
2848 *****************************
|
|
2849 leax inbuff,u point to sector buffer
|
|
2850 find30 ldb seclen+1 # bytes in this sector
|
|
2851 leay findstr,u point to target string
|
|
2852 find50 lda ,y get 1st target byte
|
|
2853 eora ,x+ does it match?
|
|
2854 lbeq found1 yes, bra
|
|
2855 tst FHexAsc in 'char' search mode?
|
|
2856 beq find60 no, bra
|
|
2857 bita #%01011111 else, only bits 5 &/or 7 set?
|
|
2858 lbeq found1 bra if so
|
|
2859 find60 decb whole sector checked?
|
|
2860 find70 bne find50 no, bra
|
|
2861 * No match in this sector. Read in next sector.
|
|
2862
|
|
2863 ****************************************************
|
|
2864 * Modification (addition) by RAK 01/08/90
|
|
2865 * Read a character from std in to catch a break
|
|
2866 * key which allows aborting a <F>IND.
|
|
2867 * Note: "finderr2" resets the stack.
|
|
2868 *
|
|
2869 pshs d,x,y save registers
|
|
2870 clra std in
|
|
2871 ldb #SS.Ready
|
|
2872 os9 I$GetStt was there a key press?
|
|
2873 bcs NoKey no, skip read
|
|
2874 leax i.o.buff,u point to buffer
|
|
2875 lbsr Read1 get a key
|
|
2876 lda ,x get the key
|
|
2877 cmpa #5 break key?
|
|
2878 beq finderr2 yes, stop <F>ind
|
|
2879 NoKey puls d,x,y no, restore registers
|
|
2880 *
|
|
2881 * End of modification
|
|
2882 ****************************************************
|
|
2883
|
|
2884 bsr FNxtsec get next sector
|
|
2885 bra find30 back to loop
|
|
2886
|
|
2887 FNxtSec tst infile module linked?
|
|
2888 beq find75 no, bra
|
|
2889 ldd lmodlen else, get module length
|
|
2890 subd #1 now A = LSN of last sector
|
|
2891 cmpa LSN+2 was this last sector?
|
|
2892 beq finderr2 yes, bra
|
|
2893 find75 ldd lsn+1 else, get next sector
|
|
2894 addd #1 inc lsn
|
|
2895 std lsn+1
|
|
2896 bne find80 bra if no carry needed
|
|
2897 inc lsn else, do add in carry
|
|
2898 find80 lbsr lsnseek seek to next sector
|
|
2899 leax inbuff,u point to sector buffer
|
|
2900 stx buffptr save
|
|
2901 tst infile module linked?
|
|
2902 beq find256 no, bra
|
|
2903 ldd lmodlen linked mod length
|
|
2904 suba lsn+2 > $100 bytes left?
|
|
2905 bne find256 yes, bra
|
|
2906 tfr d,y else, set up for smaller read
|
|
2907 bra FRdSome
|
|
2908 find256 ldy #$100
|
|
2909 FRdSome lda inpath
|
|
2910 os9 i$read
|
|
2911 bcs finderr
|
|
2912 sty seclen save # bytes read
|
|
2913 rts
|
|
2914
|
|
2915 * Input byte or char string to find
|
|
2916
|
|
2917 FRead leax i.o.buff,u
|
|
2918 clra stdin
|
|
2919 os9 i$readln
|
|
2920 bcs cheksig3
|
|
2921 rts
|
|
2922
|
|
2923 ChekSig3 leas 2,s scratch return addr
|
|
2924 clr SgnlCode clear old signal
|
|
2925 cmpb #2 BREAK key?
|
|
2926 lbne error no, exit
|
|
2927 com FHexAsc yes, toggle Hex/Ascii flag
|
|
2928 lbra find
|
|
2929
|
|
2930 badfind ldu Usave restore U
|
|
2931 bsr beep
|
|
2932 lbra find
|
|
2933
|
|
2934 * Make a beep
|
|
2935 beep leax bell,pcr
|
|
2936 ldy #1
|
|
2937 lbra writeout beep & return
|
|
2938
|
|
2939 * If error reading next sector was EOF, then find was unsuccessful.
|
|
2940 * Re-read original sector and return to CMD: prompt
|
|
2941
|
|
2942 finderr cmpb #e$eof EOF?
|
|
2943 lbne error no, exit
|
|
2944 finderr2 lds Ssave dump return addr
|
|
2945 ldd oldlsn original LSN
|
|
2946 std lsn
|
|
2947 lda oldlsn+2
|
|
2948 sta lsn+2
|
|
2949 lbsr seeksec read original LSN
|
|
2950 sty seclen save bytes read
|
|
2951 bsr beep
|
|
2952
|
|
2953 exitfind lbra exitzap exit
|
|
2954
|
|
2955 found1 pshs b # bytes left in sector + 1
|
|
2956 decb # save bytes left if this search unsuccessful
|
|
2957 stb FBytes and for 'Next' command
|
|
2958 * Save pointer (X) to next byte in buffer for search to resume if this search
|
|
2959 * is unsuccessful or for 'Next' command
|
|
2960 stx findptr pointer for next search
|
|
2961 ldb TargLen #bytes in target string
|
|
2962 find90 decb whole string checked?
|
|
2963 beq matched yes, match found
|
|
2964 dec ,s else, more bytes left in sector?
|
|
2965 beq find130 no, read in next
|
|
2966 find100 leay 1,y else, point to next target byte
|
|
2967 lda ,y target byte
|
|
2968 eora ,x+ match?
|
|
2969 beq find90 yes, loop back for more
|
|
2970 tst FhexAsc in 'char' search mode?
|
|
2971 beq find110 no, bra
|
|
2972 bita #%01011111 only bits 5 &/or 7 set?
|
|
2973 beq find90 yes, bra
|
|
2974 find110 leas 1,s else, dump counter
|
|
2975 * Restore buffer pointer (X) to byte after 1st byte found that matched in
|
|
2976 * search just completed (unsuccessfully). Restore B to # bytes left in
|
|
2977 * sector at that point. Y = start of target string.
|
|
2978 ldx findptr ready for new search
|
|
2979 find120 leay findstr,u
|
|
2980 ldb FBytes bytes left in sector
|
|
2981 lbra find70
|
|
2982
|
|
2983 * Read in next sector to complete test for match
|
|
2984 find130 leas 1,s dump counter
|
|
2985 pshs b,y save counter & target pointer
|
|
2986 lbsr FNxtSec read in next sector
|
|
2987 puls b,y restore counter & target pointer
|
|
2988 lda seclen+1 # bytes in this sector
|
|
2989 pshs a save
|
|
2990 bra find100 continue search
|
|
2991
|
|
2992 * Successful Find
|
|
2993 * Must determine whether target string starts in last LSN read or
|
|
2994 * next-to-last, for display.
|
|
2995
|
|
2996 matched leas 1,s dump counter
|
|
2997 lda lsn+2
|
|
2998 cmpa oldlsn+2 did we have to read a new sector?
|
|
2999 beq match40 no, bra
|
|
3000 cmpx findptr does target start in last sector read?
|
|
3001 bhs match30 yes, bra
|
|
3002 match10 ldd lsn+1 else, set to re-read previous LSN
|
|
3003 subd #1
|
|
3004 std lsn+1
|
|
3005 cmpd #$ffff
|
|
3006 bne match20
|
|
3007 dec lsn
|
|
3008 match20 lbsr seeksec re-read sector
|
|
3009 sty seclen save bytes read ($100)
|
|
3010 match30 ldd lsn update 'oldlsn'
|
|
3011 std oldlsn
|
|
3012 lda lsn+2
|
|
3013 sta oldlsn+2
|
|
3014 match40 lbsr display (re)display sector
|
|
3015 * Get offset of found string from beginning of LSN
|
|
3016 ldd findptr addr 1 byte past start of found string
|
|
3017 subd #1 D = addr of string
|
|
3018 std edbufptr save for display
|
|
3019 subd buffptr D (B) = offset from buff start
|
|
3020 * Now LS nib of B = col #, MS nib = row # for display
|
|
3021 pshs b
|
|
3022 andb #$0f mask off MS nibble
|
|
3023 pshs b
|
|
3024 addb #$58 add offset for ascii dump column
|
|
3025 stb asciicol
|
|
3026 puls b
|
|
3027 lda #3 3 screen columns per hex byte dump
|
|
3028 mul
|
|
3029 addb #$25 add offset for hex dump column
|
|
3030 stb hexcol
|
|
3031 puls b
|
|
3032 andb #$f0 mask off LS nibble
|
|
3033 lsrb
|
|
3034 lsrb
|
|
3035 lsrb
|
|
3036 lsrb B now = row #
|
|
3037 addb #$23 add offset
|
|
3038 stb rownum
|
|
3039 lbsr revdisp reverse video
|
|
3040 lbsr eddisply display 1st byte in found string
|
|
3041 lbsr normdisp normal video
|
|
3042 clr rownum
|
|
3043 lbra exitfind done *** This line changed from 'lbra getcmd' in Version 2.0 ***
|
|
3044
|
|
3045 * Locate next occurrence of string located with 'Find' command.
|
|
3046 * Search starts where 'Find' left off, unless LSN has since changed,
|
|
3047 * in which case search starts at start of present LSN
|
|
3048
|
|
3049 next tst TargLen is there a string to find?
|
|
3050 lbeq getcmd no, exit
|
|
3051 lbsr movecmd
|
|
3052 leax srchmess,pcr
|
|
3053 lbsr pstring display "Searching"
|
|
3054 ldx findptr pointer into buffer where 'find' left off
|
|
3055 lbeq gofind 0 => begin at start of LSN
|
|
3056 lbra find120
|
|
3057
|
|
3058 * Display file size and input new value
|
|
3059
|
|
3060 diddle lbsr movecmd
|
|
3061 leax lenmess,pcr
|
|
3062 lbsr pstring
|
|
3063 com zeroflag suppress leading zeroes
|
|
3064 leay i.o.buff,u
|
|
3065 ldd FileLen MSB of file length
|
|
3066 lbsr convert1 convert 1st nibble to ascii
|
|
3067 tfr b,a
|
|
3068 lbsr convert1 do 2nd nibble
|
|
3069 ldd FileLen+2 LSB of file length
|
|
3070 lbsr convert1 do 3rd nibble
|
|
3071 clr zeroflag stop suppressing leading zeroes
|
|
3072 tfr b,a
|
|
3073 lbsr convert1
|
|
3074 ldd #$2020
|
|
3075 std ,y++
|
|
3076 std ,y++
|
|
3077 leax i.o.buff,u
|
|
3078 stx bytsread temp storage
|
|
3079 tfr y,d
|
|
3080 subd bytsread get # chars to display
|
|
3081 tfr d,y setup for i$writln
|
|
3082 lbsr writeout
|
|
3083 leax newmess,pcr
|
|
3084 lbsr pstring display message
|
|
3085 ldy #9 max chars to read
|
|
3086 lbsr MakeHex convert them to object
|
|
3087 bcs diddle
|
|
3088 ldd #cmd1pos
|
|
3089 lbsr movecurs
|
|
3090 lbsr rusure10 ask 'Sure?'
|
|
3091 lbne getcmd
|
|
3092 ldx HexBuff MSB of new file length
|
|
3093 ldu HexBuff+2 LSB ""
|
|
3094 ldb #ss.size
|
|
3095 lda inpath
|
|
3096 os9 i$setstt set new file length
|
|
3097 lbcs error
|
|
3098 stx FileLen
|
|
3099 stu FileLen+2
|
|
3100 ldu Usave
|
|
3101 * Make sure LSN displayed is still within file (in case file shortened).
|
|
3102 * If not, reset display to show last LSN with new file length.
|
|
3103 lda FileLen MSB of file length
|
|
3104 cmpa lsn is max LSN > current LSN?
|
|
3105 blo RstLSN no, bra
|
|
3106 bne diddled else, bra if LSN not last
|
|
3107 ldd FileLen+1 check LSB's (MSB's equal)
|
|
3108 cmpd lsn+1
|
|
3109 bls RstLSN10
|
|
3110 diddled lbra readloop re-read sector & display
|
|
3111
|
|
3112 RstLSN sta lsn reset MSB of lsn
|
|
3113 ldd FileLen+1 get LSB's of last sector
|
|
3114 RstLSN10 tst FileLen+3 need to correct?
|
|
3115 bne RstLSN20
|
|
3116 subd #1
|
|
3117 RstLSN20 std lsn+1 reset LSB's of lsn
|
|
3118 * If D was 0, need to 'borrow'
|
|
3119 cmpd #$ffff was D 0?
|
|
3120 bne diddled no, bra
|
|
3121 dec lsn else, correct LSB of LSN
|
|
3122 bra diddled
|
|
3123
|
|
3124 push lda StackCnt # of LSN's on stack
|
|
3125 cmpa #MaxStack more room?
|
|
3126 bhs full no, bra
|
|
3127 ldb #3 3 bytes per entry
|
|
3128 mul
|
|
3129 leax Stack,u start of stack
|
|
3130 leax b,x add offset
|
|
3131 ldd lsn
|
|
3132 std ,x++ put current LSN on stack
|
|
3133 lda lsn+2
|
|
3134 sta ,x
|
|
3135 * Now that LSN is on stack, check to make sure it isn't the last one
|
|
3136 * pushed, as well. If so, don't increment StackCnt, which effectively
|
|
3137 * cancels the Push operation.
|
|
3138 tst StackCnt any sectors thus far?
|
|
3139 beq pushOK no, do push
|
|
3140 cmpa -3,x Is LSB of LSN the same as previous LSN pushed?
|
|
3141 bne pushOK no, bra
|
|
3142 ldd lsn check MS bytes of LSN
|
|
3143 cmpa -5,x do they match?
|
|
3144 beq pushed yes, exit without completing push
|
|
3145 pushOK inc StackCnt complete push
|
|
3146 pushed lbra getcmd exit
|
|
3147
|
|
3148 * Stack is full - display message
|
|
3149 full lbsr movecmd
|
|
3150 leax fullmess,pcr
|
|
3151 lbsr pstring display
|
|
3152 lbsr read1 wait for keypress
|
|
3153 bra pushed
|
|
3154
|
|
3155 remove lda StackCnt # sectors on stack
|
|
3156 beq pushed exit if none
|
|
3157 ldb #3 3 bytes per entry
|
|
3158 mul offset to END of entry
|
|
3159 subb #3 no B = offset to entry
|
|
3160 leax Stack,u
|
|
3161 leax b,x point to entry
|
|
3162 ldd ,x++ get MS bytes of LSN
|
|
3163 std lsn
|
|
3164 lda ,x get LS byte of LSN
|
|
3165 sta lsn+2 reset LSN
|
|
3166 dec StackCnt 1 less sector on stack
|
|
3167 lbra readloop and go read in new sector
|
|
3168
|
|
3169 emod
|
|
3170 dEDend equ *
|
|
3171 end
|
|
3172
|
|
3173 ENDC
|