pcjs/devices/pc8080/rom/vt100/VT100.lst
2016-08-14 10:52:24 -07:00

5844 lines
154 KiB
Text

;
; DZ80 V3.4.1 8080 Disassembly of archive/VT100.bin
; 2016/08/03 14:55
;
; Comments beginning with ";;" borrowed from Adam Mayer's (https://github.com/phooky)
; work at https://github.com/phooky/VT100-Hax/blob/master/ROMs/haxrom.d80 and http://vt100romhax.tumblr.com
;
; All other comments/annotations by Jeff Parsons (@jeffpar) <Jeff@pcjs.org>
;
;
; Data area definitions
;
20 4E stack_top equ 204eh
20 4E scratch_start equ 204eh
21 2D cursor_countdn equ 212dh
21 BA cursor_visible equ 21bah
;
; Reset vector
;
00 00 org 0
23 0000 F3 di
24 0001 31 4E 20 lxi sp,stack_top ; SP = 0x204e
25 0004 C3 3B 00 jmp reset
;
; Interrupt vector 0x1 for Keyboard
;
00 08 org 8
30 0008 CD FD 00 call X00fd
31 000B FB ei
32 000C C9 ret
;
; Interrupt vector 0x2 for PUSART
;
00 10 org 10h
37 0010 CD CC 03 call X03cc
38 0013 FB ei
39 0014 C9 ret
;
; Interrupt vector 0x3 for Keyboard and PUSART
;
00 18 org 18h
44 0018 CD CC 03 call X03cc
45 001B CD FD 00 call X00fd
46 001E FB ei
47 001F C9 ret
;
; Interrupt vector 0x4 for Video (vertical retrace)
;
00 20 org 20h
52 0020 CD CF 04 call X04cf
53 0023 C9 ret
;
; Interrupt vector 0x5 for Keyboard and Video
;
00 28 org 28h
58 0028 CD CF 04 call X04cf
59 002B C9 ret
;
; Interrupt vector 0x6 for PUSART and Video
;
00 30 org 30h
64 0030 CD CC 03 X0030: call X03cc
65 0033 CD CF 04 call X04cf
66 0036 FB ei
67 0037 C9 ret
;
; Interrupt vector 0x7 for Keyboard and PUSART and Video
;
00 38 org 38h
72 0038 C3 30 00 jmp X0030
;
; Beginning of power-up (reset) code at 0x003b
;
77 003B 1E 01 reset: mvi e,1
78 003D F3 X003d: di
79 003E 3E 0F mvi a,0fh
80 0040 D3 62 out 62h ;; 0x0f to NVR latch
81 0042 2F cma ;; invert A (0xf0)
82 0043 D3 42 out 42h ;; 0xf0 to brightness
;;
;; Run checksum on each 2K ROM, indicating with
;; the keyboard LEDs which is being scanned.
;; The # of the chip being scanned is stored in B.
;;
88 0045 AF xra a ;; zero A
89 0046 57 mov d,a ;; zero D, L, H
90 0047 6F mov l,a
91 0048 67 mov h,a
92 0049 3C X0049: inr a ;; next 2K ROM
93 004A 47 mov b,a ;; store the current ROM # in B
94 004B D3 82 out 82h ;; show current ROM on LEDs
95 004D 0E 08 mvi c,8 ;; Checksum over 8 256B blocks
96 004F 07 X004f: rlc ;; Rotate A left
97 0050 AE xra m ;; A <- A ^ memory
98 0051 2C inr l ;; next memory address
99 0052 C2 4F 00 jnz X004f ;; ... repeat until end of block
100 0055 24 inr h ;; next block
101 0056 0D dcr c ;; decrement block count
102 0057 C2 4F 00 jnz X004f ;; ... repeat until end of chip
103 005A B7 ora a ;; Check the value of the accumulator
104 005B C2 5B 00 X005b: jnz X005b ;; If it's not zero, hang forever
105 005E 78 mov a,b ;; Put the ROM # back in the accumulator
106 005F FE 04 cpi 4 ;; If it's not 4...
107 0061 C2 49 00 jnz X0049 ;; repeat for the next ROM
109 0064 3C inr a
110 0065 D3 82 out 82h ;; write 5 to LEDs (turns on L2 and L4)
112 0067 0E AA mvi c,0aah ;; Test pattern: 0xaa
113 0069 06 2C mvi b,2ch ;; 0x2c is the top of RAM on the basic board
114 006B DB 42 in 42h ;;
115 006D E6 02 ani 2 ;; flags buffer &= 0x02 : is AVO installed?
116 006F C2 74 00 jnz X0074 ;; if bit 2 is not set, AVO is installed
117 0072 06 40 mvi b,40h ;; 0x40 is the top of RAM on the AVO
118 0074 60 X0074: mov h,b ;; load HL with top of RAM
119 0075 2B dcx h ;; dec HL
120 0076 36 00 X0076: mvi m,0 ;; M <- 0
121 0078 2B dcx h ;; dec HL
122 0079 7C mov a,h ;; a <- h
123 007A FE 1F cpi 1fh ;; compare to 1f (top of ROM)
124 007C C2 76 00 jnz X0076 ;; continue to zero if not at ROM
126 007F 23 inx h
;;
;; Zero all RAM. C gets the high byte of the address of the top of
;; RAM, HL is loaded with it, and it zeros memory all the way down,
;; leaving the start of RAM in HL
;;
;; From start of RAM, test that it's all zero
;;
134 0080 7E X0080: mov a,m ;; read a byte of memory
135 0081 B7 ora a
136 0082 CA 90 00 jz X0090 ;; if it's zero, skip ahead
137 0085 E6 0F ani 0fh
138 0087 7C mov a,h
139 0088 C2 A1 00 jnz X00a1 ;; err
140 008B FE 30 cpi 30h
141 008D DA A1 00 jc X00a1 ;; err
142 0090 71 X0090: mov m,c ;; run test pattern through ram
143 0091 7E mov a,m
144 0092 A9 xra c
145 0093 CA A8 00 jz X00a8 ;; jump to 00a8 if ok
146 0096 E6 0F ani 0fh
147 0098 7C mov a,h
148 0099 C2 A1 00 jnz X00a1 ;; err
149 009C FE 30 cpi 30h
150 009E D2 A8 00 jnc X00a8 ;; ok
151 00A1 16 01 X00a1: mvi d,1
152 00A3 FE 2C cpi 2ch
153 00A5 DA A5 00 X00a5: jc X00a5 ;; Hang if non-AVO memory
154 00A8 AF X00a8: xra a
155 00A9 23 inx h
156 00AA B5 ora l
157 00AB C2 80 00 jnz X0080
158 00AE B4 ora h
159 00AF B8 cmp b
160 00B0 C2 80 00 jnz X0080
161 00B3 79 mov a,c ;; Repeat mem test with pattern 0x55
162 00B4 07 rlc
163 00B5 4F mov c,a
164 00B6 DA 74 00 jc X0074
;;
;; Memory test is done
;;
168 00B9 D5 push d
169 00BA CD A4 02 call X02a4 ;; zero scratch and screen mem
170 00BD CD EB 02 call X02eb ;; Set a number of scratch values to fixed values
171 00C0 CD 5B 17 call X175b ;; .... more memory initialization
172 00C3 D1 pop d
173 00C4 CA CB 00 X00c4: jz X00cb
174 00C7 7A mov a,d
175 00C8 F6 02 ori 2
176 00CA 57 mov d,a
177 00CB 3E 2F X00cb: mvi a,2fh
178 00CD 32 C9 21 sta X21c9
179 00D0 D3 62 out 62h
;
; Prepare to enter the "beep" loop
;
183 00D2 01 FF 0F X00d2: lxi b,X0fff
184 00D5 FB ei
185 00D6 3E 08 X00d6: mvi a,8
186 00D8 A3 ana e
187 00D9 3E 7F mvi a,7fh
188 00DB C2 E0 00 jnz X00e0
189 00DE 3E FF mvi a,0ffh
190 00E0 D3 82 X00e0: out 82h
191 00E2 0B dcx b
192 00E3 78 mov a,b
193 00E4 B1 ora c
194 00E5 C2 D6 00 jnz X00d6
;
; Done "beeping" now
;
198 00E8 D3 82 X00e8: out 82h ; A = 0, so all LEDs off now
199 00EA 3A 68 20 lda X2068
200 00ED B7 ora a
201 00EE FA F5 00 jm X00f5
202 00F1 7A mov a,d
203 00F2 F6 04 ori 4
204 00F4 57 mov d,a
205 00F5 D5 X00f5: push d
;
; The next call issues the following:
;
; 03A2 CD8103 CALL 0381 ;stack=204A
; 0B67 CDAD10 CALL 10AD ;stack=2048
; chipset.outPort(0x00A2,DC012,0x00) at 10BD
; chipset.outPort(0x00A2,DC012,0x04) at 10C1
;
; and then:
;
; 03A2 CD8103 CALL 0381 ;stack=204A
; 0B67 CDAD10 CALL 10AD ;stack=2048
; 10C9 CDAA0F CALL 0FAA ;stack=2046
; 0FB6 CC8814 CALLZ 1488 ;stack=2040
; 1488 CD9314 CALL 1493 ;stack=203E
; chipset.inPort(0x0042,FLAGS.BUFFER): 0x60 at 1493
;
; Note that once we're inside 0FAA, that appears to be where we stay.
;
226 00F6 CD A2 03 call X03a2
228 00F9 D1 pop d
229 00FA C3 75 08 jmp X0875
;
; Keyboard interrupt handler
;
; The "Keys Flag Byte/Buffer" at 0x2068 contains the following bits:
;
; 0-1 Key counter
; 2 Key counter overflow bit
; 3 Setup
; 4 Control
; 5 Shift
; 6 Caps Lock
; 7 Last Key
;
243 00FD F5 X00fd: push psw
244 00FE DB 82 in 82h ;; Read from keyboard port
245 0100 E5 push h
246 0101 C5 push b
247 0102 47 mov b,a ;; copy b <- a
248 0103 D6 7C sui 7ch ;; subtract 0x7c from a
249 0105 FA 1A 01 jm X011a ;; jump to 011a if a is a normal key
250 0108 67 mov h,a ;; otherwise h <- a
251 0109 24 inr h ;; h++
252 010A 3E 10 mvi a,10h ;; a <- 0x10
253 010C 0F rrc
254 010D 07 X010d: rlc
255 010E 25 dcr h
256 010F C2 0D 01 jnz X010d
257 0112 21 68 20 lxi h,X2068 ;; load keys flag addresss
258 0115 B6 ora m ;; or in control bit
259 0116 77 mov m,a ;; store again
260 0117 C3 2D 01 jmp X012d ;; jump to end to interrupt
262 011A 21 68 20 X011a: lxi h,X2068 ;; load keys flag address
263 011D 3E 07 mvi a,7
264 011F A6 ana m ;; load key counter
265 0120 FE 04 cpi 4 ;; if overflow.. (>3 keys)
266 0122 F2 2D 01 jp X012d ;; discard keypress and end interrupt
267 0125 34 inr m ;; otherwise increment key counter
268 0126 21 6A 20 lxi h,X206a ;; load key address buffer?
269 0129 CD DE 13 call X13de ;; add key counter to address buffer
270 012C 70 mov m,b ;; save key to address buffer
271 012D C1 X012d: pop b
272 012E E1 pop h
273 012F F1 pop psw
274 0130 C9 ret
;;
;; End of keyboard interrupt handler
;;
278 0131 E6 7F X0131: ani 7fh
279 0133 4F mov c,a
280 0134 3A 7B 20 lda X207b
281 0137 B7 ora a
282 0138 C2 FF 01 jnz X01ff
283 013B 79 X013b: mov a,c
284 013C FE 01 cpi 1
285 013E CA C3 01 jz X01c3
286 0141 3A A7 21 lda X21a7
287 0144 E6 20 ani 20h
288 0146 C2 75 01 jnz X0175
289 0149 3A 78 21 lda X2178
290 014C B7 ora a
291 014D C2 5F 01 jnz X015f
292 0150 79 mov a,c
293 0151 FE 41 cpi 41h
294 0153 FA 5B 01 jm X015b
295 0156 3E 1B mvi a,1bh
296 0158 CD 18 0F call X0f18
297 015B 79 X015b: mov a,c
298 015C C3 0D 08 jmp X080d
300 015F 3E 1B X015f: mvi a,1bh
301 0161 CD 18 0F call X0f18
302 0164 79 mov a,c
303 0165 FE 41 cpi 41h
304 0167 F2 5B 01 jp X015b
305 016A 3E 3F mvi a,3fh
306 016C CD 18 0F X016c: call X0f18
307 016F 79 mov a,c
308 0170 C6 40 adi 40h
309 0172 C3 0D 08 jmp X080d
311 0175 3A 78 21 X0175: lda X2178
312 0178 B7 ora a
313 0179 C2 9E 01 jnz X019e
314 017C 79 mov a,c
315 017D FE 41 cpi 41h
316 017F FA 5B 01 jm X015b
317 0182 FE 50 cpi 50h
318 0184 FA 9E 01 jm X019e
319 0187 3E 1B X0187: mvi a,1bh
320 0189 CD 18 0F call X0f18
321 018C 3E 4F mvi a,4fh
322 018E CD 18 0F X018e: call X0f18
323 0191 C3 5B 01 jmp X015b
325 0194 3E 1B X0194: mvi a,1bh
326 0196 CD 18 0F call X0f18
327 0199 3E 5B mvi a,5bh
328 019B C3 8E 01 jmp X018e
330 019E 3A BC 21 X019e: lda X21bc
331 01A1 B7 ora a
332 01A2 CA B5 01 jz X01b5
333 01A5 79 mov a,c
334 01A6 FE 41 cpi 41h
335 01A8 F2 87 01 jp X0187
336 01AB 3E 1B X01ab: mvi a,1bh
337 01AD CD 18 0F call X0f18
338 01B0 3E 4F mvi a,4fh
339 01B2 C3 6C 01 jmp X016c
341 01B5 79 X01b5: mov a,c
342 01B6 FE 41 cpi 41h
343 01B8 FA AB 01 jm X01ab
344 01BB FE 50 cpi 50h
345 01BD FA 94 01 jm X0194
346 01C0 C3 87 01 jmp X0187
348 01C3 21 15 08 X01c3: lxi h,X0815
349 01C6 E5 push h
350 01C7 3A A5 21 lda X21a5
351 01CA B7 ora a
352 01CB C0 rnz
353 01CC CD 53 08 call X0853
354 01CF 01 0E 02 lxi b,X020e
355 01D2 21 68 20 lxi h,X2068
356 01D5 7E mov a,m
357 01D6 E6 10 ani 10h
358 01D8 C2 00 09 jnz X0900
359 01DB 7E mov a,m
360 01DC E6 20 ani 20h
361 01DE CA E4 01 jz X01e4
362 01E1 01 D2 00 lxi b,X00d2
363 01E4 3E 25 X01e4: mvi a,25h
364 01E6 F6 08 ori 8
365 01E8 B0 ora b
366 01E9 D3 01 out 1
367 01EB 3A 7F 20 lda X207f
368 01EE 81 add c
369 01EF 4F mov c,a
370 01F0 C5 X01f0: push b
371 01F1 CD 93 14 call X1493
372 01F4 C1 pop b
373 01F5 3A 7F 20 lda X207f
374 01F8 B9 cmp c
375 01F9 C2 F0 01 jnz X01f0
376 01FC C3 94 03 jmp X0394
378 01FF 21 12 08 X01ff: lxi h,X0812
379 0202 E5 push h
380 0203 AF xra a
381 0204 32 30 21 sta X2130
382 0207 32 B8 21 sta X21b8
383 020A 21 A3 21 lxi h,X21a3
384 020D 79 mov a,c
385 020E D6 41 X020e: sui 41h
386 0210 47 mov b,a
387 0211 7E X0211: mov a,m
388 0212 CA 22 02 jz X0222
389 0215 05 dcr b
390 0216 CA 26 02 jz X0226
391 0219 05 dcr b
392 021A CA 15 18 jz X1815
393 021D 05 dcr b
394 021E CA 1E 18 jz X181e
395 0221 C9 ret
397 0222 3D X0222: dcr a
398 0223 F8 rm
399 0224 77 mov m,a
400 0225 C9 ret
402 0226 3C X0226: inr a
403 0227 FE 20 cpi 20h
404 0229 C8 rz
405 022A 77 mov m,a
406 022B C9 ret
408 022C 3A A7 21 X022c: lda X21a7
409 022F 2F cma
410 0230 E6 10 ani 10h
411 0232 21 A5 21 lxi h,X21a5
412 0235 B6 ora m
413 0236 C2 41 08 jnz X0841
414 0239 3A BF 21 lda X21bf
415 023C 01 11 02 lxi b,X0211
416 023F A0 ana b
417 0240 C2 45 02 jnz X0245
418 0243 0E 13 mvi c,13h
419 0245 79 X0245: mov a,c
420 0246 D6 11 sui 11h
421 0248 32 C4 21 sta X21c4
422 024B CD 7E 0F call X0f7e
423 024E C3 12 08 jmp X0812
425 0251 F3 X0251: di
426 0252 31 4E 20 lxi sp,stack_top ; SP = 0x204e
427 0255 21 00 20 lxi h,2000h
428 0258 E5 push h
429 0259 7E mov a,m
430 025A 1F rar
431 025B DA 65 02 jc X0265
432 025E DB 42 in 42h
433 0260 E6 02 ani 2
434 0262 CA 69 02 jz X0269
435 0265 3C X0265: inr a
436 0266 32 C8 21 sta X21c8
437 0269 CD A2 03 X0269: call X03a2
438 026C 3A 50 20 lda X2050
439 026F 3D dcr a
440 0270 32 53 21 sta X2153
441 0273 E1 pop h
442 0274 7E mov a,m
443 0275 36 7F mvi m,7fh
444 0277 B7 ora a
445 0278 CA 98 02 jz X0298
446 027B F2 85 02 jp X0285
447 027E 21 CB 21 lxi h,X21cb
448 0281 36 0A mvi m,0ah
449 0283 E6 7F ani 7fh
450 0285 32 BD 21 X0285: sta X21bd
451 0288 C6 30 adi 30h
452 028A 2A F6 20 lhld X20f6
453 028D 77 mov m,a
454 028E FE 34 cpi 34h
455 0290 CA 98 02 jz X0298
456 0293 3E 20 mvi a,20h
457 0295 32 A5 21 sta X21a5
458 0298 CD F2 0B X0298: call X0bf2
459 029B 01 11 00 lxi b,X0011
460 029E CD 7E 0F call X0f7e
461 02A1 C3 AE 03 jmp X03ae
;;
;; Zero all scratch and screen RAM above stack
;;
465 02A4 21 4E 20 X02a4: lxi h,scratch_start ;; HL = 0x204e (just above stack)
466 02A7 11 B2 0F lxi d,0fb2h ;; DE = 0x0fb2 (every byte from 0x204e up to 0x3000)
467 02AA 06 00 mvi b,0 ;; B = 0
468 02AC CD 83 10 call memset ;; memset(0x1083): set 0x0fb2 bytes to 0 starting at 0x204e
469 02AF 2F cma ;; invert A
470 02B0 32 04 21 sta X2104 ;; store A in 0x2104
471 02B3 21 04 20 lxi h,X2004 ;; HL <- 0x2004
472 02B6 22 52 20 shld X2052 ;; *(0x2052) = 0x2004
473 02B9 21 D0 22 lxi h,X22d0 ;; HL <- 0x22d0
474 02BC 22 F6 20 shld X20f6 ;; *(20f6) = 0x22d0
475 02BF C9 ret
;;
;; Initialize start of screen RAM and wipe attribute RAM to 0xff
;;
479 02C0 CD 15 0A X02c0: call X0a15 ;; 0x2140 = 0xe605
480 02C3 21 00 20 lxi h,2000h ;; HL = 0x2000
481 02C6 11 D9 02 lxi d,X02d9 ;; DE = 0x02d9
482 02C9 06 12 mvi b,12h ;; B = 18
483 02CB CD 8B 03 call memmov ;; copy 18 bytes from 0x02d9 to 0x2000
484 02CE 21 00 30 lxi h,X3000 ;; HL = 0x3000
485 02D1 11 00 10 lxi d,X1000 ;; DE = 0x1000
486 02D4 06 FF mvi b,0ffh ;; B = 0xFF
487 02D6 C3 83 10 jmp memset ;; invoke memset(0x1083) to set all of attribute RAM to 0xFF and return
;;
;; 0x02d9 through 0x02eb are the initial values for the screen RAM;
;; it's copied into low RAM at 0x2000 during init.
;;
X02d9:
493 02D9 db 07fh,070h,003h
7F 70 03
494 02DC db 07fh,0f2h,0d0h
7F F2 D0
495 02DF db 07fh,070h,006h
7F 70 06
496 02E2 db 07fh,070h,00ch
7F 70 0C
497 02E5 db 07fh,070h,00fh
7F 70 0F
498 02E8 db 07fh,070h,003h
7F 70 03
;;
;; Initialize several scratch values. We don't know what all of these are for yet.
;;
502 02EB 21 12 02 X02eb: lxi h,212h ;; HL = 0x0212 (530.)
503 02EE 22 2D 21 shld cursor_countdn ;; Store 0x0212 at cursor_countdn [0x212d]
504 02F1 3E 35 mvi a,35h ;; A = 0x35
505 02F3 32 2C 21 sta X212c ;; 0x212c = 0x35
506 02F6 3E 01 mvi a,1 ;; A = 1
507 02F8 32 5B 20 sta X205b ;; 0x205b = 1
508 02FB 32 76 21 sta X2176 ;; 0x2176 = 1
509 02FE 21 FF 07 lxi h,X07ff ;; HL = 0x07ff
510 0301 22 49 21 shld X2149 ;; store 0xff07 at 0x2149
511 0304 3E 02 mvi a,2 ;; A = 2
512 0306 32 73 20 sta X2073 ;; 0x2073 = 2
513 0309 3E F7 mvi a,0f7h ;; A = 0xf7
514 030B 32 FA 20 sta X20fa ;; 0x20fa = 0xf7
515 030E DB 42 in 42h ;; read flags buffer
516 0310 E6 04 ani 4 ;; And it with 0x04 (check graphics flag)
517 0312 3E 01 mvi a,1 ;; A=1
518 0314 C2 1A 03 jnz X031a ;; if no graphics skip
519 0317 32 79 20 sta X2079 ;; else store 1 in 0x2079
520 031A 3E FF X031a: mvi a,0ffh ;; A = 0xff
521 031C 32 0E 21 sta X210e ;; 0x210e = 0xff
522 031F 32 BA 21 sta cursor_visible ;; set cursor_visible [0x21ba] to 0xff (initially visible)
523 0322 26 80 mvi h,80h ;; H = 0x80
524 0324 6C mov l,h ;; L = 0x80
525 0325 22 C0 20 shld X20c0 ;; Store 0x8080 at 0x20c0
526 0328 C9 ret
528 0329 3E 40 X0329: mvi a,40h
529 032B D3 01 out 1
530 032D 3A 58 21 lda X2158
531 0330 D3 02 out 2
532 0332 3A A4 21 lda X21a4
533 0335 D3 01 out 1
534 0337 CD 94 03 call X0394
535 033A 3E 10 mvi a,10h
536 033C 32 C9 21 sta X21c9
537 033F D3 62 out 62h
538 0341 C9 ret
540 0342 3A A2 21 X0342: lda X21a2
541 0345 B7 ora a
542 0346 CA 4B 03 jz X034b
543 0349 3E 10 mvi a,10h
544 034B 47 X034b: mov b,a
545 034C D3 C2 out 0c2h
546 034E 3A 7C 20 lda X207c
547 0351 D3 C2 out 0c2h
548 0353 FE 20 cpi 20h
549 0355 21 70 09 lxi h,X0970
550 0358 C2 5E 03 jnz X035e
551 035B 21 70 03 lxi h,X0370
552 035E 22 01 20 X035e: shld X2001
553 0361 3A A8 21 lda X21a8
554 0364 E6 10 ani 10h
555 0366 C8 rz
556 0367 78 mov a,b
557 0368 D3 C2 out 0c2h
558 036A C9 ret
560 036B 3A A6 21 X036b: lda X21a6
561 036E E6 20 ani 20h
562 0370 C2 75 03 X0370: jnz X0375
563 0373 3E 01 mvi a,1
564 0375 F6 0A X0375: ori 0ah
565 0377 D3 A2 out 0a2h
566 0379 3A 5B 21 lda X215b
567 037C F6 0C ori 0ch
568 037E D3 A2 out 0a2h
569 0380 C9 ret
571 0381 3A A2 21 X0381: lda X21a2
572 0384 B7 ora a
573 0385 CA 63 0B jz X0b63
574 0388 C3 77 0B jmp X0b77
;;
;; Performs a memmove(HL,DE,B)
;;
memmov:
579 038B 1A X038b: ldax d ;; Load memory at DE into accumulator
580 038C 77 mov m,a ;; Store it at HL
581 038D 23 inx h ;; HL++
582 038E 13 inx d ;; DE++
583 038F 05 dcr b ;; B--
584 0390 C2 8B 03 jnz X038b ;; until B is zero
585 0393 C9 ret
587 0394 3A A5 21 X0394: lda X21a5
588 0397 B7 ora a
589 0398 3E 01 mvi a,1
590 039A C2 9F 03 jnz X039f
591 039D 3E 05 mvi a,5
592 039F C3 7B 1F X039f: jmp X1f7b
594 03A2 CD 81 03 X03a2: call X0381
595 03A5 CD DB 1D call X1ddb
596 03A8 CD 6B 03 call X036b
597 03AB C3 42 03 jmp X0342
599 03AE CD 88 14 X03ae: call X1488
600 03B1 CD 87 05 call X0587
601 03B4 21 77 21 lxi h,X2177
602 03B7 7E mov a,m
603 03B8 B7 ora a
604 03B9 36 00 mvi m,0
605 03BB C4 20 1A cnz X1a20
606 03BE 3A A5 21 lda X21a5
607 03C1 B7 ora a
608 03C2 CA AE 03 jz X03ae
609 03C5 AF xra a
610 03C6 32 44 21 sta X2144
611 03C9 C3 AE 03 jmp X03ae
;;
;; Receiver interrupt handler
;;
615 03CC F5 X03cc: push psw
616 03CD C5 push b
617 03CE E5 push h
618 03CF DB 00 in 0 ;; Read from PUSART data
619 03D1 E6 7F ani 7fh
620 03D3 CA 3A 04 jz X043a
621 03D6 4F mov c,a
622 03D7 3A A5 21 lda X21a5
623 03DA B7 ora a
624 03DB C2 3A 04 jnz X043a
625 03DE DB 01 in 1 ;; Read from PUSART ctrl
626 03E0 E6 38 ani 38h
627 03E2 CA ED 03 jz X03ed
628 03E5 0E 1A mvi c,1ah
629 03E7 3E 27 mvi a,27h
630 03E9 F6 10 ori 10h
631 03EB D3 01 out 1
632 03ED 79 X03ed: mov a,c
633 03EE FE 7F cpi 7fh
634 03F0 CA 37 04 jz X0437
635 03F3 3A A7 21 lda X21a7
636 03F6 E6 10 ani 10h
637 03F8 79 mov a,c
638 03F9 CA 09 04 jz X0409
639 03FC 21 C2 21 lxi h,X21c2
640 03FF FE 11 cpi 11h
641 0401 CA 3E 04 jz X043e
642 0404 FE 13 cpi 13h
643 0406 CA 44 04 jz X0444
644 0409 21 C0 20 X0409: lxi h,X20c0
645 040C 4E mov c,m
646 040D 44 mov b,h
647 040E 02 stax b
648 040F 79 mov a,c
649 0410 3C inr a
650 0411 E6 BF ani 0bfh
651 0413 77 mov m,a
652 0414 47 mov b,a
653 0415 3A C1 20 lda X20c1
654 0418 90 sub b
655 0419 C2 27 04 jnz X0427
656 041C 71 mov m,c
657 041D 78 mov a,b
658 041E 3C inr a
659 041F E6 BF ani 0bfh
660 0421 6F mov l,a
661 0422 36 1A mvi m,1ah
662 0424 C3 31 04 jmp X0431
664 0427 F2 2C 04 X0427: jp X042c
665 042A C6 40 adi 40h
666 042C FE 20 X042c: cpi 20h
667 042E C2 37 04 jnz X0437
668 0431 01 13 01 X0431: lxi b,X0113
669 0434 CD 7E 0F call X0f7e
670 0437 CD 47 0E X0437: call X0e47
671 043A E1 X043a: pop h
672 043B C1 pop b
673 043C F1 pop psw
674 043D C9 ret
;;
;; End of keyboard interrupt handler
;;
678 043E 3E FE X043e: mvi a,0feh
679 0440 A6 ana m
680 0441 C3 47 04 jmp X0447
682 0444 3E 01 X0444: mvi a,1
683 0446 B6 ora m
684 0447 77 X0447: mov m,a
685 0448 C3 37 04 jmp X0437
687 044B X044b: db 30h
30
688 044C 29 dad h
689 044D 31 21 32 lxi sp,X3221
690 0450 40 mov b,b
691 0451 33 inx sp
692 0452 23 inx h
693 0453 34 inr m
694 0454 24 inr h
695 0455 35 dcr m
696 0456 25 dcr h
697 0457 36 5E mvi m,5eh
698 0459 37 stc
699 045A 26 38 mvi h,38h
700 045C 2A 39 28 lhld X2839
701 045F 2D dcr l
702 0460 5F mov e,a
703 0461 3D dcr a
704 0462 2B dcx h
705 0463 60 mov h,b
706 0464 7E mov a,m
707 0465 5B mov e,e
708 0466 7B mov a,e
709 0467 5D mov e,l
710 0468 7D mov a,l
711 0469 3B dcx sp
712 046A 3A 2F 3F lda X3f2f
713 046D 27 daa
714 046E 22 2C 3C shld X3c2c
715 0471 2E 3E mvi l,3eh
716 0473 5C mov e,h
717 0474 7C mov a,h
718 0475 db 20h
20
X0476:
720 0476 KBTab: db 20h, 7fh, 7fh, 7fh, 00h, 'p', 'o', 'y', 't', 'w', 'q'
20 7F 7F 7F
00 70 6F 79
74 77 71
721 0481 db 0c3h, 00h, 00h, 00h, ']', '[', 'i', 'u', 'r', 'e', '1'
C3 00 00 00
5D 5B 69 75
72 65 31
722 048C db 0c4h, 00h, 0c2h, 081h, '`', '-', '9', '7', '4', '3', 1bh
C4 00 C2 81
60 2D 39 37
34 33 1B
723 0497 db 0c1h, 0d2h, 0d0h, 08h, '=', '0', '8', '6', '5', '2', 09h
C1 D2 D0 08
3D 30 38 36
35 32 09
724 04A2 db 0b7h, 0d3h, 0d1h, 0b0h, 0ah, '\', 'l', 'k', 'g', 'f', 'a'
B7 D3 D1 B0
0A 5C 6C 6B
67 66 61
725 04AD db 0b8h, 8dh, 0b2h, 0b1h, 00h, 27h, 3bh, 'j', 'h', 'd', 's'
B8 8D B2 B1
00 27 3B 6A
68 64 73
726 04B8 db 0aeh, 0ach, 0b5h, 0b4h, 0dh, '.', ',', 'n', 'b', 'x', 82h
AE AC B5 B4
0D 2E 2C 6E
62 78 82
727 04C3 db 0b9h, 0b3h, 0b6h, 0adh, 00h, '/', 'm', ' ', 'v', 'c', 'z'
B9 B3 B6 AD
00 2F 6D 20
76 63 7A
728 04CE FF rst 7
;;
;; Vertical interrupt handler
;;
732 04CF F5 X04cf: push psw
733 04D0 E5 push h
734 04D1 D5 push d
735 04D2 CD 4E 10 call X104e
736 04D5 C5 push b
737 04D6 3E 09 mvi a,9
738 04D8 D3 A2 out 0a2h
739 04DA FB ei
740 04DB 3A 65 20 lda X2065
741 04DE B7 ora a
742 04DF C2 0B 05 jnz X050b
743 04E2 21 51 20 lxi h,X2051
744 04E5 B6 ora m
745 04E6 CA 3E 05 jz X053e
746 04E9 3E 01 mvi a,1
747 04EB 32 65 20 sta X2065
748 04EE B6 ora m
749 04EF 36 00 mvi m,0
750 04F1 3E 01 mvi a,1
751 04F3 32 5B 20 sta X205b
752 04F6 3A 56 21 lda X2156
753 04F9 F2 05 05 jp X0505
754 04FC 3E 99 mvi a,99h
755 04FE 32 5B 20 sta X205b
756 0501 3A 55 21 lda X2155
757 0504 3D dcr a
758 0505 CD 2F 12 X0505: call X122f
759 0508 32 7A 20 sta X207a
760 050B 01 5B 20 X050b: lxi b,X205b
761 050E 0A ldax b
762 050F 21 5A 20 lxi h,X205a
763 0512 86 add m
764 0513 27 daa
765 0514 E6 0F ani 0fh
766 0516 77 mov m,a
767 0517 57 mov d,a
768 0518 E6 03 ani 3
769 051A D3 A2 out 0a2h
770 051C 7A mov a,d
771 051D 1F rar
772 051E A7 ana a
773 051F 1F rar
774 0520 F6 04 ori 4
775 0522 D3 A2 out 0a2h
776 0524 7A mov a,d
777 0525 B7 ora a
778 0526 C2 3E 05 jnz X053e
779 0529 32 65 20 sta X2065
780 052C 0A ldax b
781 052D B7 ora a
782 052E 3A 56 21 lda X2156
783 0531 FA 38 05 jm X0538
784 0534 3A 55 21 lda X2155
785 0537 3D dcr a
786 0538 CD CE 11 X0538: call X11ce
787 053B 32 7A 20 sta X207a
788 053E 21 78 20 X053e: lxi h,X2078
789 0541 7E mov a,m
790 0542 B7 ora a
791 0543 CA 4F 05 jz X054f
792 0546 35 dcr m
793 0547 E6 04 ani 4
794 0549 0F rrc
795 054A 0F rrc
796 054B 0F rrc
797 054C 32 46 21 sta X2146
798 054F 21 2C 21 X054f: lxi h,X212c
799 0552 7E mov a,m
800 0553 3D dcr a
801 0554 C2 69 05 jnz X0569
802 0557 36 35 mvi m,35h
803 0559 3E 08 mvi a,8
804 055B D3 A2 out 0a2h
805 055D 21 CB 21 lxi h,X21cb
806 0560 7E mov a,m
807 0561 B7 ora a
808 0562 CA 6A 05 jz X056a
809 0565 D3 A2 out 0a2h
810 0567 EE 01 xri 1
811 0569 77 X0569: mov m,a
812 056A 3E 40 X056a: mvi a,40h
813 056C 32 48 21 sta X2148
814 056F 21 7F 20 lxi h,X207f
815 0572 34 inr m
816 0573 3A A3 21 lda X21a3
817 0576 D3 42 out 42h
818 0578 3A 58 21 lda X2158
819 057B D3 02 out 2
820 057D 3A C9 21 lda X21c9
821 0580 D3 62 out 62h
822 0582 C1 pop b
823 0583 D1 pop d
824 0584 E1 pop h
825 0585 F1 pop psw
826 0586 C9 ret
828 0587 3A A5 21 X0587: lda X21a5
829 058A 21 7B 20 lxi h,X207b
830 058D B6 ora m
831 058E C0 rnz
832 058F CD 75 06 call X0675
833 0592 C8 rz
834 0593 47 X0593: mov b,a
835 0594 3A 7B 20 lda X207b
836 0597 B7 ora a
837 0598 78 mov a,b
838 0599 C2 A9 05 jnz X05a9
839 059C 3A 79 20 lda X2079
840 059F 07 rlc
841 05A0 78 mov a,b
842 05A1 DA A9 05 jc X05a9
843 05A4 FE 20 cpi 20h
844 05A6 DA B2 08 jc X08b2
845 05A9 2A 40 21 X05a9: lhld X2140
846 05AC E9 pchl
848 05AD FE 1B X05ad: cpi 1bh
849 05AF C2 CC 05 jnz X05cc
850 05B2 21 B8 05 lxi h,X05b8
851 05B5 C3 18 0A jmp X0a18
853 05B8 FE 32 X05b8: cpi 32h
854 05BA C2 C5 05 jnz X05c5
855 05BD 3E 01 mvi a,1
856 05BF 32 79 20 sta X2079
857 05C2 C3 15 0A jmp X0a15
859 05C5 47 X05c5: mov b,a
860 05C6 3E 1B mvi a,1bh
861 05C8 CD D2 05 call X05d2
862 05CB 78 mov a,b
863 05CC CD D2 05 X05cc: call X05d2
864 05CF C3 62 0C jmp X0c62
866 05D2 4F X05d2: mov c,a
867 05D3 C5 X05d3: push b
868 05D4 CD 88 14 call X1488
869 05D7 C1 pop b
870 05D8 DB 42 in 42h
871 05DA E6 04 ani 4
872 05DC C2 D3 05 jnz X05d3
873 05DF 79 mov a,c
874 05E0 D3 E2 out 0e2h
875 05E2 C9 ret
877 05E3 CD 46 0C X05e3: call X0c46
878 05E6 F5 X05e6: push psw
879 05E7 FE 7F cpi 7fh
880 05E9 CA 73 06 jz X0673
881 05EC E5 push h
882 05ED D5 push d
883 05EE C5 push b
884 05EF 4F mov c,a
885 05F0 21 FC 20 lxi h,X20fc
886 05F3 56 mov d,m
887 05F4 23 inx h
888 05F5 7A mov a,d
889 05F6 85 add l
890 05F7 6F mov l,a
891 05F8 7A mov a,d
892 05F9 D6 02 sui 2
893 05FB F2 FF 05 jp X05ff
894 05FE 7A mov a,d
895 05FF 32 FC 20 X05ff: sta X20fc
896 0602 56 mov d,m
897 0603 3A FA 20 lda X20fa
898 0606 B2 ora d
899 0607 47 mov b,a
900 0608 7A mov a,d
901 0609 07 rlc
902 060A 79 mov a,c
903 060B D2 16 06 jnc X0616
904 060E D6 5F sui 5fh
905 0610 FE 20 cpi 20h
906 0612 D2 16 06 jnc X0616
907 0615 4F mov c,a
908 0616 7A X0616: mov a,d
909 0617 E6 40 ani 40h
910 0619 79 mov a,c
911 061A CA 24 06 jz X0624
912 061D FE 23 cpi 23h
913 061F C2 24 06 jnz X0624
914 0622 0E 1E mvi c,1eh
915 0624 3A FB 20 X0624: lda X20fb
916 0627 B1 ora c
917 0628 4F mov c,a
918 0629 3A 42 21 lda X2142
919 062C B7 ora a
920 062D CA 41 06 jz X0641
921 0630 21 F8 20 lxi h,X20f8
922 0633 3A 53 21 lda X2153
923 0636 BE cmp m
924 0637 C2 41 06 jnz X0641
925 063A 36 00 mvi m,0
926 063C C5 push b
927 063D CD 55 09 call X0955
928 0640 C1 pop b
929 0641 2A F6 20 X0641: lhld X20f6
930 0644 71 mov m,c
931 0645 7C mov a,h
932 0646 C6 10 adi 10h
933 0648 67 mov h,a
934 0649 70 mov m,b
935 064A 78 mov a,b
936 064B 32 F5 20 sta X20f5
937 064E 21 F4 20 lxi h,X20f4
938 0651 71 mov m,c
939 0652 21 F8 20 lxi h,X20f8
940 0655 3A 53 21 lda X2153
941 0658 BE cmp m
942 0659 C2 68 06 jnz X0668
943 065C 79 mov a,c
944 065D 32 F4 20 sta X20f4
945 0660 3A A8 21 lda X21a8
946 0663 E6 40 ani 40h
947 0665 C3 6D 06 jmp X066d
949 0668 34 X0668: inr m
950 0669 CD 36 16 call X1636
951 066C AF xra a
952 066D 32 42 21 X066d: sta X2142
953 0670 C1 X0670: pop b
954 0671 D1 pop d
955 0672 E1 pop h
956 0673 F1 X0673: pop psw
957 0674 C9 ret
959 0675 3A C4 21 X0675: lda X21c4
960 0678 B7 ora a
961 0679 C2 85 06 jnz X0685
962 067C 21 C0 20 lxi h,X20c0
963 067F 7E mov a,m
964 0680 23 inx h
965 0681 96 sub m
966 0682 C2 87 06 jnz X0687
967 0685 AF X0685: xra a
968 0686 C9 ret
970 0687 6E X0687: mov l,m
971 0688 26 20 mvi h,20h
972 068A 56 mov d,m
973 068B 21 C1 20 lxi h,X20c1
974 068E 7E mov a,m
975 068F 3C inr a
976 0690 E6 BF ani 0bfh
977 0692 F6 80 ori 80h
978 0694 77 mov m,a
979 0695 2B dcx h
980 0696 96 sub m
981 0697 F2 9C 06 jp X069c
982 069A C6 40 adi 40h
983 069C FE 30 X069c: cpi 30h
984 069E C2 A7 06 jnz X06a7
985 06A1 01 11 01 lxi b,X0111
986 06A4 CD 7E 0F call X0f7e
987 06A7 7A X06a7: mov a,d
988 06A8 B7 ora a
989 06A9 C9 ret
991 06AA 3A 68 20 X06aa: lda X2068 ; A <- [Keys flag buffer]
992 06AD 5F mov e,a
993 06AE E6 80 ani 80h ; bit 7 set?
994 06B0 C8 rz ; return if not
995 06B1 21 41 08 lxi h,X0841
996 06B4 E5 push h
997 06B5 7B mov a,e
998 06B6 E6 07 ani 7
999 06B8 FE 04 cpi 4
1000 06BA FA C2 06 jm X06c2
1001 06BD AF xra a
1002 06BE 32 67 20 sta X2067
1003 06C1 C9 ret
1005 06C2 57 X06c2: mov d,a
1006 06C3 0E 00 mvi c,0
1007 06C5 06 04 mvi b,4
1008 06C7 21 6E 20 lxi h,X206e
1009 06CA 7E X06ca: mov a,m
1010 06CB B7 ora a
1011 06CC CA E8 06 jz X06e8
1012 06CF E5 push h
1013 06D0 C5 push b
1014 06D1 06 03 mvi b,3
1015 06D3 21 6A 20 lxi h,X206a
1016 06D6 BE X06d6: cmp m
1017 06D7 CA DF 06 jz X06df
1018 06DA 23 inx h
1019 06DB 05 dcr b
1020 06DC F2 D6 06 jp X06d6
1021 06DF C1 X06df: pop b
1022 06E0 E1 pop h
1023 06E1 CA E7 06 jz X06e7
1024 06E4 36 00 mvi m,0
1025 06E6 0D dcr c
1026 06E7 0C X06e7: inr c
1027 06E8 23 X06e8: inx h
1028 06E9 05 dcr b
1029 06EA C2 CA 06 jnz X06ca
1030 06ED 7B mov a,e
1031 06EE E6 08 ani 8
1032 06F0 C0 rnz
1033 06F1 B2 ora d
1034 06F2 C2 FB 06 jnz X06fb
1035 06F5 3E E1 mvi a,0e1h
1036 06F7 32 72 20 sta X2072
1037 06FA C9 ret
1039 06FB 21 47 07 X06fb: lxi h,X0747
1040 06FE E5 push h
1041 06FF 3A 72 20 lda X2072
1042 0702 3C inr a
1043 0703 CA 09 07 jz X0709
1044 0706 32 72 20 sta X2072
1045 0709 3A A6 21 X0709: lda X21a6
1046 070C E6 40 ani 40h
1047 070E C8 rz
1048 070F 7B mov a,e
1049 0710 E6 10 ani 10h
1050 0712 C0 rnz
1051 0713 3A 50 21 lda X2150
1052 0716 21 5F 08 lxi h,X085f
1053 0719 06 05 mvi b,5
1054 071B BE X071b: cmp m
1055 071C C8 rz
1056 071D 23 inx h
1057 071E 05 dcr b
1058 071F C2 1B 07 jnz X071b
1059 0722 21 73 20 lxi h,X2073
1060 0725 35 dcr m
1061 0726 C0 rnz
1062 0727 36 02 mvi m,2
1063 0729 3A 72 20 lda X2072
1064 072C FE FF cpi 0ffh
1065 072E C0 rnz
1066 072F 79 mov a,c
1067 0730 FE 01 cpi 1
1068 0732 C0 rnz
1069 0733 06 04 mvi b,4
1070 0735 21 6E 20 lxi h,X206e
1071 0738 7E X0738: mov a,m
1072 0739 B7 ora a
1073 073A C2 43 07 jnz X0743
1074 073D 23 inx h
1075 073E 05 dcr b
1076 073F C2 38 07 jnz X0738
1077 0742 C9 ret
1079 0743 E1 X0743: pop h
1080 0744 C3 76 07 jmp X0776
1082 0747 79 X0747: mov a,c
1083 0748 FE 04 cpi 4
1084 074A F0 rp
1085 074B 01 6A 20 lxi b,X206a
1086 074E 21 6E 20 X074e: lxi h,X206e
1087 0751 7E X0751: mov a,m
1088 0752 B7 ora a
1089 0753 CA 5B 07 jz X075b
1090 0756 0A ldax b
1091 0757 BE cmp m
1092 0758 CA 66 07 jz X0766
1093 075B 23 X075b: inx h
1094 075C 7D mov a,l
1095 075D FE 72 cpi 72h
1096 075F C2 51 07 jnz X0751
1097 0762 0A ldax b
1098 0763 C3 6C 07 jmp X076c
1100 0766 03 X0766: inx b
1101 0767 15 dcr d
1102 0768 C2 4E 07 jnz X074e
1103 076B C9 ret
1105 076C 47 X076c: mov b,a
1106 076D 3A 67 20 lda X2067
1107 0770 B8 cmp b
1108 0771 78 mov a,b
1109 0772 32 67 20 sta X2067
1110 0775 C0 rnz
1111 0776 E1 X0776: pop h
1112 0777 32 50 21 sta X2150
1113 077A FE 7B cpi 7bh
1114 077C CA 1A 1A jz X1a1a
1115 077F FE 6A cpi 6ah
1116 0781 CA 2C 02 jz X022c
1117 0784 43 mov b,e
1118 0785 5F mov e,a
1119 0786 3A 44 21 lda X2144
1120 0789 B7 ora a
1121 078A C2 41 08 jnz X0841
1122 078D 7B mov a,e
1123 078E E6 F0 ani 0f0h
1124 0790 0F rrc
1125 0791 0F rrc
1126 0792 57 mov d,a
1127 0793 0F rrc
1128 0794 0F rrc
1129 0795 82 add d
1130 0796 57 mov d,a
1131 0797 7B mov a,e
1132 0798 92 sub d
1133 0799 21 76 04 lxi h,X0476
1134 079C 5F mov e,a
1135 079D 16 00 mvi d,0
1136 079F 19 dad d
1137 07A0 4E mov c,m
1138 07A1 79 mov a,c
1139 07A2 B7 ora a
1140 07A3 FA 31 01 jm X0131
1141 07A6 FE 20 cpi 20h
1142 07A8 DA FF 07 jc X07ff
1143 07AB 78 mov a,b
1144 07AC E6 70 ani 70h
1145 07AE CA FF 07 jz X07ff
1146 07B1 79 mov a,c
1147 07B2 FE 7B cpi 7bh
1148 07B4 D2 C2 07 jnc X07c2
1149 07B7 FE 61 cpi 61h
1150 07B9 DA C2 07 jc X07c2
1151 07BC E6 DF ani 0dfh
1152 07BE 4F mov c,a
1153 07BF C3 D7 07 jmp X07d7
1155 07C2 78 X07c2: mov a,b
1156 07C3 E6 30 ani 30h
1157 07C5 CA D7 07 jz X07d7
1158 07C8 21 4B 04 lxi h,X044b
1159 07CB 7E X07cb: mov a,m
1160 07CC B9 cmp c
1161 07CD CA D5 07 jz X07d5
1162 07D0 23 inx h
1163 07D1 23 inx h
1164 07D2 C3 CB 07 jmp X07cb
1166 07D5 23 X07d5: inx h
1167 07D6 4E mov c,m
1168 07D7 78 X07d7: mov a,b
1169 07D8 E6 10 ani 10h
1170 07DA CA FF 07 jz X07ff
1171 07DD 79 mov a,c
1172 07DE FE 41 cpi 41h
1173 07E0 DA E8 07 jc X07e8
1174 07E3 FE 5B cpi 5bh
1175 07E5 DA FC 07 jc X07fc
1176 07E8 FE 3F X07e8: cpi 3fh
1177 07EA CA FC 07 jz X07fc
1178 07ED FE 20 cpi 20h
1179 07EF CA FC 07 jz X07fc
1180 07F2 FE 7B cpi 7bh
1181 07F4 DA 41 08 jc X0841
1182 07F7 FE 7F cpi 7fh
1183 07F9 D2 41 08 jnc X0841
1184 07FC E6 9F X07fc: ani 9fh
1185 07FE 4F mov c,a
1186 07FF B1 X07ff: ora c
1187 0800 F5 push psw
1188 0801 3A A7 21 lda X21a7
1189 0804 E6 80 ani 80h
1190 0806 CA 0C 08 jz X080c
1191 0809 32 54 21 sta X2154
1192 080C F1 X080c: pop psw
1193 080D F6 80 X080d: ori 80h
1194 080F CD 18 0F call X0f18
1195 0812 CD 53 08 X0812: call X0853
1196 0815 3A 50 21 X0815: lda X2150
1197 0818 16 04 mvi d,4
1198 081A 21 6E 20 lxi h,X206e
1199 081D BE X081d: cmp m
1200 081E CA 41 08 jz X0841
1201 0821 23 inx h
1202 0822 15 dcr d
1203 0823 C2 1D 08 jnz X081d
1204 0826 16 04 mvi d,4
1205 0828 21 6E 20 lxi h,X206e
1206 082B 7E X082b: mov a,m
1207 082C B7 ora a
1208 082D CA 38 08 jz X0838
1209 0830 23 inx h
1210 0831 15 dcr d
1211 0832 C2 2B 08 jnz X082b
1212 0835 C3 41 08 jmp X0841
1214 0838 3A 50 21 X0838: lda X2150
1215 083B 77 mov m,a
1216 083C 3E E1 mvi a,0e1h
1217 083E 32 72 20 sta X2072
1218 0841 AF X0841: xra a
1219 0842 21 68 20 lxi h,X2068
1220 0845 56 mov d,m
1221 0846 77 mov m,a
1222 0847 23 inx h
1223 0848 72 mov m,d
1224 0849 23 inx h
1225 084A 16 04 mvi d,4
1226 084C 77 X084c: mov m,a
1227 084D 23 inx h
1228 084E 15 dcr d
1229 084F C2 4C 08 jnz X084c
1230 0852 C9 ret
1232 0853 3A A7 21 X0853: lda X21a7
1233 0856 E6 40 ani 40h
1234 0858 C8 rz
1235 0859 3E 80 mvi a,80h
1236 085B 32 47 21 sta X2147
1237 085E C9 ret
1239 085F 7B X085f: mov a,e
1240 0860 2A 6A 3A lhld X3a6a
1241 0863 64 mov h,h
1242 0864 3A 30 21 lda X2130
1243 0867 D6 02 sui 2
1244 0869 C0 rnz
1245 086A 57 mov d,a
1246 086B 3A 31 21 lda X2131
1247 086E 5F mov e,a
1248 086F 3E 01 X086f: mvi a,1
1249 0871 A3 ana e
1250 0872 C2 3D 00 jnz X003d
1251 0875 7A X0875: mov a,d
1252 0876 B7 ora a
1253 0877 C4 A7 08 cnz X08a7
1254 087A D5 push d
1255 087B CD BE 17 call X17be
1256 087E D1 pop d
1257 087F 3E 02 mvi a,2
1258 0881 A3 ana e
1259 0882 C4 11 1F cnz X1f11
1260 0885 3E 08 mvi a,8
1261 0887 DC A7 08 cc X08a7
1262 088A 3E 04 mvi a,4
1263 088C A3 ana e
1264 088D C4 62 1F cnz X1f62
1265 0890 3E 10 mvi a,10h
1266 0892 DC A7 08 cc X08a7
1267 0895 7A mov a,d
1268 0896 B7 ora a
1269 0897 C2 A0 08 jnz X08a0
1270 089A 3E 08 mvi a,8
1271 089C A3 ana e
1272 089D C2 6F 08 jnz X086f
1273 08A0 7A X08a0: mov a,d
1274 08A1 32 00 20 sta 2000h
1275 08A4 C3 51 02 jmp X0251
1277 08A7 B2 X08a7: ora d
1278 08A8 57 mov d,a
1279 08A9 3E 08 mvi a,8
1280 08AB A3 ana e
1281 08AC C8 rz
1282 08AD 3E 80 mvi a,80h
1283 08AF B2 ora d
1284 08B0 57 mov d,a
1285 08B1 C9 ret
1287 08B2 FE 1B X08b2: cpi 1bh
1288 08B4 CA 9E 09 jz X099e
1289 08B7 FE 10 cpi 10h
1290 08B9 DA D4 08 jc X08d4
1291 08BC 5F mov e,a
1292 08BD D6 18 sui 18h
1293 08BF E6 FD ani 0fdh
1294 08C1 C0 rnz
1295 08C2 7B mov a,e
1296 08C3 FE 1A cpi 1ah
1297 08C5 CA CB 08 jz X08cb
1298 08C8 FE 18 cpi 18h
1299 08CA C0 rnz
1300 08CB CD 15 0A X08cb: call X0a15
1301 08CE 3E 02 mvi a,2
1302 08D0 C3 E6 05 X08d0: jmp X05e6
1304 08D3 C9 ret
1306 08D4 D6 05 X08d4: sui 5 ;; subtract 5 from A and return if negative
1307 08D6 F8 rm
1308 08D7 21 E5 08 lxi h,X08e5 ;; load jump table at 8e5
1309 08DA 87 add a ;; double a
1310 08DB 5F mov e,a
1311 08DC 16 00 mvi d,0
1312 08DE 19 dad d ;; hl = X08e5 + 2A
1313 08DF 5E mov e,m ;; load DE from (HL) little-endian
1314 08E0 23 inx h
1315 08E1 56 mov d,m
1316 08E2 EB xchg
1317 08E3 AF xra a ;; zero A
1318 08E4 E9 pchl ;; jump to address
1320 08E5 X08e5: dw X0900
0009
1321 08E7 dw X0997 ;; immediate return
9709
1322 08E9 dw X0938
3809
1323 08EB dw X0941
4109
1324 08ED dw 0df9h ;; MYSTERY ADDRESS: this isn't even in AVO!!!
F90D
1325 08EF dw X0955
5509
1326 08F1 dw X0955
5509
1327 08F3 dw X0955
5509
1328 08F5 dw 094bh
4B09
1329 08F7 dw X08fb
FB08
1330 08F9 dw X08fc
FC08
1332 08FB 3C X08fb: inr a
1333 08FC 32 FC 20 X08fc: sta X20fc
1334 08FF C9 ret
1336 0900 3A A5 21 X0900: lda X21a5
1337 0903 B7 ora a
1338 0904 C0 rnz
1339 0905 2A 7B 21 lhld X217b
1340 0908 7C mov a,h
1341 0909 BD cmp l
1342 090A C8 rz
1343 090B 21 72 21 lxi h,X2172
1344 090E 3E 10 mvi a,10h
1345 0910 B6 ora m
1346 0911 77 mov m,a
1347 0912 C9 ret
1349 0913 21 72 21 lxi h,X2172
1350 0916 7E mov a,m
1351 0917 E6 EF ani 0efh
1352 0919 77 mov m,a
1353 091A 21 7B 21 lxi h,X217b
1354 091D 46 mov b,m
1355 091E 23 inx h
1356 091F 0E 14 mvi c,14h
1357 0921 11 5C 21 lxi d,X215c
1358 0924 7E X0924: mov a,m
1359 0925 B8 cmp b
1360 0926 CA 30 09 jz X0930
1361 0929 12 stax d
1362 092A 13 inx d
1363 092B 23 inx h
1364 092C 0D dcr c
1365 092D C2 24 09 jnz X0924
1366 0930 1B X0930: dcx d
1367 0931 1A ldax d
1368 0932 F6 80 ori 80h
1369 0934 12 stax d
1370 0935 C3 F3 0E jmp X0ef3
1372 0938 21 78 20 X0938: lxi h,X2078
1373 093B 7E mov a,m
1374 093C C6 08 adi 8
1375 093E D8 rc
1376 093F 77 mov m,a
1377 0940 C9 ret
1379 0941 21 F8 20 X0941: lxi h,X20f8
1380 0944 7E mov a,m
1381 0945 B7 ora a
1382 0946 C8 rz
1383 0947 35 dcr m
1384 0948 C3 36 16 jmp X1636
1386 094B AF X094b: xra a
1387 094C 32 F8 20 sta X20f8
1388 094F C3 36 16 jmp X1636
1390 0952 CD 4B 09 call X094b
1391 0955 3A A8 21 X0955: lda X21a8
1392 0958 E6 20 ani 20h
1393 095A C4 4B 09 cnz X094b
1394 095D 21 F9 20 lxi h,X20f9
1395 0960 56 mov d,m
1396 0961 3A 56 21 lda X2156
1397 0964 BA cmp d
1398 0965 CA 73 09 jz X0973
1399 0968 CD BF 11 call X11bf
1400 096B 78 mov a,b
1401 096C BA cmp d
1402 096D C8 rz
1403 096E 14 inr d
1404 096F 72 mov m,d
1405 0970 C3 36 16 X0970: jmp X1636
1407 0973 3A A6 21 X0973: lda X21a6
1408 0976 E6 80 ani 80h
1409 0978 CA 98 09 jz X0998
1410 097B 0E 01 mvi c,1
1411 097D CD 8E 10 call X108e
1412 0980 3E FF mvi a,0ffh
1413 0982 32 C3 21 sta X21c3
1414 0985 34 inr m
1415 0986 CD E6 0F call X0fe6
1416 0989 3A C3 21 X0989: lda X21c3
1417 098C B7 ora a
1418 098D C2 89 09 jnz X0989
1419 0990 32 F4 20 sta X20f4
1420 0993 3D dcr a
1421 0994 32 F5 20 sta X20f5
1422 0997 C9 X0997: ret
1424 0998 CD 1A 10 X0998: call X101a
1425 099B C3 12 10 jmp X1012
1427 099E AF X099e: xra a
1428 099F 32 7D 20 sta X207d
1429 09A2 32 B8 21 sta X21b8
1430 09A5 21 AB 09 lxi h,X09ab
1431 09A8 C3 18 0A jmp X0a18
1433 09AB FE 30 X09ab: cpi 30h
1434 09AD D2 BD 09 jnc X09bd
1435 09B0 21 7D 20 lxi h,X207d
1436 09B3 4F mov c,a
1437 09B4 7E mov a,m
1438 09B5 B7 ora a
1439 09B6 CA BB 09 jz X09bb
1440 09B9 0E FF mvi c,0ffh
1441 09BB 71 X09bb: mov m,c
1442 09BC C9 ret
1444 09BD 32 7E 20 X09bd: sta X207e
1445 09C0 21 15 0A lxi h,X0a15
1446 09C3 E5 push h
1447 09C4 3A 7D 20 lda X207d
1448 09C7 B7 ora a
1449 09C8 C2 DC 09 jnz X09dc
1450 09CB 3A A7 21 lda X21a7
1451 09CE E6 20 ani 20h
1452 09D0 21 50 0A lxi h,X0a50
1453 09D3 C2 D9 09 jnz X09d9
1454 09D6 21 1C 0A lxi h,X0a1c
1455 09D9 C3 F7 09 X09d9: jmp X09f7
1457 09DC 47 X09dc: mov b,a
1458 09DD 3A A7 21 lda X21a7
1459 09E0 E6 20 ani 20h
1460 09E2 78 mov a,b
1461 09E3 C8 rz
1462 09E4 FE 28 cpi 28h
1463 09E6 11 FD 20 lxi d,X20fd
1464 09E9 CA 32 0C jz X0c32
1465 09EC FE 29 cpi 29h
1466 09EE CA 31 0C jz X0c31
1467 09F1 FE 23 cpi 23h
1468 09F3 21 7B 0A lxi h,X0a7b
1469 09F6 C0 rnz
1470 09F7 11 B9 21 X09f7: lxi d,X21b9
1471 09FA AF xra a
1472 09FB 12 stax d
1473 09FC 3A 7E 20 lda X207e
1474 09FF 4F X09ff: mov c,a
1475 0A00 AF X0a00: xra a
1476 0A01 86 add m
1477 0A02 C8 rz
1478 0A03 23 inx h
1479 0A04 B9 cmp c
1480 0A05 CA 0D 0A jz X0a0d
1481 0A08 23 inx h
1482 0A09 23 inx h
1483 0A0A C3 00 0A jmp X0a00
1485 0A0D 12 X0a0d: stax d
1486 0A0E 7E mov a,m
1487 0A0F 23 inx h
1488 0A10 66 mov h,m
1489 0A11 6F mov l,a
1490 0A12 AF xra a
1491 0A13 E9 pchl
1493 0A14 E1 X0a14: pop h
1494 0A15 21 E6 05 X0a15: lxi h,X05e6 ;; HL = 0x05e6
1495 0A18 22 40 21 X0a18: shld X2140 ;; 0x2140 = 0xe605
1496 0A1B C9 ret
;;
;; This is a table of some sort.
;;
1500 0A1C 41 X0a1c: mov b,c
1501 0A1D 9B sbb e
1502 0A1E 0A ldax b
1503 0A1F 42 mov b,d
1504 0A20 9B sbb e
1505 0A21 0A ldax b
1506 0A22 43 mov b,e
1507 0A23 9B sbb e
1508 0A24 0A ldax b
1509 0A25 44 mov b,h
1510 0A26 9B sbb e
1511 0A27 0A ldax b
1512 0A28 46 mov b,m
1513 0A29 0A ldax b
1514 0A2A 0C inr c
1515 0A2B 47 mov b,a
1516 0A2C 0F rrc
1517 0A2D 0C inr c
1518 0A2E 48 mov c,b
1519 0A2F 96 sub m
1520 0A30 0A ldax b
1521 0A31 49 mov c,c
1522 0A32 A3 ana e
1523 0A33 0B dcx b
1524 0A34 4A mov c,d
1525 0A35 9B sbb e
1526 0A36 0A ldax b
1527 0A37 4B mov c,e
1528 0A38 9B sbb e
1529 0A39 0A ldax b
1530 0A3A 59 mov e,c
1531 0A3B 11 0B 5A lxi d,X5a0b
1532 0A3E C6 0C adi 0ch
1533 0A40 3D dcr a
1534 0A41 DF rst 3
1535 0A42 0B dcx b
1536 0A43 3E E5 mvi a,0e5h
1537 0A45 0B dcx b
1538 0A46 31 57 0C lxi sp,X0c57
1539 0A49 3C inr a
1540 0A4A EB xchg
1541 0A4B 0B dcx b
1542 0A4C 5D mov e,l
1543 0A4D 60 mov h,b
1544 0A4E 0D dcr c
1545 0A4F 00 nop
1546 0A50 63 X0a50: mov h,e
1547 0A51 00 nop
1548 0A52 00 nop
1549 0A53 45 mov b,l
1550 0A54 52 mov d,d
1551 0A55 09 dad b
1552 0A56 4D mov c,l
1553 0A57 A3 ana e
1554 0A58 0B dcx b
1555 0A59 31 57 0C lxi sp,X0c57
1556 0A5C 5B mov e,e
1557 0A5D 8E adc m
1558 0A5E 0A ldax b
1559 0A5F 48 mov c,b
1560 0A60 DF rst 3
1561 0A61 0D dcr c
1562 0A62 44 mov b,h
1563 0A63 55 mov d,l
1564 0A64 09 dad b
1565 0A65 37 stc
1566 0A66 68 mov l,b
1567 0A67 0C inr c
1568 0A68 db 38h
38
1569 0A69 71 mov m,c
1570 0A6A 0C inr c
1571 0A6B 3D dcr a
1572 0A6C DF rst 3
1573 0A6D 0B dcx b
1574 0A6E 3E E5 mvi a,0e5h
1575 0A70 0B dcx b
1576 0A71 5A mov e,d
1577 0A72 C6 0C adi 0ch
1578 0A74 4E mov c,m
1579 0A75 46 mov b,m
1580 0A76 0C inr c
1581 0A77 4F mov c,a
1582 0A78 46 mov b,m
1583 0A79 0C inr c
1584 0A7A 00 nop
1585 0A7B 33 X0a7b: inx sp
1586 0A7C A8 xra b
1587 0A7D 12 stax d
1588 0A7E 34 inr m
1589 0A7F AC xra h
1590 0A80 12 stax d
1591 0A81 35 dcr m
1592 0A82 4A mov c,d
1593 0A83 13 inx d
1594 0A84 36 A4 mvi m,0a4h
1595 0A86 12 stax d
1596 0A87 37 stc
1597 0A88 60 mov h,b
1598 0A89 0D dcr c
1599 0A8A db 38h
38
1600 0A8B A7 ana a
1601 0A8C 0D dcr c
1602 0A8D 00 nop
1603 0A8E 21 C2 16 lxi h,X16c2
1604 0A91 22 40 21 shld X2140
1605 0A94 E1 pop h
1606 0A95 C9 ret
1608 0A96 3E 48 mvi a,48h
1609 0A98 32 7E 20 sta X207e
1610 0A9B 21 00 00 lxi h,0
1611 0A9E 22 30 21 shld X2130
1612 0AA1 E1 pop h
1613 0AA2 21 15 0A X0aa2: lxi h,X0a15
1614 0AA5 E5 push h
1615 0AA6 3A 7D 20 lda X207d
1616 0AA9 B7 ora a
1617 0AAA C0 rnz
1618 0AAB 21 D9 0A lxi h,X0ad9
1619 0AAE CD F7 09 call X09f7
1620 0AB1 3A B9 21 lda X21b9
1621 0AB4 B7 ora a
1622 0AB5 C0 rnz
1623 0AB6 21 30 21 lxi h,X2130
1624 0AB9 3A 4B 21 lda X214b
1625 0ABC B7 ora a
1626 0ABD 5F mov e,a
1627 0ABE C2 C2 0A jnz X0ac2
1628 0AC1 1C inr e
1629 0AC2 7E X0ac2: mov a,m
1630 0AC3 E5 push h
1631 0AC4 D5 push d
1632 0AC5 21 F5 0A lxi h,X0af5
1633 0AC8 47 mov b,a
1634 0AC9 CD F7 09 call X09f7
1635 0ACC D1 pop d
1636 0ACD E1 pop h
1637 0ACE 3A B9 21 lda X21b9
1638 0AD1 B7 ora a
1639 0AD2 C8 rz
1640 0AD3 23 inx h
1641 0AD4 1D dcr e
1642 0AD5 C2 C2 0A jnz X0ac2
1643 0AD8 C9 ret
1645 0AD9 44 X0ad9: mov b,h
1646 0ADA 1E 18 mvi e,18h
1647 0ADC 42 mov b,d
1648 0ADD 07 rlc
1649 0ADE db 18h
18
1650 0ADF 43 mov b,e
1651 0AE0 15 dcr d
1652 0AE1 db 18h
18
1653 0AE2 48 mov c,b
1654 0AE3 53 mov d,e
1655 0AE4 db 18h
18
1656 0AE5 41 mov b,c
1657 0AE6 FE 17 cpi 17h
1658 0AE8 72 mov m,d
1659 0AE9 A6 ana m
1660 0AEA 15 dcr d
1661 0AEB 66 mov h,m
1662 0AEC 53 mov d,e
1663 0AED db 18h
18
1664 0AEE 78 mov a,b
1665 0AEF DF rst 3
1666 0AF0 12 stax d
1667 0AF1 79 mov a,c
1668 0AF2 64 mov h,h
1669 0AF3 db 8
08
1670 0AF4 00 nop
1671 0AF5 63 X0af5: mov h,e
1672 0AF6 C1 pop b
1673 0AF7 0C inr c
1674 0AF8 71 mov m,c
1675 0AF9 16 0C mvi d,0ch
1676 0AFB 6E mov l,m
1677 0AFC 03 inx b
1678 0AFD 0D dcr c
1679 0AFE 4A mov c,d
1680 0AFF 41 mov b,c
1681 0B00 15 dcr d
1682 0B01 4B mov c,e
1683 0B02 FC 14 6C cm X6c14
1684 0B05 db 0edh
ED
1685 0B06 13 inx d
1686 0B07 6D mov l,l
1687 0B08 7F mov a,a
1688 0B09 0C inr c
1689 0B0A 68 mov l,b
1690 0B0B F2 13 67 jp X6713
1691 0B0E CF rst 1
1692 0B0F 0D dcr c
1693 0B10 00 nop
1694 0B11 21 19 0B lxi h,X0b19
1695 0B14 22 40 21 shld X2140
1696 0B17 E1 pop h
1697 0B18 C9 ret
1699 0B19 47 X0b19: mov b,a
1700 0B1A FE 20 cpi 20h
1701 0B1C DA B2 08 jc X08b2
1702 0B1F FE 1B cpi 1bh
1703 0B21 21 51 21 lxi h,X2151
1704 0B24 C2 2E 0B jnz X0b2e
1705 0B27 21 AB 09 lxi h,X09ab
1706 0B2A 22 40 21 shld X2140
1707 0B2D C9 ret
1709 0B2E 7E X0b2e: mov a,m
1710 0B2F B7 ora a
1711 0B30 C2 42 0B jnz X0b42
1712 0B33 36 01 mvi m,1
1713 0B35 78 mov a,b
1714 0B36 D6 20 sui 20h
1715 0B38 32 52 21 sta X2152
1716 0B3B 21 19 0B lxi h,X0b19
1717 0B3E 22 40 21 shld X2140
1718 0B41 C9 ret
1720 0B42 36 00 X0b42: mvi m,0
1721 0B44 78 mov a,b
1722 0B45 D6 20 sui 20h
1723 0B47 FE 50 cpi 50h
1724 0B49 D2 4F 0B jnc X0b4f
1725 0B4C 32 F8 20 sta X20f8
1726 0B4F CD BF 11 X0b4f: call X11bf
1727 0B52 3A 52 21 lda X2152
1728 0B55 04 inr b
1729 0B56 B8 cmp b
1730 0B57 D2 5D 0B jnc X0b5d
1731 0B5A 32 F9 20 sta X20f9
1732 0B5D CD 15 0A X0b5d: call X0a15
1733 0B60 C3 36 16 jmp X1636
1735 0B63 AF X0b63: xra a
1736 0B64 32 A2 21 sta X21a2
1737 0B67 CD AD 10 call X10ad
1738 0B6A 0E 50 mvi c,50h
1739 0B6C CD F9 10 call X10f9
1740 0B6F CD 4C 11 call X114c
1741 0B72 0E 50 mvi c,50h
1742 0B74 C3 89 0B jmp X0b89
1744 0B77 3E 01 X0b77: mvi a,1
1745 0B79 32 A2 21 sta X21a2
1746 0B7C CD AD 10 call X10ad
1747 0B7F 0E 84 mvi c,84h
1748 0B81 CD F9 10 call X10f9
1749 0B84 CD 4C 11 call X114c
1750 0B87 0E 84 mvi c,84h
1751 0B89 AF X0b89: xra a
1752 0B8A 32 55 21 sta X2155
1753 0B8D CD BF 11 call X11bf
1754 0B90 78 mov a,b
1755 0B91 32 56 21 sta X2156
1756 0B94 79 mov a,c
1757 0B95 32 50 20 sta X2050
1758 0B98 CD 42 03 call X0342
1759 0B9B CD 48 18 call X1848
1760 0B9E 3E 01 mvi a,1
1761 0BA0 C3 AA 0F jmp X0faa
1763 0BA3 21 F9 20 lxi h,X20f9
1764 0BA6 3A 55 21 lda X2155
1765 0BA9 47 mov b,a
1766 0BAA 7E mov a,m
1767 0BAB B8 cmp b
1768 0BAC CA B8 0B jz X0bb8
1769 0BAF B7 ora a
1770 0BB0 C8 rz
1771 0BB1 21 F9 20 lxi h,X20f9
1772 0BB4 35 dcr m
1773 0BB5 C3 36 16 jmp X1636
1775 0BB8 3A A6 21 X0bb8: lda X21a6
1776 0BBB E6 80 ani 80h
1777 0BBD CA D9 0B jz X0bd9
1778 0BC0 0E 01 mvi c,1
1779 0BC2 CD 8E 10 call X108e
1780 0BC5 3E FF mvi a,0ffh
1781 0BC7 32 C3 21 sta X21c3
1782 0BCA 35 dcr m
1783 0BCB CD EB 0F call X0feb
1784 0BCE 3A C3 21 X0bce: lda X21c3
1785 0BD1 B7 ora a
1786 0BD2 C2 CE 0B jnz X0bce
1787 0BD5 32 F4 20 sta X20f4
1788 0BD8 C9 ret
1790 0BD9 CD 2D 10 X0bd9: call X102d
1791 0BDC C3 12 10 jmp X1012
1793 0BDF 21 78 21 lxi h,X2178
1794 0BE2 36 01 mvi m,1
1795 0BE4 C9 ret
1797 0BE5 21 78 21 lxi h,X2178
1798 0BE8 36 00 mvi m,0
1799 0BEA C9 ret
1801 0BEB 21 A7 21 lxi h,X21a7
1802 0BEE 7E mov a,m
1803 0BEF F6 20 ori 20h
1804 0BF1 77 mov m,a
1805 0BF2 3A A8 21 X0bf2: lda X21a8
1806 0BF5 E6 80 ani 80h
1807 0BF7 26 08 mvi h,8
1808 0BF9 CA FE 0B jz X0bfe
1809 0BFC 26 48 mvi h,48h
1810 0BFE 6C X0bfe: mov l,h
1811 0BFF 22 FD 20 shld X20fd
1812 0C02 22 FF 20 shld X20ff
1813 0C05 AF xra a
1814 0C06 32 FC 20 sta X20fc
1815 0C09 C9 ret
1817 0C0A 26 88 mvi h,88h
1818 0C0C C3 11 0C jmp X0c11
1820 0C0F 26 08 mvi h,8
1821 0C11 6C X0c11: mov l,h
1822 0C12 22 FD 20 shld X20fd
1823 0C15 C9 ret
1825 0C16 21 45 21 lxi h,X2145
1826 0C19 78 mov a,b
1827 0C1A B7 ora a
1828 0C1B C2 23 0C jnz X0c23
1829 0C1E 7E mov a,m
1830 0C1F E6 F0 ani 0f0h
1831 0C21 77 mov m,a
1832 0C22 C9 ret
1834 0C23 D6 05 X0c23: sui 5
1835 0C25 F0 rp
1836 0C26 47 mov b,a
1837 0C27 AF xra a
1838 0C28 37 stc
1839 0C29 17 X0c29: ral
1840 0C2A 04 inr b
1841 0C2B C2 29 0C jnz X0c29
1842 0C2E B6 ora m
1843 0C2F 77 mov m,a
1844 0C30 C9 ret
1846 0C31 13 X0c31: inx d
1847 0C32 3A 7E 20 X0c32: lda X207e
1848 0C35 47 mov b,a
1849 0C36 21 4A 0C lxi h,X0c4a
1850 0C39 23 X0c39: inx h
1851 0C3A 23 inx h
1852 0C3B 7E mov a,m
1853 0C3C B7 ora a
1854 0C3D C8 rz
1855 0C3E B8 cmp b
1856 0C3F C2 39 0C jnz X0c39
1857 0C42 23 inx h
1858 0C43 7E mov a,m
1859 0C44 12 stax d
1860 0C45 C9 ret
1862 0C46 21 FC 20 X0c46: lxi h,X20fc
1863 0C49 34 inr m
1864 0C4A 34 X0c4a: inr m
1865 0C4B C9 ret
1867 0C4C 41 mov b,c
1868 0C4D 48 mov c,b
1869 0C4E 42 mov b,d
1870 0C4F db 8
08
1871 0C50 db 30h
30
1872 0C51 88 adc b
1873 0C52 31 00 32 lxi sp,X3200
1874 0C55 80 add b
1875 0C56 00 nop
1876 0C57 21 79 20 X0c57: lxi h,X2079
1877 0C5A 7E mov a,m
1878 0C5B B7 ora a
1879 0C5C CA 14 0A jz X0a14
1880 0C5F 36 81 mvi m,81h
1881 0C61 E1 pop h
1882 0C62 21 AD 05 X0c62: lxi h,X05ad
1883 0C65 C3 18 0A jmp X0a18
1885 0C68 21 02 21 lxi h,X2102
1886 0C6B 11 F8 20 lxi d,X20f8
1887 0C6E C3 77 0C jmp X0c77
1889 0C71 21 F8 20 lxi h,X20f8
1890 0C74 11 02 21 lxi d,X2102
1891 0C77 06 0B X0c77: mvi b,0bh
1892 0C79 CD 8B 03 call memmov
1893 0C7C C3 36 16 jmp X1636
1895 0C7F 21 8A 0C lxi h,X0c8a
1896 0C82 78 mov a,b
1897 0C83 B7 ora a
1898 0C84 CA 97 0C jz X0c97
1899 0C87 C3 FF 09 jmp X09ff
1901 0C8A 01 A2 0C X0c8a: lxi b,X0ca2
1902 0C8D 04 inr b
1903 0C8E A7 ana a
1904 0C8F 0C inr c
1905 0C90 05 dcr b
1906 0C91 B3 ora e
1907 0C92 0C inr c
1908 0C93 07 rlc
1909 0C94 BB cmp e
1910 0C95 0C inr c
1911 0C96 00 nop
1912 0C97 32 FB 20 X0c97: sta X20fb
1913 0C9A 21 FA 20 lxi h,X20fa
1914 0C9D 7E mov a,m
1915 0C9E F6 F7 ori 0f7h
1916 0CA0 77 mov m,a
1917 0CA1 C9 ret
1919 0CA2 3E FB X0ca2: mvi a,0fbh
1920 0CA4 C3 B5 0C jmp X0cb5
1922 0CA7 3A C8 21 lda X21c8
1923 0CAA B7 ora a
1924 0CAB C2 BB 0C jnz X0cbb
1925 0CAE 3E FD mvi a,0fdh
1926 0CB0 C3 B5 0C jmp X0cb5
1928 0CB3 3E FE mvi a,0feh
1929 0CB5 21 FA 20 X0cb5: lxi h,X20fa
1930 0CB8 A6 ana m
1931 0CB9 77 mov m,a
1932 0CBA C9 ret
1934 0CBB 3E 80 X0cbb: mvi a,80h
1935 0CBD 32 FB 20 sta X20fb
1936 0CC0 C9 ret
1938 0CC1 3A 30 21 lda X2130
1939 0CC4 B7 ora a
1940 0CC5 C0 rnz
1941 0CC6 21 72 21 lxi h,X2172
1942 0CC9 7E mov a,m
1943 0CCA F6 04 ori 4
1944 0CCC 77 mov m,a
1945 0CCD C9 ret
1947 0CCE 3E FB mvi a,0fbh
1948 0CD0 CD BF 0D call X0dbf
1949 0CD3 3A A7 21 lda X21a7
1950 0CD6 E6 20 ani 20h
1951 0CD8 C2 E3 0C jnz X0ce3
1952 0CDB 36 DA mvi m,0dah
1953 0CDD 2B dcx h
1954 0CDE 36 2F mvi m,2fh
1955 0CE0 C3 F3 0E jmp X0ef3
1957 0CE3 36 3F X0ce3: mvi m,3fh
1958 0CE5 23 inx h
1959 0CE6 3E 31 mvi a,31h
1960 0CE8 CD B9 0D call X0db9
1961 0CEB DB 42 in 42h
1962 0CED 47 mov b,a
1963 0CEE 2F cma
1964 0CEF E6 06 ani 6
1965 0CF1 4F mov c,a
1966 0CF2 78 mov a,b
1967 0CF3 E6 08 ani 8
1968 0CF5 CA F9 0C jz X0cf9
1969 0CF8 0C inr c
1970 0CF9 79 X0cf9: mov a,c
1971 0CFA F6 30 ori 30h
1972 0CFC 77 mov m,a
1973 0CFD 23 inx h
1974 0CFE 36 E3 mvi m,0e3h
1975 0D00 C3 F3 0E jmp X0ef3
1977 0D03 3A B8 21 lda X21b8
1978 0D06 B7 ora a
1979 0D07 C0 rnz
1980 0D08 78 mov a,b
1981 0D09 21 72 21 lxi h,X2172
1982 0D0C FE 06 cpi 6
1983 0D0E CA 32 0D jz X0d32
1984 0D11 FE 05 cpi 5
1985 0D13 C0 rnz
1986 0D14 7E mov a,m
1987 0D15 F6 08 ori 8
1988 0D17 77 mov m,a
1989 0D18 C9 ret
1991 0D19 3E F7 mvi a,0f7h
1992 0D1B CD BF 0D call X0dbf
1993 0D1E 06 03 mvi b,3
1994 0D20 3A BD 21 lda X21bd
1995 0D23 B7 ora a
1996 0D24 78 mov a,b
1997 0D25 C2 29 0D jnz X0d29
1998 0D28 AF xra a
1999 0D29 F6 30 X0d29: ori 30h
2000 0D2B 77 mov m,a
2001 0D2C 23 inx h
2002 0D2D 36 EE mvi m,0eeh
2003 0D2F C3 F3 0E X0d2f: jmp X0ef3
2005 0D32 7E X0d32: mov a,m
2006 0D33 F6 01 ori 1
2007 0D35 77 mov m,a
2008 0D36 C9 ret
2010 0D37 3E FE mvi a,0feh
2011 0D39 CD BF 0D call X0dbf
2012 0D3C 3A F9 20 lda X20f9
2013 0D3F 47 mov b,a
2014 0D40 3A 01 21 lda X2101
2015 0D43 B7 ora a
2016 0D44 CA 4A 0D jz X0d4a
2017 0D47 3A 55 21 lda X2155
2018 0D4A 4F X0d4a: mov c,a
2019 0D4B 78 mov a,b
2020 0D4C 91 sub c
2021 0D4D 3C inr a
2022 0D4E CD 7A 0D call X0d7a
2023 0D51 CD BB 0D call X0dbb
2024 0D54 3A F8 20 lda X20f8
2025 0D57 3C inr a
2026 0D58 CD 7A 0D call X0d7a
2027 0D5B 36 D2 mvi m,0d2h
2028 0D5D C3 F3 0E jmp X0ef3
2030 0D60 DB 42 in 42h
2031 0D62 E6 04 ani 4
2032 0D64 C0 rnz
2033 0D65 0E 81 mvi c,81h
2034 0D67 CD 8E 10 call X108e
2035 0D6A 3E FF mvi a,0ffh
2036 0D6C D3 E2 out 0e2h
2037 0D6E 00 nop
2038 0D6F CD 88 14 X0d6f: call X1488
2039 0D72 DB 42 in 42h
2040 0D74 E6 04 ani 4
2041 0D76 C2 6F 0D jnz X0d6f
2042 0D79 C9 ret
2044 0D7A 5F X0d7a: mov e,a
2045 0D7B 16 30 mvi d,30h
2046 0D7D 0E 64 mvi c,64h
2047 0D7F CD 99 0D call X0d99
2048 0D82 CA 88 0D jz X0d88
2049 0D85 77 mov m,a
2050 0D86 23 inx h
2051 0D87 15 dcr d
2052 0D88 0E 0A X0d88: mvi c,0ah
2053 0D8A CD 99 0D call X0d99
2054 0D8D CA 93 0D jz X0d93
2055 0D90 15 dcr d
2056 0D91 77 mov m,a
2057 0D92 23 inx h
2058 0D93 7B X0d93: mov a,e
2059 0D94 F6 30 ori 30h
2060 0D96 77 mov m,a
2061 0D97 23 inx h
2062 0D98 C9 ret
2064 0D99 7B X0d99: mov a,e
2065 0D9A 06 30 mvi b,30h
2066 0D9C 04 X0d9c: inr b
2067 0D9D 91 sub c
2068 0D9E F2 9C 0D jp X0d9c
2069 0DA1 81 add c
2070 0DA2 05 dcr b
2071 0DA3 5F mov e,a
2072 0DA4 78 mov a,b
2073 0DA5 BA cmp d
2074 0DA6 C9 ret
2076 0DA7 3E 45 mvi a,45h
2077 0DA9 32 C7 21 sta X21c7
2078 0DAC CD 81 03 call X0381
2079 0DAF 3E 45 mvi a,45h
2080 0DB1 32 F4 20 sta X20f4
2081 0DB4 AF xra a
2082 0DB5 32 C7 21 sta X21c7
2083 0DB8 C9 ret
2085 0DB9 77 X0db9: mov m,a
2086 0DBA 23 inx h
2087 0DBB 36 3B X0dbb: mvi m,3bh
2088 0DBD 23 inx h
2089 0DBE C9 ret
2091 0DBF 21 72 21 X0dbf: lxi h,X2172
2092 0DC2 A6 ana m
2093 0DC3 77 mov m,a
2094 0DC4 21 5C 21 lxi h,X215c
2095 0DC7 36 1B mvi m,1bh
2096 0DC9 23 inx h
2097 0DCA 36 5B mvi m,5bh
2098 0DCC 23 inx h
2099 0DCD C9 ret
2101 0DCE 42 mov b,d
2102 0DCF 78 mov a,b
2103 0DD0 B7 ora a
2104 0DD1 C2 D8 0D jnz X0dd8
2105 0DD4 CD E5 0D call X0de5
2106 0DD7 C9 ret
2108 0DD8 FE 03 X0dd8: cpi 3
2109 0DDA C0 rnz
2110 0DDB CD EC 0D call X0dec
2111 0DDE C9 ret
2113 0DDF CD 23 0E call X0e23
2114 0DE2 B6 ora m
2115 0DE3 77 mov m,a
2116 0DE4 C9 ret
2118 0DE5 CD 23 0E X0de5: call X0e23
2119 0DE8 2F cma
2120 0DE9 A6 ana m
2121 0DEA 77 mov m,a
2122 0DEB C9 ret
2124 0DEC 21 91 21 X0dec: lxi h,X2191
2125 0DEF AF X0def: xra a
2126 0DF0 77 mov m,a
2127 0DF1 23 inx h
2128 0DF2 7D mov a,l
2129 0DF3 FE A2 cpi 0a2h
2130 0DF5 C2 EF 0D jnz X0def
2131 0DF8 C9 ret
2133 0DF9 CD 23 0E X0df9: call X0e23
2134 0DFC 0C X0dfc: inr c
2135 0DFD B7 ora a
2136 0DFE 1F rar
2137 0DFF DA 0B 0E jc X0e0b
2138 0E02 57 X0e02: mov d,a
2139 0E03 A6 ana m
2140 0E04 7A mov a,d
2141 0E05 CA FC 0D jz X0dfc
2142 0E08 C3 15 0E jmp X0e15
2144 0E0B 23 X0e0b: inx h
2145 0E0C 7D mov a,l
2146 0E0D FE A2 cpi 0a2h
2147 0E0F 3E 80 mvi a,80h
2148 0E11 C2 02 0E jnz X0e02
2149 0E14 0D dcr c
2150 0E15 3A 53 21 X0e15: lda X2153
2151 0E18 B9 cmp c
2152 0E19 DA 1D 0E jc X0e1d
2153 0E1C 79 mov a,c
2154 0E1D 32 F8 20 X0e1d: sta X20f8
2155 0E20 C3 36 16 jmp X1636
2157 0E23 3A F8 20 X0e23: lda X20f8
2158 0E26 4F mov c,a
2159 0E27 57 X0e27: mov d,a
2160 0E28 21 91 21 lxi h,X2191
2161 0E2B 0F X0e2b: rrc
2162 0E2C 0F rrc
2163 0E2D 0F rrc
2164 0E2E E6 1F ani 1fh
2165 0E30 85 add l
2166 0E31 6F mov l,a
2167 0E32 7A mov a,d
2168 0E33 E6 07 ani 7
2169 0E35 57 mov d,a
2170 0E36 3E 80 mvi a,80h
2171 0E38 15 X0e38: dcr d
2172 0E39 F8 rm
2173 0E3A 0F rrc
2174 0E3B C3 38 0E jmp X0e38
2176 0E3E 3A A5 21 X0e3e: lda X21a5
2177 0E41 21 7B 20 lxi h,X207b
2178 0E44 B6 ora m
2179 0E45 47 mov b,a
2180 0E46 C0 rnz
2181 0E47 DB 42 X0e47: in 42h
2182 0E49 E6 01 ani 1
2183 0E4B C8 rz
2184 0E4C 21 C1 21 lxi h,X21c1
2185 0E4F 7E mov a,m
2186 0E50 B7 ora a
2187 0E51 36 00 mvi m,0
2188 0E53 2B dcx h
2189 0E54 C8 rz
2190 0E55 7E mov a,m
2191 0E56 D3 00 out 0
2192 0E58 C9 ret
2194 0E59 F3 X0e59: di
2195 0E5A CD 3E 0E call X0e3e
2196 0E5D FB ei
2197 0E5E 78 mov a,b
2198 0E5F B7 ora a
2199 0E60 C2 6D 0E jnz X0e6d
2200 0E63 DB 42 in 42h
2201 0E65 E6 01 ani 1
2202 0E67 C8 rz
2203 0E68 3A C2 21 lda X21c2
2204 0E6B B7 ora a
2205 0E6C C0 rnz
2206 0E6D 21 73 21 X0e6d: lxi h,X2173
2207 0E70 7E mov a,m
2208 0E71 B7 ora a
2209 0E72 CA 79 0E jz X0e79
2210 0E75 2A 74 21 lhld X2174
2211 0E78 E9 pchl
2213 0E79 3A 72 21 X0e79: lda X2172
2214 0E7C B7 ora a
2215 0E7D C8 rz
2216 0E7E 1E 00 mvi e,0
2217 0E80 1F X0e80: rar
2218 0E81 DA 89 0E jc X0e89
2219 0E84 1C inr e
2220 0E85 1C inr e
2221 0E86 C3 80 0E jmp X0e80
2223 0E89 16 00 X0e89: mvi d,0
2224 0E8B 21 94 0E lxi h,X0e94
2225 0E8E 19 dad d
2226 0E8F 7E mov a,m
2227 0E90 23 inx h
2228 0E91 66 mov h,m
2229 0E92 6F mov l,a
2230 0E93 E9 pchl
2232 0E94 37 X0e94: stc
2233 0E95 0D dcr c
2234 0E96 F0 rp
2235 0E97 12 stax d
2236 0E98 CE 0C aci 0ch
2237 0E9A 19 dad d
2238 0E9B 0D dcr c
2239 0E9C 13 inx d
2240 0E9D 09 dad b
2241 0E9E A0 ana b
2242 0E9F 0E 21 mvi c,21h
2243 0EA1 5C mov e,h
2244 0EA2 db 20h
20
2245 0EA3 46 mov b,m
2246 0EA4 54 mov d,h
2247 0EA5 5D mov e,l
2248 0EA6 13 inx d
2249 0EA7 0E 08 mvi c,8
2250 0EA9 1A X0ea9: ldax d
2251 0EAA 77 mov m,a
2252 0EAB 23 inx h
2253 0EAC 13 inx d
2254 0EAD 0D dcr c
2255 0EAE C2 A9 0E jnz X0ea9
2256 0EB1 21 43 21 lxi h,X2143
2257 0EB4 35 dcr m
2258 0EB5 7E mov a,m
2259 0EB6 4F mov c,a
2260 0EB7 C2 C1 0E jnz X0ec1
2261 0EBA 21 72 21 lxi h,X2172
2262 0EBD 7E mov a,m
2263 0EBE E6 DF ani 0dfh
2264 0EC0 77 mov m,a
2265 0EC1 3A A5 21 X0ec1: lda X21a5
2266 0EC4 B7 ora a
2267 0EC5 C2 CF 0E jnz X0ecf
2268 0EC8 79 mov a,c
2269 0EC9 FE 05 cpi 5
2270 0ECB D2 D2 0E jnc X0ed2
2271 0ECE AF xra a
2272 0ECF 32 44 21 X0ecf: sta X2144
2273 0ED2 78 X0ed2: mov a,b
2274 0ED3 E6 80 ani 80h
2275 0ED5 17 ral
2276 0ED6 3F cmc
2277 0ED7 1F rar
2278 0ED8 32 73 21 sta X2173
2279 0EDB 21 A0 0E lxi h,X0ea0
2280 0EDE 22 74 21 shld X2174
2281 0EE1 78 X0ee1: mov a,b
2282 0EE2 E6 7F ani 7fh
2283 0EE4 47 mov b,a
2284 0EE5 3A A5 21 lda X21a5
2285 0EE8 21 7B 20 lxi h,X207b
2286 0EEB B6 ora m
2287 0EEC 78 mov a,b
2288 0EED C2 93 05 jnz X0593
2289 0EF0 D3 00 out 0
2290 0EF2 C9 ret
2292 0EF3 21 01 0F X0ef3: lxi h,X0f01
2293 0EF6 22 74 21 shld X2174
2294 0EF9 AF xra a
2295 0EFA 32 71 21 sta X2171
2296 0EFD 3C inr a
2297 0EFE 32 73 21 sta X2173
2298 0F01 21 71 21 X0f01: lxi h,X2171
2299 0F04 7E mov a,m
2300 0F05 34 inr m
2301 0F06 21 5C 21 lxi h,X215c
2302 0F09 85 add l
2303 0F0A 6F mov l,a
2304 0F0B 46 mov b,m
2305 0F0C 78 mov a,b
2306 0F0D B7 ora a
2307 0F0E F2 E1 0E jp X0ee1
2308 0F11 AF xra a
2309 0F12 32 73 21 sta X2173
2310 0F15 C3 E1 0E jmp X0ee1
2312 0F18 E5 X0f18: push h
2313 0F19 D5 push d
2314 0F1A 57 mov d,a
2315 0F1B 3A A7 21 lda X21a7
2316 0F1E E6 10 ani 10h
2317 0F20 CA 2B 0F jz X0f2b
2318 0F23 7A mov a,d
2319 0F24 D6 91 sui 91h
2320 0F26 E6 FD ani 0fdh
2321 0F28 CA 61 0F jz X0f61
2322 0F2B 21 72 21 X0f2b: lxi h,X2172
2323 0F2E 7E mov a,m
2324 0F2F F6 20 ori 20h
2325 0F31 77 mov m,a
2326 0F32 21 43 21 X0f32: lxi h,X2143
2327 0F35 7E mov a,m
2328 0F36 34 inr m
2329 0F37 21 5C 20 lxi h,X205c
2330 0F3A 5F mov e,a
2331 0F3B 85 add l
2332 0F3C 6F mov l,a
2333 0F3D 72 mov m,d
2334 0F3E 3E 8D mvi a,8dh
2335 0F40 BA cmp d
2336 0F41 C2 4E 0F jnz X0f4e
2337 0F44 3A A8 21 lda X21a8
2338 0F47 E6 20 ani 20h
2339 0F49 16 8A mvi d,8ah
2340 0F4B C2 32 0F jnz X0f32
2341 0F4E 3A A5 21 X0f4e: lda X21a5
2342 0F51 B7 ora a
2343 0F52 C2 5B 0F jnz X0f5b
2344 0F55 3E 05 mvi a,5
2345 0F57 BB cmp e
2346 0F58 3E 00 mvi a,0
2347 0F5A 1F rar
2348 0F5B 32 44 21 X0f5b: sta X2144
2349 0F5E D1 X0f5e: pop d
2350 0F5F E1 pop h
2351 0F60 C9 ret
2353 0F61 7A X0f61: mov a,d
2354 0F62 E6 7F ani 7fh
2355 0F64 57 mov d,a
2356 0F65 21 C1 21 lxi h,X21c1
2357 0F68 7E mov a,m
2358 0F69 B7 ora a
2359 0F6A C2 75 0F jnz X0f75
2360 0F6D 2B dcx h
2361 0F6E 7E mov a,m
2362 0F6F BA cmp d
2363 0F70 C2 75 0F jnz X0f75
2364 0F73 23 inx h
2365 0F74 72 mov m,d
2366 0F75 4A X0f75: mov c,d
2367 0F76 06 02 mvi b,2
2368 0F78 CD 7E 0F call X0f7e
2369 0F7B C3 5E 0F jmp X0f5e
2371 0F7E 3A A7 21 X0f7e: lda X21a7
2372 0F81 E6 10 ani 10h
2373 0F83 C8 rz
2374 0F84 3A A5 21 lda X21a5
2375 0F87 B7 ora a
2376 0F88 C0 rnz
2377 0F89 79 mov a,c
2378 0F8A 21 BF 21 lxi h,X21bf
2379 0F8D FE 13 cpi 13h
2380 0F8F 78 mov a,b
2381 0F90 CA 9E 0F jz X0f9e
2382 0F93 2F cma
2383 0F94 A6 ana m
2384 0F95 77 mov m,a
2385 0F96 F5 push psw
2386 0F97 E6 02 ani 2
2387 0F99 32 C4 21 sta X21c4
2388 0F9C F1 pop psw
2389 0F9D C0 rnz
2390 0F9E B6 X0f9e: ora m
2391 0F9F 77 mov m,a
2392 0FA0 79 mov a,c
2393 0FA1 21 C0 21 lxi h,X21c0
2394 0FA4 BE cmp m
2395 0FA5 C8 rz
2396 0FA6 77 mov m,a
2397 0FA7 23 inx h
2398 0FA8 77 mov m,a
2399 0FA9 C9 ret
;
; Main loop?
;
; Absent any interrupts, execution gravitates here:
;
; 0FAA:
; ...
; call 1488
; call 1493 ; read port 0x42 (check flags buffer)
; call 06aa ; check byte at [2068]
; cli
; call 0e3e ; fetch byte at [21A5], OR byte at [207B]
; sti
; ; return byte at [2172] in A
; jmp 0FAE
;
2417 0FAA 21 7F 20 X0faa: lxi h,X207f
2418 0FAD 86 add m
2419 0FAE BE X0fae: cmp m
2420 0FAF C8 rz
2421 0FB0 E5 push h
2422 0FB1 F5 push psw
2423 0FB2 3A 7B 20 lda X207b
2424 0FB5 B7 ora a
2425 0FB6 CC 88 14 cz X1488
2426 0FB9 F1 pop psw
2427 0FBA E1 pop h
2428 0FBB C3 AE 0F jmp X0fae
;
; End of main loop?
;
2433 0FBE 2A 4E 20 X0fbe: lhld scratch_start ; HL = [0x204e]
2434 0FC1 7C mov a,h
2435 0FC2 F6 F0 ori 0f0h
2436 0FC4 67 mov h,a
2437 0FC5 22 4E 20 shld scratch_start ; update [0x204e]
2438 0FC8 3A 50 20 X0fc8: lda X2050
2439 0FCB 47 X0fcb: mov b,a
2440 0FCC 7C mov a,h
2441 0FCD E6 0F ani 0fh
2442 0FCF F6 20 ori 20h
2443 0FD1 67 mov h,a
2444 0FD2 C6 10 adi 10h
2445 0FD4 57 mov d,a
2446 0FD5 5D mov e,l
2447 0FD6 3E FF mvi a,0ffh
2448 0FD8 36 00 X0fd8: mvi m,0
2449 0FDA 12 stax d
2450 0FDB 13 inx d
2451 0FDC 23 inx h
2452 0FDD 05 dcr b
2453 0FDE C2 D8 0F jnz X0fd8
2454 0FE1 3C inr a
2455 0FE2 32 C3 21 sta X21c3
2456 0FE5 C9 ret
2458 0FE6 06 FF X0fe6: mvi b,0ffh
2459 0FE8 C3 ED 0F jmp X0fed
2461 0FEB 06 01 X0feb: mvi b,1
2462 0FED 21 55 21 X0fed: lxi h,X2155
2463 0FF0 56 mov d,m
2464 0FF1 23 inx h
2465 0FF2 5E mov e,m
2466 0FF3 78 mov a,b
2467 0FF4 B7 ora a
2468 0FF5 7A mov a,d
2469 0FF6 F2 FA 0F jp X0ffa
2470 0FF9 7B mov a,e
2471 0FFA CD E6 13 X0ffa: call X13e6
2472 0FFD 7B mov a,e
2473 0FFE 92 sub d
2474 0FFF 4F X0fff: mov c,a
2475 1000 3A 2B 21 X1000: lda X212b
2476 1003 56 X1003: mov d,m
2477 1004 77 mov m,a
2478 1005 78 mov a,b
2479 1006 85 add l
2480 1007 6F mov l,a
2481 1008 0D dcr c
2482 1009 7A mov a,d
2483 100A F2 03 10 jp X1003
2484 100D E6 7F ani 7fh
2485 100F 32 2B 21 sta X212b
2486 1012 3E FF X1012: mvi a,0ffh
2487 1014 32 0E 21 sta X210e
2488 1017 C3 36 16 jmp X1636
2490 101A CD 91 11 X101a: call X1191
2491 101D 3A 56 21 lda X2156
2492 1020 CD 2F 12 call X122f
2493 1023 CD E6 0F call X0fe6
2494 1026 3A 55 21 lda X2155
2495 1029 3D dcr a
2496 102A C3 3E 10 jmp X103e
2498 102D CD 91 11 X102d: call X1191
2499 1030 3A 55 21 lda X2155
2500 1033 3D dcr a
2501 1034 CD 2F 12 call X122f
2502 1037 CD EB 0F call X0feb
2503 103A 3A 56 21 lda X2156
2504 103D 3D dcr a
2505 103E CD CE 11 X103e: call X11ce
2506 1041 FB ei
2507 1042 32 7A 20 sta X207a
2508 1045 21 56 21 lxi h,X2156
2509 1048 7E mov a,m
2510 1049 2B dcx h
2511 104A 96 sub m
2512 104B FE 17 cpi 17h
2513 104D C0 rnz
2514 104E 21 7A 20 X104e: lxi h,X207a
2515 1051 7E mov a,m
2516 1052 36 00 mvi m,0
2517 1054 B7 ora a
2518 1055 C8 rz
2519 1056 2A 56 20 lhld X2056
2520 1059 EB xchg
2521 105A 2A 58 20 lhld X2058
2522 105D 72 mov m,d
2523 105E 23 inx h
2524 105F 73 mov m,e
2525 1060 2A 79 21 lhld X2179
2526 1063 EB xchg
2527 1064 2A 75 20 lhld X2075
2528 1067 72 mov m,d
2529 1068 23 inx h
2530 1069 73 mov m,e
2531 106A 21 56 20 X106a: lxi h,X2056
2532 106D 22 58 20 shld X2058
2533 1070 22 75 20 shld X2075
2534 1073 C9 ret
2536 1074 CD E3 13 X1074: call X13e3
2537 1077 E6 80 ani 80h
2538 1079 32 57 21 sta X2157
2539 107C CD 8D 13 call X138d
2540 107F 22 4E 21 shld X214e
2541 1082 C9 ret
;;
;; memset(0x1083): Set DE bytes at address HL to B
;;
2545 1083 70 memset: mov m,b ;; M <- B
2546 1084 23 inx h ;; HL++
2547 1085 1B dcx d ;; DE--
2548 1086 7A mov a,d ;;
2549 1087 B3 ora e ;; A = D | E
2550 1088 C2 83 10 jnz memset ;; repeat if A != 0
2551 108B C9 ret
2553 108C 0E 00 mvi c,0
2554 108E 21 51 20 X108e: lxi h,X2051
2555 1091 F3 di
2556 1092 3A 65 20 lda X2065
2557 1095 B6 ora m
2558 1096 FB ei
2559 1097 CA A7 10 jz X10a7
2560 109A 79 mov a,c
2561 109B 1F rar
2562 109C C5 push b
2563 109D DC 88 14 cc X1488
2564 10A0 CD 93 14 call X1493
2565 10A3 C1 pop b
2566 10A4 C3 8E 10 jmp X108e
2568 10A7 79 X10a7: mov a,c
2569 10A8 17 ral
2570 10A9 D0 rnc
2571 10AA C3 91 11 jmp X1191
2573 10AD 21 70 06 X10ad: lxi h,X0670
2574 10B0 22 04 20 shld X2004
2575 10B3 AF xra a
2576 10B4 32 51 20 sta X2051
2577 10B7 32 65 20 sta X2065
2578 10BA 32 5A 20 sta X205a
2579 10BD D3 A2 out 0a2h
2580 10BF 3E 04 mvi a,4
2581 10C1 D3 A2 out 0a2h
2582 10C3 CD 6A 10 call X106a
2583 10C6 FB ei
2584 10C7 3E 01 mvi a,1
2585 10C9 CD AA 0F call X0faa
2586 10CC 21 D0 22 lxi h,X22d0
2587 10CF 7C mov a,h
2588 10D0 C6 10 adi 10h
2589 10D2 57 mov d,a
2590 10D3 5D mov e,l
2591 10D4 01 2F 0D lxi b,X0d2f
2592 10D7 3A C7 21 X10d7: lda X21c7
2593 10DA 77 mov m,a
2594 10DB 23 inx h
2595 10DC 3E FF mvi a,0ffh
2596 10DE 12 stax d
2597 10DF 13 inx d
2598 10E0 0B dcx b
2599 10E1 78 mov a,b
2600 10E2 B1 ora c
2601 10E3 C2 D7 10 jnz X10d7
2602 10E6 3A C7 21 lda X21c7
2603 10E9 32 F4 20 sta X20f4
2604 10EC AF xra a
2605 10ED 32 F9 20 sta X20f9
2606 10F0 32 F8 20 sta X20f8
2607 10F3 3E FF mvi a,0ffh
2608 10F5 32 F5 20 sta X20f5
2609 10F8 C9 ret
2611 10F9 AF X10f9: xra a
2612 10FA 32 51 20 sta X2051
2613 10FD 3A 65 20 X10fd: lda X2065
2614 1100 B7 ora a
2615 1101 C2 FD 10 jnz X10fd
2616 1104 21 D0 22 lxi h,X22d0
2617 1107 06 00 mvi b,0
2618 1109 09 dad b
2619 110A CD BF 11 call X11bf
2620 110D 0C inr c
2621 110E CD 36 11 call X1136
2622 1111 E5 push h
2623 1112 06 01 mvi b,1
2624 1114 CD 36 11 call X1136
2625 1117 E1 pop h
2626 1118 36 7F mvi m,7fh
2627 111A 23 inx h
2628 111B 22 54 20 shld X2054
2629 111E 36 70 mvi m,70h
2630 1120 23 inx h
2631 1121 36 06 mvi m,6
2632 1123 79 mov a,c
2633 1124 CD DE 13 call X13de
2634 1127 36 7F mvi m,7fh
2635 1129 0D dcr c
2636 112A 3E 03 mvi a,3
2637 112C 32 02 20 sta X2002
2638 112F 21 F2 D0 lxi h,Xd0f2
2639 1132 22 04 20 shld X2004
2640 1135 C9 ret
2642 1136 36 7F X1136: mvi m,7fh
2643 1138 23 inx h
2644 1139 54 mov d,h
2645 113A 5D mov e,l
2646 113B 13 inx d
2647 113C 13 inx d
2648 113D 7A mov a,d
2649 113E F6 F0 ori 0f0h
2650 1140 77 mov m,a
2651 1141 23 inx h
2652 1142 73 mov m,e
2653 1143 79 mov a,c
2654 1144 CD DE 13 call X13de
2655 1147 05 dcr b
2656 1148 C2 36 11 jnz X1136
2657 114B C9 ret
2659 114C 21 C2 20 X114c: lxi h,X20c2
2660 114F 0C inr c
2661 1150 0C inr c
2662 1151 0C inr c
2663 1152 11 D0 22 lxi d,X22d0
2664 1155 06 00 mvi b,0
2665 1157 3E 19 mvi a,19h
2666 1159 73 X1159: mov m,e
2667 115A 23 inx h
2668 115B 72 mov m,d
2669 115C 23 inx h
2670 115D EB xchg
2671 115E 09 dad b
2672 115F EB xchg
2673 1160 3D dcr a
2674 1161 C2 59 11 jnz X1159
2675 1164 32 55 21 sta X2155
2676 1167 CD BF 11 call X11bf
2677 116A 78 mov a,b
2678 116B 32 56 21 sta X2156
2679 116E 3C inr a
2680 116F 32 2B 21 sta X212b
2681 1172 2A F2 20 lhld X20f2
2682 1175 3E 17 mvi a,17h
2683 1177 B8 cmp b
2684 1178 CA 7E 11 jz X117e
2685 117B 2A DE 20 lhld X20de
2686 117E 7C X117e: mov a,h
2687 117F F6 F0 ori 0f0h
2688 1181 67 mov h,a
2689 1182 22 4E 20 shld scratch_start ; update [0x204e]
2690 1185 21 13 21 lxi h,X2113
2691 1188 AF xra a
2692 1189 77 X1189: mov m,a
2693 118A 2C inr l
2694 118B 3C inr a
2695 118C 05 dcr b
2696 118D F2 89 11 jp X1189
2697 1190 C9 ret
2699 1191 F3 X1191: di
2700 1192 3A 7A 20 lda X207a
2701 1195 B7 ora a
2702 1196 CA A0 11 jz X11a0
2703 1199 FB X1199: ei
2704 119A CD 88 14 call X1488
2705 119D C3 91 11 jmp X1191
2707 11A0 3A 65 20 X11a0: lda X2065
2708 11A3 B7 ora a
2709 11A4 C2 B0 11 jnz X11b0
2710 11A7 3A 51 20 lda X2051
2711 11AA B7 ora a
2712 11AB FB ei
2713 11AC C8 rz
2714 11AD C3 99 11 jmp X1199
2716 11B0 3A 5B 20 X11b0: lda X205b
2717 11B3 21 5A 20 lxi h,X205a
2718 11B6 86 add m
2719 11B7 27 daa
2720 11B8 E6 0F ani 0fh
2721 11BA CA 99 11 jz X1199
2722 11BD FB ei
2723 11BE C9 ret
2725 11BF E5 X11bf: push h
2726 11C0 06 17 mvi b,17h
2727 11C2 3A A2 21 lda X21a2
2728 11C5 21 C8 21 lxi h,X21c8
2729 11C8 A6 ana m
2730 11C9 E1 pop h
2731 11CA C8 rz
2732 11CB 06 0D mvi b,0dh
2733 11CD C9 ret
2735 11CE B7 X11ce: ora a
2736 11CF F2 E8 11 jp X11e8
2737 11D2 21 04 20 lxi h,X2004
2738 11D5 E5 push h
2739 11D6 7E mov a,m
2740 11D7 23 inx h
2741 11D8 6E mov l,m
2742 11D9 F6 F0 ori 0f0h
2743 11DB 67 mov h,a
2744 11DC 22 4E 20 shld scratch_start ; update [0x204e]
2745 11DF CD 90 12 call X1290
2746 11E2 E1 pop h
2747 11E3 42 mov b,d
2748 11E4 4B mov c,e
2749 11E5 C3 0A 12 jmp X120a
2751 11E8 CD 7F 12 X11e8: call X127f
2752 11EB CD 90 12 call X1290
2753 11EE E5 push h
2754 11EF D5 push d
2755 11F0 EB xchg
2756 11F1 CD 90 12 call X1290
2757 11F4 42 mov b,d
2758 11F5 4B mov c,e
2759 11F6 D1 pop d
2760 11F7 7A mov a,d
2761 11F8 F6 F0 ori 0f0h
2762 11FA 67 mov h,a
2763 11FB 6B mov l,e
2764 11FC 22 4E 20 shld scratch_start ; update [0x204e]
2765 11FF E1 pop h
2766 1200 7C mov a,h
2767 1201 F6 9F ori 9fh
2768 1203 3C inr a
2769 1204 C2 11 12 jnz X1211
2770 1207 CD 99 12 call X1299
2771 120A F3 X120a: di
2772 120B 22 75 20 shld X2075
2773 120E C3 28 12 jmp X1228
2775 1211 CD 9D 12 X1211: call X129d
2776 1214 3A 50 20 lda X2050
2777 1217 0F rrc
2778 1218 57 mov d,a
2779 1219 CD DE 13 call X13de
2780 121C 23 inx h
2781 121D F3 di
2782 121E 22 75 20 shld X2075
2783 1221 7A mov a,d
2784 1222 CD DE 13 call X13de
2785 1225 70 mov m,b
2786 1226 23 inx h
2787 1227 71 mov m,c
2788 1228 60 X1228: mov h,b
2789 1229 69 mov l,c
2790 122A 22 79 21 shld X2179
2791 122D FB ei
2792 122E C9 ret
2794 122F F5 X122f: push psw
2795 1230 CD BE 0F call X0fbe
2796 1233 F1 pop psw
2797 1234 B7 ora a
2798 1235 21 04 20 lxi h,X2004
2799 1238 FA 48 12 jm X1248
2800 123B CD 7F 12 call X127f
2801 123E 7C mov a,h
2802 123F F6 9F ori 9fh
2803 1241 3C inr a
2804 1242 C2 52 12 jnz X1252
2805 1245 CD 99 12 call X1299
2806 1248 F3 X1248: di
2807 1249 22 58 20 shld X2058
2808 124C 46 mov b,m
2809 124D 23 inx h
2810 124E 4E mov c,m
2811 124F C3 71 12 jmp X1271
2813 1252 CD 9D 12 X1252: call X129d
2814 1255 3A 50 20 lda X2050
2815 1258 0F rrc
2816 1259 47 mov b,a
2817 125A CD DE 13 call X13de
2818 125D 23 inx h
2819 125E F3 di
2820 125F 22 58 20 shld X2058
2821 1262 78 mov a,b
2822 1263 46 mov b,m
2823 1264 23 inx h
2824 1265 4E mov c,m
2825 1266 CD DE 13 call X13de
2826 1269 EB xchg
2827 126A 2A 4E 20 lhld scratch_start ; load [0x204e]
2828 126D EB xchg
2829 126E 73 mov m,e
2830 126F 2B dcx h
2831 1270 72 mov m,d
2832 1271 2A 4E 20 X1271: lhld scratch_start ; load [0x204e]
2833 1274 22 56 20 shld X2056
2834 1277 CD 99 12 call X1299
2835 127A 70 mov m,b
2836 127B 23 inx h
2837 127C 71 mov m,c
2838 127D FB ei
2839 127E C9 ret
2841 127F 3C X127f: inr a
2842 1280 47 mov b,a
2843 1281 21 04 20 lxi h,X2004
2844 1284 7E X1284: mov a,m
2845 1285 23 inx h
2846 1286 6E mov l,m
2847 1287 67 mov h,a
2848 1288 05 dcr b
2849 1289 C8 rz
2850 128A CD 99 12 call X1299
2851 128D C3 84 12 jmp X1284
2853 1290 E5 X1290: push h
2854 1291 CD 99 12 call X1299
2855 1294 56 mov d,m
2856 1295 23 inx h
2857 1296 5E mov e,m
2858 1297 E1 pop h
2859 1298 C9 ret
2861 1299 CD DB 13 X1299: call X13db
2862 129C 23 inx h
2863 129D 7C X129d: mov a,h
2864 129E E6 0F ani 0fh
2865 12A0 F6 20 ori 20h
2866 12A2 67 mov h,a
2867 12A3 C9 ret
2869 12A4 CD B0 12 call X12b0
2870 12A7 50 mov d,b
2871 12A8 CD B0 12 call X12b0
2872 12AB db 30h
30
2873 12AC CD B0 12 call X12b0
2874 12AF db 10h
10
2875 12B0 CD 91 11 X12b0: call X1191
2876 12B3 21 13 21 lxi h,X2113
2877 12B6 3A F9 20 lda X20f9
2878 12B9 85 add l
2879 12BA 6F mov l,a
2880 12BB 7E mov a,m
2881 12BC F6 80 ori 80h
2882 12BE 77 mov m,a
2883 12BF CD 8D 13 call X138d
2884 12C2 CD C3 13 call X13c3
2885 12C5 E1 pop h
2886 12C6 7E mov a,m
2887 12C7 CD 95 13 call X1395
2888 12CA 3A 53 21 lda X2153
2889 12CD 21 F8 20 lxi h,X20f8
2890 12D0 B7 ora a
2891 12D1 1F rar
2892 12D2 BE cmp m
2893 12D3 D2 12 10 jnc X1012
2894 12D6 21 F4 20 lxi h,X20f4
2895 12D9 22 F6 20 shld X20f6
2896 12DC C3 12 10 jmp X1012
2898 12DF 3A 30 21 lda X2130
2899 12E2 FE 02 cpi 2
2900 12E4 D0 rnc
2901 12E5 32 76 21 sta X2176
2902 12E8 21 72 21 X12e8: lxi h,X2172
2903 12EB 7E mov a,m
2904 12EC F6 02 ori 2
2905 12EE 77 mov m,a
2906 12EF C9 ret
2908 12F0 3E FD mvi a,0fdh
2909 12F2 CD BF 0D call X0dbf
2910 12F5 3A 76 21 lda X2176
2911 12F8 F6 32 ori 32h
2912 12FA CD B9 0D call X0db9
2913 12FD 3A A9 21 lda X21a9
2914 1300 F5 push psw
2915 1301 E6 C0 ani 0c0h
2916 1303 F6 18 ori 18h
2917 1305 87 add a
2918 1306 3C inr a
2919 1307 F2 10 13 jp X1310
2920 130A 1F rar
2921 130B 07 rlc
2922 130C F6 04 ori 4
2923 130E E6 7F ani 7fh
2924 1310 CD B9 0D X1310: call X0db9
2925 1313 06 31 mvi b,31h
2926 1315 F1 pop psw
2927 1316 E6 20 ani 20h
2928 1318 C2 1C 13 jnz X131c
2929 131B 04 inr b
2930 131C 78 X131c: mov a,b
2931 131D CD B9 0D call X0db9
2932 1320 3A AB 21 lda X21ab
2933 1323 0F rrc
2934 1324 CD 7A 0D call X0d7a
2935 1327 CD BB 0D call X0dbb
2936 132A 3A AC 21 lda X21ac
2937 132D 0F rrc
2938 132E CD 7A 0D call X0d7a
2939 1331 CD BB 0D call X0dbb
2940 1334 3E 31 mvi a,31h
2941 1336 CD B9 0D call X0db9
2942 1339 3A AA 21 lda X21aa
2943 133C E6 F0 ani 0f0h
2944 133E 0F rrc
2945 133F 0F rrc
2946 1340 0F rrc
2947 1341 0F rrc
2948 1342 CD 7A 0D call X0d7a
2949 1345 36 F8 mvi m,0f8h
2950 1347 C3 F3 0E jmp X0ef3
2952 134A 21 57 21 X134a: lxi h,X2157
2953 134D 7E mov a,m
2954 134E B7 ora a
2955 134F C8 rz
2956 1350 CD 91 11 call X1191
2957 1353 21 13 21 lxi h,X2113
2958 1356 3A F9 20 lda X20f9
2959 1359 85 add l
2960 135A 6F mov l,a
2961 135B 7E mov a,m
2962 135C E6 7F ani 7fh
2963 135E 77 mov m,a
2964 135F CD 8D 13 call X138d
2965 1362 3A 50 20 lda X2050
2966 1365 0F rrc
2967 1366 47 mov b,a
2968 1367 CD DE 13 call X13de
2969 136A AF xra a
2970 136B 77 X136b: mov m,a
2971 136C 23 inx h
2972 136D 05 dcr b
2973 136E C2 6B 13 jnz X136b
2974 1371 3E F0 mvi a,0f0h
2975 1373 32 0E 21 sta X210e
2976 1376 CD 95 13 call X1395
2977 1379 AF xra a
2978 137A 32 57 21 sta X2157
2979 137D C3 36 16 jmp X1636
2981 1380 3A F9 20 X1380: lda X20f9
2982 1383 CD E6 13 call X13e6
2983 1386 21 C2 20 X1386: lxi h,X20c2
2984 1389 87 add a
2985 138A 85 add l
2986 138B 6F mov l,a
2987 138C C9 ret
2989 138D CD 80 13 X138d: call X1380
2990 1390 7E X1390: mov a,m
2991 1391 23 inx h
2992 1392 66 mov h,m
2993 1393 6F mov l,a
2994 1394 C9 ret
2996 1395 E6 70 X1395: ani 70h
2997 1397 47 mov b,a
2998 1398 3A F9 20 lda X20f9
2999 139B 3D dcr a
3000 139C 21 04 20 lxi h,X2004
3001 139F FA BD 13 jm X13bd
3002 13A2 CD E6 13 call X13e6
3003 13A5 57 mov d,a
3004 13A6 E6 7F ani 7fh
3005 13A8 CD 86 13 call X1386
3006 13AB CD 90 13 call X1390
3007 13AE 3A 50 20 lda X2050
3008 13B1 0F rrc
3009 13B2 5F mov e,a
3010 13B3 23 inx h
3011 13B4 14 inr d
3012 13B5 15 dcr d
3013 13B6 16 00 mvi d,0
3014 13B8 19 dad d
3015 13B9 FC BD 13 cm X13bd
3016 13BC 19 dad d
3017 13BD 7E X13bd: mov a,m
3018 13BE E6 8F ani 8fh
3019 13C0 B0 ora b
3020 13C1 77 mov m,a
3021 13C2 C9 ret
3023 13C3 3A 50 20 X13c3: lda X2050
3024 13C6 0F rrc
3025 13C7 54 mov d,h
3026 13C8 5D mov e,l
3027 13C9 CD DE 13 call X13de
3028 13CC EB xchg
3029 13CD CD DB 13 call X13db
3030 13D0 06 03 mvi b,3
3031 13D2 7E X13d2: mov a,m
3032 13D3 12 stax d
3033 13D4 13 inx d
3034 13D5 23 inx h
3035 13D6 05 dcr b
3036 13D7 C2 D2 13 jnz X13d2
3037 13DA C9 ret
3039 13DB 3A 50 20 X13db: lda X2050
3040 13DE 85 X13de: add l
3041 13DF 6F mov l,a
3042 13E0 D0 rnc
3043 13E1 24 inr h
3044 13E2 C9 ret
3046 13E3 3A F9 20 X13e3: lda X20f9
3047 13E6 21 13 21 X13e6: lxi h,X2113
3048 13E9 85 add l
3049 13EA 6F mov l,a
3050 13EB 7E mov a,m
3051 13EC C9 ret
3053 13ED 0E 00 mvi c,0
3054 13EF C3 F4 13 jmp X13f4
3056 13F2 0E FF mvi c,0ffh
3057 13F4 3A B8 21 X13f4: lda X21b8
3058 13F7 B7 ora a
3059 13F8 21 26 14 lxi h,X1426
3060 13FB CA 04 14 jz X1404
3061 13FE FE 3F cpi 3fh
3062 1400 C0 rnz
3063 1401 21 0A 14 lxi h,X140a
3064 1404 78 X1404: mov a,b
3065 1405 41 mov b,c
3066 1406 CD FF 09 call X09ff
3067 1409 C9 ret
3069 140A 01 2A 14 X140a: lxi b,X142a
3070 140D 02 stax b
3071 140E 2F cma
3072 140F 14 inr d
3073 1410 03 inx b
3074 1411 57 mov d,a
3075 1412 14 inr d
3076 1413 04 inr b
3077 1414 47 mov b,a
3078 1415 14 inr d
3079 1416 05 dcr b
3080 1417 4E mov c,m
3081 1418 14 inr d
3082 1419 06 3F mvi b,3fh
3083 141B 14 inr d
3084 141C 07 rlc
3085 141D 66 mov h,m
3086 141E 14 inr d
3087 141F db 8
08
3088 1420 5F mov e,a
3089 1421 14 inr d
3090 1422 09 dad b
3091 1423 6D mov l,l
3092 1424 14 inr d
3093 1425 00 nop
3094 1426 14 X1426: inr d
3095 1427 db 38h
38
3096 1428 14 inr d
3097 1429 00 nop
3098 142A 21 BC 21 X142a: lxi h,X21bc
3099 142D 70 mov m,b
3100 142E C9 ret
3102 142F CD 76 14 call X1476
3103 1432 A7 ana a
3104 1433 21 20 C3 lxi h,Xc320
3105 1436 F2 0B CD jp Xcd0b
3106 1439 76 hlt
3108 143A 14 inr d
3109 143B A8 xra b
3110 143C 21 20 C9 lxi h,Xc920
3111 143F 21 01 21 lxi h,X2101
3112 1442 70 mov m,b
3113 1443 CD 48 18 call X1848
3114 1446 C9 ret
3116 1447 CD 76 14 call X1476
3117 144A A6 ana m
3118 144B 21 80 C9 lxi h,Xc980
3119 144E CD 76 14 call X1476
3120 1451 A6 ana m
3121 1452 21 20 C3 lxi h,Xc320
3122 1455 6B mov l,e
3123 1456 03 inx b
3124 1457 21 A2 21 lxi h,X21a2
3125 145A 70 mov m,b
3126 145B CD 81 03 call X0381
3127 145E C9 ret
3129 145F CD 76 14 call X1476
3130 1462 A6 ana m
3131 1463 21 40 C9 lxi h,Xc940
3132 1466 CD 76 14 call X1476
3133 1469 A8 xra b
3134 146A 21 40 C9 lxi h,Xc940
3135 146D CD 76 14 call X1476
3136 1470 A8 xra b
3137 1471 21 10 C3 lxi h,Xc310
3138 1474 42 mov b,d
3139 1475 03 inx b
3140 1476 E1 X1476: pop h
3141 1477 5E mov e,m
3142 1478 23 inx h
3143 1479 56 mov d,m
3144 147A 23 inx h
3145 147B 7E mov a,m
3146 147C 23 inx h
3147 147D EB xchg
3148 147E 4F mov c,a
3149 147F 2F cma
3150 1480 A6 ana m
3151 1481 77 mov m,a
3152 1482 78 mov a,b
3153 1483 A1 ana c
3154 1484 B6 ora m
3155 1485 77 mov m,a
3156 1486 EB xchg
3157 1487 E9 pchl
3159 1488 CD 93 14 X1488: call X1493
3160 148B E6 10 ani 10h
3161 148D CC AA 06 cz X06aa
3162 1490 C3 59 0E jmp X0e59
;;
;; SUBROUTINE A
;;
3166 1493 DB 42 X1493: in 42h ;; Read flags buffer
3167 1495 E6 80 ani 80h ;; check if transmit buffer is empty
3168 1497 C8 rz ;; if zero, return
3169 1498 21 44 21 lxi h,X2144 ;; HL = 0x2144
3170 149B 7E mov a,m ;; Load from 2144
3171 149C B7 ora a ;; Check if zero
3172 149D CA A2 14 jz X14a2 ;;
3173 14A0 3E 10 mvi a,10h ;; If not, A = 10 (else A is zero)
3174 14A2 21 A5 21 X14a2: lxi h,X21a5 ;;
3175 14A5 B6 ora m ;; or bits from 0x21a5
3176 14A6 21 45 21 lxi h,X2145 ;;
3177 14A9 B6 ora m ;; or bits from 0x2145
3178 14AA 23 inx h ;;
3179 14AB B6 ora m ;; ... and 0x2146
3180 14AC 23 inx h ;;
3181 14AD B6 ora m ;; ... and 0x2147
3182 14AE 36 00 mvi m,0 ;; zero 0x2147
3183 14B0 23 inx h ;;
3184 14B1 B6 ora m ;; ... and 0x2148
3185 14B2 36 00 mvi m,0 ;; zero 0x2148
3186 14B4 D3 82 out 82h ;; Write to keyboard buffer
3187 14B6 21 74 20 lxi h,X2074 ;;
3188 14B9 34 inr m ;; Increment what's at 0x2074
3189 14BA 3A 77 20 lda X2077 ;; load what's at 0x2077
3190 14BD B7 ora a ;; return if it's not zero
3191 14BE C0 rnz ;;
3192 14BF 3A 65 20 lda X2065 ;; A = [0x2065]
3193 14C2 21 51 20 lxi h,X2051 ;;
3194 14C5 B6 ora m ;; return if [0x2065] | [0x2051] != 0
3195 14C6 C0 rnz
3197 14C7 2A 2D 21 lhld cursor_countdn ; HL = cursor countdown from [0x212d]
3198 14CA 2B dcx h
3199 14CB 7C mov a,h
3200 14CC B5 ora l
3201 14CD CA D4 14 jz X14d4
3202 14D0 22 2D 21 shld cursor_countdn ; update cursor countdown with decremented value
3203 14D3 C9 ret
;
; Cursor countdown reached zero, time to invert the cursor;
; note that the cursor is on (visible) twice as long as it's off
;
3208 14D4 3A BA 21 X14d4: lda cursor_visible ; A = 0xff (visible) or 0x00 (invisible)
3209 14D7 EE FF xri 0ffh ; invert
3210 14D9 32 BA 21 sta cursor_visible ;
3211 14DC 21 12 02 lxi h,212h ; new initial count; start with 0x0212
3212 14DF C2 E5 14 jnz X14e5 ; and stick with that if cursor still visible
3213 14E2 21 09 01 lxi h,109h ; otherwise, use half that value (0x0109) if invisible
3214 14E5 22 2D 21 X14e5: shld cursor_countdn ; store new cursor countdown
3215 14E8 2A F6 20 lhld X20f6
3216 14EB 46 mov b,m
3217 14EC 3A 59 21 lda X2159
3218 14EF A8 xra b
3219 14F0 77 mov m,a
3220 14F1 11 00 10 lxi d,X1000
3221 14F4 19 dad d
3222 14F5 3A 5A 21 lda X215a
3223 14F8 AE xra m
3224 14F9 77 mov m,a
3225 14FA C9 ret
3227 14FB 74 mov m,h
3228 14FC 78 mov a,b
3229 14FD B7 ora a
3230 14FE CA 15 15 jz X1515
3231 1501 3D dcr a
3232 1502 CA 0A 15 jz X150a
3233 1505 3D dcr a
3234 1506 C0 rnz
3235 1507 CD 15 15 call X1515
3236 150A 3A F8 20 X150a: lda X20f8
3237 150D 47 mov b,a
3238 150E 04 inr b
3239 150F 2A 4E 21 lhld X214e
3240 1512 C3 29 15 jmp X1529
3242 1515 3A F8 20 X1515: lda X20f8
3243 1518 47 mov b,a
3244 1519 3A 57 21 lda X2157
3245 151C B7 ora a
3246 151D 3A 50 20 lda X2050
3247 1520 CA 24 15 jz X1524
3248 1523 0F rrc
3249 1524 90 X1524: sub b
3250 1525 47 mov b,a
3251 1526 2A F6 20 lhld X20f6
3252 1529 7C X1529: mov a,h
3253 152A C6 10 adi 10h
3254 152C 57 mov d,a
3255 152D 5D mov e,l
3256 152E 3E FF mvi a,0ffh
3257 1530 12 X1530: stax d
3258 1531 36 00 mvi m,0
3259 1533 23 inx h
3260 1534 13 inx d
3261 1535 05 dcr b
3262 1536 C2 30 15 jnz X1530
3263 1539 32 F5 20 sta X20f5
3264 153C AF xra a
3265 153D 32 F4 20 sta X20f4
3266 1540 C9 ret
3268 1541 78 mov a,b
3269 1542 B7 ora a
3270 1543 CA 6A 15 jz X156a
3271 1546 3D dcr a
3272 1547 CA 55 15 jz X1555
3273 154A 3D dcr a
3274 154B C0 rnz
3275 154C CD 55 15 call X1555
3276 154F CD 6A 15 call X156a
3277 1552 C3 4A 13 jmp X134a
3279 1555 21 F9 20 X1555: lxi h,X20f9
3280 1558 7E mov a,m
3281 1559 F5 push psw
3282 155A 47 mov b,a
3283 155B AF xra a
3284 155C 77 mov m,a
3285 155D 0E FF mvi c,0ffh
3286 155F CD 86 15 call X1586
3287 1562 F1 pop psw
3288 1563 77 mov m,a
3289 1564 CD 74 10 call X1074
3290 1567 C3 0A 15 jmp X150a
3292 156A 3A F8 20 X156a: lda X20f8
3293 156D B7 ora a
3294 156E CC 4A 13 cz X134a
3295 1571 CD 15 15 call X1515
3296 1574 21 F9 20 lxi h,X20f9
3297 1577 7E mov a,m
3298 1578 F5 push psw
3299 1579 4F mov c,a
3300 157A 3E 17 mvi a,17h
3301 157C 91 sub c
3302 157D 47 mov b,a
3303 157E CD 86 15 call X1586
3304 1581 F1 pop psw
3305 1582 77 mov m,a
3306 1583 C3 74 10 jmp X1074
3308 1586 05 X1586: dcr b
3309 1587 F8 rm
3310 1588 0C inr c
3311 1589 71 mov m,c
3312 158A C5 push b
3313 158B E5 push h
3314 158C CD E3 13 call X13e3
3315 158F E6 7F ani 7fh
3316 1591 77 mov m,a
3317 1592 3E 70 mvi a,70h
3318 1594 CD 95 13 call X1395
3319 1597 CD 74 10 call X1074
3320 159A 3A 50 20 lda X2050
3321 159D 47 mov b,a
3322 159E CD 29 15 call X1529
3323 15A1 E1 pop h
3324 15A2 C1 pop b
3325 15A3 C3 86 15 jmp X1586
3327 15A6 0E 81 mvi c,81h
3328 15A8 CD 8E 10 call X108e
3329 15AB CD BF 11 call X11bf
3330 15AE 3A 30 21 lda X2130
3331 15B1 B7 ora a
3332 15B2 CA B6 15 jz X15b6
3333 15B5 3D dcr a
3334 15B6 57 X15b6: mov d,a
3335 15B7 3A 31 21 lda X2131
3336 15BA B7 ora a
3337 15BB C2 C0 15 jnz X15c0
3338 15BE 78 mov a,b
3339 15BF 3C inr a
3340 15C0 3D X15c0: dcr a
3341 15C1 5F mov e,a
3342 15C2 78 mov a,b
3343 15C3 BB cmp e
3344 15C4 D8 rc
3345 15C5 7A mov a,d
3346 15C6 BB cmp e
3347 15C7 D0 rnc
3348 15C8 21 55 21 lxi h,X2155
3349 15CB 72 mov m,d
3350 15CC 23 inx h
3351 15CD 73 mov m,e
3352 15CE 4B mov c,e
3353 15CF 42 mov b,d
3354 15D0 79 mov a,c
3355 15D1 90 sub b
3356 15D2 3C inr a
3357 15D3 5F mov e,a
3358 15D4 21 04 20 lxi h,X2004
3359 15D7 78 mov a,b
3360 15D8 B7 ora a
3361 15D9 CA E8 15 jz X15e8
3362 15DC 50 mov d,b
3363 15DD 7E X15dd: mov a,m
3364 15DE E6 7F ani 7fh
3365 15E0 77 mov m,a
3366 15E1 CD 2B 16 call X162b
3367 15E4 15 dcr d
3368 15E5 C2 DD 15 jnz X15dd
3369 15E8 7E X15e8: mov a,m
3370 15E9 F6 80 ori 80h
3371 15EB 77 mov m,a
3372 15EC CD 2B 16 call X162b
3373 15EF 1D dcr e
3374 15F0 C2 E8 15 jnz X15e8
3375 15F3 3E 17 mvi a,17h
3376 15F5 91 sub c
3377 15F6 CA 05 16 jz X1605
3378 15F9 57 mov d,a
3379 15FA 7E X15fa: mov a,m
3380 15FB E6 7F ani 7fh
3381 15FD 77 mov m,a
3382 15FE CD 2B 16 call X162b
3383 1601 15 dcr d
3384 1602 C2 FA 15 jnz X15fa
3385 1605 78 X1605: mov a,b
3386 1606 32 55 21 sta X2155
3387 1609 79 mov a,c
3388 160A 32 56 21 sta X2156
3389 160D 21 13 21 lxi h,X2113
3390 1610 0E 18 mvi c,18h
3391 1612 7E X1612: mov a,m
3392 1613 B7 ora a
3393 1614 F2 23 16 jp X1623
3394 1617 E5 push h
3395 1618 CD 86 13 call X1386
3396 161B 7E mov a,m
3397 161C 23 inx h
3398 161D 66 mov h,m
3399 161E 6F mov l,a
3400 161F CD C3 13 call X13c3
3401 1622 E1 pop h
3402 1623 23 X1623: inx h
3403 1624 0D dcr c
3404 1625 C2 12 16 jnz X1612
3405 1628 C3 48 18 jmp X1848
3407 162B 23 X162b: inx h
3408 162C 6E mov l,m
3409 162D E6 0F ani 0fh
3410 162F F6 20 ori 20h
3411 1631 67 mov h,a
3412 1632 23 inx h
3413 1633 C3 DB 13 jmp X13db
3415 1636 21 0D 00 X1636: lxi h,13
3416 1639 22 2D 21 shld cursor_countdn ; reset cursor countdown to 13 (0x000d)
3417 163C AF xra a
3418 163D 32 BA 21 sta cursor_visible ; reset cursor visibility
3419 1640 2A F6 20 lhld X20f6
3420 1643 3A F4 20 lda X20f4
3421 1646 47 mov b,a
3422 1647 77 mov m,a
3423 1648 7C mov a,h
3424 1649 C6 10 adi 10h
3425 164B 67 mov h,a
3426 164C 3A F5 20 lda X20f5
3427 164F 77 mov m,a
3428 1650 3A 50 20 lda X2050
3429 1653 3D dcr a
3430 1654 5F mov e,a
3431 1655 3A 7B 20 lda X207b
3432 1658 B7 ora a
3433 1659 C2 7B 16 jnz X167b
3434 165C 3A F9 20 lda X20f9
3435 165F 21 0E 21 lxi h,X210e
3436 1662 BE cmp m
3437 1663 CA 7F 16 jz X167f
3438 1666 77 mov m,a
3439 1667 CD 74 10 call X1074
3440 166A AF xra a
3441 166B 32 54 21 sta X2154
3442 166E 21 57 21 lxi h,X2157
3443 1671 7E mov a,m
3444 1672 B7 ora a
3445 1673 CA 7B 16 jz X167b
3446 1676 7B mov a,e
3447 1677 3D dcr a
3448 1678 B7 ora a
3449 1679 1F rar
3450 167A 5F mov e,a
3451 167B 7B X167b: mov a,e
3452 167C 32 53 21 sta X2153
3453 167F 21 53 21 X167f: lxi h,X2153
3454 1682 11 F8 20 lxi d,X20f8
3455 1685 1A ldax d
3456 1686 BE cmp m
3457 1687 DA 8C 16 jc X168c
3458 168A 7E mov a,m
3459 168B 12 stax d
3460 168C 3A BB 21 X168c: lda X21bb
3461 168F C6 08 adi 8
3462 1691 96 sub m
3463 1692 C2 A1 16 jnz X16a1
3464 1695 23 inx h
3465 1696 B6 ora m
3466 1697 CA A1 16 jz X16a1
3467 169A CD 38 09 call X0938
3468 169D AF xra a
3469 169E 32 54 21 sta X2154
3470 16A1 3A F8 20 X16a1: lda X20f8
3471 16A4 32 BB 21 sta X21bb
3472 16A7 2A 4E 21 lhld X214e
3473 16AA CD DE 13 call X13de
3474 16AD 22 F6 20 shld X20f6
3475 16B0 7E mov a,m
3476 16B1 32 F4 20 sta X20f4
3477 16B4 47 mov b,a
3478 16B5 7C mov a,h
3479 16B6 C6 10 adi 10h
3480 16B8 67 mov h,a
3481 16B9 7E mov a,m
3482 16BA 32 F5 20 sta X20f5
3483 16BD 2A F6 20 lhld X20f6
3484 16C0 70 mov m,b
3485 16C1 C9 ret
3487 16C2 47 X16c2: mov b,a
3488 16C3 21 F1 16 lxi h,X16f1
3489 16C6 22 40 21 shld X2140
3490 16C9 AF xra a
3491 16CA 32 2F 21 sta X212f
3492 16CD 32 4B 21 sta X214b
3493 16D0 32 7D 20 sta X207d
3494 16D3 21 30 21 lxi h,X2130
3495 16D6 0E 0F mvi c,0fh
3496 16D8 AF xra a
3497 16D9 77 X16d9: mov m,a
3498 16DA 23 inx h
3499 16DB 0D dcr c
3500 16DC C2 D9 16 jnz X16d9
3501 16DF 21 B8 21 lxi h,X21b8
3502 16E2 36 00 mvi m,0
3503 16E4 78 mov a,b
3504 16E5 FE 40 cpi 40h
3505 16E7 D2 F2 16 jnc X16f2
3506 16EA FE 3C cpi 3ch
3507 16EC DA F2 16 jc X16f2
3508 16EF 77 mov m,a
3509 16F0 C9 ret
3511 16F1 47 X16f1: mov b,a
3512 16F2 78 X16f2: mov a,b
3513 16F3 FE 3A cpi 3ah
3514 16F5 D2 17 17 jnc X1717
3515 16F8 D6 30 sui 30h
3516 16FA FA 17 17 jm X1717
3517 16FD 4F mov c,a
3518 16FE 21 2F 21 lxi h,X212f
3519 1701 7E mov a,m
3520 1702 FE 1A cpi 1ah
3521 1704 D2 13 17 jnc X1713
3522 1707 07 rlc
3523 1708 47 mov b,a
3524 1709 07 rlc
3525 170A 07 rlc
3526 170B 80 add b
3527 170C DA 13 17 jc X1713
3528 170F 81 add c
3529 1710 D2 15 17 jnc X1715
3530 1713 3E FF X1713: mvi a,0ffh
3531 1715 77 X1715: mov m,a
3532 1716 C9 ret
3534 1717 11 30 21 X1717: lxi d,X2130
3535 171A F5 push psw
3536 171B 21 4B 21 lxi h,X214b
3537 171E 4E mov c,m
3538 171F 06 00 mvi b,0
3539 1721 EB xchg
3540 1722 09 dad b
3541 1723 01 2F 21 lxi b,X212f
3542 1726 0A ldax b
3543 1727 77 mov m,a
3544 1728 AF xra a
3545 1729 02 stax b
3546 172A 1A ldax d
3547 172B FE 0F cpi 0fh
3548 172D CA 32 17 jz X1732
3549 1730 3C inr a
3550 1731 12 stax d
3551 1732 F1 X1732: pop psw
3552 1733 47 X1733: mov b,a
3553 1734 FE 3B cpi 3bh
3554 1736 C8 rz
3555 1737 E6 C0 ani 0c0h
3556 1739 78 mov a,b
3557 173A CA 43 17 jz X1743
3558 173D 32 7E 20 sta X207e
3559 1740 C3 A2 0A jmp X0aa2
3561 1743 21 7D 20 X1743: lxi h,X207d
3562 1746 86 add m
3563 1747 D2 4C 17 jnc X174c
3564 174A 3E FF mvi a,0ffh
3565 174C 77 X174c: mov m,a
3566 174D 21 33 17 lxi h,X1733
3567 1750 22 40 21 shld X2140
3568 1753 C9 ret
3570 1754 16 00 X1754: mvi d,0
3571 1756 06 01 mvi b,1
3572 1758 C3 62 17 jmp X1762
;;
;; Third initialization call?
;;
3576 175B CD C0 02 X175b: call X02c0 ;; Initialize start of screen RAM and wipe attribute RAM to 0xff
3577 175E 06 0A mvi b,0ah ;; B = 0x0a
3578 1760 16 01 mvi d,1 ;; D = 1
3579 1762 C5 X1762: push b ;; push B, D
3580 1763 D5 push d ;;
3581 1764 CD BE 17 call X17be ;; Display wait message
3582 1767 D1 pop d ;; pop D
3583 1768 F3 di ;; disable interrupts(???)
3584 1769 21 7B 21 lxi h,X217b ;; HL = 0x217b
3585 176C 1E 33 mvi e,33h ;; E = 0x33
3586 176E 0E 01 mvi c,1 ;; C = 1
3587 1770 AF xra a ;; A = 0
3588 1771 32 AE 21 X1771: sta X21ae ;; 0x21ae = A
3589 1774 79 mov a,c ;; A = C
3590 1775 32 AD 21 sta X21ad ;; 0x21ad = A
3591 1778 D5 push d ;; push D,H
3592 1779 E5 push h ;;
3593 177A 7A mov a,d ;; A=D
3594 177B B7 ora a ;; or A
3595 177C 7E mov a,m ;; load A from HL
3596 177D 32 AF 21 sta X21af ;; store it in 0x21af
3597 1780 CC AE 18 cz X18ae ;; if A is 0 call X18ae
3598 1783 CD A3 18 call X18a3 ;; call X18a3
3599 1786 E1 pop h ;; pop H,D
3600 1787 D1 pop d
3601 1788 3A AF 21 lda X21af
3602 178B 1D dcr e
3603 178C CA 9E 17 jz X179e
3604 178F 77 mov m,a
3605 1790 3A AD 21 lda X21ad
3606 1793 07 rlc
3607 1794 AE xra m
3608 1795 4F mov c,a
3609 1796 23 inx h
3610 1797 3A AE 21 lda X21ae
3611 179A 3C inr a
3612 179B C3 71 17 jmp X1771
3614 179E BE X179e: cmp m
3615 179F C1 pop b
3616 17A0 0E 00 mvi c,0
3617 17A2 CA AC 17 jz X17ac
3618 17A5 05 dcr b
3619 17A6 C2 62 17 jnz X1762
3620 17A9 CD D0 17 call X17d0
3621 17AC 79 X17ac: mov a,c
3622 17AD B7 ora a
3623 17AE F5 push psw
3624 17AF 0E 40 mvi c,40h
3625 17B1 3E 63 mvi a,63h
3626 17B3 CD 2B 19 call X192b
3627 17B6 21 F2 D0 lxi h,Xd0f2
3628 17B9 22 04 20 shld X2004
3629 17BC F1 pop psw
3630 17BD C9 ret
;;
;; Show wait message
;;
3634 17BE 11 EC 17 X17be: lxi d,X17ec ;; DE = 0x17ec
3635 17C1 06 07 mvi b,7 ;; B = 7
3636 17C3 21 CC 21 lxi h,X21cc ;; HL = 0x21cc
3637 17C6 CD 8B 03 call memmov ;; Initialize 0x21cc to Wait message
3638 17C9 21 71 CC lxi h,Xcc71 ;; HL = 0xcc71
3639 17CC 22 04 20 shld X2004 ;; retarget screen ram to display wait message
3640 17CF C9 ret
3642 17D0 21 7B 21 X17d0: lxi h,X217b
3643 17D3 06 27 mvi b,27h
3644 17D5 36 80 X17d5: mvi m,80h
3645 17D7 23 inx h
3646 17D8 05 dcr b
3647 17D9 C2 D5 17 jnz X17d5
3648 17DC 11 F3 17 lxi d,X17f3 ;; DE = 0x17f3
3649 17DF 06 0B mvi b,0bh ;; B = 11
3650 17E1 CD 8B 03 call memmov ;; store
3651 17E4 0E 01 mvi c,1
3652 17E6 3E 30 mvi a,30h
3653 17E8 32 78 20 sta X2078
3654 17EB C9 ret
X17ec:
3656 17EC db 'Wait'
57 61 69 74
3657 17F0 db 07fh,070h,06h
7F 70 06
X17f3:
3659 17F3 db 0,8,06eh,020h
00 08 6E 20
3660 17F7 db 0d0h,050h,0,020h
D0 50 00 20
3661 17FB db 0,0e0h,0e0h
00 E0 E0
X17fe:
3663 17FE 3A 55 21 lda X2155
3664 1801 01 FF 00 lxi b,X00ff
3665 1804 C3 0F 18 jmp X180f
3667 1807 CD BF 11 call X11bf
3668 180A 3A 56 21 lda X2156
3669 180D 0E 01 mvi c,1
3670 180F 21 F9 20 X180f: lxi h,X20f9
3671 1812 C3 25 18 jmp X1825
3673 1815 3A 53 21 X1815: lda X2153
3674 1818 01 01 FF lxi b,Xff01
3675 181B C3 22 18 jmp X1822
3677 181E AF X181e: xra a
3678 181F 01 FF 00 lxi b,X00ff
3679 1822 21 F8 20 X1822: lxi h,X20f8
3680 1825 57 X1825: mov d,a
3681 1826 3A B8 21 lda X21b8
3682 1829 B7 ora a
3683 182A C2 15 0A jnz X0a15
3684 182D 3A 30 21 lda X2130
3685 1830 B7 ora a
3686 1831 C2 35 18 jnz X1835
3687 1834 3C inr a
3688 1835 5F X1835: mov e,a
3689 1836 7E mov a,m
3690 1837 BA X1837: cmp d
3691 1838 CA 44 18 jz X1844
3692 183B B8 cmp b
3693 183C CA 44 18 jz X1844
3694 183F 81 add c
3695 1840 1D dcr e
3696 1841 C2 37 18 jnz X1837
3697 1844 77 X1844: mov m,a
3698 1845 C3 36 16 jmp X1636
3700 1848 21 00 00 X1848: lxi h,0
3701 184B 22 30 21 shld X2130
3702 184E 3E FF mvi a,0ffh
3703 1850 32 0E 21 sta X210e
3704 1853 3A 01 21 lda X2101
3705 1856 4F mov c,a
3706 1857 21 30 21 lxi h,X2130
3707 185A 7E mov a,m
3708 185B B7 ora a
3709 185C CA 60 18 jz X1860
3710 185F 3D dcr a
3711 1860 47 X1860: mov b,a
3712 1861 79 mov a,c
3713 1862 B7 ora a
3714 1863 CA 69 18 jz X1869
3715 1866 3A 55 21 lda X2155
3716 1869 80 X1869: add b
3717 186A 47 mov b,a
3718 186B 79 mov a,c
3719 186C B7 ora a
3720 186D 3A 56 21 lda X2156
3721 1870 C2 79 18 jnz X1879
3722 1873 48 mov c,b
3723 1874 CD BF 11 call X11bf
3724 1877 78 mov a,b
3725 1878 41 mov b,c
3726 1879 B8 X1879: cmp b
3727 187A DA 7E 18 jc X187e
3728 187D 78 mov a,b
3729 187E 32 F9 20 X187e: sta X20f9
3730 1881 23 inx h
3731 1882 7E mov a,m
3732 1883 B7 ora a
3733 1884 CA 88 18 jz X1888
3734 1887 3D dcr a
3735 1888 47 X1888: mov b,a
3736 1889 79 mov a,c
3737 188A B7 ora a
3738 188B C2 95 18 jnz X1895
3739 188E 3A 50 20 lda X2050
3740 1891 3D dcr a
3741 1892 C3 98 18 jmp X1898
3743 1895 3A 53 21 X1895: lda X2153
3744 1898 B8 X1898: cmp b
3745 1899 DA 9D 18 jc X189d
3746 189C 78 mov a,b
3747 189D 32 F8 20 X189d: sta X20f8
3748 18A0 C3 36 16 jmp X1636
3750 18A3 0E 40 X18a3: mvi c,40h
3751 18A5 CD 28 19 call X1928
3752 18A8 CD C1 18 call X18c1
3753 18AB C3 BC 18 jmp X18bc
3755 18AE 0E 40 X18ae: mvi c,40h
3756 18B0 CD 28 19 call X1928
3757 18B3 CD A8 19 call X19a8
3758 18B6 CD 77 19 call X1977
3759 18B9 CD D6 19 call X19d6
3760 18BC 3E 30 X18bc: mvi a,30h
3761 18BE D3 62 out 62h
3762 18C0 C9 ret
;;
;; On h pulse, write 0x2d to NVR... this looks like it's doing a read
;;
3766 18C1 DB 42 X18c1: in 42h
3767 18C3 A1 ana c
3768 18C4 CA C1 18 jz X18c1
3769 18C7 DB 42 X18c7: in 42h
3770 18C9 A1 ana c
3771 18CA C2 C7 18 jnz X18c7
3772 18CD 3E 2D mvi a,2dh ;; Write READ command to NVR latch
3773 18CF D3 62 out 62h
3774 18D1 DB 42 X18d1: in 42h
3775 18D3 A1 ana c
3776 18D4 CA D1 18 jz X18d1
3777 18D7 DB 42 X18d7: in 42h
3778 18D9 A1 ana c
3779 18DA C2 D7 18 jnz X18d7
3780 18DD 3E 2F mvi a,2fh ;; Write 0x2fh (standby) to nvr latch
3781 18DF D3 62 out 62h
3782 18E1 21 D3 21 lxi h,X21d3 ;; HL = X21d3
3783 18E4 06 0E mvi b,0eh ;; B = 14 -- we're reading 14 bits
3784 18E6 DB 42 X18e6: in 42h
3785 18E8 A1 ana c
3786 18E9 CA E6 18 jz X18e6
3787 18EC DB 42 X18ec: in 42h
3788 18EE A1 ana c
3789 18EF C2 EC 18 jnz X18ec ;; wait for NVR clock L
3790 18F2 3E 25 mvi a,25h ;; shft bit out of nvr
3791 18F4 D3 62 out 62h
3792 18F6 DB 42 X18f6: in 42h
3793 18F8 A1 ana c
3794 18F9 CA F6 18 jz X18f6 ;; wait for NVR clock H
3795 18FC DB 42 in 42h ;; read bit and store it in memory
3796 18FE 77 mov m,a
3797 18FF 23 inx h
3798 1900 DB 42 X1900: in 42h
3799 1902 A1 ana c
3800 1903 C2 00 19 jnz X1900 ;; wait for NVR clock L
3801 1906 05 dcr b
3802 1907 C2 F6 18 jnz X18f6 ;; read next bit
3803 190A 3E 2F mvi a,2fh ;; send standby
3804 190C D3 62 out 62h
3805 190E 11 D3 21 lxi d,X21d3 ;; DE = 0x21d3
3806 1911 06 0E mvi b,0eh ;; B = 14
3807 1913 21 00 00 lxi h,0 ;; HL = 0
3808 1916 29 X1916: dad h ;;
3809 1917 1A ldax d ;; load next char
3810 1918 E6 20 ani 20h ;; and with NVR data bit
3811 191A 07 rlc ;; rotate NVR bit to high bit
3812 191B 07 rlc
3813 191C 07 rlc
3814 191D B5 ora l
3815 191E 6F mov l,a
3816 191F 13 inx d
3817 1920 05 dcr b
3818 1921 C2 16 19 jnz X1916
3819 1924 22 AF 21 shld X21af ;; Store the finished data in 21af and 21ae
3820 1927 C9 ret
;;
;; Loads address A into NVR address register
;;
3824 1928 3A AE 21 X1928: lda X21ae ;; Load accumulator from 0x21ae -- (0x42)
3825 192B 06 FF X192b: mvi b,0ffh ;; B = 0xff
3826 192D 04 X192d: inr b ;; increment B
3827 192E D6 0A sui 0ah ;; subtract 0x0a from accumulator
3828 1930 F2 2D 19 jp X192d ;; repeat while accumulator is positive
3829 1933 C6 0A adi 0ah ;; add 0x0a to accumulator
;; B = A/10, A = A%10 -- this is almost certainly related to NVR!
;; First, fill the buffer at 21d3 with 20 bytes of 0x23 (accept address 1)
3834 1935 21 D3 21 lxi h,X21d3 ;; HL = 0x21d3
3835 1938 1E 23 mvi e,23h ;; E = 0x23
3836 193A 16 14 mvi d,14h ;; D = 0x14
3837 193C 73 X193c: mov m,e ;;
3838 193D 23 inx h ;; HL++
3839 193E 15 dcr d ;; D--
3840 193F C2 3C 19 jnz X193c ;; repeat until D is zero
;; End buffer with 0x2f -- put in standby
3844 1942 36 2F mvi m,2fh ;; Store 0x2f in 21e7
;; Set 21d3 + a to 0x22 (accept address 0)
3848 1944 21 D3 21 lxi h,X21d3 ;; HL = 0x21d3
3849 1947 5F mov e,a ;; copy A to E
3850 1948 16 00 mvi d,0 ;; clear D
3851 194A 19 dad d ;; add DE to HL -- calculate address of bit A
3852 194B 36 22 mvi m,22h ;; Store 0x22 in M
;; Set 21d3 + 10 + b to 0x22 (accept address 0)
3856 194D 21 D3 21 lxi h,X21d3 ;; HL = 0x21d3
3857 1950 3E 0A mvi a,0ah ;; A = 0x0a
3858 1952 80 add b ;; A = 0x0a + B
3859 1953 5F mov e,a
3860 1954 19 dad d
3861 1955 36 22 mvi m,22h
;; Wait for horiz latch
3865 1957 DB 42 X1957: in 42h
3866 1959 A1 ana c
3867 195A C2 57 19 jnz X1957
;; Now copy from 21d3 to nvr latch, one per edge, 21 bytes
3871 195D 21 D3 21 lxi h,X21d3
3872 1960 06 15 mvi b,15h ;;
3873 1962 DB 42 X1962: in 42h
3874 1964 A1 ana c ;; Flags Buffer & C
3875 1965 CA 62 19 jz X1962
3876 1968 05 dcr b
3877 1969 F8 rm ;; Return if B is negative
3878 196A DB 42 X196a: in 42h
3879 196C A1 ana c
3880 196D C2 6A 19 jnz X196a
3881 1970 7E mov a,m
3882 1971 D3 62 out 62h
3883 1973 23 inx h
3884 1974 C3 62 19 jmp X1962
3886 1977 2A AF 21 X1977: lhld X21af
3887 197A 29 dad h
3888 197B 29 dad h
3889 197C 11 D3 21 lxi d,X21d3
3890 197F 06 0E mvi b,0eh
3891 1981 3E 20 X1981: mvi a,20h
3892 1983 29 dad h
3893 1984 17 ral
3894 1985 12 stax d
3895 1986 13 inx d
3896 1987 05 dcr b
3897 1988 C2 81 19 jnz X1981
3898 198B 3E 2F mvi a,2fh
3899 198D 12 stax d
3900 198E 21 D3 21 lxi h,X21d3
3901 1991 06 0F mvi b,0fh
3902 1993 DB 42 X1993: in 42h
3903 1995 A1 ana c
3904 1996 CA 93 19 jz X1993
3905 1999 DB 42 X1999: in 42h
3906 199B A1 ana c
3907 199C C2 99 19 jnz X1999
3908 199F 7E mov a,m
3909 19A0 D3 62 out 62h
3910 19A2 23 inx h
3911 19A3 05 dcr b
3912 19A4 C2 93 19 jnz X1993
3913 19A7 C9 ret
3915 19A8 DB 42 X19a8: in 42h
3916 19AA A1 ana c
3917 19AB CA A8 19 jz X19a8
3918 19AE DB 42 X19ae: in 42h
3919 19B0 A1 ana c
3920 19B1 C2 AE 19 jnz X19ae
3921 19B4 3E 2B mvi a,2bh
3922 19B6 D3 62 out 62h
3923 19B8 CD C0 19 call X19c0
3924 19BB 3E 2F mvi a,2fh
3925 19BD D3 62 out 62h
3926 19BF C9 ret
3928 19C0 21 3B 01 X19c0: lxi h,X013b
3929 19C3 DB 42 X19c3: in 42h
3930 19C5 A1 ana c
3931 19C6 CA C3 19 jz X19c3
3932 19C9 DB 42 X19c9: in 42h
3933 19CB A1 ana c
3934 19CC C2 C9 19 jnz X19c9
3935 19CF 2B dcx h
3936 19D0 7C mov a,h
3937 19D1 B5 ora l
3938 19D2 C2 C3 19 jnz X19c3
3939 19D5 C9 ret
3941 19D6 DB 42 X19d6: in 42h
3942 19D8 A1 ana c
3943 19D9 CA D6 19 jz X19d6
3944 19DC DB 42 X19dc: in 42h
3945 19DE A1 ana c
3946 19DF C2 DC 19 jnz X19dc
3947 19E2 3E 29 mvi a,29h
3948 19E4 D3 62 out 62h
3949 19E6 CD C0 19 call X19c0
3950 19E9 3E 2F mvi a,2fh
3951 19EB D3 62 out 62h
3952 19ED C9 ret
3954 19EE FE 20 X19ee: cpi 20h
3955 19F0 0E 43 mvi c,43h
3956 19F2 CA FF 01 jz X01ff
3957 19F5 21 B0 1B lxi h,X1bb0
3958 19F8 E5 push h
3959 19F9 FE 0D cpi 0dh
3960 19FB CA 4B 09 jz X094b
3961 19FE FE 09 cpi 9
3962 1A00 CA F9 0D jz X0df9
3963 1A03 FE 3A cpi 3ah
3964 1A05 D2 60 1B jnc X1b60
3965 1A08 D6 30 sui 30h
3966 1A0A F8 rm
3967 1A0B 87 add a
3968 1A0C 21 A2 1A lxi h,X1aa2
3969 1A0F CD DE 13 call X13de
3970 1A12 CD 90 13 call X1390
3971 1A15 78 mov a,b
3972 1A16 11 AC 21 lxi d,X21ac
3973 1A19 E9 pchl
3975 1A1A 32 77 21 X1a1a: sta X2177
3976 1A1D C3 12 08 jmp X0812
3978 1A20 3A 7B 20 X1a20: lda X207b
3979 1A23 EE FF xri 0ffh
3980 1A25 32 7B 20 sta X207b
3981 1A28 CA 61 1A jz X1a61
3982 1A2B 0E 80 X1a2b: mvi c,80h
3983 1A2D CD 8E 10 call X108e
3984 1A30 2A 40 21 lhld X2140
3985 1A33 22 11 21 shld X2111
3986 1A36 21 EE 19 lxi h,X19ee
3987 1A39 22 40 21 shld X2140
3988 1A3C 21 00 00 lxi h,0
3989 1A3F 22 43 21 shld X2143
3990 1A42 22 72 21 shld X2172
3991 1A45 2A 04 20 X1a45: lhld X2004
3992 1A48 22 C5 21 shld X21c5
3993 1A4B 2A F8 20 lhld X20f8
3994 1A4E 22 0D 21 shld X210d
3995 1A51 CD BA 1B call X1bba
3996 1A54 22 4E 21 shld X214e
3997 1A57 AF xra a
3998 1A58 32 F8 20 sta X20f8
3999 1A5B CD F9 1B call X1bf9
4000 1A5E C3 36 16 jmp X1636
4002 1A61 2A 11 21 X1a61: lhld X2111
4003 1A64 22 40 21 shld X2140
4004 1A67 CD BA 1B call X1bba
4005 1A6A 11 00 10 lxi d,X1000
4006 1A6D 19 dad d
4007 1A6E 3A 50 20 lda X2050
4008 1A71 36 FF X1a71: mvi m,0ffh
4009 1A73 23 inx h
4010 1A74 3D dcr a
4011 1A75 C2 71 1A jnz X1a71
4012 1A78 21 0D 21 lxi h,X210d
4013 1A7B 7E mov a,m
4014 1A7C 32 F8 20 sta X20f8
4015 1A7F 3E FF mvi a,0ffh
4016 1A81 23 inx h
4017 1A82 77 mov m,a
4018 1A83 CD 36 16 call X1636
4019 1A86 2A C5 21 lhld X21c5
4020 1A89 22 04 20 shld X2004
4021 1A8C AF xra a
4022 1A8D 32 C4 21 sta X21c4
4023 1A90 32 C2 21 sta X21c2
4024 1A93 DB 42 in 42h
4025 1A95 E6 08 ani 8
4026 1A97 CA A1 1A jz X1aa1
4027 1A9A 3A 76 21 lda X2176
4028 1A9D B7 ora a
4029 1A9E CC E8 12 cz X12e8
4030 1AA1 C9 X1aa1: ret
4032 1AA2 CF X1aa2: rst 1
4033 1AA3 1A ldax d
4034 1AA4 09 dad b
4035 1AA5 1B dcx d
4036 1AA6 D0 rnc
4037 1AA7 1A ldax d
4038 1AA8 F2 1A FE jp Xfe1a
4039 1AAB 1A ldax d
4040 1AAC 0A ldax b
4041 1AAD 1B dcx d
4042 1AAE 22 1B 40 shld X401b
4043 1AB1 1B dcx d
4044 1AB2 41 mov b,c
4045 1AB3 1B dcx d
4046 1AB4 B6 ora m
4047 1AB5 1A ldax d
4048 1AB6 CD 52 1B call X1b52
4049 1AB9 AF xra a
4050 1ABA 32 0E 21 sta X210e
4051 1ABD 32 0D 21 sta X210d
4052 1AC0 3A A2 21 lda X21a2
4053 1AC3 B7 ora a
4054 1AC4 F5 push psw
4055 1AC5 CC 77 0B cz X0b77
4056 1AC8 F1 pop psw
4057 1AC9 C4 63 0B cnz X0b63
4058 1ACC C3 45 1A jmp X1a45
4060 1ACF C7 rst 0
4061 1AD0 CD 52 1B call X1b52
4062 1AD3 3A F8 20 lda X20f8
4063 1AD6 B7 ora a
4064 1AD7 C8 rz
4065 1AD8 CD 23 0E call X0e23
4066 1ADB AE xra m
4067 1ADC 77 mov m,a
4068 1ADD CD 23 0E call X0e23
4069 1AE0 A6 ana m
4070 1AE1 06 54 mvi b,54h
4071 1AE3 C2 E8 1A jnz X1ae8
4072 1AE6 06 00 X1ae6: mvi b,0
4073 1AE8 78 X1ae8: mov a,b
4074 1AE9 32 F4 20 sta X20f4
4075 1AEC 3A F8 20 lda X20f8
4076 1AEF C3 EA 1E jmp X1eea
;;
;; Below is what appears to be a bunch of dead code-- unreferenced functions (meant for use
;; by an expansion rom or patch, perhaps?).
;;
4081 1AF2 CD 52 1B call X1b52
4082 1AF5 CD EC 0D call X0dec
4083 1AF8 CD CD 1C call X1ccd
4084 1AFB C3 E6 1A jmp X1ae6
4086 1AFE 21 A5 21 lxi h,X21a5
4087 1B01 7E mov a,m
4088 1B02 EE 20 xri 20h
4089 1B04 77 mov m,a
4090 1B05 AF xra a
4091 1B06 32 44 21 sta X2144
4092 1B09 C9 ret
4094 1B0A CD 4B 09 call X094b
4095 1B0D 21 5A 22 lxi h,X225a
4096 1B10 7E mov a,m
4097 1B11 EE 03 xri 3
4098 1B13 77 mov m,a
4099 1B14 32 65 22 sta X2265
4100 1B17 E6 01 ani 1
4101 1B19 32 BE 21 sta X21be
4102 1B1C CA D3 1C jz X1cd3
4103 1B1F C3 35 1C jmp X1c35
4105 1B22 CD 59 1B call X1b59
4106 1B25 21 A6 21 lxi h,X21a6
4107 1B28 3A F8 20 lda X20f8
4108 1B2B D6 02 sui 2
4109 1B2D FE 28 cpi 28h
4110 1B2F D0 rnc
4111 1B30 00 nop
1B 34 org 1b34h
4115 1B34 57 mov d,a
4116 1B35 CD 2B 0E call X0e2b
4117 1B38 AE xra m
4118 1B39 77 mov m,a
4119 1B3A CD DB 1D call X1ddb
4120 1B3D C3 D3 1C jmp X1cd3
4122 1B40 1B dcx d
4123 1B41 EB xchg
4124 1B42 CD 59 1B call X1b59
4125 1B45 32 F8 20 sta X20f8
4126 1B48 7E mov a,m
4127 1B49 C6 10 adi 10h
4128 1B4B 77 mov m,a
4129 1B4C CD DB 1D call X1ddb
4130 1B4F C3 D3 1C jmp X1cd3
4132 1B52 3A BE 21 X1b52: lda X21be
4133 1B55 B7 ora a
4134 1B56 C0 rnz
4135 1B57 E1 pop h
4136 1B58 C9 ret
4138 1B59 3A BE 21 X1b59: lda X21be
4139 1B5C B7 ora a
4140 1B5D C8 rz
4141 1B5E E1 pop h
4142 1B5F C9 ret
4144 1B60 3A 69 20 X1b60: lda X2069
4145 1B63 E6 20 ani 20h
4146 1B65 C8 rz
4147 1B66 78 mov a,b
4148 1B67 FE 53 cpi 53h
4149 1B69 C2 72 1B jnz X1b72
4150 1B6C CD 54 17 call X1754
4151 1B6F C3 81 1B jmp X1b81
4153 1B72 FE 52 X1b72: cpi 52h
4154 1B74 C2 86 1B jnz X1b86
4155 1B77 CD 5B 17 call X175b
4156 1B7A FB ei
4157 1B7B CD A2 03 call X03a2
4158 1B7E CD 2B 1A call X1a2b
4159 1B81 FB X1b81: ei
4160 1B82 CD F9 1B call X1bf9
4161 1B85 C9 ret
4163 1B86 FE 41 X1b86: cpi 41h
4164 1B88 C0 rnz
4165 1B89 CD 59 1B call X1b59
4166 1B8C CD 4B 09 call X094b
4167 1B8F 3E 41 mvi a,41h
4168 1B91 CD E6 05 call X05e6
4169 1B94 3E 3D mvi a,3dh
4170 1B96 CD E6 05 call X05e6
4171 1B99 3E 20 mvi a,20h
4172 1B9B CD E6 05 call X05e6
4173 1B9E 21 9F 1E lxi h,X1e9f
4174 1BA1 22 40 21 shld X2140
4175 1BA4 E1 pop h
4176 1BA5 C9 ret
4178 1BA6 98 sbb b
4179 1BA7 FE 61 cpi 61h
4180 1BA9 F8 rm
4181 1BAA FE 7B cpi 7bh
4182 1BAC F0 rp
4183 1BAD E6 DF ani 0dfh
4184 1BAF C9 ret
4186 1BB0 CD 94 03 X1bb0: call X0394
4187 1BB3 21 EE 19 lxi h,X19ee
4188 1BB6 22 40 21 shld X2140
4189 1BB9 C9 ret
4191 1BBA 2A 4E 20 X1bba: lhld scratch_start ; load [0x204e]
4192 1BBD C3 C3 1B jmp X1bc3
4194 1BC0 21 CC 21 X1bc0: lxi h,X21cc
4195 1BC3 7C X1bc3: mov a,h
4196 1BC4 E6 0F ani 0fh
4197 1BC6 F6 20 ori 20h
4198 1BC8 67 mov h,a
4199 1BC9 C9 ret
4201 1BCA CD BA 1B X1bca: call X1bba
4202 1BCD CD C8 0F call X0fc8
4203 1BD0 E5 push h
4204 1BD1 36 7F mvi m,7fh
4205 1BD3 23 inx h
4206 1BD4 EB xchg
4207 1BD5 CD C0 1B call X1bc0
4208 1BD8 7C mov a,h
4209 1BD9 E6 0F ani 0fh
4210 1BDB F6 70 ori 70h
4211 1BDD 12 stax d
4212 1BDE 13 inx d
4213 1BDF 7D mov a,l
4214 1BE0 12 stax d
4215 1BE1 E1 pop h
4216 1BE2 3A 50 20 lda X2050
4217 1BE5 5F mov e,a
4218 1BE6 06 54 mvi b,54h
4219 1BE8 7B X1be8: mov a,e
4220 1BE9 CD 27 0E call X0e27
4221 1BEC A6 ana m
4222 1BED CA F4 1B jz X1bf4
4223 1BF0 7B mov a,e
4224 1BF1 CD EA 1E call X1eea
4225 1BF4 1D X1bf4: dcr e
4226 1BF5 C2 E8 1B jnz X1be8
4227 1BF8 C9 ret
4229 1BF9 01 AD 1C X1bf9: lxi b,X1cad
4230 1BFC 21 53 22 lxi h,X2253
4231 1BFF 3E FA mvi a,0fah
4232 1C01 CD 71 1C call X1c71
4233 1C04 0E 01 mvi c,1
4234 1C06 06 10 mvi b,10h
4235 1C08 CD 8A 1C call X1c8a
4236 1C0B 01 AD 1C lxi b,X1cad
4237 1C0E 3E FA mvi a,0fah
4238 1C10 CD 71 1C call X1c71
4239 1C13 0E 01 mvi c,1
4240 1C15 06 50 mvi b,50h
4241 1C17 CD 8A 1C call X1c8a
4242 1C1A 01 B6 1C lxi b,X1cb6
4243 1C1D 3E FD mvi a,0fdh
4244 1C1F CD 71 1C call X1c71
4245 1C22 0E 13 mvi c,13h
4246 1C24 CD 88 1C call X1c88
4247 1C27 36 7F mvi m,7fh
4248 1C29 23 inx h
4249 1C2A EB xchg
4250 1C2B CD BA 1B call X1bba
4251 1C2E 7C mov a,h
4252 1C2F F6 70 ori 70h
4253 1C31 12 stax d
4254 1C32 13 inx d
4255 1C33 7D mov a,l
4256 1C34 12 stax d
4257 1C35 CD C0 1B X1c35: call X1bc0
4258 1C38 3A 50 20 lda X2050
4259 1C3B 47 mov b,a
4260 1C3C 3E 31 mvi a,31h
4261 1C3E 77 X1c3e: mov m,a
4262 1C3F 23 inx h
4263 1C40 4F mov c,a
4264 1C41 E6 0F ani 0fh
4265 1C43 79 mov a,c
4266 1C44 C2 49 1C jnz X1c49
4267 1C47 EE 80 xri 80h
4268 1C49 3C X1c49: inr a
4269 1C4A 27 daa
4270 1C4B D2 50 1C jnc X1c50
4271 1C4E F6 80 ori 80h
4272 1C50 E6 8F X1c50: ani 8fh
4273 1C52 F6 30 ori 30h
4274 1C54 05 dcr b
4275 1C55 C2 3E 1C jnz X1c3e
4276 1C58 CD 9F 1C call X1c9f
4277 1C5B CD CA 1B call X1bca
4278 1C5E 3E 01 mvi a,1
4279 1C60 32 BE 21 X1c60: sta X21be
4280 1C63 21 53 22 lxi h,X2253
4281 1C66 7C mov a,h
4282 1C67 65 mov h,l
4283 1C68 E6 0F ani 0fh
4284 1C6A F6 30 ori 30h
4285 1C6C 6F mov l,a
4286 1C6D 22 04 20 shld X2004
4287 1C70 C9 ret
4289 1C71 E5 X1c71: push h
4290 1C72 11 00 10 lxi d,X1000
4291 1C75 19 dad d
4292 1C76 D1 pop d
4293 1C77 F5 X1c77: push psw
4294 1C78 0A ldax b
4295 1C79 B7 ora a
4296 1C7A CA 86 1C jz X1c86
4297 1C7D 12 stax d
4298 1C7E F1 pop psw
4299 1C7F 77 mov m,a
4300 1C80 23 inx h
4301 1C81 13 inx d
4302 1C82 03 inx b
4303 1C83 C3 77 1C jmp X1c77
4305 1C86 F1 X1c86: pop psw
4306 1C87 C9 ret
4308 1C88 06 70 X1c88: mvi b,70h
4309 1C8A EB X1c8a: xchg
4310 1C8B 36 7F X1c8b: mvi m,7fh
4311 1C8D 23 inx h
4312 1C8E 54 mov d,h
4313 1C8F 5D mov e,l
4314 1C90 13 inx d
4315 1C91 13 inx d
4316 1C92 7A mov a,d
4317 1C93 E6 0F ani 0fh
4318 1C95 B0 ora b
4319 1C96 77 mov m,a
4320 1C97 23 inx h
4321 1C98 73 mov m,e
4322 1C99 23 inx h
4323 1C9A 0D dcr c
4324 1C9B C2 8B 1C jnz X1c8b
4325 1C9E C9 ret
4327 1C9F 36 7F X1c9f: mvi m,7fh
4328 1CA1 54 mov d,h
4329 1CA2 5D mov e,l
4330 1CA3 23 inx h
4331 1CA4 7A mov a,d
4332 1CA5 E6 0F ani 0fh
4333 1CA7 F6 70 ori 70h
4334 1CA9 77 mov m,a
4335 1CAA 23 inx h
4336 1CAB 73 mov m,e
4337 1CAC C9 ret
X1cad:
4339 1CAD db 'SET-UP A',0
53 45 54 2D
55 50 20 41
00
X1cb6:
4341 1CB6 db 'TO EXIT PRESS ',022h,'SET-UP',022h,0
54 4F 20 45
58 49 54 20
50 52 45 53
53 20 22 53
45 54 2D 55
50 22 00
4342 1CCD CD BA 1B call X1bba
4343 1CD0 C3 C8 0F jmp X0fc8
4345 1CD3 CD CD 1C X1cd3: call X1ccd
4346 1CD6 CD C0 1B call X1bc0
4347 1CD9 E5 push h
4348 1CDA 3E 4E mvi a,4eh
4349 1CDC CD CB 0F call X0fcb
4350 1CDF E1 pop h
4351 1CE0 E5 push h
4352 1CE1 23 inx h
4353 1CE2 23 inx h
4354 1CE3 1E 00 mvi e,0
4355 1CE5 06 04 mvi b,4
4356 1CE7 DB 42 in 42h
4357 1CE9 E6 08 ani 8
4358 1CEB F5 push psw
4359 1CEC CA F0 1C jz X1cf0
4360 1CEF 04 inr b
4361 1CF0 0E 04 X1cf0: mvi c,4
4362 1CF2 CD CC 1D X1cf2: call X1dcc
4363 1CF5 F6 B0 ori 0b0h
4364 1CF7 77 mov m,a
4365 1CF8 1C inr e
4366 1CF9 23 inx h
4367 1CFA 0D dcr c
4368 1CFB C2 F2 1C jnz X1cf2
4369 1CFE 0E 04 mvi c,4
4370 1D00 36 00 X1d00: mvi m,0
4371 1D02 1C inr e
4372 1D03 23 inx h
4373 1D04 0D dcr c
4374 1D05 C2 00 1D jnz X1d00
4375 1D08 05 dcr b
4376 1D09 C2 F0 1C jnz X1cf0
4377 1D0C 0E 04 mvi c,4
4378 1D0E F1 pop psw
4379 1D0F F5 push psw
4380 1D10 C2 17 1D jnz X1d17
4381 1D13 79 mov a,c
4382 1D14 C6 08 adi 8
4383 1D16 4F mov c,a
4384 1D17 36 00 X1d17: mvi m,0
4385 1D19 23 inx h
4386 1D1A 0D dcr c
4387 1D1B C2 17 1D jnz X1d17
4388 1D1E 11 4B 1D lxi d,X1d4b
4389 1D21 3A AB 21 lda X21ab
4390 1D24 CD 61 1D call X1d61
4391 1D27 11 56 1D lxi d,X1d56
4392 1D2A 3A AC 21 lda X21ac
4393 1D2D CD 61 1D call X1d61
4394 1D30 CD 9F 1C call X1c9f
4395 1D33 11 08 00 lxi d,8
4396 1D36 0E 04 mvi c,4
4397 1D38 F1 pop psw
4398 1D39 CA 3D 1D jz X1d3d
4399 1D3C 0C inr c
4400 1D3D 3E 31 X1d3d: mvi a,31h
4401 1D3F E1 pop h
4402 1D40 77 X1d40: mov m,a
4403 1D41 3C inr a
4404 1D42 19 dad d
4405 1D43 0D dcr c
4406 1D44 C2 40 1D jnz X1d40
4407 1D47 AF xra a
4408 1D48 C3 60 1C jmp X1c60
4410 1D4B X1d4b: db 20h
20
4411 1D4C db 20h
20
4412 1D4D db 20h
20
4413 1D4E 54 mov d,h
4414 1D4F db 20h
20
4415 1D50 53 mov d,e
4416 1D51 50 mov d,b
4417 1D52 45 mov b,l
4418 1D53 45 mov b,l
4419 1D54 44 mov b,h
4420 1D55 db 20h
20
4421 1D56 X1d56: db 20h
20
4422 1D57 db 20h
20
4423 1D58 db 20h
20
4424 1D59 52 mov d,d
4425 1D5A db 20h
20
4426 1D5B 53 mov d,e
4427 1D5C 50 mov d,b
4428 1D5D 45 mov b,l
4429 1D5E 45 mov b,l
4430 1D5F 44 mov b,h
4431 1D60 db 20h
20
4432 1D61 4F X1d61: mov c,a
4433 1D62 06 0B mvi b,0bh
4434 1D64 CD 8B 03 call memmov
4435 1D67 79 mov a,c
4436 1D68 0F rrc
4437 1D69 0F rrc
4438 1D6A 4F mov c,a
4439 1D6B 0F rrc
4440 1D6C 0F rrc
4441 1D6D 81 add c
4442 1D6E 4F mov c,a
4443 1D6F 06 00 mvi b,0
4444 1D71 11 7C 1D lxi d,X1d7c
4445 1D74 EB xchg
4446 1D75 09 dad b
4447 1D76 EB xchg
4448 1D77 06 05 mvi b,5
4449 1D79 C3 8B 03 jmp memmov
4451 1D7C X1d7c: db 20h
20
4452 1D7D db 20h
20
4453 1D7E db 20h
20
4454 1D7F 35 dcr m
4455 1D80 db 30h
30
4456 1D81 db 20h
20
4457 1D82 db 20h
20
4458 1D83 db 20h
20
4459 1D84 37 stc
4460 1D85 35 dcr m
4461 1D86 db 20h
20
4462 1D87 db 20h
20
4463 1D88 31 31 30 lxi sp,X3031
4464 1D8B db 20h
20
4465 1D8C db 20h
20
4466 1D8D 31 33 34 lxi sp,X3433
4467 1D90 db 20h
20
4468 1D91 db 20h
20
4469 1D92 31 35 30 lxi sp,X3035
4470 1D95 db 20h
20
4471 1D96 db 20h
20
4472 1D97 32 30 30 sta X3030
4473 1D9A db 20h
20
4474 1D9B db 20h
20
4475 1D9C 33 inx sp
4476 1D9D db 30h
30
4477 1D9E db 30h
30
4478 1D9F db 20h
20
4479 1DA0 db 20h
20
4480 1DA1 36 30 mvi m,30h
4481 1DA3 db 30h
30
4482 1DA4 db 20h
20
4483 1DA5 31 32 30 lxi sp,X3032
4484 1DA8 db 30h
30
4485 1DA9 db 20h
20
4486 1DAA 31 38 30 lxi sp,X3038
4487 1DAD db 30h
30
4488 1DAE db 20h
20
4489 1DAF 32 30 30 sta X3030
4490 1DB2 db 30h
30
4491 1DB3 db 20h
20
4492 1DB4 32 34 30 sta X3034
4493 1DB7 db 30h
30
4494 1DB8 db 20h
20
4495 1DB9 33 inx sp
4496 1DBA 36 30 mvi m,30h
4497 1DBC db 30h
30
4498 1DBD db 20h
20
4499 1DBE 34 inr m
4500 1DBF db 38h
38
4501 1DC0 db 30h
30
4502 1DC1 db 30h
30
4503 1DC2 db 20h
20
4504 1DC3 39 dad sp
4505 1DC4 36 30 mvi m,30h
4506 1DC6 db 30h
30
4507 1DC7 31 39 32 lxi sp,X3239
4508 1DCA db 30h
30
4509 1DCB db 30h
30
4510 1DCC E5 X1dcc: push h
4511 1DCD 21 A6 21 lxi h,X21a6
4512 1DD0 53 mov d,e
4513 1DD1 7B mov a,e
4514 1DD2 CD 2B 0E call X0e2b
4515 1DD5 A6 ana m
4516 1DD6 E1 pop h
4517 1DD7 C8 rz
4518 1DD8 3E 01 mvi a,1
4519 1DDA C9 ret
4521 1DDB 3A AC 21 X1ddb: lda X21ac
4522 1DDE E6 F0 ani 0f0h
4523 1DE0 0F rrc
4524 1DE1 0F rrc
4525 1DE2 0F rrc
4526 1DE3 0F rrc
4527 1DE4 47 mov b,a
4528 1DE5 3A AB 21 lda X21ab
4529 1DE8 E6 F0 ani 0f0h
4530 1DEA B0 ora b
4531 1DEB 32 58 21 sta X2158
4532 1DEE E6 F0 ani 0f0h
4533 1DF0 FE 20 cpi 20h
4534 1DF2 3A A4 21 lda X21a4
4535 1DF5 CA FF 1D jz X1dff
4536 1DF8 E6 3F ani 3fh
4537 1DFA F6 80 ori 80h
4538 1DFC C3 03 1E jmp X1e03
4540 1DFF E6 3F X1dff: ani 3fh
4541 1E01 F6 C0 ori 0c0h
4542 1E03 32 A4 21 X1e03: sta X21a4
4543 1E06 DB 42 in 42h
4544 1E08 E6 08 ani 8
4545 1E0A CA 19 1E jz X1e19
4546 1E0D 21 A7 21 lxi h,X21a7
4547 1E10 7E mov a,m
4548 1E11 F6 10 ori 10h
4549 1E13 77 mov m,a
4550 1E14 3E 6E mvi a,6eh
4551 1E16 C3 31 1E jmp X1e31
4553 1E19 3A A9 21 X1e19: lda X21a9
4554 1E1C E6 C0 ani 0c0h
4555 1E1E 47 mov b,a
4556 1E1F 3A A9 21 lda X21a9
4557 1E22 E6 20 ani 20h
4558 1E24 0F rrc
4559 1E25 F6 20 ori 20h
4560 1E27 B0 ora b
4561 1E28 0F rrc
4562 1E29 0F rrc
4563 1E2A 47 mov b,a
4564 1E2B 3A A4 21 lda X21a4
4565 1E2E E6 C3 ani 0c3h
4566 1E30 B0 ora b
4567 1E31 32 A4 21 X1e31: sta X21a4
4568 1E34 3A A9 21 lda X21a9
4569 1E37 E6 10 ani 10h
4570 1E39 CA 3E 1E jz X1e3e
4571 1E3C 3E 10 mvi a,10h
4572 1E3E C6 20 X1e3e: adi 20h
4573 1E40 32 7C 20 sta X207c
4574 1E43 3A A6 21 lda X21a6
4575 1E46 E6 10 ani 10h
4576 1E48 CA 4D 1E jz X1e4d
4577 1E4B 3E 01 mvi a,1
4578 1E4D CD 6E 1E X1e4d: call X1e6e
4579 1E50 CD 29 03 call X0329
4580 1E53 3A F8 20 lda X20f8
4581 1E56 FE 15 cpi 15h
4582 1E58 CC 42 03 cz X0342
4583 1E5B FE 1D cpi 1dh
4584 1E5D CC 42 03 cz X0342
4585 1E60 FE 0C cpi 0ch
4586 1E62 CC F2 0B cz X0bf2
4587 1E65 FE 12 cpi 12h
4588 1E67 CC F2 0B cz X0bf2
4589 1E6A CD 36 16 call X1636
4590 1E6D C9 ret
4592 1E6E B7 X1e6e: ora a
4593 1E6F CA 79 1E jz X1e79
4594 1E72 32 5B 21 sta X215b
4595 1E75 AF xra a
4596 1E76 C3 94 1E jmp X1e94
4598 1E79 DB 42 X1e79: in 42h
4599 1E7B E6 02 ani 2
4600 1E7D C2 90 1E jnz X1e90
4601 1E80 32 59 21 sta X2159
4602 1E83 3E 01 mvi a,1
4603 1E85 32 5B 21 sta X215b
4604 1E88 3E 02 mvi a,2
4605 1E8A 32 5A 21 sta X215a
4606 1E8D C3 6B 03 jmp X036b
4608 1E90 AF X1e90: xra a
4609 1E91 32 5B 21 sta X215b
4610 1E94 32 5A 21 X1e94: sta X215a
4611 1E97 3E 80 mvi a,80h
4612 1E99 32 59 21 sta X2159
4613 1E9C C3 6B 03 jmp X036b
4615 1E9F CD DD 1E X1e9f: call X1edd
4616 1EA2 21 7B 21 lxi h,X217b
4617 1EA5 77 mov m,a
4618 1EA6 23 inx h
4619 1EA7 22 B4 21 shld X21b4
4620 1EAA 47 mov b,a
4621 1EAB 11 14 00 lxi d,20 ; DE = 20(0x0014)
4622 1EAE CD 83 10 call memset ; call memset(0x1083)
4623 1EB1 21 B8 1E lxi h,X1eb8
4624 1EB4 22 40 21 shld X2140
4625 1EB7 C9 ret
4627 1EB8 CD DD 1E X1eb8: call X1edd
4628 1EBB 2A B4 21 lhld X21b4
4629 1EBE 47 mov b,a
4630 1EBF 3A 7B 21 lda X217b
4631 1EC2 4F mov c,a
4632 1EC3 B8 cmp b
4633 1EC4 CA D3 1E jz X1ed3
4634 1EC7 7D mov a,l
4635 1EC8 FE 90 cpi 90h
4636 1ECA CA D3 1E jz X1ed3
4637 1ECD 70 mov m,b
4638 1ECE 23 inx h
4639 1ECF 22 B4 21 shld X21b4
4640 1ED2 C9 ret
4642 1ED3 71 X1ed3: mov m,c
4643 1ED4 CD CD 1C call X1ccd
4644 1ED7 CD 4B 09 call X094b
4645 1EDA C3 B0 1B jmp X1bb0
4647 1EDD F5 X1edd: push psw
4648 1EDE FE 20 cpi 20h
4649 1EE0 D2 E5 1E jnc X1ee5
4650 1EE3 3E 01 mvi a,1
4651 1EE5 CD E3 05 X1ee5: call X05e3
4652 1EE8 F1 pop psw
4653 1EE9 C9 ret
4655 1EEA E5 X1eea: push h
4656 1EEB 21 4E 20 lxi h,scratch_start ; HL -> 0x204e
4657 1EEE 4F mov c,a
4658 1EEF 3A A2 21 lda X21a2
4659 1EF2 B7 ora a
4660 1EF3 C2 FC 1E jnz X1efc
4661 1EF6 79 mov a,c
4662 1EF7 FE 50 cpi 50h
4663 1EF9 F2 0F 1F jp X1f0f
4664 1EFC 7E X1efc: mov a,m
4665 1EFD 23 inx h
4666 1EFE 66 mov h,m
4667 1EFF 6F mov l,a
4668 1F00 7C mov a,h
4669 1F01 E6 0F ani 0fh
4670 1F03 F6 20 ori 20h
4671 1F05 67 mov h,a
4672 1F06 79 mov a,c
4673 1F07 85 add l
4674 1F08 6F mov l,a
4675 1F09 D2 0D 1F jnc X1f0d
4676 1F0C 24 inr h
4677 1F0D 70 X1f0d: mov m,b
4678 1F0E 78 mov a,b
4679 1F0F E1 X1f0f: pop h
4680 1F10 C9 ret
4682 1F11 D5 X1f11: push d
4683 1F12 AF xra a
4684 1F13 32 A5 21 sta X21a5
4685 1F16 06 00 mvi b,0
4686 1F18 78 X1f18: mov a,b
4687 1F19 32 58 21 sta X2158
4688 1F1C D3 02 out 2
4689 1F1E 0E 01 mvi c,1
4690 1F20 79 X1f20: mov a,c
4691 1F21 D3 00 out 0
4692 1F23 21 00 C0 lxi h,Xc000
4693 1F26 C5 X1f26: push b
4694 1F27 E5 push h
4695 1F28 CD 75 06 call X0675
4696 1F2B E1 pop h
4697 1F2C C1 pop b
4698 1F2D C2 48 1F jnz X1f48
4699 1F30 23 inx h
4700 1F31 7C mov a,h
4701 1F32 B5 ora l
4702 1F33 C2 26 1F jnz X1f26
4703 1F36 3E 05 X1f36: mvi a,5
4704 1F38 D3 01 out 1
4705 1F3A 3A 58 21 lda X2158
4706 1F3D D3 02 out 2
4707 1F3F 3E 25 mvi a,25h
4708 1F41 32 A5 21 sta X21a5
4709 1F44 AF xra a
4710 1F45 37 stc
4711 1F46 D1 pop d
4712 1F47 C9 ret
4714 1F48 E6 7F X1f48: ani 7fh
4715 1F4A B9 cmp c
4716 1F4B C2 36 1F jnz X1f36
4717 1F4E 79 mov a,c
4718 1F4F 07 rlc
4719 1F50 FE 80 cpi 80h
4720 1F52 4F mov c,a
4721 1F53 C2 20 1F jnz X1f20
4722 1F56 78 mov a,b
4723 1F57 C6 11 adi 11h
4724 1F59 47 mov b,a
4725 1F5A FE 10 cpi 10h
4726 1F5C C2 18 1F jnz X1f18
4727 1F5F AF xra a
4728 1F60 D1 pop d
4729 1F61 C9 ret
4731 1F62 D5 X1f62: push d
4732 1F63 16 07 mvi d,7
4733 1F65 7A X1f65: mov a,d
4734 1F66 CD 7B 1F call X1f7b
4735 1F69 CD A1 1F call X1fa1
4736 1F6C BA cmp d
4737 1F6D C2 36 1F jnz X1f36
4738 1F70 15 dcr d
4739 1F71 C2 65 1F jnz X1f65
4740 1F74 3E 05 mvi a,5
4741 1F76 D3 01 out 1
4742 1F78 AF xra a
4743 1F79 D1 pop d
4744 1F7A C9 ret
4746 1F7B 47 X1f7b: mov b,a
4747 1F7C E6 02 ani 2
4748 1F7E 0F rrc
4749 1F7F 0F rrc
4750 1F80 0F rrc
4751 1F81 0F rrc
4752 1F82 F6 10 ori 10h
4753 1F84 32 C9 21 sta X21c9
4754 1F87 D3 62 out 62h
4755 1F89 0E 05 mvi c,5
4756 1F8B 78 mov a,b
4757 1F8C E6 01 ani 1
4758 1F8E CA 93 1F jz X1f93
4759 1F91 0E 25 mvi c,25h
4760 1F93 78 X1f93: mov a,b
4761 1F94 E6 04 ani 4
4762 1F96 CA 9D 1F jz X1f9d
4763 1F99 79 mov a,c
4764 1F9A F6 02 ori 2
4765 1F9C 4F mov c,a
4766 1F9D 79 X1f9d: mov a,c
4767 1F9E D3 01 out 1
4768 1FA0 C9 ret
4770 1FA1 DB 22 X1fa1: in 22h
4771 1FA3 47 mov b,a
4772 1FA4 0E 01 mvi c,1
4773 1FA6 78 mov a,b
4774 1FA7 E6 90 ani 90h
4775 1FA9 CA B3 1F jz X1fb3
4776 1FAC FE 90 cpi 90h
4777 1FAE 3E FF mvi a,0ffh
4778 1FB0 C0 rnz
4779 1FB1 0E 00 mvi c,0
4780 1FB3 78 X1fb3: mov a,b
4781 1FB4 E6 40 ani 40h
4782 1FB6 CA BD 1F jz X1fbd
4783 1FB9 79 mov a,c
4784 1FBA F6 02 ori 2
4785 1FBC 4F mov c,a
4786 1FBD DB 01 X1fbd: in 1
4787 1FBF 0F rrc
4788 1FC0 0F rrc
4789 1FC1 2F cma
4790 1FC2 E6 20 ani 20h
4791 1FC4 A8 xra b
4792 1FC5 E6 20 ani 20h
4793 1FC7 3E FF mvi a,0ffh
4794 1FC9 C0 rnz
4795 1FCA 78 mov a,b
4796 1FCB E6 20 ani 20h
4797 1FCD C2 D4 1F jnz X1fd4
4798 1FD0 79 mov a,c
4799 1FD1 F6 04 ori 4
4800 1FD3 4F mov c,a
4801 1FD4 B7 X1fd4: ora a
4802 1FD5 79 mov a,c
4803 1FD6 C9 ret
; Last but not least, pad out to 8K (8192) bytes
1F FF org 1fffh
4808 1FFF 00 nop
; Miscellaneous equates
; These are addresses referenced in the code but
; which are in the middle of a multibyte instruction
; or are addresses outside the initialized space
00 11 X0011 equ 11h
00 FF X00ff equ 0ffh
01 11 X0111 equ 111h
01 13 X0113 equ 113h
0E A0 X0ea0 equ 0ea0h
1C CD X1ccd equ 1ccdh
20 01 X2001 equ 2001h
20 02 X2002 equ 2002h
20 04 X2004 equ 2004h
20 50 X2050 equ 2050h
20 51 X2051 equ 2051h
20 52 X2052 equ 2052h
20 54 X2054 equ 2054h
20 56 X2056 equ 2056h
20 58 X2058 equ 2058h
20 5A X205a equ 205ah
20 5B X205b equ 205bh
20 5C X205c equ 205ch
20 65 X2065 equ 2065h
20 67 X2067 equ 2067h
20 68 X2068 equ 2068h ; Keys flag buffer
20 69 X2069 equ 2069h
20 6A X206a equ 206ah ; Start of the "three place New Key Address Buffer"
20 6E X206e equ 206eh
20 72 X2072 equ 2072h
20 73 X2073 equ 2073h
20 74 X2074 equ 2074h
20 75 X2075 equ 2075h
20 77 X2077 equ 2077h
20 78 X2078 equ 2078h
20 79 X2079 equ 2079h
20 7A X207a equ 207ah
20 7B X207b equ 207bh
20 7C X207c equ 207ch
20 7D X207d equ 207dh
20 7E X207e equ 207eh
20 7F X207f equ 207fh
20 C0 X20c0 equ 20c0h
20 C1 X20c1 equ 20c1h
20 C2 X20c2 equ 20c2h
20 DE X20de equ 20deh
20 F2 X20f2 equ 20f2h
20 F4 X20f4 equ 20f4h
20 F5 X20f5 equ 20f5h
20 F6 X20f6 equ 20f6h
20 F8 X20f8 equ 20f8h
20 F9 X20f9 equ 20f9h
20 FA X20fa equ 20fah
20 FB X20fb equ 20fbh
20 FC X20fc equ 20fch
20 FD X20fd equ 20fdh
20 FF X20ff equ 20ffh
21 01 X2101 equ 2101h
21 02 X2102 equ 2102h
21 04 X2104 equ 2104h
21 0D X210d equ 210dh
21 0E X210e equ 210eh
21 11 X2111 equ 2111h
21 13 X2113 equ 2113h
21 2B X212b equ 212bh
21 2C X212c equ 212ch
21 2F X212f equ 212fh
21 30 X2130 equ 2130h
21 31 X2131 equ 2131h
21 40 X2140 equ 2140h
21 42 X2142 equ 2142h
21 43 X2143 equ 2143h
21 44 X2144 equ 2144h
21 45 X2145 equ 2145h
21 46 X2146 equ 2146h
21 47 X2147 equ 2147h
21 48 X2148 equ 2148h
21 49 X2149 equ 2149h
21 4B X214b equ 214bh
21 4E X214e equ 214eh
21 50 X2150 equ 2150h
21 51 X2151 equ 2151h
21 52 X2152 equ 2152h
21 53 X2153 equ 2153h
21 54 X2154 equ 2154h
21 55 X2155 equ 2155h
21 56 X2156 equ 2156h
21 57 X2157 equ 2157h
21 58 X2158 equ 2158h
21 59 X2159 equ 2159h
21 5A X215a equ 215ah
21 5B X215b equ 215bh
21 5C X215c equ 215ch
21 71 X2171 equ 2171h
21 72 X2172 equ 2172h
21 73 X2173 equ 2173h
21 74 X2174 equ 2174h
21 76 X2176 equ 2176h
21 77 X2177 equ 2177h
21 78 X2178 equ 2178h
21 79 X2179 equ 2179h
21 7B X217b equ 217bh
21 91 X2191 equ 2191h
21 A2 X21a2 equ 21a2h
21 A3 X21a3 equ 21a3h
21 A4 X21a4 equ 21a4h
21 A5 X21a5 equ 21a5h
21 A6 X21a6 equ 21a6h
21 A7 X21a7 equ 21a7h
21 A8 X21a8 equ 21a8h
21 A9 X21a9 equ 21a9h
21 AA X21aa equ 21aah
21 AB X21ab equ 21abh
21 AC X21ac equ 21ach
21 AD X21ad equ 21adh
21 AE X21ae equ 21aeh
21 AF X21af equ 21afh
21 B4 X21b4 equ 21b4h
21 B8 X21b8 equ 21b8h
21 B9 X21b9 equ 21b9h
21 BB X21bb equ 21bbh
21 BC X21bc equ 21bch
21 BD X21bd equ 21bdh
21 BE X21be equ 21beh
21 BF X21bf equ 21bfh
21 C0 X21c0 equ 21c0h
21 C1 X21c1 equ 21c1h
21 C2 X21c2 equ 21c2h
21 C3 X21c3 equ 21c3h
21 C4 X21c4 equ 21c4h
21 C5 X21c5 equ 21c5h
21 C7 X21c7 equ 21c7h
21 C8 X21c8 equ 21c8h
21 C9 X21c9 equ 21c9h
21 CB X21cb equ 21cbh
21 CC X21cc equ 21cch
21 D3 X21d3 equ 21d3h
22 53 X2253 equ 2253h
22 5A X225a equ 225ah
22 65 X2265 equ 2265h
22 D0 X22d0 equ 22d0h
28 39 X2839 equ 2839h
30 00 X3000 equ 3000h
30 30 X3030 equ 3030h
30 31 X3031 equ 3031h
30 32 X3032 equ 3032h
30 34 X3034 equ 3034h
30 35 X3035 equ 3035h
30 38 X3038 equ 3038h
32 00 X3200 equ 3200h
32 21 X3221 equ 3221h
32 39 X3239 equ 3239h
34 33 X3433 equ 3433h
3A 6A X3a6a equ 3a6ah
3C 08 X3c08 equ 3c08h
3C 2C X3c2c equ 3c2ch
3F 2F X3f2f equ 3f2fh
40 1B X401b equ 401bh
45 53 X4553 equ 4553h
5A 0B X5a0b equ 5a0bh
60 81 X6081 equ 6081h
67 13 X6713 equ 6713h
6C 14 X6c14 equ 6c14h
7F D0 X7fd0 equ 7fd0h
B7 09 Xb709 equ 0b709h
C0 00 Xc000 equ 0c000h
C3 10 Xc310 equ 0c310h
C3 20 Xc320 equ 0c320h
C9 20 Xc920 equ 0c920h
C9 40 Xc940 equ 0c940h
C9 80 Xc980 equ 0c980h
CC 71 Xcc71 equ 0cc71h
CD 00 Xcd00 equ 0cd00h
CD 0B Xcd0b equ 0cd0bh
D0 F2 Xd0f2 equ 0d0f2h
FE 1A Xfe1a equ 0fe1ah
FF 01 Xff01 equ 0ff01h
end
*******************************************************************************
Symbols table
*******************************************************************************
Names Types Values
----- ----- ------
stack_top EQU 0204Eh
scratch_start EQU 0204Eh
cursor_countdn EQU 0212Dh
cursor_visible EQU 021BAh
X0011 EQU 00011h
X00ff EQU 000FFh
X0111 EQU 00111h
X0113 EQU 00113h
X0ea0 EQU 00EA0h
X1ccd EQU 01CCDh
X2001 EQU 02001h
X2002 EQU 02002h
X2004 EQU 02004h
X2050 EQU 02050h
X2051 EQU 02051h
X2052 EQU 02052h
X2054 EQU 02054h
X2056 EQU 02056h
X2058 EQU 02058h
X205a EQU 0205Ah
X205b EQU 0205Bh
X205c EQU 0205Ch
X2065 EQU 02065h
X2067 EQU 02067h
X2068 EQU 02068h
X2069 EQU 02069h
X206a EQU 0206Ah
X206e EQU 0206Eh
X2072 EQU 02072h
X2073 EQU 02073h
X2074 EQU 02074h
X2075 EQU 02075h
X2077 EQU 02077h
X2078 EQU 02078h
X2079 EQU 02079h
X207a EQU 0207Ah
X207b EQU 0207Bh
X207c EQU 0207Ch
X207d EQU 0207Dh
X207e EQU 0207Eh
X207f EQU 0207Fh
X20c0 EQU 020C0h
X20c1 EQU 020C1h
X20c2 EQU 020C2h
X20de EQU 020DEh
X20f2 EQU 020F2h
X20f4 EQU 020F4h
X20f5 EQU 020F5h
X20f6 EQU 020F6h
X20f8 EQU 020F8h
X20f9 EQU 020F9h
X20fa EQU 020FAh
X20fb EQU 020FBh
X20fc EQU 020FCh
X20fd EQU 020FDh
X20ff EQU 020FFh
X2101 EQU 02101h
X2102 EQU 02102h
X2104 EQU 02104h
X210d EQU 0210Dh
X210e EQU 0210Eh
X2111 EQU 02111h
X2113 EQU 02113h
X212b EQU 0212Bh
X212c EQU 0212Ch
X212f EQU 0212Fh
X2130 EQU 02130h
X2131 EQU 02131h
X2140 EQU 02140h
X2142 EQU 02142h
X2143 EQU 02143h
X2144 EQU 02144h
X2145 EQU 02145h
X2146 EQU 02146h
X2147 EQU 02147h
X2148 EQU 02148h
X2149 EQU 02149h
X214b EQU 0214Bh
X214e EQU 0214Eh
X2150 EQU 02150h
X2151 EQU 02151h
X2152 EQU 02152h
X2153 EQU 02153h
X2154 EQU 02154h
X2155 EQU 02155h
X2156 EQU 02156h
X2157 EQU 02157h
X2158 EQU 02158h
X2159 EQU 02159h
X215a EQU 0215Ah
X215b EQU 0215Bh
X215c EQU 0215Ch
X2171 EQU 02171h
X2172 EQU 02172h
X2173 EQU 02173h
X2174 EQU 02174h
X2176 EQU 02176h
X2177 EQU 02177h
X2178 EQU 02178h
X2179 EQU 02179h
X217b EQU 0217Bh
X2191 EQU 02191h
X21a2 EQU 021A2h
X21a3 EQU 021A3h
X21a4 EQU 021A4h
X21a5 EQU 021A5h
X21a6 EQU 021A6h
X21a7 EQU 021A7h
X21a8 EQU 021A8h
X21a9 EQU 021A9h
X21aa EQU 021AAh
X21ab EQU 021ABh
X21ac EQU 021ACh
X21ad EQU 021ADh
X21ae EQU 021AEh
X21af EQU 021AFh
X21b4 EQU 021B4h
X21b8 EQU 021B8h
X21b9 EQU 021B9h
X21bb EQU 021BBh
X21bc EQU 021BCh
X21bd EQU 021BDh
X21be EQU 021BEh
X21bf EQU 021BFh
X21c0 EQU 021C0h
X21c1 EQU 021C1h
X21c2 EQU 021C2h
X21c3 EQU 021C3h
X21c4 EQU 021C4h
X21c5 EQU 021C5h
X21c7 EQU 021C7h
X21c8 EQU 021C8h
X21c9 EQU 021C9h
X21cb EQU 021CBh
X21cc EQU 021CCh
X21d3 EQU 021D3h
X2253 EQU 02253h
X225a EQU 0225Ah
X2265 EQU 02265h
X22d0 EQU 022D0h
X2839 EQU 02839h
X3000 EQU 03000h
X3030 EQU 03030h
X3031 EQU 03031h
X3032 EQU 03032h
X3034 EQU 03034h
X3035 EQU 03035h
X3038 EQU 03038h
X3200 EQU 03200h
X3221 EQU 03221h
X3239 EQU 03239h
X3433 EQU 03433h
X3a6a EQU 03A6Ah
X3c08 EQU 03C08h
X3c2c EQU 03C2Ch
X3f2f EQU 03F2Fh
X401b EQU 0401Bh
X4553 EQU 04553h
X5a0b EQU 05A0Bh
X6081 EQU 06081h
X6713 EQU 06713h
X6c14 EQU 06C14h
X7fd0 EQU 07FD0h
Xb709 EQU 0B709h
Xc000 EQU 0C000h
Xc310 EQU 0C310h
Xc320 EQU 0C320h
Xc920 EQU 0C920h
Xc940 EQU 0C940h
Xc980 EQU 0C980h
Xcc71 EQU 0CC71h
Xcd00 EQU 0CD00h
Xcd0b EQU 0CD0Bh
Xd0f2 EQU 0D0F2h
Xfe1a EQU 0FE1Ah
Xff01 EQU 0FF01h
X0030 Label 00030h
reset Label 0003Bh
X003d Label 0003Dh
X0049 Label 00049h
X004f Label 0004Fh
X005b Label 0005Bh
X0074 Label 00074h
X0076 Label 00076h
X0080 Label 00080h
X0090 Label 00090h
X00a1 Label 000A1h
X00a5 Label 000A5h
X00a8 Label 000A8h
X00c4 Label 000C4h
X00cb Label 000CBh
X00d2 Label 000D2h
X00d6 Label 000D6h
X00e0 Label 000E0h
X00e8 Label 000E8h
X00f5 Label 000F5h
X00fd Label 000FDh
X010d Label 0010Dh
X011a Label 0011Ah
X012d Label 0012Dh
X0131 Label 00131h
X013b Label 0013Bh
X015b Label 0015Bh
X015f Label 0015Fh
X016c Label 0016Ch
X0175 Label 00175h
X0187 Label 00187h
X018e Label 0018Eh
X0194 Label 00194h
X019e Label 0019Eh
X01ab Label 001ABh
X01b5 Label 001B5h
X01c3 Label 001C3h
X01e4 Label 001E4h
X01f0 Label 001F0h
X01ff Label 001FFh
X020e Label 0020Eh
X0211 Label 00211h
X0222 Label 00222h
X0226 Label 00226h
X022c Label 0022Ch
X0245 Label 00245h
X0251 Label 00251h
X0265 Label 00265h
X0269 Label 00269h
X0285 Label 00285h
X0298 Label 00298h
X02a4 Label 002A4h
X02c0 Label 002C0h
X02d9 Label 002D9h
X02eb Label 002EBh
X031a Label 0031Ah
X0329 Label 00329h
X0342 Label 00342h
X034b Label 0034Bh
X035e Label 0035Eh
X036b Label 0036Bh
X0370 Label 00370h
X0375 Label 00375h
X0381 Label 00381h
memmov Label 0038Bh
X038b Label 0038Bh
X0394 Label 00394h
X039f Label 0039Fh
X03a2 Label 003A2h
X03ae Label 003AEh
X03cc Label 003CCh
X03ed Label 003EDh
X0409 Label 00409h
X0427 Label 00427h
X042c Label 0042Ch
X0431 Label 00431h
X0437 Label 00437h
X043a Label 0043Ah
X043e Label 0043Eh
X0444 Label 00444h
X0447 Label 00447h
X044b Label 0044Bh
X0476 Label 00476h
KBTab Label 00476h
X04cf Label 004CFh
X0505 Label 00505h
X050b Label 0050Bh
X0538 Label 00538h
X053e Label 0053Eh
X054f Label 0054Fh
X0569 Label 00569h
X056a Label 0056Ah
X0587 Label 00587h
X0593 Label 00593h
X05a9 Label 005A9h
X05ad Label 005ADh
X05b8 Label 005B8h
X05c5 Label 005C5h
X05cc Label 005CCh
X05d2 Label 005D2h
X05d3 Label 005D3h
X05e3 Label 005E3h
X05e6 Label 005E6h
X05ff Label 005FFh
X0616 Label 00616h
X0624 Label 00624h
X0641 Label 00641h
X0668 Label 00668h
X066d Label 0066Dh
X0670 Label 00670h
X0673 Label 00673h
X0675 Label 00675h
X0685 Label 00685h
X0687 Label 00687h
X069c Label 0069Ch
X06a7 Label 006A7h
X06aa Label 006AAh
X06c2 Label 006C2h
X06ca Label 006CAh
X06d6 Label 006D6h
X06df Label 006DFh
X06e7 Label 006E7h
X06e8 Label 006E8h
X06fb Label 006FBh
X0709 Label 00709h
X071b Label 0071Bh
X0738 Label 00738h
X0743 Label 00743h
X0747 Label 00747h
X074e Label 0074Eh
X0751 Label 00751h
X075b Label 0075Bh
X0766 Label 00766h
X076c Label 0076Ch
X0776 Label 00776h
X07c2 Label 007C2h
X07cb Label 007CBh
X07d5 Label 007D5h
X07d7 Label 007D7h
X07e8 Label 007E8h
X07fc Label 007FCh
X07ff Label 007FFh
X080c Label 0080Ch
X080d Label 0080Dh
X0812 Label 00812h
X0815 Label 00815h
X081d Label 0081Dh
X082b Label 0082Bh
X0838 Label 00838h
X0841 Label 00841h
X084c Label 0084Ch
X0853 Label 00853h
X085f Label 0085Fh
X086f Label 0086Fh
X0875 Label 00875h
X08a0 Label 008A0h
X08a7 Label 008A7h
X08b2 Label 008B2h
X08cb Label 008CBh
X08d0 Label 008D0h
X08d4 Label 008D4h
X08e5 Label 008E5h
X08fb Label 008FBh
X08fc Label 008FCh
X0900 Label 00900h
X0924 Label 00924h
X0930 Label 00930h
X0938 Label 00938h
X0941 Label 00941h
X094b Label 0094Bh
X0955 Label 00955h
X0970 Label 00970h
X0973 Label 00973h
X0989 Label 00989h
X0997 Label 00997h
X0998 Label 00998h
X099e Label 0099Eh
X09ab Label 009ABh
X09bb Label 009BBh
X09bd Label 009BDh
X09d9 Label 009D9h
X09dc Label 009DCh
X09f7 Label 009F7h
X09ff Label 009FFh
X0a00 Label 00A00h
X0a0d Label 00A0Dh
X0a14 Label 00A14h
X0a15 Label 00A15h
X0a18 Label 00A18h
X0a1c Label 00A1Ch
X0a50 Label 00A50h
X0a7b Label 00A7Bh
X0aa2 Label 00AA2h
X0ac2 Label 00AC2h
X0ad9 Label 00AD9h
X0af5 Label 00AF5h
X0b19 Label 00B19h
X0b2e Label 00B2Eh
X0b42 Label 00B42h
X0b4f Label 00B4Fh
X0b5d Label 00B5Dh
X0b63 Label 00B63h
X0b77 Label 00B77h
X0b89 Label 00B89h
X0bb8 Label 00BB8h
X0bce Label 00BCEh
X0bd9 Label 00BD9h
X0bf2 Label 00BF2h
X0bfe Label 00BFEh
X0c11 Label 00C11h
X0c23 Label 00C23h
X0c29 Label 00C29h
X0c31 Label 00C31h
X0c32 Label 00C32h
X0c39 Label 00C39h
X0c46 Label 00C46h
X0c4a Label 00C4Ah
X0c57 Label 00C57h
X0c62 Label 00C62h
X0c77 Label 00C77h
X0c8a Label 00C8Ah
X0c97 Label 00C97h
X0ca2 Label 00CA2h
X0cb5 Label 00CB5h
X0cbb Label 00CBBh
X0ce3 Label 00CE3h
X0cf9 Label 00CF9h
X0d29 Label 00D29h
X0d2f Label 00D2Fh
X0d32 Label 00D32h
X0d4a Label 00D4Ah
X0d6f Label 00D6Fh
X0d7a Label 00D7Ah
X0d88 Label 00D88h
X0d93 Label 00D93h
X0d99 Label 00D99h
X0d9c Label 00D9Ch
X0db9 Label 00DB9h
X0dbb Label 00DBBh
X0dbf Label 00DBFh
X0dd8 Label 00DD8h
X0de5 Label 00DE5h
X0dec Label 00DECh
X0def Label 00DEFh
X0df9 Label 00DF9h
X0dfc Label 00DFCh
X0e02 Label 00E02h
X0e0b Label 00E0Bh
X0e15 Label 00E15h
X0e1d Label 00E1Dh
X0e23 Label 00E23h
X0e27 Label 00E27h
X0e2b Label 00E2Bh
X0e38 Label 00E38h
X0e3e Label 00E3Eh
X0e47 Label 00E47h
X0e59 Label 00E59h
X0e6d Label 00E6Dh
X0e79 Label 00E79h
X0e80 Label 00E80h
X0e89 Label 00E89h
X0e94 Label 00E94h
X0ea9 Label 00EA9h
X0ec1 Label 00EC1h
X0ecf Label 00ECFh
X0ed2 Label 00ED2h
X0ee1 Label 00EE1h
X0ef3 Label 00EF3h
X0f01 Label 00F01h
X0f18 Label 00F18h
X0f2b Label 00F2Bh
X0f32 Label 00F32h
X0f4e Label 00F4Eh
X0f5b Label 00F5Bh
X0f5e Label 00F5Eh
X0f61 Label 00F61h
X0f75 Label 00F75h
X0f7e Label 00F7Eh
X0f9e Label 00F9Eh
X0faa Label 00FAAh
X0fae Label 00FAEh
X0fbe Label 00FBEh
X0fc8 Label 00FC8h
X0fcb Label 00FCBh
X0fd8 Label 00FD8h
X0fe6 Label 00FE6h
X0feb Label 00FEBh
X0fed Label 00FEDh
X0ffa Label 00FFAh
X0fff Label 00FFFh
X1000 Label 01000h
X1003 Label 01003h
X1012 Label 01012h
X101a Label 0101Ah
X102d Label 0102Dh
X103e Label 0103Eh
X104e Label 0104Eh
X106a Label 0106Ah
X1074 Label 01074h
memset Label 01083h
X108e Label 0108Eh
X10a7 Label 010A7h
X10ad Label 010ADh
X10d7 Label 010D7h
X10f9 Label 010F9h
X10fd Label 010FDh
X1136 Label 01136h
X114c Label 0114Ch
X1159 Label 01159h
X117e Label 0117Eh
X1189 Label 01189h
X1191 Label 01191h
X1199 Label 01199h
X11a0 Label 011A0h
X11b0 Label 011B0h
X11bf Label 011BFh
X11ce Label 011CEh
X11e8 Label 011E8h
X120a Label 0120Ah
X1211 Label 01211h
X1228 Label 01228h
X122f Label 0122Fh
X1248 Label 01248h
X1252 Label 01252h
X1271 Label 01271h
X127f Label 0127Fh
X1284 Label 01284h
X1290 Label 01290h
X1299 Label 01299h
X129d Label 0129Dh
X12b0 Label 012B0h
X12e8 Label 012E8h
X1310 Label 01310h
X131c Label 0131Ch
X134a Label 0134Ah
X136b Label 0136Bh
X1380 Label 01380h
X1386 Label 01386h
X138d Label 0138Dh
X1390 Label 01390h
X1395 Label 01395h
X13bd Label 013BDh
X13c3 Label 013C3h
X13d2 Label 013D2h
X13db Label 013DBh
X13de Label 013DEh
X13e3 Label 013E3h
X13e6 Label 013E6h
X13f4 Label 013F4h
X1404 Label 01404h
X140a Label 0140Ah
X1426 Label 01426h
X142a Label 0142Ah
X1476 Label 01476h
X1488 Label 01488h
X1493 Label 01493h
X14a2 Label 014A2h
X14d4 Label 014D4h
X14e5 Label 014E5h
X150a Label 0150Ah
X1515 Label 01515h
X1524 Label 01524h
X1529 Label 01529h
X1530 Label 01530h
X1555 Label 01555h
X156a Label 0156Ah
X1586 Label 01586h
X15b6 Label 015B6h
X15c0 Label 015C0h
X15dd Label 015DDh
X15e8 Label 015E8h
X15fa Label 015FAh
X1605 Label 01605h
X1612 Label 01612h
X1623 Label 01623h
X162b Label 0162Bh
X1636 Label 01636h
X167b Label 0167Bh
X167f Label 0167Fh
X168c Label 0168Ch
X16a1 Label 016A1h
X16c2 Label 016C2h
X16d9 Label 016D9h
X16f1 Label 016F1h
X16f2 Label 016F2h
X1713 Label 01713h
X1715 Label 01715h
X1717 Label 01717h
X1732 Label 01732h
X1733 Label 01733h
X1743 Label 01743h
X174c Label 0174Ch
X1754 Label 01754h
X175b Label 0175Bh
X1762 Label 01762h
X1771 Label 01771h
X179e Label 0179Eh
X17ac Label 017ACh
X17be Label 017BEh
X17d0 Label 017D0h
X17d5 Label 017D5h
X17ec Label 017ECh
X17f3 Label 017F3h
X17fe Label 017FEh
X180f Label 0180Fh
X1815 Label 01815h
X181e Label 0181Eh
X1822 Label 01822h
X1825 Label 01825h
X1835 Label 01835h
X1837 Label 01837h
X1844 Label 01844h
X1848 Label 01848h
X1860 Label 01860h
X1869 Label 01869h
X1879 Label 01879h
X187e Label 0187Eh
X1888 Label 01888h
X1895 Label 01895h
X1898 Label 01898h
X189d Label 0189Dh
X18a3 Label 018A3h
X18ae Label 018AEh
X18bc Label 018BCh
X18c1 Label 018C1h
X18c7 Label 018C7h
X18d1 Label 018D1h
X18d7 Label 018D7h
X18e6 Label 018E6h
X18ec Label 018ECh
X18f6 Label 018F6h
X1900 Label 01900h
X1916 Label 01916h
X1928 Label 01928h
X192b Label 0192Bh
X192d Label 0192Dh
X193c Label 0193Ch
X1957 Label 01957h
X1962 Label 01962h
X196a Label 0196Ah
X1977 Label 01977h
X1981 Label 01981h
X1993 Label 01993h
X1999 Label 01999h
X19a8 Label 019A8h
X19ae Label 019AEh
X19c0 Label 019C0h
X19c3 Label 019C3h
X19c9 Label 019C9h
X19d6 Label 019D6h
X19dc Label 019DCh
X19ee Label 019EEh
X1a1a Label 01A1Ah
X1a20 Label 01A20h
X1a2b Label 01A2Bh
X1a45 Label 01A45h
X1a61 Label 01A61h
X1a71 Label 01A71h
X1aa1 Label 01AA1h
X1aa2 Label 01AA2h
X1ae6 Label 01AE6h
X1ae8 Label 01AE8h
X1b52 Label 01B52h
X1b59 Label 01B59h
X1b60 Label 01B60h
X1b72 Label 01B72h
X1b81 Label 01B81h
X1b86 Label 01B86h
X1bb0 Label 01BB0h
X1bba Label 01BBAh
X1bc0 Label 01BC0h
X1bc3 Label 01BC3h
X1bca Label 01BCAh
X1be8 Label 01BE8h
X1bf4 Label 01BF4h
X1bf9 Label 01BF9h
X1c35 Label 01C35h
X1c3e Label 01C3Eh
X1c49 Label 01C49h
X1c50 Label 01C50h
X1c60 Label 01C60h
X1c71 Label 01C71h
X1c77 Label 01C77h
X1c86 Label 01C86h
X1c88 Label 01C88h
X1c8a Label 01C8Ah
X1c8b Label 01C8Bh
X1c9f Label 01C9Fh
X1cad Label 01CADh
X1cb6 Label 01CB6h
X1cd3 Label 01CD3h
X1cf0 Label 01CF0h
X1cf2 Label 01CF2h
X1d00 Label 01D00h
X1d17 Label 01D17h
X1d3d Label 01D3Dh
X1d40 Label 01D40h
X1d4b Label 01D4Bh
X1d56 Label 01D56h
X1d61 Label 01D61h
X1d7c Label 01D7Ch
X1dcc Label 01DCCh
X1ddb Label 01DDBh
X1dff Label 01DFFh
X1e03 Label 01E03h
X1e19 Label 01E19h
X1e31 Label 01E31h
X1e3e Label 01E3Eh
X1e4d Label 01E4Dh
X1e6e Label 01E6Eh
X1e79 Label 01E79h
X1e90 Label 01E90h
X1e94 Label 01E94h
X1e9f Label 01E9Fh
X1eb8 Label 01EB8h
X1ed3 Label 01ED3h
X1edd Label 01EDDh
X1ee5 Label 01EE5h
X1eea Label 01EEAh
X1efc Label 01EFCh
X1f0d Label 01F0Dh
X1f0f Label 01F0Fh
X1f11 Label 01F11h
X1f18 Label 01F18h
X1f20 Label 01F20h
X1f26 Label 01F26h
X1f36 Label 01F36h
X1f48 Label 01F48h
X1f62 Label 01F62h
X1f65 Label 01F65h
X1f7b Label 01F7Bh
X1f93 Label 01F93h
X1f9d Label 01F9Dh
X1fa1 Label 01FA1h
X1fb3 Label 01FB3h
X1fbd Label 01FBDh
X1fd4 Label 01FD4h
Statistics
----------
"Name" = 0
"EQU" = 176
"SET" = 0
Labels = 537