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