comparison level1/cmds/help.asm @ 943:7814ddcf32b1

Rewrote in assembly for size
author boisy
date Tue, 21 Jan 2003 16:58:55 +0000
parents c155aac72190
children 5c80e10a5d03
comparison
equal deleted inserted replaced
942:24fe8305e1ed 943:7814ddcf32b1
1 ******************************************************************** 1 ********************************************************************
2 * help - Show help for commands 2 * Help - Show help
3 * 3 *
4 * $Id$ 4 * $Id$
5 * 5 *
6 * Ed. Comments Who YY/MM/DD 6 * Ed. Comments Who YY/MM/DD
7 * ------------------------------------------------------------------ 7 * ------------------------------------------------------------------
8 * 5 From Tandy OS-9 Level Two Vr. 2.00.01 8 * 6 Rewrote in assembler for size BGP 03/01/21
9 9
10 nam help 10 nam Help
11 ttl Show help for commands 11 ttl Show help
12
13 * Disassembled 02/07/23 22:09:55 by Disasm v1.6 (C) 1988 by RML
14 12
15 ifp1 13 ifp1
16 use defsfile 14 use defsfile
17 endc 15 endc
18 16
17 COLWIDTH set 10
18
19 tylg set Prgrm+Objct 19 tylg set Prgrm+Objct
20 atrv set ReEnt+rev 20 atrv set ReEnt+rev
21 rev set $01 21 rev set $01
22 edition set 5 22 edition set 6
23 23
24 L0000 mod eom,name,tylg,atrv,start,size 24 mod eom,name,tylg,atrv,start,size
25 25
26 org 0 26 name fcs /Help/
27 u0000 rmb 1
28 u0001 rmb 1
29 u0002 rmb 1
30 u0003 rmb 1
31 u0004 rmb 1
32 u0005 rmb 1
33 u0006 rmb 2
34 u0008 rmb 2
35 u000A rmb 1
36 u000B rmb 2
37 u000D rmb 4
38 u0011 rmb 15
39 u0020 rmb 14
40 u002E rmb 1
41 u002F rmb 38
42 u0055 rmb 14
43 u0063 rmb 5
44 u0068 rmb 10
45 u0072 rmb 123
46 u00ED rmb 2
47 u00EF rmb 2
48 u00F1 rmb 2
49 u00F3 rmb 2
50 u00F5 rmb 2
51 u00F7 rmb 2
52 u00F9 rmb 2
53 u00FB rmb 2
54 u00FD rmb 2
55 u00FF rmb 337
56 u0250 rmb 2
57 u0252 rmb 58
58 u028C rmb 1
59 u028D rmb 3
60 u0290 rmb 6036
61 size equ .
62
63 name fcs /help/
64 fcb edition 27 fcb edition
65 28
66 L0012 fcb $A6 & 29 org 0
67 fcb $A0 30 exitvec rmb 2
68 fcb $A7 ' 31 ncols rmb 1
69 fcb $C0 @ 32 colcopy rmb 1
70 fcb $30 0 33 bufptr rmb 2
71 fcb $1F 34 path rmb 1
72 fcb $26 & 35 same rmb 1
73 fcb $F8 x 36 prmptr rmb 2
74 fcb $39 9 37 endptr rmb 2
75 start equ * 38 length rmb 2
76 pshs y 39 colbuff rmb 128
77 pshs u 40 userbuf rmb 128
78 clra 41 parbuff rmb 256
79 clrb 42 filbuff rmb 256
80 L0021 sta ,u+ 43 stack rmb 350
81 decb 44 size equ .
82 bne L0021 45
83 ldx ,s 46 * Ask user for subjects
84 leau ,x 47 askuser leax askusr2,pcr
85 leax >$02A4,x 48 stx <exitvec
86 pshs x 49 leax prompt1,pcr
87 leay >L15AA,pcr 50 lda #1
88 ldx ,y++ 51 ldy #128
89 beq L003C 52 os9 I$WritLn
90 bsr L0012 53 askusr2 leax prompt2,pcr
91 ldu $02,s 54 lda #1
92 L003C leau >u00FF,u 55 ldy #prompt2l
93 ldx ,y++ 56 os9 I$Write
94 beq L0047 57 clra
95 bsr L0012 58 ldy #127
96 clra 59 leax userbuf,u
97 L0047 cmpu ,s 60 os9 I$ReadLn
98 beq L0050 61 lbcc askusr3
99 sta ,u+ 62 cmpb #E$EOF
100 bra L0047 63 lbne exit
101 L0050 ldu $02,s 64 lbra exitok
102 ldd ,y++ 65
103 beq L005D 66 * Show topics (if user enters nothing at prompt)
104 leax >L0000,pcr 67 showtopics
105 lbsr L0160 68 lda #1
106 L005D ldd ,y++ 69 leax >avail,pcr
107 beq L0066 70 ldy #128
108 leax ,u 71 os9 I$WritLn
109 lbsr L0160 72 lbsr seek0 rewind the file
110 L0066 leas $04,s 73 resetcl lda <ncols
111 puls x 74 sta <colcopy
112 stx >u0290,u 75 leax colbuff,u
113 sty >u0250,u 76 stx <bufptr
114 ldd #$0001 77 readlp lbsr readlin
115 std >u028C,u 78 bcc readlp2
116 leay >u0252,u 79 lbsr printcr
117 leax ,s 80 bra askusr2
118 lda ,x+ 81 readlp2 leax filbuff,u
119 L0082 ldb >u028D,u 82 lda ,x+
120 cmpb #$1D 83 cmpa #'@
121 beq L00DE 84 bne readlp
122 L008A cmpa #$0D 85 ldy <bufptr
123 beq L00DE 86 strcpy clra
124 cmpa #$20 87 clrb
125 beq L0096 88 pshs d
126 cmpa #$2C 89 strc0 lda ,x+
127 bne L009A 90 cmpa #C$SPAC
128 L0096 lda ,x+ 91 ble strc1
129 bra L008A 92 sta ,y+
130 L009A cmpa #$22 93 ldd ,s
131 beq L00A2 94 addd #$0001
132 cmpa #$27 95 std ,s
133 bne L00C0 96 bra strc0 do again
134 L00A2 stx ,y++ 97 strc1 puls d
135 inc >u028D,u 98 dec <colcopy
136 pshs a 99 beq doeol
137 L00AA lda ,x+ 100 cmpb #COLWIDTH
138 cmpa #$0D 101 bge onesp
139 beq L00B4 102 pshs b
140 cmpa ,s 103 ldb #COLWIDTH
141 bne L00AA 104 subb ,s+
142 L00B4 puls b 105 fcb $8C
143 clr -$01,x 106 onesp ldb #1
144 cmpa #$0D 107 lda #C$SPAC
145 beq L00DE 108 spacelp sta ,y+
146 lda ,x+ 109 decb
147 bra L0082 110 bne spacelp
148 L00C0 leax -$01,x 111 sty <bufptr
149 stx ,y++ 112 bra readlp
150 leax $01,x 113 doeol sty <bufptr
151 inc >u028D,u 114 lda #C$CR
152 L00CA cmpa #$0D 115 sta ,y
153 beq L00DA 116 leax colbuff,u
154 cmpa #$20 117 lda #1
155 beq L00DA 118 ldy #128
156 cmpa #$2C 119 os9 I$WritLn
157 beq L00DA 120 bra resetcl
158 lda ,x+ 121
159 bra L00CA 122 askusr3 lda ,x
160 L00DA clr -$01,x 123 cmpa #C$CR
161 bra L0082 124 beq showtopics
162 L00DE leax >u0250,u 125 lbsr seek0 rewind the file
163 pshs x 126 bra entrya
164 ldd >u028C,u 127
165 pshs b,a 128 start pshs d,x,y
166 leay ,u 129 lda #8
167 bsr L00F8 130 sta <ncols assume 8 columns
168 lbsr L018C 131 lda #1
169 clr ,-s 132 ldb #SS.ScSiz
170 clr ,-s 133 os9 I$GetStt
171 lbsr L159E 134 bcs start2
172 L00F8 leax >$02A4,y 135 cmpx #9
173 stx >$029A,y 136 ble start1 A = 1 here
174 sts >$028E,y 137 tfr x,d
175 sts >$029C,y 138 clra
176 ldd #$FF82 139 * Divide screen X by COLWIDTH to determine number of columns
177 L010D leax d,s 140 Div10 subb #COLWIDTH
178 cmpx >$029C,y 141 bcs start1
179 bcc L011F 142 inca
180 cmpx >$029A,y 143 bra Div10
181 bcs L0139 144 start1 sta <ncols
182 stx >$029C,y 145
183 L011F rts 146 start2 leax exit,pcr
184 L0120 fcc "**** STACK OVERFLOW ****" 147 stx <exitvec
185 fcb C$CR 148 puls d,x,y
186 149 tfr d,y length of parameters
187 L0139 leax <L0120,pcr 150 bsr open
188 ldb #$CF 151 bcs exit
189 pshs b 152 cmpy #$0001 no parameters?
190 lda #$02 153 lbeq askuser
191 ldy #$0064 154 entrya
192 L0146 os9 I$WritLn 155 pshs u
193 clr ,-s 156 leau parbuff,u point to buffer
194 lbsr L15A4 157 entry0 lda ,x+
195 L014E ldd >$028E,y 158 cmpa #C$SPAC is it a space (between parameters?)
196 subd >$029C,y 159 beq entry1
197 rts 160 cmpa #C$CR
198 ldd >$029C,y 161 bne nocr
199 subd >$029A,y 162 entry1 clra yes, null it
200 L015F rts 163 nocr sta ,u+ store in buffer
201 L0160 pshs x 164 leay -1,y decrement length counter
202 leax d,y 165 bne entry0
203 leax d,x 166 clr ,u
204 pshs x 167 tfr u,y
205 L0168 ldd ,y++ 168 puls u
206 leax d,u 169 sty <endptr store end of all parameters
207 ldd ,x 170 leax parbuff,u load address of parbuff into X
208 addd $02,s 171 stx <prmptr save parameter pointer
209 std ,x 172 entry2 lda ,x
210 cmpy ,s 173 bne strlen
211 bne L0168 174 leax 1,x
212 leas $04,s 175 bra rered2
213 L0179 rts 176 strlen pshs x
214 L017A pshs u 177 ldy #0 initialise count
215 ldd #$FFBA 178 strl0 lda ,x+ is it a char > null
216 lbsr L010D 179 cmpa #C$SPAC
217 clra 180 ble strl1 nope, exit
218 clrb 181 leay 1,y yep, increment count
219 pshs b,a 182 bra strl0 do again
220 lbsr L159E 183 strl1 puls x
221 lbra L0719 184 sty <length store it
222 L018C pshs u 185
223 ldd #$FFB6 186 reread bsr readlin read line from helpfile file
224 lbsr L010D 187 bcc rered0
225 leas -$02,s 188 cmpb #E$EOF did we find end-of-file?
226 leax >L017A,pcr 189 lbeq unknown yep, tell user we don't know his command
227 pshs x 190 rered0 lbsr compare compare user number with 1st 3 chars of line
228 lbsr L156E 191 beq reread compare returns 0 if failed
229 leas $02,s 192 bsr print else go print the helpfile line
230 ldd #$0080 193 bcc rered1 exit if I$WritLn problem
231 pshs b,a 194 cmpb #E$EOF
232 ldd #$0001 195 bcs exit
233 pshs b,a 196 rered1 ldd <length get length
234 lbsr L0884 197 ldx prmptr get parameter pointer
235 leas $04,s 198 leax d,x add length to it
236 leax >L077F,pcr 199 leax 1,x increment past null byte
237 pshs x 200 rered2 clrb
238 leax >L076F,pcr 201 cmpx <endptr
239 pshs x 202 blt rered25
240 lbsr L09E6 203 jmp [exitvec,u]
241 leas $04,s 204 rered25 stx <prmptr store it
242 std <u0001 205 rered3 lbsr seek0 rewind the file
243 bne L01D0 206 bra entry2 loop around again
244 leax >L0781,pcr 207
245 pshs x 208 exitok clrb
246 lbsr L04B7 209 exit os9 F$Exit
247 leas $02,s 210
248 L01D0 ldd #$1000 211 open pshs x
249 ldx <u0001 212 leax helpfile,pcr point to file name
250 std $0B,x 213 lda #READ. read mode
251 clra 214 os9 I$Open
252 clrb 215 bcs open0
253 std <u00FD 216 sta <path store path number
254 ldd $06,s 217 open0 puls x,pc
255 cmpd #$0001 218
256 lbne L02D5 219 readlin pshs x,y
257 clra 220 lda <path get file path number
258 clrb 221 ldy #256 read max 256 bytes
259 std <u00F3 222 leax filbuff,u into memory pointed to by filbuff
260 leax >$010C,y 223 os9 I$ReadLn
261 pshs x 224 puls x,y,pc
262 leax >L079C,pcr 225
263 pshs x 226 print pshs x,y,a
264 lbsr L0A38 227 print2 bsr readlin
265 leas $04,s 228 bcs printout
266 L01FA clra 229 print3 lda ,x
267 clrb 230 cmpa #'@
268 std <u00FB 231 beq printout
269 std <u00FD 232 lda #1 STDOUT
270 leax >$010C,y 233 leax filbuff,u into memory pointed to by filbuff
271 pshs x 234 ldy #256 max of 256 chars
272 leax >L07AE,pcr 235 os9 I$WritLn
273 pshs x 236 bra print2
274 lbsr L0A5A 237 printout
275 leas $04,s 238 bsr printcr
276 leax >$0005,y 239 puls x,y,a,pc
277 pshs x 240
278 lbsr L0A7A 241 printcr
279 std ,s++ 242 lda #1
280 lbeq L028C 243 leax return,pcr
281 leax >$0005,y 244 ldy #256 max of 256 chars
282 stx ,s 245 os9 I$WritLn
283 leau ,x 246 rts
284 ldb ,u 247
285 cmpb #$3F 248 compare pshs x,y
286 beq L0232 249 clr <same comparison indicator
287 ldb ,u 250 leay filbuff,u point to file buffer
288 bne L0238 251 lda ,y+ get first char
289 L0232 lbsr L0502 252 cmpa #'@ @ sign?
290 lbra L0293 253 bne comp2 branch if not
291 L0238 ldb ,u 254 ldx prmptr get address of next cmd line param
292 cmpb #$20 255 comp0 lda ,x+ get char from cmd line
293 lbeq L0293 256 beq comp1 is it null (end of param)
294 bra L0286 257 ldb ,y+
295 L0242 leau u0001,u 258 anda #$DF
296 L0244 ldb ,u 259 andb #$DF
297 cmpb #$20 260 pshs a
298 beq L024E 261 cmpb ,s+
299 ldb ,u 262 bne comp2 not same, exit
300 bne L0242 263 inc <same yep, in comparison counter
301 L024E ldb ,u 264 bra comp0 'round again
302 cmpb #$20 265 comp1 lda ,y
303 bne L0273 266 cmpa #C$CR was it end of string in helpfile file?
304 ldd <u00FD 267 bne comp2
305 addd #$0001 268 tst <same test indicator
306 std <u00FD 269 puls x,y,pc
307 clra 270 comp2 clr <same clear the counter
308 clrb 271 puls x,y,pc
309 stb ,u 272
310 ldd ,s 273 unknown
311 pshs b,a 274 ldx prmptr put pointer into parameter buffer in X
312 lbsr L02E8 275 lda #1 STDOUT
313 leas $02,s 276 ldy <length get length of user's param
314 lbsr L04E9 277 os9 I$Write
315 leau u0001,u 278 lbcs exit
316 tfr u,d 279 leax unkmsg,pcr point to message
317 std ,s 280 ldy #unkmsgl num of chars to print
318 bra L0286 281 lda #1 to STDOUT
319 L0273 ldd ,s 282 os9 I$WritLn
320 pshs b,a 283 lbcs exit exit if problem with I$Write
321 lbsr L02E8 284 ldx prmptr put point into parameter buffer in X
322 leas $02,s 285 ldd <length get length of user's param
323 lbsr L04E9 286 leax d,x add to X
324 ldd <u00FB 287 leax 1,x increment past null byte
325 addd #$0001 288 clrb
326 std <u00FB 289 cmpx endptr
327 L0286 ldd <u00FB 290 lblt unk2
328 beq L0244 291 jmp [exitvec,u]
329 bra L0293 292 unk2 stx <prmptr store X
330 L028C ldd <u00F3 293 bsr seek0 rewind file
331 addd #$0001 294 lbra entry2
332 std <u00F3 295
333 L0293 ldd <u00F3 296 seek0 pshs x,u
334 lbeq L01FA 297 lda <path
335 bra L02DE 298 ldx #0
336 L029B ldd $06,s 299 ldu #0
337 cmpd #$0001 300 os9 I$Seek
338 ble L02AA 301 puls x,u,pc
339 ldd <u00FD 302
340 addd #$0001 303 helpfile fcc "/DD/SYS/helpmsg"
341 std <u00FD 304 fcb 0
342 L02AA ldx $08,s 305 unkmsg fcc /: no help available/
343 leax $02,x 306 return fcb C$CR
344 stx $08,s 307 unkmsgl equ *-unkmsg
345 ldb [,x] 308 prompt1 fcc /Hit [ESC] to exit/
346 cmpb #$2D 309 fcb C$CR
347 bne L02CC 310 prompt2 fcc /What Subject(s)? /
348 ldx [<$08,s] 311 prompt2l equ *-prompt2
349 ldb $01,x 312 avail fcc /Help available on:/
350 cmpb #$3F 313 fcb C$CR
351 bne L02C4 314
352 lbsr L0502 315 emod
353 bra L02D5 316 eom equ *
354 L02C4 leax >L07C0,pcr 317 end
355 pshs x
356 bra L02D1
357 L02CC ldd [<$08,s]
358 pshs b,a
359 L02D1 bsr L02E8
360 leas $02,s
361 L02D5 ldd $06,s
362 addd #$FFFF
363 std $06,s
364 bne L029B
365 L02DE ldd <u0001
366 pshs b,a
367 lbsr L0DF5
368 lbra L04B0
369 L02E8 pshs u
370 ldd #$FFB2
371 lbsr L010D
372 leas -$02,s
373 leax >L07C5,pcr
374 pshs x
375 leax >$00A5,y
376 pshs x
377 lbsr L1143
378 leas $04,s
379 ldd $06,s
380 pshs b,a
381 leax >$00A5,y
382 pshs x
383 lbsr L115B
384 leas $04,s
385 leax >L07CE,pcr
386 pshs x
387 leax >$00A5,y
388 pshs x
389 lbsr L115B
390 leas $04,s
391 leax >L07D2,pcr
392 pshs x
393 leax >$00A5,y
394 pshs x
395 lbsr L09E6
396 leas $04,s
397 std <u0003
398 beq L0347
399 lbsr L0731
400 ldd <u0003
401 pshs b,a
402 lbsr L13BA
403 leas $02,s
404 lbra L0719
405 L0347 clra
406 clrb
407 std <u00F9
408 clra
409 clrb
410 pshs b,a
411 clra
412 clrb
413 pshs b,a
414 pshs b,a
415 ldd <u0001
416 pshs b,a
417 lbsr L0B44
418 leas $08,s
419 cmpd #$FFFF
420 lbne L0463
421 leax >L07D4,pcr
422 lbra L045C
423 L036D ldu $06,s
424 leax >$0055,y
425 stx ,s
426 clra
427 clrb
428 std <u00F5
429 ldd #$0040
430 ldx ,s
431 leax $01,x
432 stx ,s
433 stb -$01,x
434 lbeq L0463
435 bra L03B0
436 L038A ldb ,u+
437 sex
438 pshs b,a
439 lbsr L0F1B
440 std ,s
441 ldx $02,s
442 leax $01,x
443 stx $02,s
444 ldb -$01,x
445 sex
446 pshs b,a
447 lbsr L0F1B
448 leas $02,s
449 cmpd ,s++
450 beq L03B0
451 ldd <u00F5
452 addd #$0001
453 std <u00F5
454 L03B0 ldb ,u
455 beq L03B8
456 ldd <u00F5
457 beq L038A
458 L03B8 ldb [,s]
459 cmpb #$0D
460 beq L03C5
461 ldd <u00F5
462 addd #$0001
463 std <u00F5
464 L03C5 ldd <u00F5
465 lbne L0463
466 ldd <u00F9
467 addd #$0001
468 std <u00F9
469 clra
470 clrb
471 std <u00F7
472 ldd <u00FD
473 beq L042F
474 ldu $06,s
475 bra L03F5
476 L03DE leax >$010C,y
477 pshs x
478 ldb ,u
479 sex
480 pshs b,a
481 lbsr L0F1B
482 std ,s
483 lbsr L0D04
484 leas $04,s
485 leau u0001,u
486 L03F5 ldb ,u
487 bne L03DE
488 leax >$010C,y
489 pshs x
490 leax >L07EA,pcr
491 pshs x
492 lbsr L0A5A
493 leas $04,s
494 lbsr L04E9
495 bra L042F
496 L040F ldb <u0055
497 cmpb #$40
498 beq L0428
499 leax >$010C,y
500 pshs x
501 leax >$0055,y
502 pshs x
503 lbsr L0A5A
504 leas $04,s
505 bra L042F
506 L0428 ldd <u00F7
507 addd #$0001
508 std <u00F7
509 L042F ldd <u0001
510 pshs b,a
511 ldd #$0050
512 pshs b,a
513 leax >$0055,y
514 pshs x
515 lbsr L0AB5
516 leas $06,s
517 std -$02,s
518 beq L044B
519 ldd <u00F7
520 beq L040F
521 L044B ldd <u00F7
522 bne L0463
523 ldx <u0001
524 ldd $06,x
525 clra
526 andb #$20
527 beq L0463
528 leax >L07ED,pcr
529 L045C pshs x
530 lbsr L04B7
531 leas $02,s
532 L0463 ldd <u0001
533 pshs b,a
534 ldd #$0050
535 pshs b,a
536 leax >$0055,y
537 pshs x
538 lbsr L0AB5
539 leas $06,s
540 std -$02,s
541 beq L0481
542 ldd <u00F9
543 lbeq L036D
544 L0481 ldd <u00F9
545 bne L04B2
546 ldx <u0001
547 ldd $06,x
548 clra
549 andb #$20
550 beq L0498
551 leax >L0805,pcr
552 pshs x
553 bsr L04B7
554 leas $02,s
555 L0498 leax >$010C,y
556 pshs x
557 ldd $08,s
558 pshs b,a
559 lbsr L0A5A
560 leas $04,s
561 leax >L081D,pcr
562 pshs x
563 lbsr L0A38
564 L04B0 leas $02,s
565 L04B2 bsr L04E9
566 lbra L0719
567 L04B7 pshs u
568 ldd #$FFB8
569 lbsr L010D
570 leax >$0119,y
571 pshs x
572 leax >L0831,pcr
573 pshs x
574 lbsr L0A5A
575 leas $04,s
576 leax >$0119,y
577 pshs x
578 ldd $06,s
579 pshs b,a
580 lbsr L0A5A
581 leas $04,s
582 clra
583 clrb
584 pshs b,a
585 lbsr L159E
586 lbra L0719
587 L04E9 pshs u
588 ldd #$FFB8
589 lbsr L010D
590 leax >$010C,y
591 pshs x
592 ldd #$000D
593 pshs b,a
594 lbsr L0D04
595 lbra L06BA
596 L0502 pshs u
597 ldd #$FFB0
598 lbsr L010D
599 leas -$04,s
600 leax >L0838,pcr
601 pshs x
602 lbsr L0A38
603 leas $02,s
604 lbsr L071D
605 std <u00EF
606 ldd <u00EF
607 pshs b,a
608 ldd #$000A
609 lbsr L1294
610 std <u00EF
611 clra
612 clrb
613 pshs b,a
614 clra
615 clrb
616 pshs b,a
617 pshs b,a
618 ldd <u0001
619 pshs b,a
620 lbsr L0B44
621 leas $08,s
622 cmpd #$FFFF
623 lbne L05CF
624 leax >L084C,pcr
625 pshs x
626 lbsr L04B7
627 leas $02,s
628 lbra L05CF
629 L0551 ldb <u0005
630 cmpb #$40
631 lbne L05D3
632 leau >$0005,y
633 leax >$00C3,y
634 stx $02,s
635 clra
636 clrb
637 std <u00ED
638 bra L057D
639 L0569 ldb ,u
640 ldx $02,s
641 leax $01,x
642 stx $02,s
643 stb -$01,x
644 ldd <u00ED
645 addd #$0001
646 std <u00ED
647 subd #$0001
648 L057D leau u0001,u
649 ldb ,u
650 cmpb #$20
651 bgt L0569
652 clra
653 clrb
654 stb [<$02,s]
655 leax >$010C,y
656 pshs x
657 leax >$00C3,y
658 pshs x
659 lbsr L0A5A
660 leas $04,s
661 ldd <u00F1
662 addd #$0001
663 std <u00F1
664 cmpd <u00EF
665 bge L05CC
666 ldd <u00ED
667 bra L05C0
668 L05AB leax >$010C,y
669 pshs x
670 ldd #$0020
671 pshs b,a
672 lbsr L0D04
673 leas $04,s
674 ldd ,s
675 addd #$0001
676 L05C0 std ,s
677 ldd ,s
678 cmpd #$000A
679 blt L05AB
680 bra L05D3
681 L05CC lbsr L04E9
682 L05CF clra
683 clrb
684 std <u00F1
685 L05D3 ldd <u0001
686 pshs b,a
687 ldd #$0050
688 pshs b,a
689 leax >$0005,y
690 pshs x
691 lbsr L0AB5
692 leas $06,s
693 std -$02,s
694 lbne L0551
695 ldx <u0001
696 ldd $06,x
697 clra
698 andb #$20
699 beq L0601
700 leax >L0862,pcr
701 pshs x
702 lbsr L04B7
703 leas $02,s
704 L0601 leax >L0882,pcr
705 pshs x
706 leax >L087A,pcr
707 pshs x
708 lbsr L09E6
709 leas $04,s
710 std <u0003
711 lbeq L06B4
712 lbra L068C
713 L061B leax >$00CD,y
714 pshs x
715 lbsr L06BE
716 std ,s++
717 lbeq L068C
718 leau >$00CD,y
719 clra
720 clrb
721 std <u00ED
722 bra L0653
723 L0634 leax >$010C,y
724 pshs x
725 ldb ,u+
726 sex
727 pshs b,a
728 lbsr L0F1B
729 std ,s
730 lbsr L0D04
731 leas $04,s
732 ldd <u00ED
733 addd #$0001
734 std <u00ED
735 subd #$0001
736 L0653 ldb ,u
737 cmpb #$2E
738 bne L0634
739 ldd <u00F1
740 cmpd <u00EF
741 bge L0685
742 ldd <u00ED
743 bra L0679
744 L0664 leax >$010C,y
745 pshs x
746 ldd #$0020
747 pshs b,a
748 lbsr L0D04
749 leas $04,s
750 ldd ,s
751 addd #$0001
752 L0679 std ,s
753 ldd ,s
754 cmpd #$000A
755 blt L0664
756 bra L068C
757 L0685 lbsr L04E9
758 clra
759 clrb
760 std <u00F1
761 L068C ldd <u0003
762 pshs b,a
763 ldd #$0001
764 pshs b,a
765 ldd #$0020
766 pshs b,a
767 leax >$00CD,y
768 pshs x
769 lbsr L0AFE
770 leas $08,s
771 std -$02,s
772 lbne L061B
773 ldd <u0003
774 pshs b,a
775 lbsr L13BA
776 leas $02,s
777 L06B4 lbsr L04E9
778 lbsr L04E9
779 L06BA leas $04,s
780 puls pc,u
781 L06BE pshs u
782 ldd #$FFBE
783 lbsr L010D
784 leas -$02,s
785 clra
786 clrb
787 std ,s
788 ldb [<$06,s]
789 beq L0717
790 ldu $06,s
791 bra L06D7
792 L06D5 leau u0001,u
793 L06D7 ldb ,u
794 cmpb #$2E
795 bne L06D5
796 ldb ,u
797 lbeq L06D5
798 ldb ,u
799 cmpb #$7E
800 lbgt L06D5
801 ldb ,u+
802 cmpb #$2E
803 bne L0717
804 ldb ,u
805 cmpb #$68
806 beq L06FD
807 ldb ,u
808 cmpb #$48
809 bne L0717
810 L06FD leau u0001,u
811 ldb ,u
812 clra
813 andb #$7F
814 stb ,u
815 cmpb #$70
816 beq L0710
817 ldb ,u
818 cmpb #$50
819 bne L0717
820 L0710 ldd ,s
821 addd #$0001
822 std ,s
823 L0717 ldd ,s
824 L0719 leas $02,s
825 puls pc,u
826 L071D pshs y,x
827 lda #$01
828 ldb #$26
829 os9 I$GetStt
830 bcc L072D
831 ldd #$0050
832 bra L072F
833 L072D tfr x,d
834 L072F puls pc,y,x
835 L0731 pshs u
836 ldd #$FFB6
837 lbsr L010D
838 bra L0752
839 L073B ldb <u0005
840 cmpb #$40
841 beq L0752
842 leax >$010C,y
843 pshs x
844 leax >$0005,y
845 pshs x
846 lbsr L0A5A
847 leas $04,s
848 L0752 ldd <u0003
849 pshs b,a
850 ldd #$0050
851 pshs b,a
852 leax >$0005,y
853 pshs x
854 lbsr L0AB5
855 leas $06,s
856 std -$02,s
857 bne L073B
858 lbsr L04E9
859 puls pc,u
860
861 L076F fcc "/dd/sys/helpmsg"
862 fcb $00
863 L077F fcc "r"
864 fcb $00
865 L0781 fcc "can't open /dd/sys/helpmsg"
866 fcb $00
867 L079C fcc "Hit [ESC] to exit"
868 fcb $00
869 L07AE fcc "What Subject(s)? "
870 fcb $00
871 L07C0 fcc "help"
872 fcb $00
873 L07C5 fcc "/dd/sys/"
874 fcb $00
875 L07CE fcc ".hp"
876 fcb $00
877 L07D2 fcc "r"
878 fcb $00
879 L07D4 fcc "can't reset help file"
880 fcb $00
881 L07EA fcc " -"
882 fcb $00
883 L07ED fcc "error reading help file"
884 fcb $00
885 L0805 fcc "error reading help file"
886 fcb $00
887 L081D fcc ": no help available"
888 fcb $00
889 L0831 fcc "help: "
890 fcb $00
891 L0838 fcc "Help available on: "
892 fcb $00
893 L084C fcc "can't reset help file"
894 fcb $00
895 L0862 fcc "error reading help file"
896 fcb $00
897 L087A fcc "/dd/sys"
898 fcb $00
899 L0882 fcc "d"
900 fcb $00
901 L0884 lda $03,s
902 ldb #$8A
903 ldx $04,s
904 os9 I$SetStt
905 lbra L1599
906 L0890 pshs u
907 leau >$00FF,y
908 L0896 ldd u0006,u
909 clra
910 andb #$03
911 lbeq L0907
912 L089F leau u000D,u
913 pshs u
914 leax >$01CF,y
915 cmpx ,s++
916 bhi L0896
917 ldd #$00C8
918 std >$029E,y
919 lbra L090B
920 puls pc,u
921 L08B7 pshs u
922 ldu $08,s
923 bne L08C1
924 bsr L0890
925 tfr d,u
926 L08C1 stu -$02,s
927 beq L090B
928 ldd $04,s
929 std u0008,u
930 ldx $06,s
931 ldb $01,x
932 cmpb #$2B
933 beq L08D9
934 ldx $06,s
935 ldb $02,x
936 cmpb #$2B
937 bne L08DF
938 L08D9 ldd u0006,u
939 L08DB orb #$03
940 bra L08FD
941 L08DF ldd u0006,u
942 pshs b,a
943 ldb [<$08,s]
944 cmpb #$72
945 beq L08F1
946 ldb [<$08,s]
947 cmpb #$64
948 bne L08F6
949 L08F1 ldd #$0001
950 bra L08F9
951 L08F6 ldd #$0002
952 L08F9 ora ,s+
953 orb ,s+
954 L08FD std u0006,u
955 ldd u0002,u
956 addd u000B,u
957 std u0004,u
958 std ,u
959 L0907 tfr u,d
960 puls pc,u
961 L090B clra
962 clrb
963 puls pc,u
964 L090F pshs u
965 ldu $04,s
966 leas -$04,s
967 clra
968 clrb
969 std ,s
970 ldx $0A,s
971 ldb $01,x
972 sex
973 tfr d,x
974 bra L0940
975 L0922 ldx $0A,s
976 ldb $02,x
977 cmpb #$2B
978 bne L092F
979 ldd #$0007
980 bra L0937
981 L092F ldd #$0004
982 bra L0937
983 L0934 ldd #$0003
984 L0937 std ,s
985 bra L0950
986 L093B leax $04,s
987 lbra L09A8
988 L0940 stx -$02,s
989 beq L0950
990 cmpx #$0078
991 beq L0922
992 cmpx #$002B
993 beq L0934
994 bra L093B
995 L0950 ldb [<$0A,s]
996 sex
997 tfr d,x
998 lbra L09B5
999 L0959 ldd ,s
1000 orb #$01
1001 bra L099B
1002 L095F ldd ,s
1003 orb #$02
1004 pshs b,a
1005 pshs u
1006 lbsr L13AB
1007 leas $04,s
1008 std $02,s
1009 cmpd #$FFFF
1010 beq L098A
1011 ldd #$0002
1012 pshs b,a
1013 clra
1014 clrb
1015 pshs b,a
1016 pshs b,a
1017 ldd $08,s
1018 pshs b,a
1019 lbsr L1481
1020 leas $08,s
1021 bra L09CF
1022 L098A ldd ,s
1023 orb #$02
1024 pshs b,a
1025 pshs u
1026 lbsr L13CC
1027 bra L09A2
1028 L0997 ldd ,s
1029 orb #$81
1030 L099B pshs b,a
1031 pshs u
1032 lbsr L13AB
1033 L09A2 leas $04,s
1034 std $02,s
1035 bra L09CF
1036 L09A8 leas -$04,x
1037 L09AA ldd #$00CB
1038 std >$029E,y
1039 clra
1040 clrb
1041 bra L09D1
1042 L09B5 cmpx #$0072
1043 lbeq L0959
1044 cmpx #$0061
1045 lbeq L095F
1046 cmpx #$0077
1047 beq L098A
1048 cmpx #$0064
1049 beq L0997
1050 bra L09AA
1051 L09CF ldd $02,s
1052 L09D1 leas $04,s
1053 puls pc,u
1054 pshs u
1055 clra
1056 clrb
1057 pshs b,a
1058 ldd $08,s
1059 pshs b,a
1060 ldd $08,s
1061 pshs b,a
1062 lbra L0A31
1063 L09E6 pshs u
1064 ldd $06,s
1065 pshs b,a
1066 ldd $06,s
1067 pshs b,a
1068 lbsr L090F
1069 leas $04,s
1070 tfr d,u
1071 cmpu #$FFFF
1072 bne L0A01
1073 clra
1074 clrb
1075 bra L0A36
1076 L0A01 clra
1077 clrb
1078 bra L0A29
1079 pshs u
1080 ldd $08,s
1081 pshs b,a
1082 lbsr L0DF5
1083 leas $02,s
1084 ldd $06,s
1085 pshs b,a
1086 ldd $06,s
1087 pshs b,a
1088 lbsr L090F
1089 leas $04,s
1090 tfr d,u
1091 stu -$02,s
1092 bge L0A27
1093 clra
1094 clrb
1095 bra L0A36
1096 L0A27 ldd $08,s
1097 L0A29 pshs b,a
1098 ldd $08,s
1099 pshs b,a
1100 pshs u
1101 L0A31 lbsr L08B7
1102 leas $06,s
1103 L0A36 puls pc,u
1104 L0A38 pshs u
1105 leax >$010C,y
1106 pshs x
1107 ldd $06,s
1108 pshs b,a
1109 bsr L0A5A
1110 leas $04,s
1111 leax >$010C,y
1112 pshs x
1113 ldd #$000D
1114 pshs b,a
1115 lbsr L0D04
1116 leas $04,s
1117 puls pc,u
1118 L0A5A pshs u
1119 ldu $04,s
1120 leas -$01,s
1121 bra L0A70
1122 L0A62 ldd $07,s
1123 pshs b,a
1124 ldb $02,s
1125 sex
1126 pshs b,a
1127 lbsr L0D04
1128 leas $04,s
1129 L0A70 ldb ,u+
1130 stb ,s
1131 bne L0A62
1132 leas $01,s
1133 puls pc,u
1134 L0A7A pshs u,b,a
1135 ldu $06,s
1136 bra L0A84
1137 L0A80 ldd ,s
1138 stb ,u+
1139 L0A84 leax >$00FF,y
1140 pshs x
1141 lbsr L0F4E
1142 leas $02,s
1143 std ,s
1144 cmpd #$000D
1145 beq L0A9F
1146 ldd ,s
1147 cmpd #$FFFF
1148 bne L0A80
1149 L0A9F ldd ,s
1150 cmpd #$FFFF
1151 bne L0AAB
1152 clra
1153 clrb
1154 bra L0AB1
1155 L0AAB clra
1156 clrb
1157 stb ,u
1158 ldd $06,s
1159 L0AB1 leas $02,s
1160 puls pc,u
1161 L0AB5 pshs u
1162 ldu $06,s
1163 leas -$04,s
1164 ldd $08,s
1165 std ,s
1166 bra L0ACF
1167 L0AC1 ldd $02,s
1168 ldx ,s
1169 leax $01,x
1170 stx ,s
1171 stb -$01,x
1172 cmpb #$0D
1173 beq L0AE8
1174 L0ACF tfr u,d
1175 leau -u0001,u
1176 std -$02,s
1177 ble L0AE8
1178 ldd $0C,s
1179 pshs b,a
1180 lbsr L0F4E
1181 leas $02,s
1182 std $02,s
1183 cmpd #$FFFF
1184 bne L0AC1
1185 L0AE8 clra
1186 clrb
1187 stb [,s]
1188 ldd $02,s
1189 cmpd #$FFFF
1190 bne L0AF8
1191 clra
1192 clrb
1193 bra L0AFA
1194 L0AF8 ldd $08,s
1195 L0AFA leas $04,s
1196 puls pc,u
1197 L0AFE pshs u
1198 ldu $04,s
1199 leas -$06,s
1200 clra
1201 clrb
1202 bra L0B35
1203 L0B08 ldd $0C,s
1204 std $04,s
1205 bra L0B24
1206 L0B0E ldd <$10,s
1207 pshs b,a
1208 lbsr L0F4E
1209 leas $02,s
1210 std ,s
1211 cmpd #$FFFF
1212 beq L0B3E
1213 ldd ,s
1214 stb ,u+
1215 L0B24 ldd $04,s
1216 addd #$FFFF
1217 std $04,s
1218 subd #$FFFF
1219 bgt L0B0E
1220 ldd $02,s
1221 addd #$0001
1222 L0B35 std $02,s
1223 ldd $02,s
1224 cmpd $0E,s
1225 blt L0B08
1226 L0B3E ldd $02,s
1227 leas $06,s
1228 puls pc,u
1229 L0B44 pshs u
1230 ldu $04,s
1231 leas -$06,s
1232 cmpu #$0000
1233 beq L0B57
1234 ldd u0006,u
1235 clra
1236 andb #$03
1237 bne L0B5D
1238 L0B57 ldd #$FFFF
1239 lbra L0C80
1240 L0B5D ldd u0006,u
1241 anda #$80
1242 clrb
1243 std -$02,s
1244 bne L0B70
1245 pshs u
1246 lbsr L10A2
1247 leas $02,s
1248 lbra L0C46
1249 L0B70 ldd u0006,u
1250 anda #$01
1251 clrb
1252 std -$02,s
1253 beq L0B8F
1254 pshs u
1255 lbsr L0E2F
1256 leas $02,s
1257 ldd u0006,u
1258 anda #$FE
1259 std u0006,u
1260 ldd u0002,u
1261 addd u000B,u
1262 std u0004,u
1263 lbra L0C44
1264 L0B8F ldd ,u
1265 cmpd u0004,u
1266 lbcc L0C46
1267 leax $02,s
1268 pshs x
1269 leax $0E,s
1270 lbsr L1247
1271 ldx <$10,s
1272 lbra L0C13
1273 L0BA7 leax $02,s
1274 pshs x
1275 ldd $02,x
1276 pshs b,a
1277 ldd ,x
1278 pshs b,a
1279 pshs u
1280 lbsr L0C9B
1281 leas $02,s
1282 lbsr L11CE
1283 lbsr L1247
1284 L0BC0 ldd u000B,u
1285 lbsr L122E
1286 ldd $02,x
1287 pshs b,a
1288 ldd ,x
1289 pshs b,a
1290 leax $06,s
1291 ldd $02,x
1292 pshs b,a
1293 ldd ,x
1294 pshs b,a
1295 bsr L0BDD
1296 neg <u0000
1297 neg <u0000
1298 L0BDD puls x
1299 lbsr L11E3
1300 bge L0BEB
1301 leax $06,s
1302 lbsr L1207
1303 bra L0BED
1304 L0BEB leax $06,s
1305 L0BED lbsr L11E3
1306 blt L0C20
1307 ldd $04,s
1308 addd ,u
1309 std ,s
1310 cmpd u0002,u
1311 bcs L0C20
1312 ldd ,s
1313 cmpd u0004,u
1314 bcc L0C20
1315 ldd ,s
1316 std ,u
1317 ldd u0006,u
1318 andb #$EF
1319 std u0006,u
1320 lbra L0C7E
1321 bra L0C20
1322 L0C13 stx -$02,s
1323 lbeq L0BA7
1324 cmpx #$0001
1325 lbeq L0BC0
1326 L0C20 ldd <$10,s
1327 cmpd #$0001
1328 bne L0C42
1329 leax $0C,s
1330 pshs x
1331 ldd $02,x
1332 pshs b,a
1333 ldd ,x
1334 pshs b,a
1335 ldd u0004,u
1336 subd ,u
1337 lbsr L122E
1338 lbsr L11CE
1339 lbsr L1247
1340 L0C42 ldd u0004,u
1341 L0C44 std ,u
1342 L0C46 ldd u0006,u
1343 andb #$EF
1344 std u0006,u
1345 ldd <$10,s
1346 pshs b,a
1347 leax $0E,s
1348 ldd $02,x
1349 pshs b,a
1350 ldd ,x
1351 pshs b,a
1352 ldd u0008,u
1353 pshs b,a
1354 lbsr L1481
1355 leas $08,s
1356 ldd $02,x
1357 pshs b,a
1358 ldd ,x
1359 pshs b,a
1360 fcb $8D,$04
1361 fcb $FF,$FF,$FF
1362 fcb $FF,$35,$10
1363 L0C72 lbsr L11E3
1364 bne L0C7E
1365 ldd #$FFFF
1366 bra L0C80
1367 L0C7E clra
1368 clrb
1369 L0C80 leas $06,s
1370 puls pc,u
1371 pshs u
1372 clra
1373 clrb
1374 pshs b,a
1375 clra
1376 clrb
1377 pshs b,a
1378 pshs b,a
1379 ldd $0A,s
1380 pshs b,a
1381 lbsr L0B44
1382 leas $08,s
1383 puls pc,u
1384 L0C9B pshs u
1385 ldu $04,s
1386 beq L0CA8
1387 ldd u0006,u
1388 clra
1389 andb #$03
1390 bne L0CBB
1391 L0CA8 fdb $8d04
1392 fcb $FF,$FF
1393 fdb $FFFF,$3510
1394 L0CAE leau >$0292,y
1395 pshs u
1396 lbsr L1247
1397 puls pc,u
1398 L0CBB ldd u0006,u
1399 anda #$80
1400 clrb
1401 std -$02,s
1402 bne L0CCB
1403 pshs u
1404 lbsr L10A2
1405 leas $02,s
1406 L0CCB ldd #$0001
1407 pshs b,a
1408 clra
1409 clrb
1410 pshs b,a
1411 pshs b,a
1412 ldd u0008,u
1413 pshs b,a
1414 lbsr L1481
1415 leas $08,s
1416 ldd $02,x
1417 pshs b,a
1418 ldd ,x
1419 pshs b,a
1420 ldd u0006,u
1421 anda #$01
1422 clrb
1423 std -$02,s
1424 beq L0CF4
1425 ldd u0002,u
1426 bra L0CF6
1427 L0CF4 ldd u0004,u
1428 L0CF6 pshs b,a
1429 ldd ,u
1430 subd ,s++
1431 lbsr L122E
1432 lbsr L11B9
1433 puls pc,u
1434 L0D04 pshs u
1435 ldu $06,s
1436 ldd u0006,u
1437 anda #$80
1438 andb #$22
1439 cmpd #$8002
1440 beq L0D28
1441 ldd u0006,u
1442 clra
1443 andb #$22
1444 cmpd #$0002
1445 lbne L0E40
1446 pshs u
1447 lbsr L10A2
1448 leas $02,s
1449 L0D28 ldd u0006,u
1450 clra
1451 andb #$04
1452 beq L0D64
1453 ldd #$0001
1454 pshs b,a
1455 leax $07,s
1456 pshs x
1457 ldd u0008,u
1458 pshs b,a
1459 ldd u0006,u
1460 clra
1461 andb #$40
1462 beq L0D49
1463 leax >L1471,pcr
1464 bra L0D4D
1465 L0D49 leax >L1458,pcr
1466 L0D4D tfr x,d
1467 tfr d,x
1468 jsr ,x
1469 leas $06,s
1470 cmpd #$FFFF
1471 bne L0DA5
1472 ldd u0006,u
1473 orb #$20
1474 std u0006,u
1475 lbra L0E40
1476 L0D64 ldd u0006,u
1477 anda #$01
1478 clrb
1479 std -$02,s
1480 bne L0D74
1481 pshs u
1482 lbsr L0E5D
1483 leas $02,s
1484 L0D74 ldd ,u
1485 addd #$0001
1486 std ,u
1487 subd #$0001
1488 tfr d,x
1489 ldd $04,s
1490 stb ,x
1491 ldd ,u
1492 cmpd u0004,u
1493 bcc L0D9A
1494 ldd u0006,u
1495 clra
1496 andb #$40
1497 beq L0DA5
1498 ldd $04,s
1499 cmpd #$000D
1500 bne L0DA5
1501 L0D9A pshs u
1502 lbsr L0E5D
1503 std ,s++
1504 lbne L0E40
1505 L0DA5 ldd $04,s
1506 puls pc,u
1507 pshs u
1508 ldu $04,s
1509 ldd $06,s
1510 pshs b,a
1511 pshs u
1512 ldd #$0008
1513 lbsr L130A
1514 pshs b,a
1515 lbsr L0D04
1516 leas $04,s
1517 ldd $06,s
1518 pshs b,a
1519 pshs u
1520 lbsr L0D04
1521 lbra L0F17
1522 L0DCC pshs u,b,a
1523 leau >$00FF,y
1524 clra
1525 clrb
1526 std ,s
1527 bra L0DE2
1528 L0DD8 tfr u,d
1529 leau u000D,u
1530 pshs b,a
1531 bsr L0DF5
1532 leas $02,s
1533 L0DE2 ldd ,s
1534 addd #$0001
1535 std ,s
1536 subd #$0001
1537 cmpd #$0010
1538 blt L0DD8
1539 lbra L0E59
1540 L0DF5 pshs u
1541 ldu $04,s
1542 leas -$02,s
1543 cmpu #$0000
1544 beq L0E05
1545 ldd u0006,u
1546 bne L0E0B
1547 L0E05 ldd #$FFFF
1548 lbra L0E59
1549 L0E0B ldd u0006,u
1550 clra
1551 andb #$02
1552 beq L0E1A
1553 pshs u
1554 bsr L0E2F
1555 leas $02,s
1556 bra L0E1C
1557 L0E1A clra
1558 clrb
1559 L0E1C std ,s
1560 ldd u0008,u
1561 pshs b,a
1562 lbsr L13BA
1563 leas $02,s
1564 clra
1565 clrb
1566 std u0006,u
1567 ldd ,s
1568 bra L0E59
1569 L0E2F pshs u
1570 ldu $04,s
1571 beq L0E40
1572 ldd u0006,u
1573 clra
1574 andb #$22
1575 cmpd #$0002
1576 beq L0E45
1577 L0E40 ldd #$FFFF
1578 puls pc,u
1579 L0E45 ldd u0006,u
1580 anda #$80
1581 clrb
1582 std -$02,s
1583 bne L0E55
1584 pshs u
1585 lbsr L10A2
1586 leas $02,s
1587 L0E55 pshs u
1588 bsr L0E5D
1589 L0E59 leas $02,s
1590 puls pc,u
1591 L0E5D pshs u
1592 ldu $04,s
1593 leas -$04,s
1594 ldd u0006,u
1595 anda #$01
1596 clrb
1597 std -$02,s
1598 bne L0E8F
1599 ldd ,u
1600 cmpd u0004,u
1601 beq L0E8F
1602 clra
1603 clrb
1604 pshs b,a
1605 pshs u
1606 lbsr L0C9B
1607 leas $02,s
1608 ldd $02,x
1609 pshs b,a
1610 ldd ,x
1611 pshs b,a
1612 ldd u0008,u
1613 pshs b,a
1614 lbsr L1481
1615 leas $08,s
1616 L0E8F ldd ,u
1617 subd u0002,u
1618 std $02,s
1619 lbeq L0F07
1620 ldd u0006,u
1621 anda #$01
1622 clrb
1623 std -$02,s
1624 lbeq L0F07
1625 ldd u0006,u
1626 clra
1627 andb #$40
1628 beq L0EDE
1629 ldd u0002,u
1630 bra L0ED6
1631 L0EAF ldd $02,s
1632 pshs b,a
1633 ldd ,u
1634 pshs b,a
1635 ldd u0008,u
1636 pshs b,a
1637 lbsr L1471
1638 leas $06,s
1639 std ,s
1640 cmpd #$FFFF
1641 bne L0ECC
1642 leax $04,s
1643 bra L0EF6
1644 L0ECC ldd $02,s
1645 subd ,s
1646 std $02,s
1647 ldd ,u
1648 addd ,s
1649 L0ED6 std ,u
1650 ldd $02,s
1651 bne L0EAF
1652 bra L0F07
1653 L0EDE ldd $02,s
1654 pshs b,a
1655 ldd u0002,u
1656 pshs b,a
1657 ldd u0008,u
1658 pshs b,a
1659 lbsr L1458
1660 leas $06,s
1661 cmpd $02,s
1662 beq L0F07
1663 bra L0EF8
1664 L0EF6 leas -$04,x
1665 L0EF8 ldd u0006,u
1666 orb #$20
1667 std u0006,u
1668 ldd u0004,u
1669 std ,u
1670 ldd #$FFFF
1671 bra L0F17
1672 L0F07 ldd u0006,u
1673 ora #$01
1674 std u0006,u
1675 ldd u0002,u
1676 std ,u
1677 addd u000B,u
1678 std u0004,u
1679 clra
1680 clrb
1681 L0F17 leas $04,s
1682 puls pc,u
1683 L0F1B pshs u
1684 ldd $04,s
1685 leax >$01D0,y
1686 leax d,x
1687 ldb ,x
1688 clra
1689 andb #$04
1690 beq L0F4A
1691 ldd $04,s
1692 clra
1693 andb #$DF
1694 bra L0F4C
1695 pshs u
1696 ldd $04,s
1697 leax >$01D0,y
1698 leax d,x
1699 ldb ,x
1700 clra
1701 andb #$02
1702 beq L0F4A
1703 ldd $04,s
1704 orb #$20
1705 bra L0F4C
1706 L0F4A ldd $04,s
1707 L0F4C puls pc,u
1708 L0F4E pshs u
1709 ldu $04,s
1710 beq L0F9A
1711 ldd u0006,u
1712 anda #$01
1713 clrb
1714 std -$02,s
1715 bne L0F9A
1716 ldd ,u
1717 cmpd u0004,u
1718 bcc L0F76
1719 ldd ,u
1720 addd #$0001
1721 std ,u
1722 subd #$0001
1723 tfr d,x
1724 ldb ,x
1725 clra
1726 lbra L10A0
1727 L0F76 pshs u
1728 lbsr L0FE9
1729 lbra L109E
1730 pshs u
1731 ldu $06,s
1732 beq L0F9A
1733 ldd u0006,u
1734 clra
1735 andb #$01
1736 beq L0F9A
1737 ldd $04,s
1738 cmpd #$FFFF
1739 beq L0F9A
1740 ldd ,u
1741 cmpd u0002,u
1742 bhi L0F9F
1743 L0F9A ldd #$FFFF
1744 puls pc,u
1745 L0F9F ldd ,u
1746 addd #$FFFF
1747 std ,u
1748 tfr d,x
1749 ldd $04,s
1750 stb ,x
1751 ldd $04,s
1752 puls pc,u
1753 pshs u
1754 ldu $04,s
1755 leas -$04,s
1756 pshs u
1757 lbsr L0F4E
1758 leas $02,s
1759 std $02,s
1760 cmpd #$FFFF
1761 beq L0FD4
1762 pshs u
1763 lbsr L0F4E
1764 leas $02,s
1765 std ,s
1766 cmpd #$FFFF
1767 bne L0FD9
1768 L0FD4 ldd #$FFFF
1769 bra L0FE5
1770 L0FD9 ldd $02,s
1771 pshs b,a
1772 ldd #$0008
1773 lbsr L1321
1774 addd ,s
1775 L0FE5 leas $04,s
1776 puls pc,u
1777 L0FE9 pshs u
1778 ldu $04,s
1779 leas -$02,s
1780 ldd u0006,u
1781 anda #$80
1782 andb #$31
1783 cmpd #$8001
1784 beq L100F
1785 ldd u0006,u
1786 clra
1787 andb #$31
1788 cmpd #$0001
1789 lbne L1088
1790 pshs u
1791 lbsr L10A2
1792 leas $02,s
1793 L100F leax >$00FF,y
1794 pshs x
1795 cmpu ,s++
1796 bne L102C
1797 ldd u0006,u
1798 clra
1799 andb #$40
1800 beq L102C
1801 leax >$010C,y
1802 pshs x
1803 lbsr L0E2F
1804 leas $02,s
1805 L102C ldd u0006,u
1806 clra
1807 andb #$08
1808 beq L1058
1809 ldd u000B,u
1810 pshs b,a
1811 ldd u0002,u
1812 pshs b,a
1813 ldd u0008,u
1814 pshs b,a
1815 ldd u0006,u
1816 clra
1817 andb #$40
1818 beq L104C
1819 leax >L1448,pcr
1820 bra L1050
1821 L104C leax >L1427,pcr
1822 L1050 tfr x,d
1823 tfr d,x
1824 jsr ,x
1825 bra L106A
1826 L1058 ldd #$0001
1827 pshs b,a
1828 leax u000A,u
1829 stx u0002,u
1830 pshs x
1831 ldd u0008,u
1832 pshs b,a
1833 lbsr L1427
1834 L106A leas $06,s
1835 std ,s
1836 ldd ,s
1837 bgt L108D
1838 ldd u0006,u
1839 pshs b,a
1840 ldd $02,s
1841 beq L107F
1842 ldd #$0020
1843 bra L1082
1844 L107F ldd #$0010
1845 L1082 ora ,s+
1846 orb ,s+
1847 std u0006,u
1848 L1088 ldd #$FFFF
1849 bra L109E
1850 L108D ldd u0002,u
1851 addd #$0001
1852 std ,u
1853 ldd u0002,u
1854 addd ,s
1855 std u0004,u
1856 ldb [<u0002,u]
1857 clra
1858 L109E leas $02,s
1859 L10A0 puls pc,u
1860 L10A2 pshs u
1861 ldu $04,s
1862 ldd u0006,u
1863 clra
1864 andb #$C0
1865 bne L10DA
1866 leas <-$20,s
1867 leax ,s
1868 pshs x
1869 ldd u0008,u
1870 pshs b,a
1871 clra
1872 clrb
1873 pshs b,a
1874 lbsr L133C
1875 leas $06,s
1876 ldd u0006,u
1877 pshs b,a
1878 ldb $02,s
1879 bne L10CE
1880 ldd #$0040
1881 bra L10D1
1882 L10CE ldd #$0080
1883 L10D1 ora ,s+
1884 orb ,s+
1885 std u0006,u
1886 leas <$20,s
1887 L10DA ldd u0006,u
1888 ora #$80
1889 std u0006,u
1890 clra
1891 andb #$0C
1892 beq L10E7
1893 puls pc,u
1894 L10E7 ldd u000B,u
1895 bne L10FC
1896 ldd u0006,u
1897 clra
1898 andb #$40
1899 beq L10F7
1900 ldd #$0080
1901 bra L10FA
1902 L10F7 ldd #$0100
1903 L10FA std u000B,u
1904 L10FC ldd u0002,u
1905 bne L1111
1906 ldd u000B,u
1907 pshs b,a
1908 lbsr L1541
1909 leas $02,s
1910 std u0002,u
1911 cmpd #$FFFF
1912 beq L1119
1913 L1111 ldd u0006,u
1914 orb #$08
1915 std u0006,u
1916 bra L1128
1917 L1119 ldd u0006,u
1918 orb #$04
1919 std u0006,u
1920 leax u000A,u
1921 stx u0002,u
1922 ldd #$0001
1923 std u000B,u
1924 L1128 ldd u0002,u
1925 addd u000B,u
1926 std u0004,u
1927 std ,u
1928 puls pc,u
1929 pshs u
1930 ldu $04,s
1931 L1136 ldb ,u+
1932 bne L1136
1933 tfr u,d
1934 subd $04,s
1935 addd #$FFFF
1936 puls pc,u
1937 L1143 pshs u
1938 ldu $06,s
1939 leas -$02,s
1940 ldd $06,s
1941 std ,s
1942 L114D ldb ,u+
1943 ldx ,s
1944 leax $01,x
1945 stx ,s
1946 stb -$01,x
1947 bne L114D
1948 bra L1182
1949 L115B pshs u
1950 ldu $06,s
1951 leas -$02,s
1952 ldd $06,s
1953 std ,s
1954 L1165 ldx ,s
1955 leax $01,x
1956 stx ,s
1957 ldb -$01,x
1958 bne L1165
1959 ldd ,s
1960 addd #$FFFF
1961 std ,s
1962 L1176 ldb ,u+
1963 ldx ,s
1964 leax $01,x
1965 stx ,s
1966 stb -$01,x
1967 bne L1176
1968 L1182 ldd $06,s
1969 leas $02,s
1970 puls pc,u
1971 pshs u
1972 ldu $04,s
1973 bra L119E
1974 L118E ldx $06,s
1975 leax $01,x
1976 stx $06,s
1977 ldb -$01,x
1978 bne L119C
1979 clra
1980 clrb
1981 puls pc,u
1982 L119C leau u0001,u
1983 L119E ldb ,u
1984 sex
1985 pshs b,a
1986 ldb [<$08,s]
1987 sex
1988 cmpd ,s++
1989 beq L118E
1990 ldb [<$06,s]
1991 sex
1992 pshs b,a
1993 ldb ,u
1994 sex
1995 subd ,s++
1996 puls pc,u
1997 L11B9 ldd $04,s
1998 addd $02,x
1999 std >$0294,y
2000 ldd $02,s
2001 adcb $01,x
2002 adca ,x
2003 std >$0292,y
2004 lbra L125D
2005 L11CE ldd $04,s
2006 subd $02,x
2007 std >$0294,y
2008 ldd $02,s
2009 sbcb $01,x
2010 sbca ,x
2011 std >$0292,y
2012 lbra L125D
2013 L11E3 ldd $02,s
2014 cmpd ,x
2015 bne L11FC
2016 ldd $04,s
2017 cmpd $02,x
2018 beq L11FC
2019 bcs L11F9
2020 lda #$01
2021 andcc #$FE
2022 bra L11FC
2023 L11F9 clra
2024 cmpa #$01
2025 L11FC pshs cc
2026 ldd $01,s
2027 std $05,s
2028 puls cc
2029 leas $04,s
2030 rts
2031 L1207 lbsr L126C
2032 ldd #$0000
2033 subd $02,x
2034 std $02,x
2035 ldd #$0000
2036 sbcb $01,x
2037 sbca ,x
2038 std ,x
2039 rts
2040 ldd ,x
2041 coma
2042 comb
2043 std >$0292,y
2044 ldd $02,x
2045 coma
2046 comb
2047 leax >$0292,y
2048 std $02,x
2049 rts
2050 L122E leax >$0292,y
2051 std $02,x
2052 tfr a,b
2053 sex
2054 tfr a,b
2055 std ,x
2056 rts
2057 leax >$0292,y
2058 std $02,x
2059 clr ,x
2060 clr $01,x
2061 rts
2062 L1247 pshs y
2063 ldy $04,s
2064 ldd ,x
2065 std ,y
2066 ldd $02,x
2067 std $02,y
2068 puls x
2069 exg y,x
2070 puls b,a
2071 std ,s
2072 rts
2073 L125D tfr cc,a
2074 puls x
2075 stx $02,s
2076 leas $02,s
2077 leax >$0292,y
2078 tfr a,cc
2079 rts
2080 L126C ldd ,x
2081 std >$0292,y
2082 ldd $02,x
2083 leax >$0292,y
2084 std $02,x
2085 rts
2086 subd #$0000
2087 beq L128A
2088 pshs b,a
2089 leas -$02,s
2090 clr ,s
2091 clr $01,s
2092 bra L12B8
2093 L128A puls b,a
2094 std ,s
2095 ldd #$002D
2096 lbra L132D
2097 L1294 subd #$0000
2098 beq L128A
2099 pshs b,a
2100 leas -$02,s
2101 clr ,s
2102 clr $01,s
2103 tsta
2104 bpl L12AC
2105 nega
2106 negb
2107 sbca #$00
2108 inc $01,s
2109 std $02,s
2110 L12AC ldd $06,s
2111 bpl L12B8
2112 nega
2113 negb
2114 sbca #$00
2115 com $01,s
2116 std $06,s
2117 L12B8 lda #$01
2118 L12BA inca
2119 lsl $03,s
2120 rol $02,s
2121 bpl L12BA
2122 sta ,s
2123 ldd $06,s
2124 clr $06,s
2125 clr $07,s
2126 L12C9 subd $02,s
2127 bcc L12D3
2128 addd $02,s
2129 andcc #$FE
2130 bra L12D5
2131 L12D3 orcc #$01
2132 L12D5 rol $07,s
2133 rol $06,s
2134 lsr $02,s
2135 ror $03,s
2136 dec ,s
2137 bne L12C9
2138 std $02,s
2139 tst $01,s
2140 beq L12EF
2141 ldd $06,s
2142 nega
2143 negb
2144 sbca #$00
2145 std $06,s
2146 L12EF ldx $04,s
2147 ldd $06,s
2148 std $04,s
2149 stx $06,s
2150 ldx $02,s
2151 ldd $04,s
2152 leas $06,s
2153 rts
2154 tstb
2155 beq L1314
2156 L1301 asr $02,s
2157 ror $03,s
2158 decb
2159 bne L1301
2160 bra L1314
2161 L130A tstb
2162 beq L1314
2163 L130D lsr $02,s
2164 ror $03,s
2165 decb
2166 bne L130D
2167 L1314 ldd $02,s
2168 pshs b,a
2169 ldd $02,s
2170 std $04,s
2171 ldd ,s
2172 leas $04,s
2173 rts
2174 L1321 tstb
2175 beq L1314
2176 L1324 lsl $03,s
2177 rol $02,s
2178 decb
2179 bne L1324
2180 bra L1314
2181 L132D std >$029E,y
2182 pshs y,b
2183 os9 F$ID
2184 puls y,b
2185 os9 F$Send
2186 rts
2187 L133C lda $05,s
2188 ldb $03,s
2189 beq L136F
2190 cmpb #$01
2191 beq L1371
2192 cmpb #$06
2193 beq L1371
2194 cmpb #$02
2195 beq L1357
2196 cmpb #$05
2197 beq L1357
2198 ldb #$D0
2199 lbra L1590
2200 L1357 pshs u
2201 os9 I$GetStt
2202 bcc L1363
2203 puls u
2204 lbra L1590
2205 L1363 stx [<$08,s]
2206 ldx $08,s
2207 stu $02,x
2208 puls u
2209 clra
2210 clrb
2211 rts
2212 L136F ldx $06,s
2213 L1371 os9 I$GetStt
2214 lbra L1599
2215 lda $05,s
2216 ldb $03,s
2217 beq L1386
2218 cmpb #$02
2219 beq L138E
2220 ldb #$D0
2221 lbra L1590
2222 L1386 ldx $06,s
2223 os9 I$SetStt
2224 lbra L1599
2225 L138E pshs u
2226 ldx $08,s
2227 ldu $0A,s
2228 os9 I$SetStt
2229 puls u
2230 lbra L1599
2231 ldx $02,s
2232 lda $05,s
2233 os9 I$Open
2234 bcs L13A8
2235 os9 I$Close
2236 L13A8 lbra L1599
2237 L13AB ldx $02,s
2238 lda $05,s
2239 os9 I$Open
2240 lbcs L1590
2241 tfr a,b
2242 clra
2243 rts
2244 L13BA lda $03,s
2245 os9 I$Close
2246 lbra L1599
2247 ldx $02,s
2248 ldb $05,s
2249 os9 I$MakDir
2250 lbra L1599
2251 L13CC ldx $02,s
2252 lda $05,s
2253 tfr a,b
2254 andb #$24
2255 orb #$0B
2256 os9 I$Create
2257 bcs L13DF
2258 L13DB tfr a,b
2259 clra
2260 rts
2261 L13DF cmpb #$DA
2262 lbne L1590
2263 lda $05,s
2264 bita #$80
2265 lbne L1590
2266 anda #$07
2267 ldx $02,s
2268 os9 I$Open
2269 lbcs L1590
2270 pshs u,a
2271 ldx #$0000
2272 leau ,x
2273 ldb #$02
2274 os9 I$SetStt
2275 puls u,a
2276 bcc L13DB
2277 pshs b
2278 os9 I$Close
2279 puls b
2280 lbra L1590
2281 ldx $02,s
2282 os9 I$Delete
2283 lbra L1599
2284 lda $03,s
2285 os9 I$Dup
2286 lbcs L1590
2287 tfr a,b
2288 clra
2289 rts
2290 L1427 pshs y
2291 ldx $06,s
2292 lda $05,s
2293 ldy $08,s
2294 pshs y
2295 os9 I$Read
2296 L1435 bcc L1444
2297 cmpb #$D3
2298 bne L143F
2299 clra
2300 clrb
2301 puls pc,y,x
2302 L143F puls y,x
2303 lbra L1590
2304 L1444 tfr y,d
2305 puls pc,y,x
2306 L1448 pshs y
2307 lda $05,s
2308 ldx $06,s
2309 ldy $08,s
2310 pshs y
2311 os9 I$ReadLn
2312 bra L1435
2313 L1458 pshs y
2314 ldy $08,s
2315 beq L146D
2316 lda $05,s
2317 ldx $06,s
2318 os9 I$Write
2319 L1466 bcc L146D
2320 puls y
2321 lbra L1590
2322 L146D tfr y,d
2323 puls pc,y
2324 L1471 pshs y
2325 ldy $08,s
2326 beq L146D
2327 lda $05,s
2328 ldx $06,s
2329 os9 I$WritLn
2330 bra L1466
2331 L1481 pshs u
2332 ldd $0A,s
2333 bne L148F
2334 ldu #$0000
2335 ldx #$0000
2336 bra L14C3
2337 L148F cmpd #$0001
2338 beq L14BA
2339 cmpd #$0002
2340 beq L14AF
2341 ldb #$F7
2342 L149D clra
2343 std >$029E,y
2344 ldd #$FFFF
2345 leax >$0292,y
2346 std ,x
2347 std $02,x
2348 puls pc,u
2349 L14AF lda $05,s
2350 ldb #$02
2351 os9 I$GetStt
2352 bcs L149D
2353 bra L14C3
2354 L14BA lda $05,s
2355 ldb #$05
2356 os9 I$GetStt
2357 bcs L149D
2358 L14C3 tfr u,d
2359 addd $08,s
2360 std >$0294,y
2361 tfr d,u
2362 tfr x,d
2363 adcb $07,s
2364 adca $06,s
2365 bmi L149D
2366 tfr d,x
2367 std >$0292,y
2368 lda $05,s
2369 os9 I$Seek
2370 bcs L149D
2371 leax >$0292,y
2372 puls pc,u
2373 ldd >$0290,y
2374 pshs b,a
2375 ldd $04,s
2376 cmpd >$02A0,y
2377 bcs L151E
2378 addd >$0290,y
2379 bcs L150A
2380 pshs y
2381 subd ,s
2382 os9 F$Mem
2383 tfr y,d
2384 puls y
2385 bcc L1510
2386 L150A ldd #$FFFF
2387 leas $02,s
2388 rts
2389 L1510 std >$0290,y
2390 addd >$02A0,y
2391 subd ,s
2392 std >$02A0,y
2393 L151E leas $02,s
2394 ldd >$02A0,y
2395 pshs b,a
2396 subd $04,s
2397 std >$02A0,y
2398 ldd >$0290,y
2399 subd ,s++
2400 pshs b,a
2401 clra
2402 ldx ,s
2403 L1537 sta ,x+
2404 cmpx >$0290,y
2405 bcs L1537
2406 puls pc,b,a
2407 L1541 ldd $02,s
2408 addd >$029A,y
2409 bcs L156A
2410 cmpd >$029C,y
2411 bcc L156A
2412 pshs b,a
2413 ldx >$029A,y
2414 clra
2415 L1557 cmpx ,s
2416 bcc L155F
2417 sta ,x+
2418 bra L1557
2419 L155F ldd >$029A,y
2420 puls x
2421 stx >$029A,y
2422 rts
2423 L156A ldd #$FFFF
2424 rts
2425 L156E pshs u
2426 tfr y,u
2427 ldx $04,s
2428 stx >$02A2,y
2429 leax >L1584,pcr
2430 os9 F$Icpt
2431 puls u
2432 lbra L1599
2433 L1584 tfr u,y
2434 clra
2435 pshs b,a
2436 jsr [>$02A2,y]
2437 leas $02,s
2438 rti
2439 L1590 clra
2440 std >$029E,y
2441 ldd #$FFFF
2442 rts
2443 L1599 bcs L1590
2444 clra
2445 clrb
2446 rts
2447 L159E lbsr L15A9
2448 lbsr L0DCC
2449 L15A4 ldd $02,s
2450 os9 F$Exit
2451 L15A9 rts
2452 L15AA fdb $0001,$0001,$5100
2453 fdb $0000,$0000,$0000,$0100,$0000,$0000,$0000,$0000
2454 fdb $0000,$0002,$0001,$0000,$0000,$0000,$0000,$0000
2455 fdb $4200,$0200,$0000,$0000,$0000,$0000,$0000,$0000
2456 fdb $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
2457 fdb $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
2458 fdb $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
2459 fdb $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
2460 fdb $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
2461 fdb $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
2462 fdb $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
2463 fdb $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
2464 fdb $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
2465 fdb $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
2466 fdb $0101,$0101,$0101,$0101,$0111,$1101,$1111,$0101
2467 fdb $0101,$0101,$0101,$0101,$0101,$0101,$0101,$0101
2468 fdb $3020,$2020,$2020,$2020,$2020,$2020,$2020,$2020
2469 fdb $4848,$4848,$4848,$4848,$4848,$2020,$2020,$2020
2470 fdb $2042,$4242,$4242,$4202,$0202,$0202,$0202,$0202
2471 fdb $0202,$0202,$0202,$0202,$0202,$0220,$2020,$2020
2472 fdb $2044,$4444,$4444,$4404,$0404,$0404,$0404,$0404
2473 fdb $0404,$0404,$0404,$0404,$0404,$0420,$2020,$2001
2474 fdb $0000,$0000
2475 fcc "help"
2476 fcb $00
2477
2478 emod
2479 eom equ *
2480 end