======================================================================== ======================================================================== ======================================================================== ======================================================================== Camputers LYNX ROM disassembly by Pete June 2003 Camputers LYNX ROM disassembly by Pete June 2003 Camputers LYNX ROM disassembly by Pete June 2003 Camputers LYNX ROM disassembly by Pete June 2003 NOTE: NO Interrupts - anywhere !!! ======================================================================== ======================================================================== ======================================================================== ======================================================================== 00000000:f3 DI rst 0 00000001:3e20 LD A,20h 00000003:d380 OUTA (80h) 80 = 0010 0000 00000005:c33b00 JP 003Bh rst 5 00000008: JP 351Bh rst 8 **** Output Char in A reg **** 0000000B: JR NZ,+4Ch to 59?hmmm ------ 0000000D: JR NC,+31h to 3e? 0000000F: INC (HL) loop - search for 20h 32d incing hl looking thru de 00000010: LD A,(DE) rst 10 **** Find non Blank - adr DE **** 00000011: CP 20h 00000013: RET NZ 00000014: INC DE 00000015: JR -07h --------------------------------------------- 00000017: NOP 00000018: JP 2363h rst 18 **** Eval rev polish into HL **** 0000001B: LD D,E ? 0000001C: LD (HL),L 0000001D: LD (HL),E 0000001E: LD A,C 0000001F: NOP 00000020: EX HL,(SP) 00000021: CP (HL) 00000022: INC HL 00000023: EX HL,(SP) 00000024: RET Z 00000025: CALL 3B3Bh 00000028: JP 2059h ---------------------------------------- 0000002B: NOP 0000002C: NOP 0000002D: NOP 0000002E: NOP 0000002F: NOP 00000030: JP 3B64h rst 30 **** Monitor Trap **** 00000033: POP HL 00000034: LD PC,HL ? run from stack? 00000035: NOP 00000036: NOP 00000037: NOP 00000038: JP 6297h rst 38 0000003B: XOR A ------------------------------------------------------
00000DF0: INC DE 00000DF1: LD A,00h 00000DF3: CALL 62BBh 00000DF6: CALL 1F05h check b6 of 80 00000DF9: RET NZ 00000DFA: POP DE 00000DFB: POP DE 00000DFC: POP BC 00000DFD: LD IX,(61F6h) 00000E01: JP 1E3Eh --------jp 00000E04: RST 38h rst 38 and rst 18 00000E05: RST 18h 00000E06: JP 3B4Fh f----jp 00000E09: CALL 3497h 00000E0C: LD A,L 00000E0D: CP 20h 00000E0F: CALL C,3B29h 00000E12: CALL 00CEh 00000E15: JP 34C4h ---------------jp 00000E18: CALL 3542h rets 00000E1B: CALL 3434h 00000E1E: CALL 2F2Ch 00000E21: CALL 2F2Ch 00000E24: CALL 3542h 00000E27: CALL 37B0h 00000E2A: CALL 3475h 00000E2D: CALL 2F3Ch 00000E30: CALL 36C8h 00000E33: CALL 2F3Ch 00000E36: LD A,(62E5h) 00000E39: CALL 3FF1h 00000E3C: JP 3456h -- 00000E3F: CALL 37B0h 00000E42: JR -08h 00000E44: LD HL,(625Bh) 00000E47: LD H,00h 00000E49: JP 34C4h -- 00000E4C: LD HL,(625Ch) 00000E4F: JR -0Ah 00000E51: LD HL,(6254h) 00000E54: JR -0Fh 00000E56: LD HL,(6255h) 00000E59: JR -14h 00000E5B: LD HL,6271h 00000E5E: JR -17h 00000E60: LD HL,626Fh 00000E63: JR -1Ch 00000E65: LD HL,0E6Bh 00000E68: JP 35B1h 00000E6B: RST 38h rst 38 00000E6C: SBC C 00000E6D: SBC C 00000E6E: SBC C 00000E6F: SBC C hmmm 00000E70: CALL 3497h 00000E73: PUSH HL 00000E74: LD HL,62E0h 00000E77: CALL 35B1h 00000E7A: CALL 3497h 00000E7D: POP BC 00000E7E: RET ------------------------------------ 00000E7F: CALL 0E70h rets 00000E82: LD A,B 00000E83: OR H 00000E84: LD H,A 00000E85: LD A,C 00000E86: OR L 00000E87: LD L,A 00000E88: JP 34C4h 00000E8B: CALL 0E70h 00000E8E: LD A,B 00000E8F: XOR H 00000E90: LD H,A 00000E91: LD A,C 00000E92: XOR L 00000E93: JR -0Eh 00000E95: CALL 0E70h 00000E98: LD A,B 00000E99: AND H 00000E9A: LD H,A 00000E9B: LD A,C 00000E9C: AND L 00000E9D: JR -18h 00000E9F: CALL 2F2Ch 00000EA2: CALL 1E57h 00000EA5: CALL 2F3Ch 00000EA8: CALL 36C8h 00000EAB: JP 3456h --------------- 00000EAE: RST 18h 00000EAF: LD (625Dh),HL rst 18 00000EB2: RET ---------------------------------------- 00000EB3: RST 18h 00000EB4: LD (625Fh),HL 00000EB7: RET ------------------------------- 00000EB8: XOR A 00000EB9: INC A 00000EBA: LD B,AFh 00000EBC: INC A 00000EBD: LD B,AFh 00000EBF: INC A 00000EC0: LD B,AFh 00000EC2: INC A 00000EC3: LD B,AFh 00000EC5: INC A 00000EC6: LD B,AFh jp fr 00000EC8: INC A 00000EC9: LD B,AFh 00000ECB: INC A 00000ECC: LD B,AFh 00000ECE: LD L,A 00000ECF: LD H,00h 00000ED1: JP 34C4h ------------ 00000ED4: CALL 25E2h 00000ED7: LD (HL),A 00000ED8: CP 0Dh 00000EDA: RET Z 00000EDB: INC HL 00000EDC: CP 2Ch 00000EDE: JR Z,-0Ch 00000EE0: CALL 3B3Bh 00000EE3: RST 18h 00000EE4: RST 08h 00000EE5: LD A,(DE) 00000EE6: CP 0Dh 00000EE8: RET Z 00000EE9: INC DE 00000EEA: JR -09h 00000EEC: LD B,05h 00000EEE: JR +06h 00000EF0: LD B,03h 00000EF2: JR +02h 00000EF4: LD B,02h 00000EF6: PUSH BC 00000EF7: CALL 25E2h 00000EFA: RST 20h rst 20 00000EFB: INC L 00000EFC: LD (HL),A 00000EFD: INC HL 00000EFE: POP BC 00000EFF: DJNZ -0Bh 00000F01: JP 2707h 00000F04: DEC HL 00000F05: LD A,1Dh 00000F07: JP 27BCh 00000F0A: LD A,(IX+FFh) 00000F0D: SUB 08h 00000F0F: LD B,A 00000F10: CALL 352Ah 00000F13: LD A,(DE) 00000F14: INC DE 00000F15: CALL 2239h 00000F18: DJNZ -0Ah 00000F1A: JP 2840h 00000F1D: LD A,(DE) 00000F1E: LD (HL),A 00000F1F: CP 0Dh 00000F21: RET Z 00000F22: RST 20h 00000F23: JR NZ,-29h 00000F25: CALL 0F2Ch 00000F28: LD (HL),C 00000F29: INC HL alll look susp like character string printing routines 00000F2A: JR -0Fh 00000F2C: LD C,00h 00000F2E: LD A,(DE) 00000F2F: SUB 30h 00000F31: RET C 00000F32: CP 0Ah 00000F34: JR C,+08h 00000F36: SUB 07h 00000F38: CP 0Ah 00000F3A: RET C 00000F3B: CP 10h 00000F3D: RET NC 00000F3E: SLA C 00000F40: SLA C 00000F42: SLA C 00000F44: SLA C 00000F46: ADD C 00000F47: LD C,A 00000F48: INC DE 00000F49: JR -1Dh 00000F4B: RST 18h 00000F4C: LD (625Bh),A 00000F4F: RET ---------------------------------- 00000F50: RST 18h 00000F51: LD (625Ch),A 00000F54: RET 00000F55: RST 18h 00000F56: INC DE 00000F57: LD (6265h),HL 00000F5A: RST 18h 00000F5B: LD (6267h),A 00000F5E: RET -------------- 00000F5F: RST 18h 00000F60: INC DE 00000F61: LD (6268h),HL 00000F64: RST 18h 00000F65: LD (626Ah),A 00000F68: JP 6262h 00000F6B: RST 18h 00000F6C: INC DE 00000F6D: LD BC,(6265h) 00000F71: ADD HL,BC 00000F72: LD (6265h),HL 00000F75: RST 18h 00000F76: LD A,(6267h) 00000F79: ADD L 00000F7A: LD (6267h),A 00000F7D: RET 00000F7E: RST 18h 00000F7F: INC DE 00000F80: LD BC,(6265h) 00000F84: ADD HL,BC 00000F85: LD (6268h),HL 00000F88: RST 18h 00000F89: LD A,(6267h) 00000F8C: ADD L 00000F8D: LD (626Ah),A 00000F90: JP 6262h 00000F93: RST 18h 00000F94: INC DE 00000F95: LD (6268h),HL 00000F98: LD (6265h),HL 00000F9B: RST 18h 00000F9C: LD (626Ah),A 00000F9F: LD (6267h),A 00000FA2: JP 6262h 00000FA5: RST 18h 00000FA6: INC DE 00000FA7: OR A 00000FA8: JP Z,0F55h 00000FAB: DEC L 00000FAC: JP Z,0F6Bh 00000FAF: DEC L 00000FB0: JP Z,0F5Fh 00000FB3: DEC L 00000FB4: JP Z,0F7Eh 00000FB7: DEC L 00000FB8: JP Z,0F93h 00000FBB: CALL 3B32h 00000FBE: LD HL,(6268h) 00000FC1: PUSH HL 00000FC2: LD DE,(6265h) 00000FC6: LD H,00h 00000FC8: LD D,H 00000FC9: OR A 00000FCA: SBC HL,DE 00000FCC: EX DE,HL 00000FCD: LD HL,(6264h) 00000FD0: LD L,80h 00000FD2: EXX 00000FD3: LD HL,(626Ah) 00000FD6: PUSH HL 00000FD7: LD DE,(6267h) 00000FDB: LD H,00h 00000FDD: LD D,H 00000FDE: OR A 00000FDF: SBC HL,DE 00000FE1: EX DE,HL 00000FE2: LD HL,(6266h) 00000FE5: LD L,80h 00000FE7: LD A,D 00000FE8: OR E 00000FE9: EXX 00000FEA: LD B,01h 00000FEC: OR E 00000FED: OR D 00000FEE: JR Z,+18h 00000FF0: DEC B 00000FF1: CALL 1051h 00000FF4: JR NZ,+0Bh 00000FF6: SCF 00000FF7: RR B 00000FF9: CALL 1046h 00000FFC: CALL 1051h 00000FFF: JR Z,-0Ah 00001001: CALL 1017h 00001004: ADD HL,DE 00001005: EXX 00001006: ADD HL,DE 00001007: EXX 00001008: CALL 1017h 0000100B: DJNZ -09h 0000100D: POP HL 0000100E: LD A,L 0000100F: LD (6267h),A 00001012: POP HL 00001013: LD (6265h),HL 00001016: RET ------------------------------------------- 00001017: EXX hmmm - who knows graphics related 00001018: LD A,H 00001019: EXX 0000101A: PUSH HL 0000101B: PUSH DE 0000101C: PUSH BC 0000101D: LD L,A 0000101E: LD A,H 0000101F: LD H,00h 00001021: ADD HL,HL 00001022: ADD HL,HL 00001023: ADD HL,HL 00001024: ADD HL,HL 00001025: ADD HL,HL 00001026: LD C,A 00001027: SRL C 00001029: SRL C 0000102B: SRL C 0000102D: LD B,00h 0000102F: ADD HL,BC 00001030: LD C,80h 00001032: AND 07h 00001034: JR Z,+05h 00001036: SRL C 00001038: DEC A 00001039: JR NZ,-05h 0000103B: LD A,C 0000103C: CPL 0000103D: LD C,A 0000103E: CPL 0000103F: CALL 626Ch plot som on the screen via jumpblock to 85e above 00001042: POP BC 00001043: POP DE 00001044: POP HL 00001045: RET ----------------------------------------------- 00001046: SLA E 00001048: RL D 0000104A: EXX 0000104B: SLA E 0000104D: RL D 0000104F: EXX 00001050: RET -------------- 00001051: EXX 00001052: LD A,D 00001053: XOR E 00001054: AND 80h 00001056: EXX 00001057: LD C,A 00001058: LD A,D 00001059: XOR E 0000105A: AND 80h 0000105C: OR C 0000105D: RET --------------------------- 0000105E: LD A,(HL) **** Output chars line until 0D **** 0000105F: CP 0Dh 00001061: RET Z 00001062: RST 08h 00001063: INC HL 00001064: JR -08h ------------------------------- 00001066: CALL 1095h call Y below (prints couple of chars?) **** Flash cursor and scan keys **** 00001069: CALL 202Fh called from below main loop 0000106C: OR A 0000106D: JR Z,-09h 0000106F: RET --------------------------------- 00001070: PUSH HL **** display buffer **** 00001071: PUSH DE 00001072: LD DE,(6254h) 00001076: LD A,20h 00001078: RST 08h 00001079: DEC HL 0000107A: INC HL 0000107B: LD A,(HL) 0000107C: CP 0Dh 0000107E: JR Z,+03h 00001080: RST 08h 00001081: JR -09h 00001083: LD A,20h 00001085: RST 08h 00001086: LD (6254h),DE 0000108A: POP DE 0000108B: POP HL 0000108C: RET ---------------------------------- 0000108D: LD A,(DE) find length before 0d ( return ?) put length in B 0000108E: CP 0Dh 00001090: RET Z 00001091: INC B 00001092: INC DE 00001093: JR -08h ---------------------- 00001095: EXX Y called from above main loop 00001096: DEC HL 00001097: LD A,H 00001098: OR L 00001099: JR NZ,+0Ah 0000109B: LD HL,(625Dh) 0000109E: LD A,B 0000109F: LD B,C 000010A0: LD C,A 000010A1: RST 08h ? who knows 000010A2: LD A,16h 000010A4: RST 08h 000010A5: EXX 000010A6: RET ---------------------------------------- 000010A7: EX AF,AF' 000010A8: LD A,B 000010A9: CP F0h 000010AB: JR NC,+48h 000010AD: EX AF,AF' 000010AE: RST 08h 000010AF: INC DE 000010B0: PUSH HL 000010B1: PUSH DE 000010B2: PUSH BC 000010B3: PUSH DE 000010B4: EX DE,HL 000010B5: OR A 000010B6: SBC HL,DE 000010B8: LD C,L 000010B9: LD B,H 000010BA: POP DE 000010BB: LD L,E 000010BC: LD H,D 000010BD: DEC HL 000010BE: LDDR 000010C0: POP BC 000010C1: POP DE 000010C2: POP HL 000010C3: LD (HL),A 000010C4: INC HL 000010C5: CALL 1070h 000010C8: INC B 000010C9: INC C 000010CA: JR +29h --------------------------------------------------- 000010CC: LD HL,6000h T called from below 000010CF: LD D,H 000010D0: LD E,L 000010D1: LD BC,0000h 000010D4: EXX 000010D5: LD HL,(625Dh) ? 000010D8: LD BC,(625Fh) ? contrls cursor blink speed initially 2 000010DC: EXX 000010DD: RET 000010DE: LD (HL),0Dh 000010E0: JR +1Dh ---------------------------------------------------------- 000010E2: CALL 10CCh above T called from jblock 62bb in main loop 000010E5: LD A,0Fh print a 0F 000010E7: RST 08h 000010E8: CALL 1066h 000010EB: CP 11h 000010ED: JR NZ,-11h 000010EF: CALL 108Dh 000010F2: CALL 1070h 000010F5: EXX 000010F6: LD A,B 000010F7: RST 08h 000010F8: LD A,16h print a 22 " symbol = chek charset tho 000010FA: RST 08h 000010FB: EXX 000010FC: CALL 1066h 000010FF: CP 20h 00001101: JR NC,-5Ch 00001103: CP 08h 00001105: JR Z,+3Eh 00001107: CP 0Bh 00001109: JP Z,11C7h 0000110C: CP 0Ah 0000110E: JP Z,11D6h 00001111: CP 16h 00001113: JR Z,+19h 00001115: CP 0Ch 00001117: JR Z,+23h 00001119: CP 05h 0000111B: JP Z,1167h 0000111E: CP 0Dh 00001120: JR NZ,-2Dh 00001122: CALL 105Eh 00001125: LD A,20h 00001127: RST 08h print a space 00001128: LD A,0Dh 0000112A: RST 08h print return 0000112B: INC B 0000112C: DEC B 0000112D: RET -------------------------------------------- 0000112E: DEC C 0000112F: INC C 00001130: JR Z,-3Dh 00001132: DEC HL 00001133: DEC C 00001134: LD A,(HL) 00001135: RST 08h 00001136: LD A,16h 00001138: RST 08h 00001139: RST 08h 0000113A: JR -47h 0000113C: LD A,(HL) 0000113D: CP 0Dh 0000113F: JR Z,-4Ch 00001141: INC HL 00001142: INC C 00001143: JR -0Ch 00001145: DEC C 00001146: INC C 00001147: JR Z,-54h 00001149: DEC HL 0000114A: PUSH HL 0000114B: PUSH DE 0000114C: PUSH BC 0000114D: EX DE,HL 0000114E: OR A 0000114F: SBC HL,DE 00001151: LD C,L 00001152: LD B,H 00001153: LD L,E 00001154: LD H,D 00001155: INC HL 00001156: LDIR 00001158: POP BC 00001159: POP DE 0000115A: POP HL 0000115B: DEC DE 0000115C: DEC B 0000115D: DEC C 0000115E: LD A,16h 00001160: RST 08h 00001161: CALL 1070h 00001164: JP 10F5h 00001167: INC B 00001168: DEC B 00001169: JP NZ,10F5h 0000116C: LD HL,11B9h 0000116F: CALL 3539h 00001172: CALL 10CCh 00001175: CALL 10DEh 00001178: LD DE,6000h 0000117B: RST 10h rst 10 0000117C: CALL 1B98h 0000117F: CALL 2B1Fh 00001182: CALL NZ,3B2Ch 00001185: LD HL,(6200h) 00001188: PUSH HL 00001189: LD HL,11A6h 0000118C: LD (6200h),HL 0000118F: LD HL,6000h 00001192: LD (62F1h),HL 00001195: XOR A 00001196: LD (62EEh),A 00001199: CALL 62B2h 0000119C: POP HL 0000119D: LD (6200h),HL 000011A0: CALL 10CCh 000011A3: JP 10EFh 000011A6: PUSH AF 000011A7: CP 1Eh 000011A9: JR NZ,+02h 000011AB: LD A,0Dh 000011AD: PUSH HL 000011AE: LD HL,(62F1h) 000011B1: LD (HL),A 000011B2: INC HL 000011B3: LD (62F1h),HL 000011B6: POP HL 000011B7: POP AF 000011B8: RET -------------------------------------- 000011B9: LD C,H 000011BA: LD L,C 000011BB: LD L,(HL) 000011BC: LD H,L 000011BD: JR NZ,+6Eh 000011BF: LD (HL),L 000011C0: LD L,L 000011C1: LD H,D 000011C2: LD H,L 000011C3: LD (HL),D 000011C4: CCF 000011C5: JR NZ,+00h 000011C7: DEC C 000011C8: INC C 000011C9: JP Z,10F5h 000011CC: DEC HL 000011CD: DEC C 000011CE: LD A,(HL) 000011CF: RST 08h 000011D0: LD A,16h 000011D2: RST 08h 000011D3: RST 08h 000011D4: JR -0Fh 000011D6: LD A,(HL) 000011D7: CP 0Dh 000011D9: JP Z,10F5h 000011DC: INC HL 000011DD: INC C 000011DE: RST 08h 000011DF: JR -0Bh -------------------- 000011E1: CALL 4D45h NOPE - THE NEXT LOT is all data for stuff eg: DEFPROCTAPECOLOR etc. ========================================================================= ========================================================================= MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN ========================================================================= ========================================================================= 0000168A: LD (F321h),A nonsense from above 0000168c: DI only interrupt command in the ROM !!!!!!!! MAIN startup entry after ?vid start 0000168D: LD HL,1715h f3 21 15 17 00001690: LD DE,61EEh 00001693: LD BC,00D3h copy 211 bytes from 1715? to 61EE - sys vars? no poss not is zeroed later ??! 00001696: LDIR 00001698: LD HL,(61FAh) start of program (4d69 usually) 0000169B: LD (HL),80h put end of program marker at this address 0000169D: DEC HL 0000169E: LD (HL),0Dh put a return chr in just before 000016A0: JP 0DCBh ------ set up stack and init SP - jumps straights back here 000016A3: LD A,(4000h) 000016A6: OR A check if contents of 4000 is zero (usually memory bus reads FF if not connected); 000016A7: CALL Z,4000h check if theres a ROM at 4000 and run its init if used 000016AA: CALL 1F6Eh setup variable Space and more 211 stuff 000016AD: LD HL,6000h 000016B0: LD (HL),0Dh put a return in 6000 - the keyboard buffer 000016B2: ADD HL,SP // ? 000016B3: LD HL,17EDh 1 beep 48k 000016B6: JR NC,+04h 000016B8: LD HL,17EBh print the LYNX logo and beep 1, 2 or 3 times - overwritten by CAMLYnx emu 000016BB: NOP 000016BC: CALL 3539h print string - the LOGO!!! 000016BF: CALL 16C4h aha 16c4 is the end of the line, main loop forever here :~ LLLLOOOOOPPPPPPP HEERE 000016C2: JR -05h ===========LLLLOOOOOPPPPPPP HEERE 000016C4: LD HL,0DEFh the prompt TEXT!!! > ------------------------------- 000016C7: CALL 3539h print chars pointed to by HL until hit a zero - PRINT A PROMPT 000016CA: LD A,(622Eh) test 622e for ? 000016CD: OR A 000016CE: JR Z,+15h to H THIS IS THE MAIN LOOP waiting for commands 000016D0: LD HL,62F3h 000016D3: CALL 35B1h 000016D6: CALL 2B1Fh 000016D9: LD A,20h 000016DB: JR NZ,+02h this is all done each time round the 'wait for input' loop 000016DD: LD A,21h 000016DF: PUSH AF jmp H above 000016E0: CALL 1D59h 000016E3: POP AF 000016E4: RST 08h rst8 a 20 or 21 - non printing chars 000016E5: CALL 62BBh jblock: jp 10e2 000016E8: JR NZ,+06h go back until call 62bb rets a zero 000016EA: LD HL,622Eh 000016ED: LD (HL),00h 000016EF: RET ----------------------------------------- 000016F0: LD (61EEh),SP 000016F4: LD DE,6000h 000016F7: CALL 2524h 000016FA: LD A,(622Eh) 000016FD: OR A 000016FE: JR Z,-3Ch 00001700: LD HL,62F3h 00001703: CALL 35B1h 00001706: LD HL,62F8h 00001709: CALL 35BAh 0000170C: CALL 366Dh 0000170F: LD DE,62F3h 00001712: JP 275Ch --------------------- 00001715: NOP 00001716: RST 38h 00001717: LD BC,0000h 0000171A: NOP 0000171B: NOP 0000171C: NOP 0000171D: DEC B 0000171E: LD (HL),4Ch 00001720: LD L,C 00001721: LD C,L 00001722: LD L,C 00001723: LD C,L 00001724: LD L,C 00001725: RLCA 00001726: LD H,E 00001727: AND H 00001728: LD B,5Fh 0000172A: INC H 0000172B: LD E,E 0000172C: DEC BC 0000172D: LD BC,0100h 00001730: NOP 00001731: NOP 00001732: RLCA 00001733: LD H,(HL) 00001734: RLCA 00001735: LD H,(HL) 00001736: RLCA 00001737: LD H,A 00001738: DJNZ +68h 0000173A: CALL PO,6868h 0000173D: INC DE 0000173E: POP HL 0000173F: LD DE,1416h 00001742: LD H,B 00001743: DEC D 00001744: OR 15h 00001746: LD C,(HL) 00001747: LD L,C 00001748: JP 273Ch 0000174B: JP 3B32h 0000174E: RET ----------------------------- 0000174F: NOP 00001750: NOP 00001751: RET 00001752: NOP 00001753: NOP 00001754: LD BC,1800h 00001757: DEC (HL) 00001758: NOP 00001759: NOP 0000175A: NOP 0000175B: EX AF,AF' 0000175C: NOP 0000175D: NOP 0000175E: NOP 0000175F: NOP 00001760: NOP 00001761: INC E 00001762: JR NC,+15h 00001764: DEC DE 00001765: ADD HL,DE 00001766: LD (BC),A 00001767: DJNZ +11h 00001769: DEC H 0000176A: CPL 0000176B: LD A,28h 0000176D: LD (DE),A 0000176E: DEC B 0000176F: INC B 00001770: INC BC 00001771: RLA 00001772: JR C,+0Eh 00001774: LD B,H 00001775: ADD HL,SP 00001776: ADD HL,BC 00001777: LD (HL),37h 00001779: INC D 0000177A: JR NZ,+03h 0000177C: DEC B 0000177D: INC BC 0000177E: LD A,E 0000177F: DEC B 00001780: PUSH AF 00001781: NOP 00001782: RLCA 00001783: NOP 00001784: NOP 00001785: LD (BC),A 00001786: JR NZ,-11h 00001788: NOP 00001789: JP 0FBEh 0000178C: NOP 0000178D: NOP 0000178E: NOP 0000178F: NOP 00001790: NOP 00001791: NOP 00001792: NOP 00001793: JP 085Eh traced - to io routin 00001796: SUB H 00001797: NOP 00001798: CALL NC,2001h 0000179B: NOP 0000179C: NOP 0000179D: JP 3B32h 000017A0: JP 3B32h 000017A3: JP 3B32h ALL OF THIS IS JUMPOINTS FROM THE 000017A6: JP 3B32h BASIC INTERP I THINK 000017A9: JP 3B32h probab some sort of index 000017AC: JP 3B32h 000017AF: RET 000017B0: NOP 000017B1: NOP 000017B2: RET 000017B3: NOP 000017B4: NOP 000017B5: NOP 000017B6: ADD B 000017B7: NOP 000017B8: RET NZ 000017B9: NOP 000017BA: RET NZ 000017BB: JP 3B32h 000017BE: JP 3B32h 000017C1: RST 28h 000017C2: JR C,+50h 000017C4: LD BC,0304h 000017C7: JR Z,+09h 000017C9: DEC C 000017CA: JP 0CD4h Jump point to io routine ################################ 000017CD: JP 0D67h Jump point to io routine ################################ 000017D0: JP 18D7h 000017D3: JP 19BEh 000017D6: JP 33A9h 000017D9: JP 27E5h 000017DC: JP 24E5h 000017DF: JP 009Ah 000017E2: JP 10E2h 000017E5: JP 2D5Ch 000017E8: NOP 000017E9: INC B 000017EA: RLCA 000017EB: INC B 000017EC: RLCA 000017ED: INC B 000017EE: RLCA 000017EF: JR -0Dh 000017F1: CALL P,F6F5h 000017F4: RST 30h 000017F5: RET M 000017F6: LD SP,HL 000017F7: ADD HL,DE 000017F8: LD A,(BC) 000017F9: LD A,(BC) 000017FA: DEC C 000017FB: NOP ------------------------------------------------ 000017FC: LD A,(DE) from main loop 000017FD: INC DE 000017FE: CP 7Ch 124 00001800: JR Z,+1Dh 00001802: CP 79h 121 00001804: JR Z,+19h 00001806: CP 85h 133 00001808: JR Z,-0Eh 0000180A: CP 87h 135 0000180C: JR Z,-12h 0000180E: CP 86h 134 00001810: JR Z,-16h 00001812: CP 7Ah 122 00001814: JR Z,+03h 00001816: CP 7Eh 126 00001818: RET NZ 00001819: INC DE 0000181A: INC DE 0000181B: INC DE 0000181C: INC DE 0000181D: INC DE 0000181E: RET 0000181F: CALL 17FCh 00001822: CP 7Bh 00001824: JR NZ,-07h 00001826: RET 00001827: PUSH DE 00001828: CALL 2808h 0000182B: POP DE 0000182C: RET ---------------------------- 0000182D: LD A,(DE) 0000182E: CP 7Ch 124 | 00001830: JR Z,-0Bh 00001832: CP 80h 128 ? 00001834: JR NC,+21h 00001836: CP 7Eh 126 ~ ? 00001838: JR Z,+12h 0000183A: CP 7Ah 122 z 0000183C: JR Z,+3Dh 0000183E: RES 6,A 00001840: ADD 40h 00001842: CP 5Bh 00001844: JP C,351Bh 00001847: ADD 06h 00001849: JP 351Bh 0000184C: PUSH DE 0000184D: INC DE 0000184E: EX DE,HL 0000184F: CALL 35B1h 00001852: CALL 1D59h 00001855: POP DE 00001856: RET ------------------------------------ 00001857: CP 85h 00001859: JR Z,+08h 0000185B: CP 87h 0000185D: JR Z,+04h 0000185F: CP 86h 00001861: JR NZ,+0Ah 00001863: CALL 186Dh 00001866: PUSH DE 00001867: INC DE 00001868: CALL 1827h 0000186B: POP DE 0000186C: RET --------------------------------------------- 0000186D: CALL 188Ch 00001870: LD A,(HL) 00001871: RES 7,A 00001873: RST 08h 00001874: INC HL 00001875: BIT 7,(HL) 00001877: RET NZ 00001878: LD A,(HL) 00001879: JR -08h 0000187B: PUSH DE 0000187C: LD A,26h 0000187E: RST 08h 0000187F: INC DE 00001880: EX DE,HL 00001881: CALL 35B1h 00001884: CALL 3497h 00001887: CALL 2234h 0000188A: POP DE 0000188B: RET ------------------------------------- 0000188C: SUB 7Fh 0000188E: LD B,A 0000188F: LD HL,(6217h) 00001892: DEC HL 00001893: INC HL 00001894: BIT 7,(HL) 00001896: JR Z,-05h 00001898: DJNZ -07h 0000189A: RET -------------------------- 0000189B: CP C2h 0000189D: RET NC 0000189E: CP BFh 000018A0: RET C 000018A1: POP IX 000018A3: JR +0Eh 000018A5: POP IX 000018A7: CP C5h 000018A9: JR C,+1Eh 000018AB: CP D0h 000018AD: JR C,+04h 000018AF: LD HL,2020h 000018B2: PUSH HL 000018B3: LD C,A 000018B4: INC A 000018B5: CALL 188Ch 000018B8: DEC HL 000018B9: LD A,(HL) 000018BA: BIT 7,A 000018BC: RES 7,A 000018BE: PUSH AF 000018BF: JR Z,-09h 000018C1: LD A,C 000018C2: CP D0h 000018C4: JR C,+03h 000018C6: LD A,20h 000018C8: PUSH AF 000018C9: LD PC,IX 000018CB: POP IX 000018CD: POP AF 000018CE: OR A 000018CF: JR Z,+03h 000018D1: RST 08h 000018D2: JR -07h 000018D4: PUSH AF 000018D5: LD PC,IX strange way - probab clever redirect 000018D7: XOR A --------------------------------------------------- 000018D8: PUSH AF ?within main loop 000018D9: LD IY,62EAh 000018DD: LD A,(DE) 000018DE: CP 7Fh 127 000018E0: JP Z,1941h below 000018E3: CP BFh 191 LOOP 000018E5: JR C,+0Ah 000018E7: LD A,29h 000018E9: CALL Z,351Bh print a char 000018EC: CALL 17FCh 000018EF: JR -14h 000018F1: LD (IY+00h),00h ------ 000018F5: LD L,E 000018F6: LD H,D 000018F7: INC (IY+00h) 000018FA: DEC (IY+00h) 000018FD: JP M,1932h below 00001900: CALL 17FCh 00001903: LD A,(DE) LOOP 00001904: CP 7Fh 127 00001906: JR Z,+2Ah 00001908: CP BFh 191 0000190A: JP NC,1912h 0000190D: INC (IY+00h) 00001910: JR -1Bh --------- 00001912: CP C3h 195 00001914: JR C,+03h 00001916: DEC (IY+00h) 00001919: EXX 0000191A: INC (IY+00h) 0000191D: DEC (IY+00h) 00001920: CALL Z,189Bh 00001923: INC (IY+00h) 00001926: PUSH AF 00001927: DEC (IY+00h) 0000192A: POP AF 0000192B: CALL Z,18A5h 0000192E: EXX 0000192F: JP 18F7h --------------------------------------------------------- 00001932: CALL 18CBh from above 00001935: LD E,L 00001936: LD D,H 00001937: LD A,(DE) 00001938: CALL 182Dh 0000193B: CALL 17FCh 0000193E: JP 18DDh ---------------------------- 00001941: POP AF 00001942: RET ---------------------------- 00001943: LD HL,(6217h) from above 00001946: DEC HL 00001947: LD B,80h 00001949: CALL 197Eh 0000194C: INC HL 0000194D: BIT 7,(HL) 0000194F: JR Z,-05h 00001951: CP (HL) 00001952: JR Z,+05h 00001954: DJNZ -0Ah 00001956: LD A,(DE) 00001957: SCF 00001958: RET ---------------------------------- 00001959: PUSH DE 0000195A: INC DE 0000195B: INC HL 0000195C: EX DE,HL 0000195D: RST 10h rst 10 0000195E: EX DE,HL 0000195F: RST 10h 00001960: BIT 7,(HL) rst 10 00001962: JR NZ,+15h 00001964: CP 2Eh cmp 2e 46 . 00001966: JR Z,+0Fh 00001968: CP 40h cmp 40 @ 0000196A: JR C,+02h 0000196C: AND DFh 0000196E: CP (HL) 0000196F: JR Z,-17h 00001971: POP DE 00001972: CALL 197Eh 00001975: JR -23h 00001977: INC DE 00001978: RST 10h 00001979: POP HL 0000197A: XOR A 0000197B: SUB B 0000197C: OR A 0000197D: RET ------------------------------------ 0000197E: RST 10h 0000197F: OR 80h 00001981: CP C0h 00001983: RET C 00001984: AND DFh 00001986: RET ---------------------------------------- 00001987: LD B,(IX+02h) 0000198A: LD C,(IX+00h) 0000198D: PUSH IX 0000198F: PUSH BC 00001990: LD (HL),7Ch 00001992: INC HL 00001993: CALL 2C9Dh 00001996: RST 10h 00001997: CP 3Dh 00001999: JR Z,+05h 0000199B: CP 3Eh 0000199D: CALL NZ,3B38h 000019A0: LD (HL),A 000019A1: INC HL 000019A2: INC DE 000019A3: CALL 2C9Dh 000019A6: LD (HL),7Bh 000019A8: INC HL 000019A9: POP BC 000019AA: POP IX 000019AC: LD (IX+02h),B 000019AF: LD (IX+00h),C 000019B2: LD (IX+01h),01h 000019B6: INC (IX+02h) 000019B9: LD A,01h 000019BB: JP 19D1h 000019BE: XOR A 000019BF: PUSH AF 000019C0: LD IX,62EAh 000019C4: LD (IX+00h),04h 000019C8: LD (IX+01h),04h 000019CC: LD (IX+02h),FFh 000019D0: XOR A 000019D1: LD (62EDh),A 000019D4: CALL 1B70h 000019D7: RST 10h 000019D8: CALL 2B4Bh 000019DB: JR Z,-56h 000019DD: LD A,(DE) 000019DE: CP 2Dh 000019E0: JP Z,1AF7h 000019E3: CP 28h 000019E5: JP Z,1A8Fh 000019E8: CP 29h 000019EA: JP Z,1AA8h 000019ED: CALL 2D08h 000019F0: JP NC,1A2Bh 000019F3: CALL 34F5h 000019F6: JP NC,1AC4h 000019F9: CALL 34EDh 000019FC: JP NC,1AD8h 000019FF: CP 26h 00001A01: JP Z,1AD4h 00001A04: CP 2Eh 00001A06: JP Z,1AD8h 00001A09: LD (IX+01h),08h 00001A0D: CALL 1B70h 00001A10: POP AF 00001A11: OR A 00001A12: JR Z,+0Ch 00001A14: CP 28h 00001A16: CALL Z,3B44h 00001A19: LD (HL),A 00001A1A: INC HL 00001A1B: CALL 1B32h 00001A1E: JR -10h 00001A20: LD (HL),7Fh 00001A22: INC HL 00001A23: XOR A 00001A24: OR (IX+02h) 00001A27: CALL NZ,3B38h 00001A2A: RET ------------------------------------ 00001A2B: LD (62EDh),A 00001A2E: CP C0h 00001A30: JP Z,1B02h 00001A33: CP D7h 00001A35: JR NC,-2Eh 00001A37: CP BFh 00001A39: JP NC,1B0Ah 00001A3C: LD (HL),A 00001A3D: INC HL 00001A3E: INC (IX+02h) 00001A41: LD B,C3h 00001A43: LD C,03h 00001A45: CP 9Bh 00001A47: JR NC,+40h 00001A49: LD B,C2h 00001A4B: INC (IX+02h) 00001A4E: LD (IX+03h),00h 00001A52: CP 85h 00001A54: JR Z,+08h 00001A56: CP 87h 00001A58: JR Z,+04h 00001A5A: CP 86h 00001A5C: JR NZ,+29h 00001A5E: PUSH BC 00001A5F: CALL 2B4Bh 00001A62: CALL NZ,3B23h 00001A65: LD (HL),79h 00001A67: INC HL 00001A68: PUSH IX 00001A6A: LD B,(IX+02h) 00001A6D: LD C,(IX+00h) 00001A70: PUSH BC 00001A71: CALL 2C9Dh 00001A74: POP BC 00001A75: POP IX 00001A77: LD (IX+00h),C 00001A7A: LD (IX+02h),B 00001A7D: RST 10h 00001A7E: RST 20h 00001A7F: ADD HL,HL 00001A80: LD (HL),A 00001A81: INC HL 00001A82: INC DE 00001A83: LD (HL),7Bh 00001A85: INC HL 00001A86: POP BC 00001A87: LD C,02h 00001A89: LD (IX+01h),C 00001A8C: JP 1B0Fh 00001A8F: PUSH AF 00001A90: INC DE 00001A91: LD A,(62EAh) 00001A94: CP 01h 00001A96: JR NZ,+09h 00001A98: POP BC 00001A99: LD A,C4h 00001A9B: PUSH AF 00001A9C: PUSH BC 00001A9D: DEC HL 00001A9E: SET 6,(HL) 00001AA0: INC HL 00001AA1: LD (IX+01h),04h 00001AA5: JP 19D0h 00001AA8: POP AF 00001AA9: CP 28h 00001AAB: JR Z,+0Bh 00001AAD: OR A 00001AAE: JP Z,1A20h 00001AB1: LD (HL),A 00001AB2: INC HL 00001AB3: CALL 1B32h 00001AB6: JR -10h 00001AB8: LD A,BFh 00001ABA: INC DE 00001ABB: LD (HL),A 00001ABC: INC HL 00001ABD: LD (IX+01h),05h 00001AC1: JP 19D1h 00001AC4: CALL 3504h 00001AC7: LD (HL),A 00001AC8: INC HL 00001AC9: INC DE 00001ACA: LD (IX+01h),01h 00001ACE: INC (IX+02h) 00001AD1: JP 19D1h 00001AD4: LD (HL),7Ah 00001AD6: JR +02h 00001AD8: LD (HL),7Eh 00001ADA: INC HL 00001ADB: PUSH HL 00001ADC: CALL 1B98h 00001ADF: POP HL 00001AE0: PUSH DE 00001AE1: EX DE,HL 00001AE2: LD HL,62E5h 00001AE5: LD BC,0005h 00001AE8: LDIR 00001AEA: EX DE,HL 00001AEB: POP DE 00001AEC: LD A,02h 00001AEE: LD (62EBh),A 00001AF1: INC (IX+02h) 00001AF4: JP 19D1h 00001AF7: LD A,(62EDh) 00001AFA: OR A 00001AFB: LD A,C9h 00001AFD: INC DE 00001AFE: JR NZ,+0Ah 00001B00: LD A,C1h 00001B02: PUSH AF 00001B03: LD (IX+01h),06h 00001B07: JP 19D0h 00001B0A: LD B,A 00001B0B: LD (IX+01h),07h 00001B0F: POP AF 00001B10: OR A 00001B11: JR Z,+12h 00001B13: CP 28h 00001B15: JR Z,+0Eh 00001B17: LD C,A 00001B18: CALL 1B42h 00001B1B: LD A,C 00001B1C: JR C,+07h 00001B1E: LD (HL),A 00001B1F: INC HL 00001B20: CALL 1B32h 00001B23: JR -16h 00001B25: PUSH AF 00001B26: PUSH BC 00001B27: LD A,(IX+03h) 00001B2A: OR A 00001B2B: JP NZ,19D0h 00001B2E: INC A 00001B2F: JP 19D1h 00001B32: CP C1h 00001B34: RET Z 00001B35: CP BFh 00001B37: RET Z 00001B38: CP C0h 00001B3A: RET Z 00001B3B: DEC (IX+02h) 00001B3E: CALL M,3B38h 00001B41: RET -------------------------------------- 00001B42: PUSH HL 00001B43: PUSH DE 00001B44: LD DE,1A95h 00001B47: LD H,00h 00001B49: LD L,C 00001B4A: ADD HL,DE 00001B4B: LD A,(HL) 00001B4C: LD H,00h 00001B4E: LD L,B 00001B4F: ADD HL,DE 00001B50: CP (HL) 00001B51: POP DE 00001B52: POP HL 00001B53: RET --------------------------------------- 00001B54: NOP 00001B55: LD B,0Eh 00001B57: INC D 00001B58: LD (DE),A 00001B59: LD D,10h 00001B5B: INC C 00001B5C: INC C 00001B5D: LD A,(BC) 00001B5E: LD A,(BC) 00001B5F: EX AF,AF' 00001B60: EX AF,AF' 00001B61: EX AF,AF' 00001B62: EX AF,AF' 00001B63: EX AF,AF' 00001B64: EX AF,AF' 00001B65: LD (BC),A 00001B66: INC B 00001B67: LD (BC),A 00001B68: LD (BC),A 00001B69: INC B 00001B6A: INC C 00001B6B: INC C 00001B6C: INC C 00001B6D: INC C 00001B6E: INC C 00001B6F: INC C 00001B70: PUSH HL ------------------------------- 00001B71: LD A,(62EAh) 00001B74: LD BC,1B90h 00001B77: LD L,A 00001B78: LD H,00h 00001B7A: ADD HL,BC 00001B7B: LD A,(62EBh) 00001B7E: LD (62EAh),A 00001B81: LD C,01h 00001B83: DEC A 00001B84: JR Z,+04h 00001B86: SLA C 00001B88: JR -07h 00001B8A: LD A,C 00001B8B: AND (HL) 00001B8C: CALL Z,3B3Bh 00001B8F: POP HL 00001B90: RET ----------------------------------- 00001B91: RET C 00001B92: RET NC 00001B93: EX AF,AF' 00001B94: CPL 00001B95: RET NC 00001B96: RRCA 00001B97: CPL 00001B98: LD A,(DE) 00001B99: CP 45h 00001B9B: JR Z,+29h 00001B9D: CP 26h 00001B9F: JR NZ,+2Bh 00001BA1: LD HL,0000h 00001BA4: INC DE 00001BA5: LD A,(DE) 00001BA6: SUB 30h 00001BA8: JR C,+16h 00001BAA: CP 0Ah 00001BAC: JR C,+0Ah 00001BAE: SUB 07h 00001BB0: CP 0Ah 00001BB2: JR C,+0Ch 00001BB4: CP 10h 00001BB6: JR NC,+08h 00001BB8: ADD HL,HL 00001BB9: ADD HL,HL 00001BBA: ADD HL,HL 00001BBB: ADD HL,HL 00001BBC: ADD L 00001BBD: LD L,A 00001BBE: JR -1Ch 00001BC0: PUSH DE 00001BC1: CALL 34C4h 00001BC4: POP DE 00001BC5: RET --------------------- 00001BC6: PUSH DE 00001BC7: CALL 35AEh 00001BCA: POP DE 00001BCB: RET ---------------------- 00001BCC: LD C,C0h 00001BCE: CALL 350Dh 00001BD1: LD A,(DE) 00001BD2: CP 2Dh 00001BD4: EX AF,AF' 00001BD5: LD A,(DE) 00001BD6: CP 2Dh 00001BD8: JR NZ,+03h 00001BDA: RES 7,C 00001BDC: INC DE 00001BDD: LD A,(DE) 00001BDE: CP 30h 00001BE0: JR Z,-06h 00001BE2: CP 2Eh 00001BE4: JR Z,+57h 00001BE6: SUB 30h 00001BE8: CP 0Ah 00001BEA: JR NC,+2Bh 00001BEC: LD B,08h 00001BEE: DEC C 00001BEF: LD A,(DE) 00001BF0: CP 2Eh 00001BF2: JR Z,+53h 00001BF4: SUB 30h 00001BF6: CP 0Ah 00001BF8: JR NC,+18h 00001BFA: INC C 00001BFB: CALL 3657h 00001BFE: INC DE 00001BFF: DJNZ -12h 00001C01: DEC DE 00001C02: DEC C 00001C03: LD A,(DE) 00001C04: CP 2Eh 00001C06: JR Z,+4Ch 00001C08: SUB 30h 00001C0A: CP 0Ah 00001C0C: JR NC,+09h 00001C0E: INC DE 00001C0F: INC C 00001C10: JR -0Fh 00001C12: CALL 3656h 00001C15: DJNZ -05h 00001C17: LD A,(62E5h) 00001C1A: OR C 00001C1B: PUSH AF 00001C1C: CALL 1C5Eh 00001C1F: POP AF 00001C20: ADD L 00001C21: BIT 7,A 00001C23: JR Z,+06h 00001C25: EX AF,AF' 00001C26: CALL Z,3B3Eh 00001C29: JR +04h 00001C2B: EX AF,AF' 00001C2C: CALL NZ,3B3Eh 00001C2F: EX AF,AF' 00001C30: LD (62E5h),A 00001C33: LD A,(62E6h) 00001C36: OR A 00001C37: PUSH DE 00001C38: CALL Z,35AEh 00001C3B: POP DE 00001C3C: RET -------------------------------- 00001C3D: INC DE 00001C3E: LD A,(DE) 00001C3F: DEC C 00001C40: CP 30h 00001C42: JR Z,-07h 00001C44: LD B,08h 00001C46: DEC DE 00001C47: INC DE 00001C48: LD A,(DE) 00001C49: SUB 30h 00001C4B: CP 0Ah 00001C4D: JR NC,-3Dh 00001C4F: CALL 3657h 00001C52: DJNZ -0Dh 00001C54: INC DE 00001C55: LD A,(DE) 00001C56: SUB 30h 00001C58: CP 0Ah 00001C5A: JR C,-08h 00001C5C: JR -47h 00001C5E: LD L,00h 00001C60: LD A,(DE) 00001C61: CP 45h 00001C63: RET NZ 00001C64: INC DE 00001C65: LD A,(DE) 00001C66: CP 2Dh 00001C68: JR Z,+27h 00001C6A: CP 2Bh 00001C6C: INC DE 00001C6D: JR Z,+08h 00001C6F: DEC DE 00001C70: CALL 34EDh 00001C73: JR NC,+02h 00001C75: DEC DE 00001C76: RET ----------------------------------- 00001C77: LD A,(DE) 00001C78: SUB 30h 00001C7A: CP 0Ah 00001C7C: RET NC 00001C7D: LD L,A 00001C7E: INC DE 00001C7F: LD A,(DE) 00001C80: SUB 30h 00001C82: CP 0Ah 00001C84: RET NC 00001C85: PUSH AF 00001C86: LD A,L 00001C87: RLCA 00001C88: RLCA 00001C89: ADD L 00001C8A: RLCA 00001C8B: LD L,A 00001C8C: POP AF 00001C8D: ADD L 00001C8E: LD L,A 00001C8F: INC DE 00001C90: RET -------------------------------------- 00001C91: INC DE 00001C92: CALL 1C77h 00001C95: LD A,L 00001C96: NEG 00001C98: LD L,A 00001C99: RET ------------------------------------------ 00001C9A: PUSH IY 00001C9C: CALL 1CA2h 00001C9F: POP IY 00001CA1: RET ------------------------ 00001CA2: LD IY,1CCCh 00001CA6: LD D,00h 00001CA8: XOR A 00001CA9: LD B,(IY+01h) 00001CAC: LD C,(IY+00h) 00001CAF: OR A 00001CB0: SBC HL,BC 00001CB2: JR C,+03h 00001CB4: INC A 00001CB5: JR -07h 00001CB7: ADD HL,BC 00001CB8: OR A 00001CB9: JR Z,+01h 00001CBB: DEC D 00001CBC: BIT 7,D 00001CBE: JR Z,+03h 00001CC0: ADD 30h 00001CC2: RST 08h 00001CC3: BIT 0,C 00001CC5: RET NZ 00001CC6: INC IY 00001CC8: INC IY 00001CCA: JR -24h 00001CCC: DJNZ +27h 00001CCE: RET PE 00001CCF: INC BC 00001CD0: LD H,H 00001CD1: NOP 00001CD2: LD A,(BC) 00001CD3: NOP 00001CD4: LD BC,CD00h 00001CD7: JP PO,2B1Ch 00001CDA: CALL 1CEEh 00001CDD: CP 2Eh 00001CDF: RET Z 00001CE0: INC HL 00001CE1: RET ---------------------------------------- 00001CE2: CALL 3657h 00001CE5: AND 0Fh 00001CE7: ADD 30h 00001CE9: LD (HL),A 00001CEA: INC HL 00001CEB: DJNZ -0Bh 00001CED: RET ------------------------------------ 00001CEE: PUSH BC 00001CEF: LD B,08h 00001CF1: LD A,(622Dh) 00001CF4: BIT 1,A 00001CF6: JR Z,+06h 00001CF8: LD B,03h 00001CFA: BIT 0,A 00001CFC: JR Z,+03h 00001CFE: CALL 1D05h 00001D01: POP BC 00001D02: LD A,(HL) 00001D03: RET ------------------------------------------- 00001D04: DEC HL 00001D05: LD A,(HL) 00001D06: CP 30h 00001D08: RET NZ 00001D09: DJNZ -07h 00001D0B: RET -------------------------------------- 00001D0C: LD B,01h 00001D0E: CALL 1CE2h 00001D11: LD (HL),2Eh 00001D13: INC HL 00001D14: LD B,07h 00001D16: CALL 1CD6h 00001D19: LD (HL),45h 00001D1B: INC HL 00001D1C: LD (HL),00h 00001D1E: LD HL,62FDh 00001D21: CALL 3539h 00001D24: LD HL,62E5h 00001D27: BIT 6,(HL) 00001D29: LD A,2Dh 00001D2B: JR Z,+02h 00001D2D: LD A,2Bh 00001D2F: RST 08h 00001D30: LD A,(HL) 00001D31: JR NZ,+02h 00001D33: NEG 00001D35: AND 3Fh 00001D37: LD L,A 00001D38: LD H,00h 00001D3A: JP 1C9Ah 00001D3D: LD A,30h 00001D3F: RST 08h 00001D40: LD A,(622Dh) 00001D43: BIT 1,A 00001D45: RET Z 00001D46: PUSH AF 00001D47: LD A,2Eh 00001D49: RST 08h 00001D4A: POP AF 00001D4B: LD B,07h 00001D4D: BIT 0,A 00001D4F: JR Z,+02h 00001D51: LD B,05h 00001D53: LD A,30h 00001D55: RST 08h 00001D56: DJNZ -05h 00001D58: RET --------------------------------------- 00001D59: CALL 2E93h 00001D5C: LD A,(62E5h) 00001D5F: LD HL,62FDh 00001D62: BIT 7,A 00001D64: JR NZ,+03h 00001D66: LD (HL),2Dh 00001D68: INC HL 00001D69: AND 7Fh 00001D6B: JR Z,-30h 00001D6D: SUB 3Eh 00001D6F: CP 0Ah 00001D71: JR NC,-67h 00001D73: CP 02h 00001D75: JR C,+2Ah 00001D77: LD A,(62E5h) 00001D7A: AND 0Fh 00001D7C: INC A 00001D7D: LD B,A 00001D7E: PUSH AF 00001D7F: CALL 1CE2h 00001D82: POP AF 00001D83: SUB 08h 00001D85: NEG 00001D87: LD (HL),2Eh 00001D89: JR Z,+06h 00001D8B: LD B,A 00001D8C: INC HL 00001D8D: CALL 1CE2h 00001D90: DEC HL 00001D91: CALL 1CEEh 00001D94: CP 2Eh 00001D96: JR Z,+01h 00001D98: INC HL 00001D99: LD (HL),00h 00001D9B: LD HL,62FDh 00001D9E: JP 3539h 00001DA1: LD (HL),30h 00001DA3: INC HL 00001DA4: LD (HL),2Eh 00001DA6: INC HL 00001DA7: SUB 01h 00001DA9: JR Z,+06h 00001DAB: LD (HL),30h 00001DAD: INC HL 00001DAE: INC A 00001DAF: JR NZ,-06h 00001DB1: LD B,08h 00001DB3: CALL 1CD6h 00001DB6: JR -1Fh 00001DB8: PUSH HL 00001DB9: LD C,(IX+02h) 00001DBC: LD B,(IX+03h) 00001DBF: OR A 00001DC0: LD A,L 00001DC1: OR H 00001DC2: JR Z,+06h 00001DC4: DEC HL 00001DC5: SBC HL,BC 00001DC7: CALL NC,3B26h 00001DCA: POP HL 00001DCB: LD C,L 00001DCC: LD B,H 00001DCD: ADD HL,HL 00001DCE: ADD HL,HL 00001DCF: ADD HL,BC 00001DD0: LD C,(IX+00h) 00001DD3: LD B,(IX+01h) 00001DD6: ADD HL,BC 00001DD7: RET -------------------------------------- 00001DD8: PUSH DE 00001DD9: CALL 2EF0h 00001DDC: DEC IY 00001DDE: LD A,(IY+00h) 00001DE1: CALL 1E23h 00001DE4: LD A,(IX+00h) 00001DE7: OR (IX+01h) 00001DEA: CALL Z,3B11h 00001DED: CALL 3497h 00001DF0: CALL 1DB8h 00001DF3: INC HL 00001DF4: LD A,(HL) 00001DF5: INC A 00001DF6: CALL Z,3B11h 00001DF9: DEC HL 00001DFA: CALL 35B1h 00001DFD: POP DE 00001DFE: RET ------------------------------------------ 00001DFF: POP AF 00001E00: CALL 1E13h 00001E03: LD A,(IX+00h) 00001E06: OR (IX+01h) 00001E09: CALL Z,3B11h 00001E0C: JP 1DB8h 00001E0F: CALL 3504h 00001E12: INC DE 00001E13: PUSH AF 00001E14: INC DE 00001E15: RST 28h 00001E16: LD A,(DE) 00001E17: CP 29h 00001E19: CALL NZ,3B44h 00001E1C: INC DE 00001E1D: PUSH DE 00001E1E: CALL 3497h 00001E21: POP DE 00001E22: POP AF 00001E23: LD IX,(6211h) 00001E27: RLCA 00001E28: RLA 00001E29: LD C,A 00001E2A: LD B,00h 00001E2C: ADD IX,BC 00001E2E: RET 00001E2F: LD IX,(61F6h) 00001E33: LD A,(IX+00h) 00001E36: CP 80h 00001E38: CALL Z,3B4Ah 00001E3B: CALL 255Eh 00001E3E: LD (6209h),IX 00001E42: LD HL,1E4Eh 00001E45: CALL 3539h 00001E48: CALL 1E7Fh 00001E4B: JP 24E2h -------------- 00001E4E: DEC C 00001E4F: LD D,E 00001E50: LD (HL),H 00001E51: LD L,A 00001E52: LD (HL),B 00001E53: LD (HL),B 00001E54: LD H,L 00001E55: LD H,H 00001E56: NOP 00001E57: CALL 1ED0h io routine 00001E5A: LD HL,(61F0h) 00001E5D: CALL 34C4h 00001E60: LD HL,35D8h 00001E63: CALL 35BAh 00001E66: JP 37B0h 00001E69: LD BC,(621Fh) 00001E6D: LD HL,0000h 00001E70: ADD HL,SP 00001E71: SBC HL,BC 00001E73: JP 34C4h ------------- 00001E76: LD HL,3605h 00001E79: LD (61F6h),HL 00001E7C: JP 1F6Ah -------------- 00001E7F: LD HL,(61F6h) 00001E82: LD A,(HL) 00001E83: CP 80h 00001E85: JR Z,+0Fh 00001E87: LD HL,1E9Fh 00001E8A: CALL 3539h 00001E8D: LD HL,(61F6h) 00001E90: CALL 35B1h 00001E93: CALL 1D59h 00001E96: LD A,1Eh print . 00001E98: RST 08h 00001E99: LD A,0Dh print ret 00001E9B: RST 08h 00001E9C: JP 1F0Dh ----------------------- 00001E9F: JR NZ,+69h 00001EA1: LD L,(HL) 00001EA2: JR NZ,+6Ch 00001EA4: LD L,C 00001EA5: LD L,(HL) 00001EA6: LD H,L 00001EA7: JR NZ,+00h 00001EA9: LD IX,(61F6h) 00001EAD: LD A,(IX+00h) 00001EB0: CP 80h 00001EB2: JR Z,+16h 00001EB4: LD A,(IX+06h) 00001EB7: CP 25h 00001EB9: JR NZ,+0Fh 00001EBB: LD A,0Dh 00001EBD: RST 08h 00001EBE: LD BC,24BEh 00001EC1: POP HL 00001EC2: OR A 00001EC3: SBC HL,BC 00001EC5: JR NZ,-06h 00001EC7: JP 249Ch 00001ECA: CALL 1E7Fh 00001ECD: JP 38E8h 00001ED0: LD HL,(61F2h) --------------------------------------------- 00001ED3: RL L 00001ED5: RL H 00001ED7: RL L 00001ED9: RL H 00001EDB: LD C,H 00001EDC: LD A,(61F0h) 00001EDF: RLA 00001EE0: LD B,A 00001EE1: LD DE,(61F1h) 00001EE5: RL E 00001EE7: RL D 00001EE9: RES 7,D 00001EEB: LD HL,(61F0h) 00001EEE: ADD HL,BC 00001EEF: LD (61F0h),HL 00001EF2: LD HL,(61F2h) 00001EF5: ADC HL,DE 00001EF7: RES 7,H 00001EF9: LD (61F2h),HL 00001EFC: RET P 00001EFD: LD HL,61F0h 00001F00: INC (HL) 00001F01: RET NZ 00001F02: INC HL 00001F03: JR -05h 00001F05: LD BC,0080h ---------------------------------------------- 00001F08: IN B,(C) in 80 , check bit 6 - returns flag to call describing b6/80 00001F0A: BIT 6,B 00001F0C: RET -------------------------------------- 00001F0D: LD HL,1F13h 00001F10: JP 3539h -------------- 00001F13: LD D,D 00001F14: LD H,L 00001F15: LD H,C 00001F16: LD H,H 00001F17: LD A,C 00001F18: LD HL,1E0Dh 00001F1B: NOP 00001F1C: LD HL,(620Bh) 00001F1F: LD DE,0100h 00001F22: ADD HL,DE 00001F23: LD DE,(620Dh) 00001F27: CALL 2568h 00001F2A: CALL C,3B05h 00001F2D: EX DE,HL 00001F2E: RET ------------------------- 00001F2F: PUSH DE 00001F30: PUSH HL 00001F31: CALL 1F1Ch 00001F34: POP DE 00001F35: LD (HL),E 00001F36: INC HL 00001F37: LD (HL),D 00001F38: INC HL 00001F39: LD (620Dh),HL 00001F3C: POP DE 00001F3D: RET -------------------------------- 00001F3E: PUSH DE 00001F3F: PUSH AF 00001F40: CALL 1F1Ch 00001F43: POP AF 00001F44: LD (HL),A 00001F45: JR -0Fh 00001F47: PUSH DE 00001F48: LD HL,(620Dh) 00001F4B: DEC HL 00001F4C: LD D,(HL) 00001F4D: DEC HL 00001F4E: LD E,(HL) 00001F4F: LD (620Dh),HL 00001F52: EX DE,HL 00001F53: POP DE 00001F54: RET 00001F55: LD HL,(620Dh) 00001F58: DEC HL 00001F59: LD A,(HL) 00001F5A: LD (620Dh),HL 00001F5D: RET 00001F5E: LD C,02h 00001F60: LD A,(6206h) 00001F63: AND 80h 00001F65: OR C 00001F66: LD (6206h),A 00001F69: RET ---------- 00001F6A: LD C,01h 00001F6C: JR -0Eh ---------------------------------- 00001F6E: CALL 25CAh called from MAIN init list above - SETS up VAR space 00001F71: LD HL,0000h 00001F74: LD (62EFh),HL 00001F77: LD HL,(61FCh) 00001F7A: INC HL 00001F7B: LD (621Fh),HL dont know what these three inits are :( 00001F7E: LD HL,(61FAh) start of program 00001F81: DEC HL 00001F82: LD (61F8h),HL byte bef st of prog 00001F85: LD HL,(620Bh) unlisted 00001F88: LD (HL),00h 00001F8A: INC HL 00001F8B: LD (620Dh),HL unlisted 00001F8E: LD HL,(620Fh) add 5 to hl for 53 loops pokeing (620f)+n, FF 00001F91: LD DE,0005h 00001F94: LD B,35h this is memory layout init stuff - VARIABLES SPACE!!! 5 per var 00001F96: INC HL 00001F97: LD (HL),FFh 00001F99: ADD HL,DE 00001F9A: DJNZ -05h 00001F9C: RET -------------------------------------------------- 00001F9D: CALL 2B18h 00001FA0: CALL 251Bh 00001FA3: EX DE,HL 00001FA4: INC HL 00001FA5: JP 34C4h --------------------------------- 00001FA8: LD A,R 00001FAA: AND 7Fh 00001FAC: INC A 00001FAD: LD (61F0h),A 00001FB0: RET ----------------------------------- 00001FB1: LD HL,6206h 00001FB4: LD A,(HL) 00001FB5: PUSH AF 00001FB6: LD (HL),01h 00001FB8: LD A,04h 00001FBA: RST 08h 00001FBB: POP AF 00001FBC: LD (HL),A 00001FBD: RET --------------------------------- 00001FBE: CALL 1F0Dh 00001FC1: JP 24DCh 00001FC4: CALL 1F55h 00001FC7: CP 36h 00001FC9: CALL NZ,3B0Bh 00001FCC: CALL 1F47h 00001FCF: POP BC 00001FD0: JP 2493h 00001FD3: RST 28h 00001FD4: LD A,(62E5h) 00001FD7: CP 80h 00001FD9: JR Z,+0Ch 00001FDB: LD HL,(61F6h) 00001FDE: CALL 1F2Fh 00001FE1: LD A,36h 00001FE3: CALL 1F3Eh 00001FE6: RET -------------------------- 00001FE7: LD IX,(61F6h) 00001FEB: LD C,37h 00001FED: LD B,36h 00001FEF: CALL 21A1h 00001FF2: CALL C,3B08h 00001FF5: LD (61F6h),IX 00001FF9: RET -------------- 00001FFA: PUSH DE 00001FFB: CALL 1F55h 00001FFE: CP 38h 00002000: CALL NZ,3B0Eh 00002003: CALL 1F47h 00002006: POP DE 00002007: PUSH HL 00002008: RST 28h 00002009: LD A,(62E5h) 0000200C: CP 80h 0000200E: POP HL 0000200F: RET NZ 00002010: LD (61F6h),HL 00002013: LD HL,(61F6h) 00002016: CALL 1F2Fh 00002019: LD A,38h 0000201B: JP 1F3Eh 0000201E: CALL 202Fh 00002021: OR A 00002022: JR Z,-06h 00002024: JR +03h 00002026: CALL 202Fh 00002029: LD L,A 0000202A: LD H,00h 0000202C: JP 34C4h ----------------------------------------------- 0000202F: PUSH HL called from main loop , from above 00002030: LD HL,(6204h) 00002033: PUSH BC 00002034: LD BC,2039h 00002037: PUSH BC 00002038: LD PC,HL jump to routine of jblock 6204 - 0b5b 00002039: POP BC 0000203A: POP HL 0000203B: RET ----------------------------------------------------------- 0000203C: LD C,A main routine called from below properly - print a character 0000203D: LD A,(6206h) 00002040: PUSH BC 00002041: PUSH AF 00002042: AND 81h 00002044: JR Z,+09h 00002046: LD A,C 00002047: LD HL,(6200h) 0000204A: LD BC,204Fh 0000204D: PUSH BC 0000204E: LD PC,HL 0000204F: POP AF 00002050: POP BC 00002051: AND 82h 00002053: RET Z 00002054: LD A,C 00002055: LD HL,(6202h) 00002058: LD PC,HL from save routine above 00002059: LD A,(DE) 0000205A: RST 20h 0000205B: LD A,L 0000205C: JP 62AFh 0000205F: RST 18h 00002060: PUSH HL 00002061: LD A,(DE) 00002062: CP 0Dh 00002064: JR Z,+02h 00002066: INC DE 00002067: RST 18h 00002068: POP IX oh arse, what is all this IX stuff 0000206A: LD BC,2070h 0000206D: PUSH BC 0000206E: LD PC,IX goes off somewhere else here! 00002070: LD (61F4h),HL 00002073: RET ---------------------------------------------- 00002074: CALL 1F55h 00002077: CP 11h 00002079: CALL NZ,3B17h 0000207C: CALL 1F47h 0000207F: LD (61F6h),HL 00002082: RET ------------------------------ 00002083: LD HL,(61FAh) 00002086: LD (61FCh),HL 00002089: LD (HL),80h 0000208B: LD (61F6h),HL 0000208E: CALL 1F6Eh 00002091: JP 24DCh ------------------------------------- 00002094: CP 22h 00002096: JR NZ,+05h 00002098: CALL 2257h 0000209B: INC DE 0000209C: INC DE 0000209D: PUSH DE 0000209E: LD A,3Fh 000020A0: RST 08h 000020A1: LD A,20h 000020A3: RST 08h 000020A4: CALL 0DF3h 000020A7: LD A,0Fh 000020A9: RST 08h 000020AA: LD DE,6000h 000020AD: EXX 000020AE: POP DE 000020AF: CALL 20B5h 000020B2: JR C,-17h 000020B4: RET ------------------------------------ 000020B5: EXX 000020B6: LD A,(DE) 000020B7: CP 0Dh 000020B9: EXX 000020BA: SCF 000020BB: RET Z 000020BC: CALL 2113h 000020BF: PUSH DE 000020C0: PUSH HL 000020C1: JR C,+21h 000020C3: EXX 000020C4: LD HL,(61FEh) 000020C7: CALL 25E2h 000020CA: CP 2Ch 000020CC: JR Z,+03h 000020CE: RST 20h 000020CF: DEC C 000020D0: DEC DE 000020D1: EXX 000020D2: LD DE,(61FEh) 000020D6: RST 28h 000020D7: POP HL 000020D8: EX DE,HL 000020D9: CALL 275Ch 000020DC: POP DE 000020DD: LD A,(DE) 000020DE: CP 0Dh 000020E0: RET Z 000020E1: INC DE 000020E2: JR -2Fh 000020E4: EXX 000020E5: POP HL 000020E6: DEC HL 000020E7: LD B,(HL) 000020E8: INC HL 000020E9: CALL 20F1h 000020EC: EXX 000020ED: JR -13h 000020EF: LD B,10h 000020F1: CALL 2108h 000020F4: JR Z,+0Dh 000020F6: LD (HL),A 000020F7: INC HL 000020F8: INC DE 000020F9: DJNZ -0Ah 000020FB: CALL 2108h 000020FE: JR Z,+03h 00002100: INC DE 00002101: JR -08h 00002103: LD (HL),0Dh 00002105: RET C 00002106: INC DE 00002107: RET ------------------------------------------------ 00002108: LD A,(DE) 00002109: CP 22h 0000210B: RET Z 0000210C: CP 2Ch 0000210E: RET Z 0000210F: CP 0Dh 00002111: SCF 00002112: RET ----------------------- 00002113: CALL 21EAh 00002116: JR Z,+05h 00002118: CALL 2218h 0000211B: OR A 0000211C: RET --------------------- 0000211D: CALL 62BEh 00002120: SCF 00002121: RET ----------------------------- 00002122: RST 18h 00002123: DEC HL 00002124: LD B,1Ah 00002126: DJNZ -02h 00002128: LD A,L 00002129: OR H 0000212A: JR NZ,-09h 0000212C: RET ------------------------------ 0000212D: RST 18h called from below G 0000212E: LD (626Bh),A set paper color to A (3 from below?) 00002131: RET --------------- 00002132: XOR A 00002133: LD (626Bh),A set PAPER color to 0 00002136: LD A,01h 00002138: RST 08h 00002139: LD A,04h paper 4 0000213B: RST 08h 0000213C: LD A,02h 0000213E: RST 08h ink 0 ? the TEXT command ??? 0000213F: XOR A 00002140: RST 08h 00002141: LD A,04h cls 00002143: RST 08h 00002144: LD A,03h well that lot printed somat I believe 01 04 paper 4 02 00 ink 0 04 cls vdu's 00002146: JR -1Ah goes to G ?above A is 03 and it does rst18 bef set paper col 00002148: CALL 21EAh 0000214B: JR Z,+14h 0000214D: CALL 2218h 00002150: INC DE 00002151: PUSH HL 00002152: RST 28h 00002153: POP HL 00002154: EX DE,HL 00002155: PUSH HL 00002156: CALL 275Ch 00002159: POP DE 0000215A: LD A,(DE) 0000215B: CP 0Dh 0000215D: RET Z 0000215E: INC DE 0000215F: JR -19h 00002161: LD IY,6507h 00002165: CALL 62BEh 00002168: INC DE 00002169: PUSH HL 0000216A: PUSH BC 0000216B: CALL 2BDDh 0000216E: POP BC 0000216F: POP IX 00002171: LD HL,6407h 00002174: CALL 2C7Fh 00002177: LD (IX+00h),0Dh 0000217B: JR -23h 0000217D: CP 0Dh 0000217F: LD IX,(61FAh) 00002183: JR Z,+04h 00002185: RST 28h 00002186: CALL 2B18h 00002189: DEC IX 0000218B: LD (61F8h),IX 0000218F: RET 00002190: LD A,(IX+00h) 00002193: CP 80h 00002195: SCF 00002196: RET Z 00002197: LD A,(IX+06h) 0000219A: CP C 0000219B: RET Z 0000219C: CALL 255Eh 0000219F: JR -11h 000021A1: LD A,FFh 000021A3: EX AF,AF' 000021A4: LD A,(IX+00h) 000021A7: CP 80h 000021A9: SCF 000021AA: RET Z 000021AB: LD A,(IX+06h) 000021AE: CP B 000021AF: JR Z,+0Fh 000021B1: CP C 000021B2: JR Z,+05h 000021B4: CALL 255Eh 000021B7: JR -15h 000021B9: EX AF,AF' 000021BA: OR A 000021BB: RET Z 000021BC: DEC A 000021BD: EX AF,AF' 000021BE: JR -0Ch 000021C0: EX AF,AF' 000021C1: INC A 000021C2: EX AF,AF' 000021C3: JR -11h 000021C5: EXX 000021C6: LD DE,(61F8h) 000021CA: EXX 000021CB: CALL 20B5h 000021CE: JR C,+06h 000021D0: EXX 000021D1: LD (61F8h),DE 000021D5: RET 000021D6: EXX 000021D7: INC DE 000021D8: PUSH DE 000021D9: POP IX 000021DB: LD C,19h 000021DD: CALL 2190h 000021E0: CALL C,3B1Ah 000021E3: CALL 251Bh 000021E6: INC DE 000021E7: EXX 000021E8: JR -1Fh 000021EA: LD A,(DE) 000021EB: CP 41h 000021ED: RET C 000021EE: INC DE 000021EF: LD A,(DE) 000021F0: CP 24h 000021F2: DEC DE 000021F3: RET 000021F4: LD A,(DE) 000021F5: CP 41h 000021F7: CALL C,3B3Bh 000021FA: CP 5Bh 000021FC: CALL NC,3B3Bh 000021FF: LD (HL),A 00002200: INC HL 00002201: LD (HL),24h 00002203: INC HL 00002204: INC DE 00002205: INC DE 00002206: RST 10h 00002207: CP 28h 00002209: RET NZ 0000220A: LD (HL),A 0000220B: INC HL 0000220C: INC DE 0000220D: CALL 25E2h 00002210: CP 29h 00002212: CALL NZ,3B44h 00002215: LD (HL),A 00002216: INC HL 00002217: RET --------------------------------- 00002218: CALL 3504h 0000221B: INC DE 0000221C: PUSH AF 0000221D: LD A,(DE) 0000221E: CP 28h 00002220: JP Z,1DFFh io routi 00002223: POP AF 00002224: LD L,A 00002225: LD H,00h 00002227: PUSH DE 00002228: LD E,L 00002229: LD D,H 0000222A: ADD HL,HL 0000222B: ADD HL,HL 0000222C: ADD HL,DE 0000222D: LD DE,(620Fh) 00002231: ADD HL,DE 00002232: POP DE 00002233: RET ------------------------------ 00002234: LD A,H 00002235: CALL 2239h 00002238: LD A,L 00002239: PUSH AF 0000223A: RRCA 0000223B: RRCA 0000223C: RRCA 0000223D: RRCA 0000223E: CALL 2242h 00002241: POP AF 00002242: AND 0Fh 00002244: ADD 30h 00002246: CP 3Ah 00002248: JR C,+02h 0000224A: ADD 07h 0000224C: RST 08h 0000224D: RET 0000224E: CALL 1F5Eh 00002251: CALL 29A9h 00002254: JP 1F6Ah 00002257: INC DE 00002258: LD A,(DE) 00002259: CP 22h 0000225B: RET Z 0000225C: RST 08h 0000225D: JR -08h 0000225F: CALL 2218h more io above 00002262: PUSH HL 00002263: INC DE 00002264: CALL 2218h 00002267: POP DE 00002268: LD B,05h 0000226A: JP 354Ah 0000226D: LD HL,(61F6h) 00002270: LD A,(HL) 00002271: CP 80h 00002273: RET NZ 00002274: POP BC 00002275: LD HL,(6209h) 00002278: LD A,L 00002279: OR H 0000227A: CALL Z,3B1Dh 0000227D: JP 2493h 00002280: PUSH DE 00002281: CALL 1F6Eh 00002284: POP DE 00002285: LD IX,(61FAh) 00002289: LD A,(DE) 0000228A: CP 0Dh 0000228C: JR Z,+04h 0000228E: RST 28h 0000228F: CALL 2B18h 00002292: POP BC 00002293: JP 24C5h 00002296: LD HL,(61F6h) 00002299: CALL 1F2Fh 0000229C: LD A,11h 0000229E: CALL 1F3Eh 000022A1: LD A,(DE) 000022A2: CP D8h 000022A4: JR NZ,-18h 000022A6: LD C,2Fh 000022A8: INC DE 000022A9: LD IX,(61FAh) 000022AD: PUSH DE 000022AE: CALL 2190h 000022B1: CALL C,3B2Ch 000022B4: PUSH IX 000022B6: LD DE,0007h 000022B9: ADD IX,DE 000022BB: PUSH IX 000022BD: POP HL 000022BE: POP IX 000022C0: POP DE 000022C1: PUSH DE 000022C2: CALL 22D3h 000022C5: JR Z,+06h 000022C7: CALL 255Eh 000022CA: POP DE 000022CB: JR NZ,-20h 000022CD: POP BC 000022CE: LD (61F6h),IX 000022D2: RET ----------------------------------------------------- 000022D3: LD A,(DE) ?Called after load header routine (at least) ? validate name 000022D4: CP (HL) compare two strings DE & HL 000022D5: RET NZ break out when no match 000022D6: CP 28h ( - ? 000022D8: RET Z 000022D9: CP 0Dh CR ? 000022DB: RET Z 000022DC: INC HL 000022DD: INC DE 000022DE: JR -0Dh 000022E0: LD IX,(61FAh) -------------------------------------------- 000022E4: LD DE,FFFFh apparentlay all part of LIST ?? 000022E7: JR +21h 000022E9: CP 0Dh 000022EB: LD A,00h 000022ED: LD (62EEh),A 000022F0: JR Z,-12h 000022F2: RST 28h 000022F3: PUSH DE 000022F4: CALL 2B1Fh 000022F7: POP DE 000022F8: LD A,(DE) 000022F9: CP 0Dh 000022FB: PUSH IX 000022FD: JR Z,+05h 000022FF: INC DE 00002300: RST 28h 00002301: CALL 2B1Fh 00002304: PUSH IX 00002306: POP DE 00002307: POP IX 00002309: INC DE 0000230A: LD A,(IX+00h) compare ?(61af) with 80 0000230D: CP 80h 0000230F: JR Z,+21h skip input if not 00002311: PUSH DE 00002312: CALL 62B2h B 00002315: LD (61F6h),IX A 00002319: CALL 1F05h another check 0000231C: JR Z,+14h 0000231E: LD BC,0080h 00002321: IN A,(C) in 80 --------------------- in 80 here 00002323: RLCA 00002324: JR NC,-0Dh skip back to ?A if nc (bit 7 not set after rotate) 00002326: CALL 255Eh 00002329: POP DE 0000232A: PUSH IX 0000232C: POP HL 0000232D: CALL 2568h 00002330: JR C,-28h if post check failed try again, go to B 00002332: LD A,1Eh print a 0 00002334: RST 08h 00002335: JP 24E2h -------------------------------------------------------- 00002338: CALL 1F5Eh 0000233B: LD A,(DE) 0000233C: JP 22E9h 0000233F: RST 28h 00002340: PUSH DE 00002341: CALL 2B18h 00002344: POP DE 00002345: LD A,(DE) 00002346: CP 0Dh 00002348: INC DE 00002349: PUSH IX 0000234B: JR Z,+04h 0000234D: RST 28h 0000234E: CALL 2B18h 00002351: CALL 255Eh 00002354: PUSH IX 00002356: POP BC 00002357: POP HL 00002358: LD E,L 00002359: LD D,H 0000235A: OR A 0000235B: SBC HL,BC 0000235D: CALL 256Eh 00002360: JP 24DCh ----------------------------------------------- 00002363: RST 28h called from above around 950 ? this is RST 18 ------------- 00002364: LD A,(62E5h) 00002367: BIT 7,A 00002369: CALL Z,2371h 0000236C: CALL 3497h 0000236F: LD A,L 00002370: RET ----------------------------------- 00002371: PUSH DE 00002372: LD HL,35D8h 00002375: CALL 35BAh 00002378: CALL 366Dh 0000237B: POP DE 0000237C: RET 0000237D: RST 18h ---------------------- 0000237E: PUSH HL 0000237F: INC DE 00002380: RST 18h 00002381: POP BC 00002382: OUT (C),A 00002384: RET ------------------------------------------- 00002385: RST 18h 00002386: PUSH HL 00002387: INC DE 00002388: RST 18h 00002389: POP HL 0000238A: LD (HL),A 0000238B: RET --------------------- 0000238C: RST 18h 0000238D: PUSH HL 0000238E: INC DE 0000238F: RST 18h 00002390: LD C,L 00002391: LD B,H 00002392: POP HL 00002393: LD (HL),C 00002394: INC HL 00002395: LD (HL),B 00002396: RET 00002397: PUSH AF 00002398: CALL 2218h 0000239B: PUSH HL 0000239C: LD HL,(61F6h) 0000239F: CALL 1F2Fh 000023A2: INC DE 000023A3: RST 28h 000023A4: POP HL 000023A5: PUSH DE 000023A6: INC HL 000023A7: RES 7,(HL) 000023A9: DEC HL 000023AA: EX DE,HL 000023AB: CALL 275Ch 000023AE: POP DE 000023AF: INC DE 000023B0: RST 28h 000023B1: CALL 23CCh 000023B4: LD A,(DE) 000023B5: CP 0Dh 000023B7: JR Z,+0Eh 000023B9: INC DE 000023BA: RST 28h 000023BB: CALL 23CCh 000023BE: POP AF 000023BF: CALL 1F3Eh 000023C2: LD A,0Fh 000023C4: JP 1F3Eh 000023C7: CALL 35BFh 000023CA: JR -11h 000023CC: PUSH DE 000023CD: LD B,05h 000023CF: LD DE,62E5h 000023D2: LD A,(DE) 000023D3: CALL 1F3Eh 000023D6: INC DE 000023D7: DJNZ -07h 000023D9: POP DE 000023DA: RET --------------------------------------------- 000023DB: LD HL,(620Dh) 000023DE: DEC HL 000023DF: LD A,(HL) 000023E0: CP 0Fh 000023E2: CALL NZ,3B14h 000023E5: DEC HL 000023E6: LD A,(DE) 000023E7: CP (HL) 000023E8: CALL NZ,3B14h 000023EB: DEC HL 000023EC: PUSH DE 000023ED: CALL 2423h 000023F0: POP DE 000023F1: LD A,(62E0h) 000023F4: PUSH AF 000023F5: PUSH HL 000023F6: CALL 2218h 000023F9: PUSH HL 000023FA: CALL 35B1h 000023FD: CALL 366Dh 00002400: POP HL 00002401: EX DE,HL 00002402: CALL 275Ch 00002405: POP HL 00002406: CALL 2423h 00002409: POP AF 0000240A: BIT 7,A 0000240C: PUSH HL 0000240D: CALL Z,3542h 00002410: CALL 3561h 00002413: POP HL 00002414: JR C,+08h 00002416: LD A,(HL) 00002417: DEC HL 00002418: LD L,(HL) 00002419: LD H,A 0000241A: LD (61F6h),HL 0000241D: RET ----------------------------------------------------- 0000241E: DEC HL 0000241F: LD (620Dh),HL 00002422: RET 00002423: LD BC,0005h 00002426: LD DE,62E4h 00002429: LDDR 0000242B: RET 0000242C: RST 28h 0000242D: LD A,(62E5h) 00002430: CP 80h 00002432: JR Z,+05h 00002434: INC DE 00002435: POP BC 00002436: JP 24A6h 00002439: LD IX,(61F6h) 0000243D: CALL 255Eh 00002440: LD A,(IX+00h) 00002443: CP 80h 00002445: RET Z 00002446: LD A,(IX+06h) 00002449: CP 3Ch 0000244B: RET NZ 0000244C: LD (61F6h),IX 00002450: CALL 251Bh 00002453: JR -21h 00002455: LD HL,622Dh 00002458: RES 1,(HL) 0000245A: CP DAh 0000245C: RET NZ 0000245D: SET 1,(HL) 0000245F: RET ------------------------------------- 00002460: RST 18h 00002461: LD HL,6261h 00002464: LD (62C1h),A 00002467: SET 1,(HL) 00002469: OR A 0000246A: RET NZ 0000246B: RES 1,(HL) 0000246D: RET 0000246E: LD HL,6261h 00002471: JR +03h 00002473: LD HL,622Dh 00002476: RES 0,(HL) 00002478: CP DAh 0000247A: RET NZ 0000247B: SET 0,(HL) 0000247D: RET 0000247E: LD HL,6206h 00002481: RES 7,(HL) 00002483: CP DAh 00002485: RET NZ 00002486: SET 7,(HL) 00002488: RET 00002489: PUSH HL 0000248A: LD HL,3605h 0000248D: LD (61F6h),HL 00002490: POP HL 00002491: JR +03h 00002493: LD (61F6h),HL 00002496: LD A,0Fh 00002498: RST 08h 00002499: PUSH HL 0000249A: POP IX 0000249C: LD A,(6261h) 0000249F: OR A 000024A0: CALL NZ,62B5h 000024A3: CALL 251Bh 000024A6: LD A,(DE) 000024A7: LD BC,(621Dh) 000024AB: CALL 622Ah 000024AE: RLCA 000024AF: LD L,A 000024B0: LD H,00h 000024B2: ADD HL,BC 000024B3: LD BC,24BEh 000024B6: PUSH BC 000024B7: LD A,(HL) 000024B8: INC HL 000024B9: LD H,(HL) 000024BA: LD L,A 000024BB: INC DE 000024BC: LD A,(DE) 000024BD: LD PC,HL 000024BE: LD IX,(61F6h) 000024C2: CALL 255Eh 000024C5: LD (61F6h),IX 000024C9: LD A,(IX+00h) 000024CC: CP 80h 000024CE: JR Z,+12h 000024D0: LD (6209h),IX 000024D4: CALL 1F05h 000024D7: JP Z,1E42h 000024DA: JR -40h 000024DC: LD HL,0000h 000024DF: LD (6209h),HL 000024E2: JP 38E8h 000024E5: PUSH IX 000024E7: PUSH AF 000024E8: BIT 0,A 000024EA: CALL NZ,24F6h 000024ED: POP AF 000024EE: BIT 1,A 000024F0: CALL NZ,250Ah 000024F3: POP IX 000024F5: RET 000024F6: LD HL,(61F6h) 000024F9: LD A,(HL) 000024FA: CP 80h 000024FC: RET Z 000024FD: LD A,3Ch 000024FF: RST 08h 00002500: CALL 35B1h 00002503: CALL 1D59h 00002506: LD A,3Eh 00002508: RST 08h 00002509: RET 0000250A: LD HL,(61F6h) 0000250D: LD A,(HL) 0000250E: CP 80h 00002510: RET Z 00002511: LD HL,(62C1h) 00002514: LD H,L 00002515: DEC HL 00002516: LD A,H 00002517: OR L 00002518: JR NZ,-05h 0000251A: RET 0000251B: LD DE,0006h 0000251E: ADD IX,DE 00002520: PUSH IX 00002522: POP DE 00002523: RET 00002524: CALL 2779h 00002527: LD HL,(61FEh) 0000252A: LD A,(HL) 0000252B: CP 80h 0000252D: JP Z,2489h 00002530: CALL 35B1h 00002533: PUSH HL 00002534: LD HL,0000h 00002537: LD (6209h),HL 0000253A: CALL 2B1Fh 0000253D: POP HL 0000253E: LD L,(HL) 0000253F: LD H,00h 00002541: PUSH HL 00002542: JR NZ,+08h 00002544: LD D,00h 00002546: LD E,(IX+05h) 00002549: OR A 0000254A: SBC HL,DE 0000254C: PUSH IX 0000254E: POP DE 0000254F: PUSH IX 00002551: CALL 256Eh 00002554: POP DE 00002555: POP BC 00002556: LD HL,(61FEh) 00002559: LDIR 0000255B: JP 1F6Eh 0000255E: PUSH DE 0000255F: LD E,(IX+05h) 00002562: LD D,00h 00002564: ADD IX,DE 00002566: POP DE 00002567: RET 00002568: LD A,H 00002569: SUB D 0000256A: RET NZ 0000256B: LD A,L 0000256C: SUB E 0000256D: RET 0000256E: LD A,H 0000256F: OR L 00002570: RET Z 00002571: PUSH HL 00002572: LD HL,0000h 00002575: LD (62EFh),HL 00002578: POP HL 00002579: BIT 7,H 0000257B: JR NZ,+24h 0000257D: LD BC,(61FCh) 00002581: ADD HL,BC 00002582: PUSH HL 00002583: PUSH DE 00002584: LD DE,(61EEh) 00002588: DEC D 00002589: CALL 2568h 0000258C: POP DE 0000258D: CALL NC,3B4Dh 00002590: CALL 25BBh 00002593: PUSH BC 00002594: LD L,C 00002595: LD H,B 00002596: OR A 00002597: SBC HL,DE 00002599: PUSH HL 0000259A: POP BC 0000259B: POP HL 0000259C: POP DE 0000259D: INC BC 0000259E: LDDR 000025A0: RET 000025A1: PUSH HL 000025A2: PUSH DE 000025A3: EX DE,HL 000025A4: OR A 000025A5: SBC HL,DE 000025A7: PUSH HL 000025A8: EX DE,HL 000025A9: LD HL,(61FCh) 000025AC: OR A 000025AD: SBC HL,DE 000025AF: PUSH HL 000025B0: POP BC 000025B1: POP HL 000025B2: POP DE 000025B3: INC BC 000025B4: LDIR 000025B6: POP DE 000025B7: LD HL,(61FCh) 000025BA: ADD HL,DE 000025BB: LD (61FCh),HL 000025BE: INC HL 000025BF: LD (621Fh),HL 000025C2: PUSH DE 000025C3: PUSH BC 000025C4: CALL 25CAh 000025C7: POP BC 000025C8: POP DE 000025C9: RET ---------------------------------------------------- 000025CA: LD HL,(6213h) called from main init list 000025CD: LD B,68h zero 104 locations point to by (6213) 000025CF: XOR A 000025D0: LD (HL),A 000025D1: INC HL 000025D2: DJNZ -04h 000025D4: LD HL,(6211h) 000025D7: LD E,L 000025D8: LD D,H 000025D9: INC DE 000025DA: LD BC,00D3h zero 211 locations from (6211) 000025DD: LD (HL),00h 000025DF: LDIR 000025E1: RET ----------------------------------------------------- 000025E2: LD (HL),7Dh 000025E4: INC HL 000025E5: CALL 62ACh 000025E8: LD A,(62EDh) 000025EB: CP D7h 000025ED: RET NC 000025EE: LD A,(DE) 000025EF: INC DE 000025F0: RET 000025F1: RST 20h 000025F2: LD (2377h),HL 000025F5: INC DE 000025F6: LD A,(DE) 000025F7: INC DE 000025F8: LD (HL),A 000025F9: INC HL 000025FA: CP 0Dh 000025FC: CALL Z,3B3Bh 000025FF: CP 22h 00002601: JR NZ,-0Dh 00002603: JP 0010h 00002606: CALL 2D08h 00002609: CP DAh 0000260B: JR Z,+02h 0000260D: RST 20h 0000260E: INA (77h) hmm follows a rst 20 00002610: INC HL 00002611: RST 10h 00002612: LD (HL),A 00002613: RST 20h 00002614: DEC C 00002615: RET -------------------------------------------- 00002616: CALL 25F1h 00002619: RST 20h 0000261A: DEC C 0000261B: LD (HL),A 0000261C: RET 0000261D: CALL 25F1h 00002620: CP 0Dh 00002622: JR Z,-09h 00002624: RST 20h 00002625: INC L 00002626: LD (HL),A 00002627: INC HL 00002628: INC DE 00002629: JP 2707h 0000262C: CP 22h 0000262E: JR NZ,+09h 00002630: CALL 25F1h 00002633: RST 20h 00002634: DEC SP 00002635: LD (HL),A 00002636: INC HL 00002637: INC DE 00002638: RST 10h 00002639: PUSH HL 0000263A: LD HL,(61FEh) 0000263D: LD A,(HL) 0000263E: CP 80h 00002640: CALL Z,3B4Ah 00002643: POP HL 00002644: CALL 21EAh 00002647: JR Z,+0Eh 00002649: CALL 2721h 0000264C: LD (HL),A 0000264D: CP 0Dh 0000264F: RET Z 00002650: RST 20h 00002651: INC L 00002652: INC HL 00002653: INC DE 00002654: RST 10h 00002655: JR -1Eh 00002657: CALL 21F4h 0000265A: RST 10h 0000265B: JR -11h 0000265D: CP 0Dh 0000265F: JP NZ,2707h 00002662: LD (HL),A 00002663: RET 00002664: CP 0Dh 00002666: JR Z,-06h 00002668: CALL 25E2h 0000266B: CP 0Dh 0000266D: JR Z,-0Dh 0000266F: RST 20h 00002670: INC L 00002671: LD (HL),A 00002672: INC HL 00002673: JP 2707h 00002676: POP AF 00002677: POP HL 00002678: LD A,00h 0000267A: LD (HL),A 0000267B: INC HL 0000267C: CALL 21EAh 0000267F: JR Z,+15h 00002681: CALL 2721h 00002684: CP 3Dh 00002686: JP NZ,26A6h 00002689: LD (HL),A 0000268A: INC HL 0000268B: INC DE 0000268C: CALL 25E2h 0000268F: CP 2Ch 00002691: JR Z,-19h 00002693: JP 26DBh 00002696: CALL 21F4h 00002699: RST 10h 0000269A: RST 20h 0000269B: DEC A 0000269C: LD (HL),A 0000269D: INC HL 0000269E: INC DE 0000269F: RST 10h 000026A0: CALL 2C9Dh 000026A3: INC DE 000026A4: JR -17h 000026A6: LD DE,6000h 000026A9: LD HL,(61FEh) 000026AC: PUSH HL 000026AD: CALL 2707h 000026B0: POP DE 000026B1: CALL 62AFh 000026B4: CALL 1D59h 000026B7: LD A,0Dh 000026B9: RST 08h 000026BA: JP 38E8h 000026BD: CALL 270Dh 000026C0: JP 2707h 000026C3: PUSH DE 000026C4: CALL 2D08h 000026C7: JR C,+04h 000026C9: CP D8h 000026CB: JR Z,+04h 000026CD: POP DE 000026CE: JP 2707h 000026D1: POP BC 000026D2: LD (HL),A 000026D3: INC HL 000026D4: RST 10h 000026D5: JP 273Ch 000026D8: CALL 2715h 000026DB: LD (HL),A 000026DC: RST 20h 000026DD: DEC C 000026DE: RET 000026DF: CALL 2715h 000026E2: RST 20h 000026E3: DEC A 000026E4: INC DE 000026E5: LD (HL),A 000026E6: INC HL 000026E7: CALL 25E2h 000026EA: RST 20h 000026EB: LD (IX+23h),A 000026EE: CALL 25E2h 000026F1: CP 0Dh 000026F3: JP Z,2662h 000026F6: RST 20h 000026F7: CALL C,2377h 000026FA: JP 2707h 000026FD: CALL 25E2h 00002700: RST 20h 00002701: RST 10h 00002702: LD (HL),A 00002703: INC HL 00002704: JP 27A9h 00002707: CALL 25E2h 0000270A: JP 26DBh 0000270D: CALL 25E2h 00002710: RST 20h 00002711: INC L 00002712: LD (HL),A 00002713: INC HL 00002714: RET 00002715: CALL 34F5h 00002718: CALL C,3B3Bh 0000271B: LD (HL),A 0000271C: INC DE 0000271D: INC HL 0000271E: JP 0010h 00002721: CALL 34F5h 00002724: JP C,26A6h 00002727: LD (HL),A 00002728: INC HL 00002729: INC DE 0000272A: RST 10h 0000272B: CP 28h 0000272D: RET NZ 0000272E: LD (HL),28h 00002730: INC HL 00002731: INC DE 00002732: CALL 25E2h 00002735: RST 20h 00002736: ADD HL,HL 00002737: LD (HL),A 00002738: INC HL 00002739: JP 0010h 0000273C: LD A,(DE) 0000273D: LD (HL),A 0000273E: CP 0Dh 00002740: RET Z 00002741: INC HL 00002742: INC DE 00002743: JR -09h 00002745: CALL 2721h 00002748: LD (HL),A 00002749: CP 2Ch 0000274B: JR NZ,+09h 0000274D: INC HL 0000274E: INC DE 0000274F: CALL 2721h 00002752: LD (HL),A 00002753: CP 0Dh 00002755: RET Z 00002756: CALL 3B38h 00002759: LD DE,62E0h 0000275C: LD HL,62E5h 0000275F: LD BC,0005h 00002762: LDIR 00002764: RET 00002765: LD A,(622Eh) 00002768: OR A 00002769: JP Z,2792h 0000276C: PUSH HL 0000276D: LD HL,62F3h 00002770: PUSH DE 00002771: CALL 35B1h 00002774: POP DE 00002775: POP HL 00002776: JP 2796h 00002779: CALL 2765h 0000277C: INC HL 0000277D: LD (HL),80h 0000277F: LD DE,(61FEh) 00002783: PUSH DE 00002784: POP IX 00002786: OR A 00002787: SBC HL,DE 00002789: XOR A 0000278A: CP H 0000278B: CALL NZ,3B20h 0000278E: LD (IX+05h),L 00002791: RET 00002792: RST 10h 00002793: CALL 1B98h 00002796: LD A,(62E5h) 00002799: BIT 7,A 0000279B: JP Z,26A6h 0000279E: PUSH DE 0000279F: LD DE,(61FEh) 000027A3: CALL 275Ch 000027A6: EX DE,HL 000027A7: INC HL 000027A8: POP DE 000027A9: RST 10h 000027AA: CALL 6227h 000027AD: PUSH HL 000027AE: LD HL,(6219h) 000027B1: LD B,(HL) 000027B2: PUSH BC 000027B3: CALL 1949h 000027B6: JP C,2676h 000027B9: POP AF 000027BA: SUB B 000027BB: POP HL 000027BC: LD (HL),A 000027BD: INC HL 000027BE: LD IX,(621Bh) 000027C2: RLCA 000027C3: LD C,A 000027C4: LD B,00h 000027C6: ADD IX,BC 000027C8: LD C,(IX+00h) 000027CB: LD B,(IX+01h) 000027CE: PUSH BC 000027CF: JP 0010h 000027D2: CALL 352Ah 000027D5: LD HL,(6219h) 000027D8: LD B,A 000027D9: INC B 000027DA: CALL 1893h 000027DD: CALL 1870h 000027E0: CALL 352Ah 000027E3: INC DE 000027E4: RET 000027E5: PUSH IX 000027E7: POP HL 000027E8: PUSH HL 000027E9: CALL 35B1h 000027EC: CALL 1D59h 000027EF: CALL 285Fh 000027F2: CALL 2877h 000027F5: CALL 251Bh 000027F8: LD A,(DE) 000027F9: PUSH AF 000027FA: CALL 27D2h 000027FD: POP AF 000027FE: CP 3Ch 00002800: JR Z,-0Ah 00002802: CP 33h 00002804: JP Z,0F0Ah 00002807: DEC DE 00002808: INC DE 00002809: LD A,(DE) 0000280A: CP 7Bh 0000280C: RET Z 0000280D: CP 0Dh 0000280F: JR Z,+2Fh 00002811: CP 7Dh 00002813: JR Z,+0Fh 00002815: CP 80h 00002817: JR NC,+11h 00002819: RST 08h 0000281A: CP 22h 0000281C: JR NZ,-16h 0000281E: CALL 2257h 00002821: RST 08h 00002822: JR -1Ch 00002824: INC DE 00002825: CALL 62A9h 00002828: JR -22h 0000282A: CP DFh 0000282C: PUSH AF 0000282D: CALL C,352Ah 00002830: CALL 1857h 00002833: POP AF 00002834: PUSH AF 00002835: CALL C,352Ah 00002838: POP AF 00002839: INC DE 0000283A: CP D7h 0000283C: JR Z,-46h 0000283E: JR -37h 00002840: POP IX 00002842: CALL 284Ch 00002845: LD A,1Eh 00002847: RST 08h 00002848: LD A,1Fh 0000284A: RST 08h 0000284B: RET 0000284C: LD A,(IX+06h) 0000284F: CP 36h 00002851: JR Z,+07h 00002853: CP 0Fh 00002855: JR Z,+03h 00002857: CP 38h 00002859: RET NZ 0000285A: LD HL,62EEh 0000285D: INC (HL) 0000285E: RET 0000285F: LD A,(IX+06h) 00002862: CP 37h 00002864: JR Z,+07h 00002866: CP 05h 00002868: JR Z,+03h 0000286A: CP 39h 0000286C: RET NZ 0000286D: LD A,(62EEh) 00002870: OR A 00002871: RET Z 00002872: DEC A 00002873: LD (62EEh),A 00002876: RET 00002877: LD A,(62EEh) 0000287A: OR A 0000287B: RET Z 0000287C: CP 0Ah 0000287E: JR C,+02h 00002880: LD A,0Ah 00002882: RLCA 00002883: LD B,A 00002884: CALL 352Ah 00002887: DJNZ -05h 00002889: RET ------------------------------------ 0000288A: LD HL,28CFh 0000288D: PUSH DE 0000288E: LD DE,62F3h 00002891: LD BC,000Ah 00002894: LDIR 00002896: POP DE 00002897: CP 0Dh 00002899: JR Z,+2Eh 0000289B: RST 28h 0000289C: LD A,(62E5h) 0000289F: PUSH DE 000028A0: CP C0h 000028A2: CALL C,3B29h 000028A5: CP C7h 000028A7: CALL NC,3B29h 000028AA: LD DE,62F3h 000028AD: CALL 275Ch 000028B0: POP DE 000028B1: LD A,(DE) 000028B2: CP 0Dh 000028B4: JR Z,+13h 000028B6: INC DE 000028B7: RST 28h 000028B8: LD A,(62E5h) 000028BB: CP C0h 000028BD: JR C,-1Dh 000028BF: CP F0h 000028C1: JR NC,-1Ch 000028C3: LD DE,62F8h 000028C6: CALL 275Ch 000028C9: LD A,01h 000028CB: LD (622Eh),A 000028CE: RET ------------------------------------------- 000028CF: JP NZ,0010h 000028D2: NOP 000028D3: NOP 000028D4: POP BC 000028D5: DJNZ +00h 000028D7: NOP 000028D8: NOP -------------------------- 000028D9: LD A,(62E5h) 000028DC: CP C0h 000028DE: JP C,35AEh 000028E1: CP C8h 000028E3: CALL NC,3B23h 000028E6: SUB BFh 000028E8: LD B,A 000028E9: LD C,00h 000028EB: PUSH BC 000028EC: CALL 3656h 000028EF: POP BC 000028F0: AND 0Fh 000028F2: CP 02h 000028F4: CALL NC,3B23h 000028F7: CP 01h 000028F9: CCF 000028FA: RL C 000028FC: DJNZ -13h 000028FE: LD L,C 000028FF: LD H,00h 00002901: JP 34C4h 00002904: LD HL,(61F6h) 00002907: CALL 1F2Fh 0000290A: LD A,04h 0000290C: CALL 1F3Eh 0000290F: LD C,02h 00002911: LD HL,(62EFh) 00002914: LD A,L 00002915: OR H 00002916: PUSH HL 00002917: POP IX 00002919: CALL Z,293Fh 0000291C: LD C,02h 0000291E: CALL 22ADh 00002921: CP 0Dh 00002923: RET Z 00002924: LD A,(DE) 00002925: CP 29h 00002927: RET Z 00002928: INC HL 00002929: INC DE 0000292A: PUSH HL 0000292B: RST 28h 0000292C: POP HL 0000292D: PUSH DE 0000292E: EX DE,HL 0000292F: CALL 2218h 00002932: PUSH DE 00002933: INC HL 00002934: RES 7,(HL) 00002936: DEC HL 00002937: EX DE,HL 00002938: CALL 275Ch 0000293B: POP HL 0000293C: POP DE 0000293D: JR -1Bh 0000293F: LD IX,(61FAh) 00002943: CALL 2190h 00002946: CALL C,3B2Ch 00002949: LD (62EFh),IX 0000294D: RET --------------------------------------------- 0000294E: LD A,(DE) 0000294F: INC DE 00002950: LD (HL),A 00002951: CP 0Dh 00002953: JR Z,+06h 00002955: INC HL 00002956: CP 28h 00002958: JR NZ,-0Ch 0000295A: RET 0000295B: POP BC 0000295C: RET -------------------------------------------- 0000295D: CALL 294Eh 00002960: CALL 25E2h 00002963: LD (HL),A 00002964: INC HL 00002965: CP 2Ch 00002967: JR Z,-09h 00002969: RST 20h 0000296A: ADD HL,HL 0000296B: RST 10h 0000296C: JP 26DBh 0000296F: CALL 294Eh 00002972: RST 10h 00002973: CALL 34F5h 00002976: CALL C,3B3Bh 00002979: LD (HL),A 0000297A: INC DE 0000297B: RST 10h 0000297C: INC HL 0000297D: LD A,(DE) 0000297E: LD (HL),A 0000297F: INC HL 00002980: INC DE 00002981: CP 2Ch 00002983: JR Z,-13h 00002985: JP 2969h 00002988: CALL 1F55h 0000298B: CP 04h 0000298D: CALL NZ,3AFCh 00002990: JP 207Ch 00002993: INC DE 00002994: RST 28h 00002995: PUSH DE 00002996: CALL 3497h 00002999: POP DE 0000299A: CALL 2234h io rout abov 0000299D: LD A,48h 0000299F: RST 08h 000029A0: JP 29A9h 000029A3: RST 28h 000029A4: PUSH DE 000029A5: CALL 1D59h 000029A8: POP DE 000029A9: LD C,00h 000029AB: LD A,(DE) 000029AC: CP 0Dh 000029AE: JR Z,+26h 000029B0: CP 2Ch 000029B2: JR Z,+29h 000029B4: CP 3Bh 000029B6: JR Z,+28h 000029B8: CP 23h 000029BA: JR Z,-29h 000029BC: CP 7Dh 000029BE: JR Z,-1Dh 000029C0: CP DEh 000029C2: JP Z,29E5h 000029C5: CP D9h 000029C7: JP Z,29F8h 000029CA: CALL 2BDDh 000029CD: LD HL,6407h 000029D0: CALL 105Eh 000029D3: JP 29A9h 000029D6: LD A,C 000029D7: OR A 000029D8: RET NZ 000029D9: LD A,0Dh 000029DB: RST 08h 000029DC: RET ----------------------------------------------- 000029DD: LD A,09h 000029DF: RST 08h 000029E0: LD C,01h 000029E2: INC DE 000029E3: JR -3Ah 000029E5: INC DE 000029E6: RST 18h 000029E7: RLCA 000029E8: ADD L 000029E9: LD HL,(6254h) 000029EC: CP L 000029ED: JR C,+06h 000029EF: LD (6254h),A 000029F2: LD A,1Eh 000029F4: RST 08h 000029F5: JP 29A9h ------------------------------ 000029F8: INC DE 000029F9: RST 18h 000029FA: LD (6254h),HL 000029FD: INC DE 000029FE: RST 18h 000029FF: LD (6255h),A 00002A02: JR -0Fh 00002A04: LD (HL),A 00002A05: INC DE 00002A06: INC HL 00002A07: JR +3Ah 00002A09: CALL 2C9Dh 00002A0C: JR +02h 00002A0E: INC HL 00002A0F: INC DE 00002A10: RST 10h 00002A11: LD (HL),A 00002A12: CP 0Dh 00002A14: RET Z 00002A15: CP 23h 00002A17: JR Z,-15h 00002A19: CP 2Ch 00002A1B: JR Z,-0Fh 00002A1D: CP 3Bh 00002A1F: JR Z,-13h 00002A21: CALL 2B4Bh 00002A24: JR Z,-1Dh 00002A26: PUSH DE 00002A27: CALL 2D08h 00002A2A: JR C,+16h 00002A2C: CP DEh 00002A2E: JR Z,+0Eh 00002A30: CP D9h 00002A32: JR NZ,+0Eh 00002A34: POP BC 00002A35: LD (HL),A 00002A36: INC HL 00002A37: CALL 25E2h 00002A3A: RST 20h 00002A3B: INC L 00002A3C: JR +01h 00002A3E: POP BC 00002A3F: LD (HL),A 00002A40: INC HL 00002A41: PUSH DE 00002A42: POP DE 00002A43: CALL 25E2h 00002A46: CP 80h 00002A48: CALL NC,3B3Bh 00002A4B: DEC DE 00002A4C: JR -3Dh 00002A4E: RST 18h 00002A4F: EX DE,HL 00002A50: LD HL,(61EEh) 00002A53: INC HL 00002A54: INC HL 00002A55: PUSH HL 00002A56: OR A 00002A57: SBC HL,DE 00002A59: CALL C,3B29h 00002A5C: LD HL,(621Fh) 00002A5F: INC H 00002A60: INC H 00002A61: SBC HL,DE 00002A63: CALL NC,3B29h 00002A66: POP HL 00002A67: DEC H 00002A68: DEC D 00002A69: LD BC,0100h 00002A6C: LDIR 00002A6E: OR A 00002A6F: EX DE,HL 00002A70: SBC HL,DE 00002A72: EX DE,HL 00002A73: LD HL,(61EEh) 00002A76: ADD HL,DE 00002A77: LD (61EEh),HL 00002A7A: EX DE,HL 00002A7B: ADD HL,SP 00002A7C: LD SP,HL 00002A7D: RET ------------------------------------------------- 00002A7E: CALL 288Ah 00002A81: XOR A 00002A82: LD (622Eh),A 00002A85: LD IX,(61FAh) 00002A89: LD A,(IX+00h) 00002A8C: CP 80h 00002A8E: JR Z,+61h 00002A90: PUSH IX 00002A92: CALL 251Bh 00002A95: LD A,(DE) 00002A96: CP 27h 00002A98: JR NZ,+0Ah 00002A9A: CALL 17FCh 00002A9D: LD A,(DE) 00002A9E: CP D7h 00002AA0: JR NZ,-08h 00002AA2: INC DE 00002AA3: LD A,(DE) 00002AA4: CP 3Ch 00002AA6: JR NZ,+02h 00002AA8: INC DE 00002AA9: LD A,(DE) 00002AAA: CP 10h 00002AAC: JR Z,+0Ch 00002AAE: CP 14h 00002AB0: JR Z,+08h 00002AB2: CP 11h 00002AB4: JR Z,+04h 00002AB6: CP 20h 00002AB8: JR NZ,+30h 00002ABA: INC DE 00002ABB: LD A,(DE) 00002ABC: CP 7Dh 00002ABE: JR NZ,+2Ah 00002AC0: INC DE 00002AC1: LD A,(DE) 00002AC2: CP 7Eh 00002AC4: JR NZ,+24h 00002AC6: INC DE 00002AC7: PUSH DE 00002AC8: EX DE,HL 00002AC9: CALL 35B1h 00002ACC: CALL 2B1Fh 00002ACF: LD L,C 00002AD0: LD H,B 00002AD1: CALL 34C4h 00002AD4: LD HL,62F8h 00002AD7: CALL 35BAh 00002ADA: CALL 36C8h 00002ADD: LD HL,62F3h 00002AE0: CALL 35BAh 00002AE3: CALL 366Dh 00002AE6: POP DE 00002AE7: CALL 275Ch 00002AEA: POP IX 00002AEC: CALL 255Eh 00002AEF: JR -68h 00002AF1: LD IX,(61FAh) 00002AF5: LD HL,62F3h 00002AF8: CALL 35B1h 00002AFB: LD A,(IX+00h) 00002AFE: CP 80h 00002B00: RET Z 00002B01: PUSH IX 00002B03: POP DE 00002B04: PUSH DE 00002B05: CALL 275Ch 00002B08: LD HL,62F8h 00002B0B: CALL 35BAh 00002B0E: CALL 366Dh 00002B11: POP IX 00002B13: CALL 255Eh 00002B16: JR -1Dh 00002B18: CALL 2B1Fh 00002B1B: CALL NZ,3B2Ch 00002B1E: RET ----------------------------------------------- 00002B1F: LD IX,(61FAh) 00002B23: LD BC,0000h 00002B26: LD A,(IX+00h) 00002B29: CP 80h 00002B2B: JR Z,+1Ch 00002B2D: PUSH IX 00002B2F: POP DE 00002B30: LD HL,62E5h 00002B33: PUSH BC 00002B34: LD B,05h 00002B36: LD A,(DE) 00002B37: CP (HL) 00002B38: JR C,+08h 00002B3A: JR NZ,+04h 00002B3C: INC HL 00002B3D: INC DE 00002B3E: DJNZ -0Ah 00002B40: POP BC 00002B41: RET ---------------------------------------------- 00002B42: POP BC 00002B43: INC BC 00002B44: CALL 255Eh 00002B47: JR -23h 00002B49: OR A 00002B4A: RET ----------------------------------------- 00002B4B: RST 10h 00002B4C: CP 22h 00002B4E: RET Z 00002B4F: CALL 21EAh 00002B52: RET Z 00002B53: PUSH DE 00002B54: CALL 2D08h 00002B57: POP DE 00002B58: CP DFh 00002B5A: RET C 00002B5B: CP E7h 00002B5D: DEC A 00002B5E: RET NC 00002B5F: CP A 00002B60: RET ------------------------------------------- 00002B61: PUSH IX 00002B63: LD A,(DE) 00002B64: RST 20h 00002B65: LD A,L 00002B66: INC DE 00002B67: CALL 33ADh 00002B6A: CALL 3497h 00002B6D: POP IX 00002B6F: RET 00002B70: LD (IX+00h),A 00002B73: INC IX 00002B75: RET -------------------------------------------- 00002B76: PUSH IX 00002B78: INC DE 00002B79: CALL 33ADh 00002B7C: POP IX 00002B7E: PUSH DE 00002B7F: LD HL,(6200h) 00002B82: PUSH HL 00002B83: LD HL,2B70h 00002B86: LD (6200h),HL 00002B89: CALL 1D59h 00002B8C: POP HL 00002B8D: LD (6200h),HL 00002B90: POP DE 00002B91: JR +2Fh 00002B93: CALL 202Fh 00002B96: OR A 00002B97: JR Z,+2Ah 00002B99: LD (IX+00h),A 00002B9C: INC IX 00002B9E: JR +23h 00002BA0: CALL 202Fh 00002BA3: OR A 00002BA4: JR Z,-06h 00002BA6: JR -0Fh 00002BA8: CALL 62BEh 00002BAB: LD A,(HL) 00002BAC: CP 0Dh 00002BAE: JR Z,+12h 00002BB0: CP 61h 00002BB2: JR C,+06h 00002BB4: CP 7Bh 00002BB6: JR NC,+02h 00002BB8: RES 5,A 00002BBA: LD (IX+00h),A 00002BBD: INC IX 00002BBF: INC HL 00002BC0: JR -17h 00002BC2: INC DE 00002BC3: PUSH IX 00002BC5: POP HL 00002BC6: LD (HL),0Dh 00002BC8: PUSH HL 00002BC9: LD BC,6407h 00002BCC: OR A 00002BCD: SBC HL,BC 00002BCF: INC H 00002BD0: DEC H 00002BD1: CALL NZ,3B47h 00002BD4: POP IX 00002BD6: LD A,(DE) 00002BD7: CP 2Bh 00002BD9: RET NZ 00002BDA: INC DE 00002BDB: JR +08h 00002BDD: LD IY,6507h 00002BE1: LD IX,6407h 00002BE5: LD A,(DE) 00002BE6: CP 22h 00002BE8: JR Z,+2Bh 00002BEA: CALL 21EAh 00002BED: JR Z,+31h 00002BEF: LD A,(DE) 00002BF0: INC DE 00002BF1: CP E3h 00002BF3: JR Z,-4Dh 00002BF5: CP E6h 00002BF7: JP Z,2B76h 00002BFA: CP E5h 00002BFC: JR Z,-5Eh 00002BFE: CP E4h 00002C00: JR Z,-6Fh 00002C02: CP DFh 00002C04: JR Z,+22h 00002C06: CP E0h 00002C08: JR Z,+28h 00002C0A: CP E1h 00002C0C: JR Z,+55h 00002C0E: CP E2h 00002C10: JR Z,+2Fh 00002C12: CALL 3B38h 00002C15: INC DE 00002C16: LD B,00h 00002C18: EX DE,HL 00002C19: CALL 2C7Fh 00002C1C: EX DE,HL 00002C1D: INC DE 00002C1E: JR -5Dh 00002C20: CALL 62BEh 00002C23: CALL 2C7Fh 00002C26: JR -65h 00002C28: CALL 2B61h 00002C2B: LD (IX+00h),L 00002C2E: INC IX 00002C30: JR -70h 00002C32: CALL 62BEh 00002C35: PUSH HL 00002C36: INC DE 00002C37: CALL 2B61h 00002C3A: LD B,L 00002C3B: POP HL 00002C3C: CALL 3FE5h 00002C3F: JR -7Fh 00002C41: CALL 62BEh 00002C44: INC DE 00002C45: PUSH HL 00002C46: CALL 2B61h 00002C49: INC DE 00002C4A: PUSH HL 00002C4B: CALL 2B61h 00002C4E: LD C,L 00002C4F: POP HL 00002C50: LD B,L 00002C51: POP HL 00002C52: LD A,(HL) 00002C53: CP 0Dh 00002C55: JP Z,2BC2h 00002C58: INC HL 00002C59: DJNZ -09h 00002C5B: DEC HL 00002C5C: LD B,C 00002C5D: CALL 3FE5h 00002C60: JP 2BC2h 00002C63: CALL 62BEh 00002C66: INC DE 00002C67: PUSH HL 00002C68: CALL 2B61h 00002C6B: LD C,L 00002C6C: POP HL 00002C6D: PUSH HL 00002C6E: LD B,00h 00002C70: INC B 00002C71: LD A,(HL) 00002C72: INC HL 00002C73: CP 0Dh 00002C75: JR NZ,-07h 00002C77: LD A,B 00002C78: SUB C 00002C79: CALL C,3B47h 00002C7C: LD B,A 00002C7D: JR -2Eh 00002C7F: LD A,(HL) 00002C80: CP 22h 00002C82: RET Z 00002C83: CP 0Dh 00002C85: RET Z 00002C86: LD (IX+00h),A 00002C89: INC IX 00002C8B: INC HL 00002C8C: DJNZ -0Fh 00002C8E: RET ---------------------------------------------------------- 00002C8F: CALL 21F4h 00002C92: RST 10h 00002C93: CP 29h 00002C95: LD (HL),A 00002C96: INC HL 00002C97: INC DE 00002C98: CALL NZ,3B44h 00002C9B: JR +10h 00002C9D: CALL 21EAh 00002CA0: JR Z,+61h 00002CA2: CALL 2D08h 00002CA5: LD (HL),A 00002CA6: INC HL 00002CA7: JR NC,+0Dh 00002CA9: DEC HL 00002CAA: CALL 25F1h 00002CAD: RST 10h 00002CAE: CP 2Bh 00002CB0: RET NZ 00002CB1: INC DE 00002CB2: LD (HL),A 00002CB3: INC HL 00002CB4: JR -19h 00002CB6: CP DFh 00002CB8: JR Z,+2Eh 00002CBA: CP E6h 00002CBC: JR Z,+2Ah 00002CBE: CP E4h 00002CC0: JR Z,-15h 00002CC2: CP E5h 00002CC4: JR Z,-19h 00002CC6: CP E3h 00002CC8: JR Z,-3Bh 00002CCA: CP E2h 00002CCC: JR Z,+20h 00002CCE: CP E0h 00002CD0: JR Z,+05h 00002CD2: CP E1h 00002CD4: CALL NZ,3B38h 00002CD7: CALL 21EAh 00002CDA: CALL NZ,3B3Bh 00002CDD: CALL 21F4h 00002CE0: RST 10h 00002CE1: INC DE 00002CE2: CP 2Ch 00002CE4: JR NZ,-0Ch 00002CE6: LD (HL),A 00002CE7: INC HL 00002CE8: DEC DE 00002CE9: CALL 2731h 00002CEC: JR -40h 00002CEE: CALL 21EAh 00002CF1: JR NZ,-19h 00002CF3: CALL 21F4h 00002CF6: RST 10h 00002CF7: INC DE 00002CF8: CP 2Ch 00002CFA: JR NZ,-22h 00002CFC: LD (HL),A 00002CFD: INC HL 00002CFE: CALL 25E2h 00002D01: JR -21h 00002D03: CALL 21F4h 00002D06: JR -5Bh 00002D08: PUSH HL 00002D09: CALL 1943h 00002D0C: POP HL 00002D0D: RET ------------------------------------------------- 00002D0E: LD DE,6407h 0