; ; ROM from IMS Z80B Master/Slave board ; 0000 f3 DI 0001 01 ff 1f LD BC,1FFFH 0004 21 00 00 LD HL,0 0007 11 00 00 LD DE,0 000a ed b0 LDIR 000c 3e 01 LD A,1 000e d3 10 OUT (10H),A 0010 3e 84 LD A,84H 0012 d3 93 OUT (93H),A 0014 3e 09 LD A,9 0016 d3 21 OUT (21H),A 0018 00 NOP 0019 3e c0 LD A,0C0H 001b d3 21 OUT (21H),A 001d 31 73 21 LD SP,2173H ;init. Z85C30 0020 3e 00 LD A,0 0022 32 51 20 LD (2051H),A 0025 21 44 00 LD HL,initstrs 0028 0e 21 LD C,21H 002a cd 3f 00 CALL sndem 002d 0e 20 LD C,20H 002f cd 3f 00 CALL sndem 0032 0e 21 LD C,21H 0034 cd 3f 00 CALL sndem 0037 0e 20 LD C,20H 0039 cd 3f 00 CALL sndem 003c c3 80 00 JP cont 003f 46 sndem: LD B,(HL) 0040 23 INC HL 0041 ed b3 OTIR 0043 c9 RET 0044 18 initstrs: db 24 0045 09 c0 db 9,0C0H 0047 04 44 db 4,44H 0049 03 c0 db 3,0C0H 004b 05 e2 db 5,0E2H 004d 06 00 db 6,0 004f 07 00 db 7,0 0051 09 00 db 9,0 0053 0a 00 db 0AH,0 0055 0b 52 db 0BH,52H 0057 0c 00 db 0CH,0 ;57.6k baud ; db 0CH,0AH ;9600 baud 0059 0d 00 db 0DH,0 005b 0e 02 db 0EH,2 005d 14 db 20 005e 04 44 db 4,44H 0060 03 c0 db 3,0C0H 0062 05 e2 db 5,0E2H 0064 06 00 db 6,0 0066 07 00 db 7,0 0068 0a 00 db 0AH,0 006a 0b 50 db 0BH,50H 006c 0c 00 db 0CH,0 ;57.6k baud ; db 0CH,0AH ;9600 baud 006e 0d 00 db 0DH,0 0070 0e 02 db 0EH,2 0072 06 db 6 0073 0e 03 db 0EH,3 0075 03 c1 db 3,0C1H 0077 05 ea db 5,0EAH 0079 06 db 6 007a 0e 03 db 0EH,3 007c 03 c1 db 3,0C1H 007e 05 ea db 5,0EAH 0080 db 10 cont: IN A,(10H) 0082 cb ef SET 5,A 0084 d3 10 OUT (10H),A 0086 01 1e 00 LD BC,1EH 0089 11 00 fc LD DE,0FC00H 008c 21 94 00 LD HL,swap 008f ed b0 LDIR 0091 c3 00 fc JP 0FC00H 0094 21 00 00 swap: LD HL,0 0097 7e LD A,(HL) 0098 47 LD B,A 0099 db 10 IN A,(10H) 009b cb cf SET 1,A 009d d3 10 OUT (10H),A 009f 78 LD A,B 00a0 77 LD (HL),A 00a1 db 10 IN A,(10H) 00a3 cb 8f RES 1,A 00a5 d3 10 OUT (10H),A 00a7 23 INC HL 00a8 7c LD A,H 00a9 fe 20 CP 20H 00ab c2 03 fc JP NZ,0FC03H 00ae c3 b1 00 JP mvmon 00b1 21 bf 00 mvmon: LD HL,code 00b4 11 00 e0 LD DE,0e000h 00b7 01 00 09 LD BC,900h 00ba ed b0 LDIR 00bc c3 2d e0 JP start 00bf code: ; ; disassembly of the SD Monitor Firmware ; 10/2014 rzh ; 000a lf equ 0ah 000d cr equ 0dh e000 ORG 0E000H e000 c3 2d e0 jstart: JP start e003 c3 ce e6 jgstat: JP gstat e006 cd ce e6 gtchar: CALL gstat e009 ca 06 e0 JP Z,gtchar e00c db 23 IN A,(pdata) e00e e6 7f AND 7FH e010 fe 61 CP 'a' e012 d8 RET C e013 cb af RES 5,A e015 c9 RET e016 c3 e1 e6 jpchar: JP pchar e019 00 00 00 00 db 0,0,0,0,0,0,0,0 e01d 00 00 00 00 e021 00 00 00 00 db 0,0,0,0,0,0,0,0 e025 00 00 00 00 e029 00 00 00 00 db 0,0,0,0 e02d af start: XOR A e02e 32 fa ff LD (0FFFAH),A e031 3e 01 LD A,1 e033 32 c6 ff LD (0FFC6H),A e036 31 c0 ff inloop: LD SP,0FFC0H e039 cd f5 e6 CALL crlf e03c 0e 2e LD C,'.' e03e cd 16 e0 CALL jpchar e041 cd 7d e7 CALL getcecho e044 fe 2e CP '.' e046 28 ee JR Z,inloop e048 c5 PUSH BC e049 cd ff e6 CALL space e04c cd 84 e7 CALL E784 e04f c1 POP BC e050 79 LD A,C e051 21 36 e0 LD HL,inloop e054 e5 PUSH HL e055 2a d2 ff LD HL,(0FFD2H) e058 ed 5b d0 ff LD DE,(0FFD0H) e05c fd 21 c0 ff LD IY,0FFC0H e060 fe 42 CP 'B' e062 20 3c JR NZ,tryG e064 d5 E064: PUSH DE e065 3a c0 ff LD A,(0FFC0H) e068 cb 47 BIT 0,A e06a 28 10 JR Z,E07C e06c ed 5b c4 ff LD DE,(0FFC4H) e070 21 c1 ff LD HL,0FFC1H e073 01 03 00 LD BC,3 e076 ed b0 LDIR e078 af XOR A e079 32 c0 ff LD (0FFC0H),A e07c 3a c7 ff E07C: LD A,(0FFC7H) e07f a7 AND A e080 e1 POP HL e081 28 19 JR Z,E09C e083 22 c4 ff E083: LD (0FFC4H),HL e086 e5 PUSH HL e087 11 c1 ff LD DE,0FFC1H e08a 01 03 00 LD BC,3 e08d c5 PUSH BC e08e ed b0 LDIR e090 21 9d e0 LD HL,E09D e093 c1 POP BC e094 d1 POP DE e095 ed b0 LDIR e097 3e 01 LD A,1 e099 32 c0 ff LD (0FFC0H),A e09c c9 E09C: RET e09d c3 91 e5 E09D: JP E591 e0a0 fe 47 tryG: CP 'G' e0a2 20 13 JR NZ,tryR e0a4 3a c7 ff LD A,(0FFC7H) e0a7 a7 AND A e0a8 28 05 JR Z,E0AF e0aa ed 53 fe ff LD (0FFFEH),DE e0ae f1 POP AF e0af 3e 01 E0AF: LD A,1 e0b1 32 c9 ff LD (0FFC9H),A e0b4 c3 d2 e5 JP E5D2 e0b7 fe 52 tryR: CP 'R' e0b9 20 06 JR NZ,tryW e0bb cd c6 e7 CALL dwnhx e0be c9 RET e0bf 00 00 DB 0,0 e0c1 fe 57 tryW: CP 'W' e0c3 20 29 JR NZ,tryZ e0c5 cd cb e0 CALL E0CB e0c8 c3 30 f0 JP 0F030H e0cb 3a c7 ff E0CB: LD A,(0FFC7H) e0ce fe 05 CP 5 e0d0 da 07 e4 JP C,huh e0d3 ed 53 40 00 LD (40H),DE e0d7 7d LD A,L e0d8 32 42 00 LD (42H),A e0db 3a d4 ff LD A,(0FFD4H) e0de 32 44 00 LD (44H),A e0e1 3a d6 ff LD A,(0FFD6H) e0e4 32 43 00 LD (43H),A e0e7 3a d8 ff LD A,(0FFD8H) e0ea 32 45 00 LD (45H),A e0ed c9 RET e0ee fe 5a tryZ: CP 'Z' e0f0 20 45 JR NZ,tryQ e0f2 3a c7 ff LD A,(0FFC7H) e0f5 3d DEC A e0f6 c2 07 e4 JP NZ,huh e0f9 7b LD A,E e0fa 32 42 00 LD (42H),A e0fd af XOR A e0fe 32 44 00 LD (44H),A e101 3c INC A e102 32 43 00 LD (43H),A e105 cd 18 f0 CALL 0F018H e108 db 63 E108: IN A,(63H) e10a f6 50 OR 50H e10c d3 63 OUT (63H),A e10e cd 33 f0 CALL 0F033H e111 cd 25 e1 CALL E125 e114 28 07 JR Z,E11D e116 cb a7 RES 4,A e118 d3 63 OUT (63H),A e11a cd 33 f0 CALL 0F033H e11d cd 2a e1 E11D: CALL E12A e120 20 e6 JR NZ,E108 e122 c3 18 f0 JP 0F018H e125 db 63 E125: IN A,(63H) e127 cb 6f BIT 5,A e129 c9 RET e12a 3a 44 00 E12A: LD A,(44H) e12d 3c INC A e12e 32 44 00 LD (44H),A e131 47 LD B,A e132 3a 40 f0 LD A,(0F040H) e135 b8 CP B e136 c9 RET e137 fe 51 tryQ: CP 'Q' e139 20 34 JR NZ,tryM e13b 7b LD A,E e13c 32 42 00 LD (42H),A e13f af E13F: XOR A e140 32 44 00 LD (44H),A e143 3e 01 E143: LD A,1 e145 32 43 00 LD (43H),A e148 3a 3f f0 LD A,(0F03FH) e14b 47 LD B,A e14c cd 25 e1 CALL E125 e14f 28 02 JR Z,E153 e151 cb 20 SLA B e153 78 E153: LD A,B e154 32 45 00 LD (45H),A e157 21 00 01 LD HL,100H e15a 22 40 00 LD (40H),HL e15d cd 2d f0 CALL 0F02DH e160 cd 7c e5 CALL E57C e163 cd 2a e1 CALL E12A e166 20 db JR NZ,E143 e168 0e 50 LD C,'P' e16a cd 16 e0 CALL jpchar e16d 18 d0 JR E13F e16f fe 4d tryM: CP 'M' e171 20 23 JR NZ,tryC e173 cd 89 e5 CALL E589 e176 44 LD B,H e177 4d LD C,L e178 eb EX DE,HL e179 ed 5b d4 ff LD DE,(0FFD4H) e17d b7 OR A e17e ed 52 SBC HL,DE e180 30 0e JR NC,E190 e182 2a d4 ff LD HL,(0FFD4H) e185 09 ADD HL,BC e186 2b DEC HL e187 54 LD D,H e188 5d LD E,L e189 2a d2 ff LD HL,(0FFD2H) e18c ed b8 LDDR e18e 18 05 JR E195 e190 2a d0 ff E190: LD HL,(0FFD0H) e193 ed b0 LDIR e195 c9 E195: RET e196 fe 43 tryC: CP 'C' e198 ca 03 f0 JP Z,0F003H e19b fe 48 tryH: CP 'H' e19d 20 1d JR NZ,tryX e19f e5 PUSH HL e1a0 19 ADD HL,DE e1a1 0e 2b LD C,'+' e1a3 cd 16 e0 CALL jpchar e1a6 cd be e7 CALL prhl e1a9 cd ff e6 CALL space e1ac e1 POP HL e1ad eb EX DE,HL e1ae b7 OR A e1af ed 52 SBC HL,DE e1b1 0e 2d LD C,'-' e1b3 cd 16 e0 CALL jpchar e1b6 cd be e7 CALL prhl e1b9 c3 36 e0 JP inloop e1bc fe 58 tryX: CP 'X' e1be 20 15 JR NZ,tryI e1c0 af XOR A e1c1 bb CP E e1c2 c4 04 e7 CALL NZ,phead e1c5 3a c7 ff LD A,(0FFC7H) e1c8 fe 02 CP 2 e1ca 20 06 JR NZ,E1D2 e1cc 3a d2 ff LD A,(0FFD2H) e1cf 32 c6 ff LD (0FFC6H),A e1d2 c3 46 e6 E1D2: JP E646 e1d5 fe 49 tryI: CP 'I' e1d7 20 36 JR NZ,tryO e1d9 fd cb 0a 86 RES 0,(IY+0AH) e1dd 3a d0 ff LD A,(0FFD0H) e1e0 4f LD C,A e1e1 06 01 LD B,1 e1e3 3a c7 ff LD A,(0FFC7H) e1e6 fe 02 CP 2 e1e8 38 0b JR C,E1F5 e1ea 3a d2 ff LD A,(0FFD2H) e1ed 47 LD B,A e1ee b7 OR A e1ef 20 04 JR NZ,E1F5 e1f1 fd cb 0a c6 SET 0,(IY+0AH) e1f5 79 E1F5: LD A,C e1f6 cd ec e6 CALL E6EC e1f9 ed 78 IN A,(C) e1fb cd ec e6 CALL E6EC e1fe cd 7c e5 CALL E57C e201 c5 PUSH BC e202 cd f5 e6 CALL crlf e205 c1 POP BC e206 fd cb 0a 46 BIT 0,(IY+0AH) e20a 20 e9 JR NZ,E1F5 e20c 10 e7 DJNZ E1F5 e20e c9 RET e20f fe 4f tryO: CP 'O' e211 20 2e JR NZ,tryF e213 fd cb 0a 86 RES 0,(IY+0AH) e217 3a d0 ff LD A,(0FFD0H) e21a 4f LD C,A e21b 3a d2 ff LD A,(0FFD2H) e21e 57 LD D,A e21f 06 01 LD B,1 e221 3a c7 ff LD A,(0FFC7H) e224 fe 03 CP 3 e226 38 0b JR C,E233 e228 3a d4 ff LD A,(0FFD4H) e22b 47 LD B,A e22c b7 OR A e22d 20 04 JR NZ,E233 e22f fd cb 0a c6 SET 0,(IY+0AH) e233 ed 51 E233: OUT (C),D e235 cd 7c e5 CALL E57C e238 fd cb 0a 46 BIT 0,(IY+0AH) e23c 20 f5 JR NZ,E233 e23e 10 f3 DJNZ E233 e240 c9 RET e241 fe 46 tryF: CP 'F' e243 20 12 JR NZ,tryL e245 3a d4 ff LD A,(0FFD4H) e248 e5 PUSH HL e249 cd 89 e5 CALL E589 e24c e1 POP HL e24d 12 E24D: LD (DE),A e24e e5 PUSH HL e24f b7 OR A e250 ed 52 SBC HL,DE e252 e1 POP HL e253 13 INC DE e254 20 f7 JR NZ,E24D e256 c9 RET e257 fe 4c tryL: CP 'L' e259 20 4d JR NZ,tryV e25b cd 89 e5 CALL E589 e25e 3a c7 ff LD A,(0FFC7H) e261 d6 03 SUB 3 e263 da 07 e4 JP C,huh e266 47 LD B,A e267 3c INC A e268 32 c7 ff LD (0FFC7H),A e26b 21 d5 ff LD HL,0FFD5H e26e 11 d6 ff LD DE,0FFD6H e271 1a E271: LD A,(DE) e272 77 LD (HL),A e273 23 INC HL e274 13 INC DE e275 13 INC DE e276 10 f9 DJNZ E271 e278 3a c7 ff E278: LD A,(0FFC7H) e27b 47 LD B,A e27c 2a d0 ff LD HL,(0FFD0H) e27f 11 d4 ff LD DE,0FFD4H e282 1a E282: LD A,(DE) e283 be CP (HL) e284 20 10 JR NZ,E296 e286 23 INC HL e287 13 INC DE e288 10 f8 DJNZ E282 e28a 2a d0 ff LD HL,(0FFD0H) e28d cd be e7 CALL prhl e290 cd f5 e6 CALL crlf e293 cd 7c e5 CALL E57C e296 2a d2 ff E296: LD HL,(0FFD2H) e299 ed 5b d0 ff LD DE,(0FFD0H) e29d b7 OR A e29e ed 52 SBC HL,DE e2a0 c8 RET Z e2a1 13 INC DE e2a2 ed 53 d0 ff LD (0FFD0H),DE e2a6 18 d0 JR E278 e2a8 fe 56 tryV: CP 'V' e2aa 20 38 JR NZ,tryT e2ac cd 89 e5 CALL E589 e2af e5 PUSH HL e2b0 c1 POP BC e2b1 eb EX DE,HL e2b2 ed 5b d4 ff LD DE,(0FFD4H) e2b6 1a E2B6: LD A,(DE) e2b7 ed a1 CPI e2b9 13 INC DE e2ba 20 03 JR NZ,E2BF e2bc e0 RET PO e2bd 18 f7 JR E2B6 e2bf f5 E2BF: PUSH AF e2c0 c5 PUSH BC e2c1 d5 PUSH DE e2c2 2b DEC HL e2c3 cd be e7 CALL prhl e2c6 7e LD A,(HL) e2c7 23 INC HL e2c8 cd ec e6 CALL E6EC e2cb d1 POP DE e2cc d5 PUSH DE e2cd e5 PUSH HL e2ce eb EX DE,HL e2cf 2b DEC HL e2d0 cd be e7 CALL prhl e2d3 7e LD A,(HL) e2d4 cd 13 e7 CALL phex e2d7 cd f5 e6 CALL crlf e2da e1 POP HL e2db d1 POP DE e2dc c1 POP BC e2dd f1 POP AF e2de e0 RET PO e2df cd 7c e5 CALL E57C e2e2 18 d2 JR E2B6 e2e4 fe 54 tryT: CP 'T' e2e6 20 3f JR NZ,tryD e2e8 eb EX DE,HL e2e9 13 INC DE e2ea 06 00 LD B,0 e2ec 2a d0 ff E2EC: LD HL,(0FFD0H) e2ef 7d E2EF: LD A,L e2f0 ac XOR H e2f1 a8 XOR B e2f2 77 LD (HL),A e2f3 23 INC HL e2f4 e5 PUSH HL e2f5 b7 OR A e2f6 ed 52 SBC HL,DE e2f8 e1 POP HL e2f9 20 f4 JR NZ,E2EF e2fb 2a d0 ff LD HL,(0FFD0H) e2fe 7d E2FE: LD A,L e2ff ac XOR H e300 a8 XOR B e301 be CP (HL) e302 c4 18 e3 CALL NZ,E318 e305 23 INC HL e306 e5 PUSH HL e307 b7 OR A e308 ed 52 SBC HL,DE e30a e1 POP HL e30b 20 f1 JR NZ,E2FE e30d 04 INC B e30e cd 7c e5 CALL E57C e311 0e 50 LD C,'P' e313 cd 16 e0 CALL jpchar e316 18 d4 JR E2EC e318 f5 E318: PUSH AF e319 cd be e7 CALL prhl e31c f1 POP AF e31d cd ec e6 CALL E6EC e320 7e LD A,(HL) e321 cd ec e6 CALL E6EC e324 c3 f5 e6 JP crlf e327 fe 44 tryD: CP 'D' e329 c2 8e e3 JP NZ,tryE e32c fd cb 0a 86 RES 0,(IY+0AH) e330 eb EX DE,HL e331 3a c7 ff LD A,(0FFC7H) e334 fe 02 CP 2 e336 30 09 JR NC,E341 e338 11 ff 00 E338: LD DE,0FFH e33b e5 PUSH HL e33c 19 ADD HL,DE e33d 22 d2 ff LD (0FFD2H),HL e340 e1 POP HL e341 cd f5 e6 E341: CALL crlf e344 e5 PUSH HL e345 c1 POP BC e346 e5 PUSH HL e347 2a d2 ff LD HL,(0FFD2H) e34a b7 OR A e34b ed 42 SBC HL,BC e34d da 07 e4 JP C,huh e350 01 0f 00 LD BC,0FH e353 b7 OR A e354 ed 42 SBC HL,BC e356 06 10 LD B,10H e358 28 06 JR Z,E360 e35a d2 64 e3 JP NC,E364 e35d 7d LD A,L e35e 80 ADD A,B e35f 47 LD B,A e360 fd cb 0a c6 E360: SET 0,(IY+0AH) e364 e1 E364: POP HL e365 c5 PUSH BC e366 cd be e7 CALL prhl e369 c1 POP BC e36a cd 66 e6 CALL E666 e36d cd 7c e5 CALL E57C e370 fd cb 0a 46 BIT 0,(IY+0AH) e374 28 cb JR Z,E341 e376 cd 03 e0 E376: CALL jgstat e379 28 fb JR Z,E376 e37b cd 06 e0 CALL gtchar e37e fe 2e CP '.' e380 c8 RET Z e381 fe 20 CP ' ' e383 20 f1 JR NZ,E376 e385 fd cb 0a 86 RES 0,(IY+0AH) e389 cd f5 e6 CALL crlf e38c 18 aa JR E338 e38e fe 45 tryE: CP 'E' e390 c2 cb e3 JP NZ,tryP e393 eb EX DE,HL e394 cd be e7 E394: CALL prhl e397 7e LD A,(HL) e398 cd 13 e7 CALL phex e39b 0e 2d LD C,'-' e39d cd 16 e0 CALL jpchar e3a0 e5 PUSH HL e3a1 cd 84 e7 CALL E784 e3a4 e1 POP HL e3a5 3a c8 ff LD A,(0FFC8H) e3a8 fe 2e CP '.' e3aa c8 RET Z e3ab 3a c7 ff LD A,(0FFC7H) e3ae e6 03 AND 3 e3b0 28 0f JR Z,E3C1 e3b2 3a d0 ff LD A,(0FFD0H) e3b5 77 LD (HL),A e3b6 23 INC HL e3b7 3a c8 ff LD A,(0FFC8H) e3ba fe 0d CP cr e3bc 28 d6 JR Z,E394 e3be 2b E3BE: DEC HL e3bf 18 d3 JR E394 e3c1 3a c8 ff E3C1: LD A,(0FFC8H) e3c4 fe 5e CP '^' e3c6 28 f6 JR Z,E3BE e3c8 23 INC HL e3c9 18 c9 JR E394 e3cb fe 50 tryP: CP 'P' e3cd 20 34 JR NZ,tryS e3cf 3a d0 ff LD A,(0FFD0H) e3d2 4f LD C,A e3d3 79 E3D3: LD A,C e3d4 cd ec e6 CALL E6EC e3d7 ed 78 IN A,(C) e3d9 cd ec e6 CALL E6EC e3dc c5 PUSH BC e3dd cd 84 e7 CALL E784 e3e0 c1 POP BC e3e1 3a c8 ff LD A,(0FFC8H) e3e4 fe 2e CP '.' e3e6 c8 RET Z e3e7 67 LD H,A e3e8 3a c7 ff LD A,(0FFC7H) e3eb a7 AND A e3ec 28 0d JR Z,E3FB e3ee 3a d0 ff LD A,(0FFD0H) e3f1 ed 79 OUT (C),A e3f3 3e 5e LD A,'^' e3f5 bc CP H e3f6 28 db JR Z,E3D3 e3f8 0c E3F8: INC C e3f9 18 d8 JR E3D3 e3fb 3e 5e E3FB: LD A,'^' e3fd bc CP H e3fe 20 f8 JR NZ,E3F8 e400 0d DEC C e401 18 d0 JR E3D3 e403 fe 53 tryS: CP 'S' e405 28 08 JR Z,E40F e407 0e 3f huh: LD C,'?' e409 cd 16 e0 CALL jpchar e40c c3 36 e0 JP inloop e40f f1 E40F: POP AF e410 cd 04 e7 CALL phead e413 3a c7 ff LD A,(0FFC7H) e416 a7 AND A e417 28 04 JR Z,E41D e419 eb EX DE,HL e41a 22 fe ff LD (0FFFEH),HL e41d 3a d2 ff E41D: LD A,(0FFD2H) e420 a7 AND A e421 20 01 JR NZ,E424 e423 3c INC A e424 32 c9 ff E424: LD (0FFC9H),A e427 af XOR A e428 32 c7 ff LD (0FFC7H),A e42b cd 64 e0 CALL E064 e42e ed 5b fe ff LD DE,(0FFFEH) e432 1a LD A,(DE) e433 fe 40 CP 40H e435 38 05 JR C,E43C e437 fe c0 CP 0C0H e439 da 11 e5 JP C,E511 e43c e6 03 E43C: AND 3 e43e 47 LD B,A e43f 1a LD A,(DE) e440 1f RRA e441 1f RRA e442 e6 1f AND 1FH e444 c5 PUSH BC e445 01 58 e5 LD BC,E558 e448 81 ADD A,C e449 6f LD L,A e44a 60 LD H,B e44b c1 POP BC e44c 7e LD A,(HL) e44d 04 INC B e44e 10 29 E44E: DJNZ E479 e450 e6 03 AND 3 e452 ca fc e4 JP Z,E4FC e455 f5 PUSH AF e456 1a LD A,(DE) e457 2a f4 ff LD HL,(0FFF4H) e45a fe e9 CP 0E9H e45c ca c5 e5 JP Z,E5C5 e45f fe c3 CP 0C3H e461 28 70 JR Z,E4D3 e463 fe cd CP 0CDH e465 28 6c JR Z,E4D3 e467 fe c9 CP 0C9H e469 28 5f JR Z,E4CA e46b fe 10 CP 10H e46d 20 10 JR NZ,E47F e46f 21 f9 ff LD HL,0FFF9H e472 35 DEC (HL) e473 20 47 JR NZ,E4BC e475 34 INC (HL) e476 c3 32 e5 E476: JP E532 e479 cb 3f E479: SRL A e47b cb 3f SRL A e47d 18 cf JR E44E e47f fe 18 E47F: CP 18H e481 28 39 JR Z,E4BC e483 fe 80 CP 80H e485 30 0a JR NC,E491 e487 ee 20 XOR 20H e489 47 LD B,A e48a e6 67 AND 67H e48c 20 e8 JR NZ,E476 e48e 78 LD A,B e48f 18 0d JR E49E e491 e6 c7 E491: AND 0C7H e493 fe c2 CP 0C2H e495 28 06 JR Z,E49D e497 e6 c3 AND 0C3H e499 fe c0 CP 0C0H e49b 20 43 JR NZ,E4E0 e49d 1a E49D: LD A,(DE) e49e e6 30 E49E: AND 30H e4a0 21 77 e5 LD HL,E577 e4a3 23 E4A3: INC HL e4a4 d6 10 SUB 10H e4a6 30 fb JR NC,E4A3 e4a8 3a fc ff LD A,(0FFFCH) e4ab a6 AND (HL) e4ac 1a LD A,(DE) e4ad 28 01 JR Z,E4B0 e4af 2f CPL e4b0 cb 5f E4B0: BIT 3,A e4b2 20 c2 JR NZ,E476 e4b4 f1 POP AF e4b5 f5 PUSH AF e4b6 fe 02 CP 2 e4b8 38 10 JR C,E4CA e4ba 20 17 JR NZ,E4D3 e4bc 13 E4BC: INC DE e4bd 1a LD A,(DE) e4be 13 INC DE e4bf 6f LD L,A e4c0 17 RLA e4c1 26 00 LD H,0 e4c3 30 01 JR NC,E4C6 e4c5 25 DEC H e4c6 19 E4C6: ADD HL,DE e4c7 18 30 JR E4F9 e4c9 1b E4C9: DEC DE e4ca 2a e6 ff E4CA: LD HL,(0FFE6H) e4cd 7e LD A,(HL) e4ce 23 INC HL e4cf 66 LD H,(HL) e4d0 6f LD L,A e4d1 18 64 JR E537 e4d3 1a E4D3: LD A,(DE) e4d4 cb 57 BIT 2,A e4d6 13 INC DE e4d7 1a LD A,(DE) e4d8 6f LD L,A e4d9 13 INC DE e4da 1a LD A,(DE) e4db 67 LD H,A e4dc 20 59 JR NZ,E537 e4de 18 19 JR E4F9 e4e0 1a E4E0: LD A,(DE) e4e1 e6 c7 AND 0C7H e4e3 fe c7 CP 0C7H e4e5 1a LD A,(DE) e4e6 20 07 JR NZ,E4EF e4e8 e6 38 AND 38H e4ea 6f LD L,A e4eb 26 00 LD H,0 e4ed 18 48 JR E537 e4ef fe fb E4EF: CP 0FBH e4f1 20 3f JR NZ,E532 e4f3 2f CPL e4f4 32 fa ff LD (0FFFAH),A e4f7 eb EX DE,HL e4f8 23 INC HL e4f9 c3 c5 e5 E4F9: JP E5C5 e4fc 1a E4FC: LD A,(DE) e4fd 13 INC DE e4fe fe ed CP 0EDH e500 20 13 JR NZ,E515 e502 06 03 LD B,3 e504 1a LD A,(DE) e505 e6 f7 AND 0F7H e507 fe 45 CP 45H e509 28 be JR Z,E4C9 e50b e6 c7 AND 0C7H e50d fe 43 CP 43H e50f 28 22 JR Z,E533 e511 06 01 E511: LD B,1 e513 18 1e JR E533 e515 fe dd E515: CP 0DDH e517 2a ea ff LD HL,(0FFEAH) e51a 28 03 JR Z,E51F e51c 2a e8 ff LD HL,(0FFE8H) e51f 1a E51F: LD A,(DE) e520 fe e9 CP 0E9H e522 28 d5 JR Z,E4F9 e524 21 53 e5 LD HL,E553 e527 01 05 00 LD BC,5 e52a ed b1 CPIR e52c 20 0f JR NZ,E53D e52e 04 INC B e52f 04 E52F: INC B e530 04 E530: INC B e531 c5 PUSH BC e532 c1 E532: POP BC e533 eb E533: EX DE,HL e534 23 E534: INC HL e535 10 fd DJNZ E534 e537 cd 83 e0 E537: CALL E083 e53a c3 d2 e5 JP E5D2 e53d e6 fe E53D: AND 0FEH e53f fe 34 CP 34H e541 28 ec JR Z,E52F e543 1a LD A,(DE) e544 e6 07 AND 7 e546 fe 06 CP 6 e548 28 e5 JR Z,E52F e54a 1a LD A,(DE) e54b e6 f8 AND 0F8H e54d fe 70 CP 70H e54f 28 de JR Z,E52F e551 18 dd JR E530 e553 21 22 2a E553: db 21h,22h,2ah e556 36 cb db 36h,0cbh e558 5d E558: db 5dh e559 65 db 65h e55a 55 db 55h e55b 65 db 65h e55c 5e db 5eh e55d 65 db 65h e55e 56 db 56h e55f 65 db 65h e560 7e db 7eh e561 65 db 65h e562 76 db 76h e563 65 db 65h e564 7e db 7eh e565 65 db 65h e566 76 db 76h e567 65 db 65h e568 f5 db 0f5h e569 67 db 67h e56a b5 db 0b5h e56b 6f db 6fh e56c b5 db 0b5h e56d 67 db 67h e56e b5 db 0b5h e56f 63 db 63h e570 75 db 75h e571 67 db 67h e572 75 db 75h e573 63 db 63h e574 75 db 75h e575 67 db 67h e576 75 db 75h e577 63 E577: db 63h e578 40 db 40h e579 01 04 80 db 1,4,80h e57c cd 03 e0 E57C: CALL jgstat e57f c8 RET Z e580 cd 06 e0 CALL gtchar e583 fe 2e CP '.' e585 c0 RET NZ e586 c3 36 e0 JP inloop e589 b7 E589: OR A e58a ed 52 SBC HL,DE e58c da 07 e4 JP C,huh e58f 23 INC HL e590 c9 RET e591 ed 73 e6 ff E591: LD (0FFE6H),SP e595 31 00 00 LD SP,0 e598 f5 PUSH AF e599 f5 PUSH AF e59a b7 OR A e59b ed 57 LD A,I e59d f5 PUSH AF e59e f3 DI e59f c5 PUSH BC e5a0 d5 PUSH DE e5a1 e5 PUSH HL e5a2 d9 EXX e5a3 08 EX AF,AF' e5a4 f5 PUSH AF e5a5 c5 PUSH BC e5a6 d5 PUSH DE e5a7 e5 PUSH HL e5a8 3a fa ff LD A,(0FFFAH) e5ab e6 04 AND 4 e5ad 32 fa ff LD (0FFFAH),A e5b0 d9 EXX e5b1 08 EX AF,AF' e5b2 dd e5 PUSH IX e5b4 fd e5 PUSH IY e5b6 21 c1 ff LD HL,0FFC1H e5b9 ed 5b c4 ff LD DE,(0FFC4H) e5bd 01 03 00 LD BC,3 e5c0 ed b0 LDIR e5c2 2a c4 ff LD HL,(0FFC4H) e5c5 3e 80 E5C5: LD A,80H e5c7 32 c0 ff LD (0FFC0H),A e5ca 22 fe ff LD (0FFFEH),HL e5cd 31 c0 ff LD SP,0FFC0H e5d0 18 32 JR E604 e5d2 ed 7b e6 ff E5D2: LD SP,(0FFE6H) e5d6 2a fe ff LD HL,(0FFFEH) e5d9 e5 PUSH HL e5da 2a fc ff LD HL,(0FFFCH) e5dd e5 PUSH HL e5de ed 73 e4 ff LD (0FFE4H),SP e5e2 31 e8 ff LD SP,0FFE8H e5e5 fd e1 POP IY e5e7 dd e1 POP IX e5e9 d9 EXX e5ea 08 EX AF,AF' e5eb e1 POP HL e5ec d1 POP DE e5ed c1 POP BC e5ee f1 POP AF e5ef d9 EXX e5f0 08 EX AF,AF' e5f1 e1 POP HL e5f2 d1 POP DE e5f3 c1 POP BC e5f4 f1 POP AF e5f5 ed 47 LD I,A e5f7 ed 7b e4 ff LD SP,(0FFE4H) e5fb ea 01 e6 JP PE,E601 e5fe f1 POP AF e5ff f3 DI e600 c9 RET e601 f1 E601: POP AF e602 fb EI e603 c9 RET e604 cd 46 e6 E604: CALL E646 e607 3a c0 ff LD A,(0FFC0H) e60a 47 LD B,A e60b af XOR A e60c 32 c0 ff LD (0FFC0H),A e60f 21 c9 ff LD HL,0FFC9H e612 35 DEC (HL) e613 28 07 JR Z,E61C e615 cd 03 e0 CALL jgstat e618 20 02 JR NZ,E61C e61a 18 23 JR E63F e61c cd 7d e7 E61C: CALL getcecho e61f fe 2e CP '.' e621 ca 36 e0 JP Z,inloop e624 fe 0d CP cr e626 28 15 JR Z,E63D e628 fe 20 CP ' ' e62a 20 f0 JR NZ,E61C e62c af XOR A e62d be CP (HL) e62e 36 00 LD (HL),0 e630 20 ea JR NZ,E61C e632 cd f5 e6 CALL crlf e635 cd 04 e7 CALL phead e638 3e 0b LD A,0BH e63a c3 24 e4 JP E424 e63d 36 01 E63D: LD (HL),1 e63f cd f5 e6 E63F: CALL crlf e642 7e LD A,(HL) e643 c3 24 e4 JP E424 e646 2a fe ff E646: LD HL,(0FFFEH) e649 cd be e7 CALL prhl e64c 3a c6 ff LD A,(0FFC6H) e64f 1f RRA e650 06 01 LD B,1 e652 30 02 JR NC,E656 e654 06 0c LD B,0CH e656 21 fd ff E656: LD HL,0FFFDH e659 7e E659: LD A,(HL) e65a cd 13 e7 CALL phex e65d 2b DEC HL e65e 7e LD A,(HL) e65f cd ec e6 CALL E6EC e662 2b DEC HL e663 10 f4 DJNZ E659 e665 c9 RET e666 c5 E666: PUSH BC e667 e5 PUSH HL e668 7e E668: LD A,(HL) e669 cd ec e6 CALL E6EC e66c 23 INC HL e66d 10 f9 DJNZ E668 e66f cd ff e6 CALL space e672 cd ff e6 CALL space e675 e1 POP HL e676 c1 POP BC e677 7e E677: LD A,(HL) e678 e6 7f AND 7FH e67a 4f LD C,A e67b fe 20 CP ' ' e67d 38 04 JR C,E683 e67f fe 7b CP 7BH e681 38 02 JR C,E685 e683 0e 2e E683: LD C,'.' e685 cd 16 e0 E685: CALL jpchar e688 23 INC HL e689 10 ec DJNZ E677 e68b c9 RET e68c 20 50 43 20 E68C: db ' PC AF I IF ' e690 20 20 41 46 e694 20 20 49 20 e698 49 46 20 20 e69c 42 43 20 20 db 'BC DE HL A',27h e6a0 20 44 45 20 e6a4 20 20 48 4c e6a8 20 20 41 27 e6ac 46 27 20 42 db 'F',27h,' B',27h,'C' e6b0 27 43 e6b2 27 20 44 27 db 27h,' D',27h,'E',27h e6b6 45 27 e6b8 20 48 27 4c db ' H',27h,'L',27h,' IX' e6bc 27 20 20 49 e6c0 58 e6c1 20 20 20 49 db ' IY SP',cr,lf,3 e6c5 59 20 20 20 e6c9 53 50 0d 0a e6cd 03 ; ; IMS equates 0021 pstat equ 21h 0023 pdata equ 23h ; 0004 snd_ok equ 4 0001 rcv_ok equ 1 ; e6ce db 21 gstat: IN A,(pstat) e6d0 e6 01 AND rcv_ok e6d2 c8 RET Z e6d3 3e ff LD A,0FFH e6d5 c9 RET e6d6 00 00 00 00 db 0,0,0,0,0,0,0,0 e6da 00 00 00 00 e6de 00 00 00 db 0,0,0 e6e1 db 21 pchar: IN A,(pstat) ;pchar e6e3 e6 04 AND snd_ok e6e5 ca e1 e6 JP Z,pchar e6e8 79 LD A,C e6e9 d3 23 OUT (pdata),A e6eb c9 RET e6ec c5 E6EC: PUSH BC e6ed cd 13 e7 CALL phex e6f0 cd ff e6 CALL space e6f3 c1 POP BC e6f4 c9 RET e6f5 0e 0d crlf: LD C,cr e6f7 cd 16 e0 CALL jpchar e6fa 0e 0a LD C,lf e6fc c3 16 e0 JP jpchar e6ff 0e 20 space: LD C,' ' e701 c3 16 e0 JP jpchar e704 21 8c e6 phead: LD HL,E68C e707 7e pstrg: LD A,(HL) e708 fe 03 CP 3 e70a c8 RET Z e70b 4f LD C,A e70c cd 16 e0 CALL jpchar e70f 23 INC HL e710 c3 07 e7 JP pstrg e713 f5 phex: PUSH AF e714 0f RRCA e715 0f RRCA e716 0f RRCA e717 0f RRCA e718 cd 1c e7 CALL donib e71b f1 POP AF e71c e6 0f donib: AND 0FH e71e c6 90 ADD A,90H e720 27 DAA e721 ce 40 ADC A,40H e723 27 DAA e724 4f LD C,A e725 c3 16 e0 JP jpchar e728 d6 30 E728: SUB 30H e72a fe 0a CP 0AH e72c f8 RET M e72d d6 07 SUB 7 e72f c9 RET e730 fe 30 E730: CP '0' e732 da 46 e7 JP C,E746 e735 fe 3a CP ':' e737 da 44 e7 JP C,E744 e73a fe 40 CP '@' e73c da 46 e7 JP C,E746 e73f fe 47 CP 'G' e741 d2 46 e7 JP NC,E746 e744 af E744: XOR A e745 c9 RET e746 af E746: XOR A e747 3c INC A e748 c9 RET e749 fe 20 E749: CP ' ' e74b c8 RET Z e74c fe 5e CP '^' e74e ca 59 e7 JP Z,E759 e751 fe 2e CP '.' e753 ca 36 e0 JP Z,inloop e756 fe 0d CP cr e758 c0 RET NZ e759 c5 E759: PUSH BC e75a cd f5 e6 CALL crlf e75d c1 POP BC e75e af XOR A e75f c9 RET e760 21 00 00 E760: LD HL,0 e763 45 LD B,L e764 cd 7d e7 E764: CALL getcecho e767 04 INC B e768 cd 49 e7 CALL E749 e76b c8 RET Z e76c cd 30 e7 CALL E730 e76f c0 RET NZ e770 79 LD A,C e771 cd 28 e7 CALL E728 e774 29 ADD HL,HL e775 29 ADD HL,HL e776 29 ADD HL,HL e777 29 ADD HL,HL e778 85 ADD A,L e779 6f LD L,A e77a c3 64 e7 JP E764 e77d cd 06 e0 getcecho: CALL gtchar e780 4f LD C,A e781 c3 16 e0 JP jpchar e784 af E784: XOR A e785 21 d0 ff LD HL,0FFD0H e788 e5 PUSH HL e789 dd e1 POP IX e78b 77 LD (HL),A e78c 01 09 00 LD BC,9 e78f 11 d1 ff LD DE,0FFD1H e792 ed b0 LDIR e794 32 c7 ff LD (0FFC7H),A e797 cd 60 e7 E797: CALL E760 e79a c2 07 e4 JP NZ,huh e79d 79 LD A,C e79e 32 c8 ff LD (0FFC8H),A e7a1 fe 20 CP ' ' e7a3 28 02 JR Z,E7A7 e7a5 05 DEC B e7a6 c8 RET Z e7a7 dd 75 00 E7A7: LD (IX+0),L e7aa dd 74 01 LD (IX+1),H e7ad 3a c7 ff LD A,(0FFC7H) e7b0 3c INC A e7b1 32 c7 ff LD (0FFC7H),A e7b4 dd 23 INC IX e7b6 dd 23 INC IX e7b8 79 LD A,C e7b9 fe 20 CP ' ' e7bb 28 da JR Z,E797 e7bd c9 RET e7be 7c prhl: LD A,H e7bf cd 13 e7 CALL phex e7c2 7d LD A,L e7c3 c3 ec e6 JP E6EC ; ; hex download ; e7c6 f3 dwnhx: di e7c7 21 5b e8 ld hl,bgnmsg e7ca cd 07 e7 call pstrg e7cd cd f5 e6 call crlf e7d0 cd a7 e8 doline: call inch e7d3 fe 3a cp ':' e7d5 c2 d0 e7 jp nz,doline e7d8 cd b2 e8 call gtbyt ; count byte e7db 79 ld a,c e7dc fe 00 cp 0 ; zero count is end e7de ca 0c e8 jp z,finish e7e1 41 ld b,c e7e2 f5 push af e7e3 cd b2 e8 call gtbyt ; addr msb e7e6 f1 pop af e7e7 61 ld h,c e7e8 81 add a,c e7e9 f5 push af e7ea cd b2 e8 call gtbyt ; addr lsb e7ed f1 pop af e7ee 69 ld l,c e7ef 81 add a,c e7f0 f5 push af e7f1 cd b2 e8 call gtbyt ; record type e7f4 f1 pop af e7f5 81 add a,c e7f6 f5 datlp: push af e7f7 cd b2 e8 call gtbyt ; data byte e7fa f1 pop af e7fb 71 ld (hl),c e7fc 23 inc hl e7fd 81 add a,c e7fe 10 f6 djnz datlp e800 f5 push af e801 cd b2 e8 call gtbyt ; checksum byte e804 f1 pop af e805 81 add a,c e806 c2 6b e8 jp nz,bdck e809 c3 d0 e7 jp doline ; ; eoj is here ; e80c 11 00 00 finish: ld de,0 e80f b7 or a e810 cd 24 e8 call stande ; stall and eat up e813 30 f7 jr nc,finish ; rest of :00xx... line ; e815 cd f5 e6 call crlf e818 cd 9f e8 call praddr e81b 21 34 e8 ld hl,good e81e cd 07 e7 call pstrg e821 c3 36 e0 jp inloop ; e824 13 stande: inc de ; as long as de != 0, we e825 7a ld a,d ; read rest of line, and e826 b3 or e ; return to finish loop e827 20 02 jr nz,rjunk ; with carry not set e829 37 scf e82a c9 ret ; only exit to end hxin ; e82b db 21 rjunk: in a,(pstat) ; read junk e82d e6 01 and rcv_ok e82f 28 f3 jr z,stande e831 db 23 in a,(pdata) e833 c9 ret ; exit to continue looping ; e834 47 6f 6f 64 good: db 'Good load!',3 e838 20 6c 6f 61 e83c 64 21 03 e83f 42 61 64 20 bdcksm: db 'Bad checksum.',3 e843 63 68 65 63 e847 6b 73 75 6d e84b 2e 03 e84d 4e 6f 6e 2d bdchar: db 'Non-hex char.',3 e851 68 65 78 20 e855 63 68 61 72 e859 2e 03 e85b 53 74 61 72 bgnmsg: db 'Start download.',3 e85f 74 20 64 6f e863 77 6e 6c 6f e867 61 64 2e 03 e86b cd f5 e6 bdck: call crlf e86e 21 3f e8 ld hl,bdcksm e871 cd 07 e7 call pstrg e874 c3 36 e0 jp inloop e877 cd f5 e6 hxerr: call crlf e87a 21 4d e8 ld hl,bdchar e87d cd 07 e7 call pstrg e880 c3 36 e0 jp inloop ; e883 db 21 mpchar: IN A,(pstat) ;pchar e885 e6 04 AND snd_ok e887 ca 83 e8 JP Z,mpchar e88a 79 LD A,C e88b d3 23 OUT (pdata),A e88d c9 RET e88e db 21 mgtchar: IN A,(pstat) e890 e6 01 AND rcv_ok e892 ca 8e e8 JP Z,mgtchar e895 db 23 IN A,(pdata) e897 e6 7f AND 7FH e899 fe 61 CP 'a' e89b d8 RET C e89c cb af RES 5,A e89e c9 RET e89f 7c praddr: LD A,H e8a0 cd 13 e7 CALL phex e8a3 7d LD A,L e8a4 c3 13 e7 JP phex e8a7 cd 8e e8 inch: CALL mgtchar e8aa c5 PUSH BC e8ab 4f LD C,A e8ac cd 83 e8 CALL mpchar ;echo it e8af 79 LD A,C e8b0 c1 POP BC e8b1 c9 RET e8b2 cd c0 e8 gtbyt: CALL gt1ch e8b5 17 RLA ;read a byte e8b6 17 RLA e8b7 17 RLA e8b8 17 RLA e8b9 4f LD C,A e8ba cd c0 e8 CALL gt1ch e8bd b1 OR C e8be 4f LD C,A e8bf c9 RET e8c0 cd a7 e8 gt1ch: CALL inch e8c3 fe 30 CP '0' ;read a char. e8c5 da 77 e8 JP C,hxerr ;verify it is good hex e8c8 fe 3a CP ':' e8ca da d9 e8 JP C,gt1cha e8cd fe 41 CP 'A' e8cf da 77 e8 JP C,hxerr e8d2 fe 47 CP 'G' e8d4 d2 77 e8 JP NC,hxerr e8d7 d6 07 SUB 7 e8d9 d6 30 gt1cha: SUB '0' e8db c9 RET e8dc END e064 E064 e07c E07C e083 E083 e09c E09C e09d E09D e0af E0AF e0cb E0CB e108 E108 e11d E11D e125 E125 e12a E12A e13f E13F e143 E143 e153 E153 e190 E190 e195 E195 e1d2 E1D2 e1f5 E1F5 e233 E233 e24d E24D e271 E271 e278 E278 e282 E282 e296 E296 e2b6 E2B6 e2bf E2BF e2ec E2EC e2ef E2EF e2fe E2FE e318 E318 e338 E338 e341 E341 e360 E360 e364 E364 e376 E376 e394 E394 e3be E3BE e3c1 E3C1 e3d3 E3D3 e3f8 E3F8 e3fb E3FB e40f E40F e41d E41D e424 E424 e43c E43C e44e E44E e476 E476 e479 E479 e47f E47F e491 E491 e49d E49D e49e E49E e4a3 E4A3 e4b0 E4B0 e4bc E4BC e4c6 E4C6 e4c9 E4C9 e4ca E4CA e4d3 E4D3 e4e0 E4E0 e4ef E4EF e4f9 E4F9 e4fc E4FC e511 E511 e515 E515 e51f E51F e52f E52F e530 E530 e532 E532 e533 E533 e534 E534 e537 E537 e53d E53D e553 E553 e558 E558 e577 E577 e57c E57C e589 E589 e591 E591 e5c5 E5C5 e5d2 E5D2 e601 E601 e604 E604 e61c E61C e63d E63D e63f E63F e646 E646 e656 E656 e659 E659 e666 E666 e668 E668 e677 E677 e683 E683 e685 E685 e68c E68C e6ec E6EC e728 E728 e730 E730 e744 E744 e746 E746 e749 E749 e759 E759 e760 E760 e764 E764 e784 E784 e797 E797 e7a7 E7A7 e84d bdchar e86b bdck e83f bdcksm e85b bgnmsg 00bf code 0080 cont 000d cr e6f5 crlf e7f6 datlp e7d0 doline e71c donib e7c6 dwnhx e80c finish e77d getcecho e834 good e6ce gstat e8c0 gt1ch e8d9 gt1cha e8b2 gtbyt e006 gtchar e407 huh e877 hxerr e8a7 inch 0044 initstrs e036 inloop e003 jgstat e016 jpchar e000 jstart 000a lf e88e mgtchar e883 mpchar 00b1 mvmon e6e1 pchar 0023 pdata e704 phead e713 phex e89f praddr e7be prhl 0021 pstat e707 pstrg 0001 rcv_ok e82b rjunk 0004 snd_ok 003f sndem e6ff space e824 stande e02d start 0094 swap e196 tryC e327 tryD e38e tryE e241 tryF e0a0 tryG e19b tryH e1d5 tryI e257 tryL e16f tryM e20f tryO e3cb tryP e137 tryQ e0b7 tryR e403 tryS e2e4 tryT e2a8 tryV e0c1 tryW e1bc tryX e0ee tryZ