.Z80 .RADIX 16 ; ;INTERCOPY 800 ;(C) 1991 by NIPSOFT ;SOFTWARE FOR MZ-800 ; UV800: IM 1 LD A,004 OUT (0CE),A OUT (0E0),A OUT (0E1),A OUT (0D3),A LD A,001 OUT (0CD),A OUT (0CC),A LD A,0 OUT (0F0),A LD A,01F OUT (0F0),A SUB A LD D,07D LD (LASTK),A LD (REPT),A LD BC,006CF OUT (C),A DEC B OUT (C),D LD DE,0730A DEC B OUT (C),E DEC B OUT (C),D IN A,(0E1) POP HL LD SP,RAMTOP PUSH HL CLS: PUSH HL PUSH DE PUSH BC LD HL,0 LD (CPOSH),HL LD (LSOF),HL LD H,080 LD BC,03E7F PLN: IN A,(0E0) LD (HL),000 LD D,H LD E,L INC DE LD A,010 OUT (0F0),A LDIR LD A,01F OUT (0F0),A IN A,(0E1) LD BC,001CF SUB A OUT (C),A INC B OUT (C),A POP BC POP DE POP HL RET CLSA: PUSH HL PUSH DE PUSH BC LD HL,00200 LD (CPOSH),HL LD H,L LD (LSOF),HL LD H,085 LD BC,0397F JR PLN VPOSIT: PUSH AF PUSH BC XOR A LD C,A LD A,H RRA RR C SLA H ADD A,080 LD B,A ADD HL,BC POP BC POP AF RET ; AVRAM: PUSH AF PUSH BC PUSH DE PUSH HL CALL XX1 LD L,A LD H,002 ADD HL,HL ADD HL,HL ADD HL,HL EX DE,HL LD HL,(CPOSH) CALL VPOSIT IN A,(0E0) LD BC,00850 AS8: LD A,(DE) LD (HL),A INC DE LD A,C ADD A,L LD L,A JP NC,AS9 INC H AS9: DJNZ AS8 IN A,(0E1) CALL CRIGHT POP HL POP DE POP BC POP AF RET ; TABAD: DEFB 0F0,0F0,0F0,0F3 DEFB 0F0,0F5,0F0,0F0 DEFB 0F0,0F0,0F0,0F0 DEFB 0F0,0F0,0F0,0F0 ; DEFB 0F0,0C1,0C2,0C3 DEFB 0C4,0C5,0C6,0F0 DEFB 0F0,0F0,0F0,0F0 DEFB 0F0,0F0,0F0,0F0 ; DEFB 000,061,062,063 DEFB 064,065,066,067 DEFB 068,069,06B,06A DEFB 02F,02A,02E,02D ; DEFB 020,021,022,023 DEFB 024,025,026,027 DEFB 028,029,04F,02C DEFB 051,02B,057,049 ; DEFB 055,001,002,003 DEFB 004,005,006,007 DEFB 008,009,00A,00B DEFB 00C,00D,00E,00F ; DEFB 010,011,012,013 DEFB 014,015,016,017 DEFB 018,019,01A,052 DEFB 059,054,050,045 ; DEFB 0C7,0C8,0C9,0CA DEFB 0CB,0CC,0CD,0CE DEFB 0CF,0DF,0E7,0E8 DEFB 0E5,0E9,0EC,0ED ; DEFB 0D0,0D1,0D2,0D3 DEFB 0D4,0D5,0D6,0D7 DEFB 0D8,0D9,0DA,0DB DEFB 0DC,0DD,0DE,0C0 ; DEFB 040,0BD,09D,0B1 DEFB 0B5,0B9,0B4,09E DEFB 0B2,0B6,0BA,0BE DEFB 09F,0B3,0B7,0BB ; DEFB 0BF,0A3,085,0A4 DEFB 0A5,0A6,094,087 DEFB 088,09C,082,098 DEFB 084,092,090,083 ; DEFB 091,081,09A,097 DEFB 093,095,089,0A1 DEFB 0AF,08B,086,096 DEFB 0A2,0AB,0AA,08A ; DEFB 08E,0B0,0AD,08D DEFB 0A7,0A8,0A9,08F DEFB 08C,0AE,0AC,09B DEFB 0A0,099,0BC,0B8 ; DEFB 080,03B,03A,070 DEFB 03C,071,05A,03D DEFB 043,056,03F,01E DEFB 04A,01C,05D,03E ; DEFB 05C,01F,05F,05E DEFB 037,07B,07F,036 DEFB 07A,07E,033,04B DEFB 04C,01D,06C,05B ; DEFB 078,041,035,034 DEFB 074,030,038,075 DEFB 039,04D,06F,06E DEFB 032,077,076,072 ; DEFB 073,047,07C,053 DEFB 031,04E,06D,048 DEFB 046,07D,044,01B DEFB 058,079,042,060 ; ADCN: PUSH BC PUSH HL LD HL,TABAD W66: LD C,A LD B,000 ADD HL,BC LD A,(HL) POP HL POP BC RET ; SCROLH: PUSH AF PUSH BC PUSH DE PUSH HL LD HL,(LSOF) LD BC,001CF LD E,008 LD A,(SCRS) OR A CALL Z,WAIT SCROH1: PUSH HL PUSH BC PUSH DE LD HL,08500 LD DE,08501 LD BC,0004F IN A,(0E0) LD (HL),B LDIR IN A,(0E1) POP DE POP BC POP HL INC HL INC HL INC HL INC HL INC HL OUT (C),L INC B OUT (C),H DEC B DEC E JR Z,SCROH3 LD A,(SCRS) OR A CALL NZ,WAIT JR SCROH1 SCROH3: LD A,L CP 098 JR NZ,SCROH2 LD A,H CP 003 JR NZ,SCROH2 LD H,E LD L,E SCROH2: LD (LSOF),HL EXIT: POP HL POP DE POP BC POP AF RET SCRS: DEFB 1 ; CRIGHT: PUSH AF PUSH BC PUSH DE PUSH HL LD HL,(CPOSH) LD A,L CP 04F JR Z,CRIGH1 INC L CRIGH2: LD (CPOSH),HL JR EXIT CRIGH1: LD L,000 INC H LD A,H CP 019 JR C,CRIGH2 LD H,018 CALL SCROLH JR CRIGH2 ; LETNL: PUSH AF PUSH HL CALL XX2 LD HL,CPOSH LD (HL),000 INC HL LD A,(HL) CP 018 CALL Z,SCROLH JR Z,LETN1 INC (HL) LETN1: POP HL POP AF RET IFNL: LD A,(CPOSH) OR A RET Z JP LETNL ; PRNTC: CP 00D JP Z,LETNL CALL ADCN CP 0F0 RET Z JP AVRAM ; PRNTS: PUSH AF LD A,020 CALL PRNTC POP AF RET ; SPR: PUSH AF SPR1: LD A,(DE) INC DE OR A JR NZ,SPR3 LD A,(DE) INC DE LD (CPOSH),A JR SPR1 SPR3: CP 00D JR Z,SPR2 CALL ASAM1 CALL ADCN CALL AVRAM JR SPR1 SPR2: POP AF RET ; SPRNL: PUSH AF CALL SPR CALL IFNL JR SPR2 ; TABKA: DEFB 00D,"*","+",062 DEFB 009,0FB,0C8,090 DEFB 000,000,000,080 DEFB 0BE,093,0A2,0BD DEFB 09B,0A3,0AB,0A5 DEFB 096,0A4,09D,0A0 DEFB 09E,0B7,0B0,0B3 DEFB 0B8,0A9,0AF,0A6 DEFB 098,097,0AA,092 DEFB 09C,09F,09A,0A1 DEFB 028,027,026,025 DEFB 024,023,022,021 DEFB 03E,03C,029,0FF DEFB 020,03D,094,0C0 DEFB 05F,0C6,068,063 DEFB 011,012,015,016 ; DEFB 00D,":",";",065 DEFB 008,0FC,0C8,090 DEFB 000,000,000,"]" DEFM "[@ZY" DEFM "XWVUTSRQ" DEFM "PONMLKJI" DEFM "HGFEDCBA" DEFM "87654321" DEFM ".,90 -^\" DEFB "/","?",014,013 DEFB 011,012,060,061 ; CNEG: PUSH AF LD HL,(CPOSH) CALL VPOSIT LD DE,00050 LD B,008 IN A,(0E0) CNEG1: LD A,(HL) CPL LD (HL),A ADD HL,DE DJNZ CNEG1 IN A,(0E1) POP AF RET ; BLIK: EX AF,AF' EXX LD B,A IN A,(0D2) AND 040 XOR B LD A,B JR Z,BLIK1 XOR 040 CALL CNEG BLIK1: OR A EX AF,AF' EXX RET ; INKEY: PUSH HL PUSH DE CALL BRKEY JR Z,INKE4 LD E,0F8 LD A,E OUT (0D0),A NOP NOP IN A,(0D1) RRCA RRCA AND 040 LD D,A INKE1: DEC E LD A,E OUT (0D0),A SUB 0EF JR Z,INKE3 IN A,(0D1) INC A JR Z,INKE1 DEC A INKE2: INC D RRCA JR C,INKE2 DEC D LD A,E AND 00F RLCA RLCA RLCA OR D LD E,A LD D,000 LD HL,TABKA ADD HL,DE LD A,(HL) INKE5: OR A INKE3: POP DE POP HL RET INKE4: LD A,01B JR INKE5 ; INP: PUSH HL PUSH DE PUSH BC LD A,070 OUT (0D0),A EX AF,AF' IN A,(0D2) AND 040 CALL NZ,CNEG INP1: EX AF,AF' LD HL,LASTK LD C,(HL) EX DE,HL LD HL,REPT LD B,(HL) INP2: CALL INKEY CALL BLIK JR Z,INP3 CP C JR NZ,INP4 PUSH AF XOR A INP5: DEC A JR NZ,INP5 POP AF DJNZ INP2 LD (HL),01E JR INP8 INP3: LD B,064 CALL INKEY CALL BLIK JR NZ,INP2-1 LD A,064 INP6: DEC A JR NZ,INP6 DJNZ INP3+2 LD C,B JR INP3+2 INP4: LD (HL),000 LD (DE),A INP8: EX AF,AF' JR Z,INP7 CALL CNEG INP7: EX AF,AF' POP BC POP DE POP HL RET ; WAIT: PUSH AF WAIT1: IN A,(0CE) AND 040 JR Z,WAIT1 WAIT2: IN A,(0CE) AND 040 JR NZ,WAIT2 POP AF RET ; CMP: LD A,(DE) CP (HL) RET NZ INC HL INC DE DEC C JR NZ,CMP RET ; QEX: CALL PRALL LD A,(FILES) OR A JP Z,PRMPT LD DE,QTEX CALL SPR CALL INFILA JP C,BREAK CALL SETADR CALL LETNL LD DE,RELY CALL SPR CALL YENO JP NC,PRMPT CALL SETLN LD B,D LD C,E LD DE,01180 LDIR LD HL,01180 LD DE,010F0 LD BC,00080 LDIR LD HL,01170 LD DE,01171 LD BC,0007F LD (HL),000 LDIR LD B,004 LD A,09F QE9: OUT (0F2),A ADD A,020 DJNZ QE9 LD A,001 OUT (0D3),A LD A,005 OUT (0D3),A LD A,008 OUT (0CE),A LD HL,01000 LD DE,0C000 PUSH HL POP BC IN A,(0E0) LDIR IN A,(0E1) LD SP,010F0 OUT (0E3),A LD HL,0D000 LD DE,0D001 LD BC,00800 LD (HL),000 LDIR LD BC,007FF LD (HL),071 LDIR LD HL,0038D LD A,0C3 LD (01038),A LD (01039),HL LD A,004 LD (0119E),A LD A,001 LD (0119D),A LD HL,QR LD DE,01000 LD BC,00005 LDIR LD HL,01102 JP 01000 QR: OUT (0E2),A JP 0ED08 ; BEEP: PUSH AF PUSH BC PUSH HL LD A,0BF OUT (0F2),A LD A,001 OUT (0D3),A LD HL,BEEPT LD B,005 BEEPI2: LD A,(HL) INC HL OUT (0F2),A LD A,(HL) INC HL OUT (0F2),A LD A,0B0 OUT (0F2),A LD A,(BEEPL) BEEPI1: CALL WAIT DEC A JR NZ,BEEPI1 LD A,0BF OUT (0F2),A DJNZ BEEPI2 POP HL POP BC POP AF RET ; HACN: AND 00F CP 00A JR C,HACN1 ADD A,007 HACN1: ADD A,030 RET ; AHCN: SUB 030 RET C CP 00A CCF RET NC SUB 007 CP 00A RET C CP 010 CCF RET ; PMMHEX: INC HL CALL PMHEX DEC HL PMHEX: LD A,(HL) JR PAHEX ; PHLHEX: LD A,H CALL PAHEX LD A,L PAHEX: PUSH AF RLCA RLCA RLCA RLCA CALL HACN CALL PRNTC POP AF CALL HACN JP PRNTC ; AH2CN: PUSH BC LD A,(DE) INC DE CALL AHCN JR C,AH2CN1 RLCA RLCA RLCA RLCA LD C,A LD A,(DE) INC DE CALL AHCN JR C,AH2CN1 OR C AH2CN1: POP BC RET ; AH4CN: PUSH DE CALL AH2CN JR C,AH4CN1 LD H,A CALL AH2CN JR C,AH4CN1 LD L,A AH4CN1: POP DE RET ; PHLDEK: PUSH AF PUSH BC PUSH DE PUSH HL LD DE,W110 LD BC,00400 W111: PUSH BC EX DE,HL LD C,(HL) INC HL LD B,(HL) INC HL EX DE,HL XOR A W112: SBC HL,BC JR C,W113 INC A JP W112 W113: ADD HL,BC POP BC INC C DEC C JR Z,W116 W114: ADD A,030 W115: CALL PRNTC DJNZ W111 LD A,030 ADD A,L CALL PRNTC JP EXIT W116: OR A JR Z,W117 INC C JR W114 W117: LD A,020 JR W115 W110: DEFW 02710,03E8,064,0A ; SETPR: PUSH DE LD DE,00012 ADD HL,DE LD C,(HL) INC HL LD B,(HL) LD DE,0006D ADD HL,DE POP DE RET SETNEW: LD A,(FILES) SETADR: PUSH BC PUSH DE LD B,A LD A,(FILES) CP B JR C,W1 LD HL,BEGIN W2: LD A,B OR A JR Z,W1 CALL SETLN ADD HL,DE DEC B JR W2 W1: POP DE POP BC RET SETLN: PUSH HL LD DE,00012 ADD HL,DE LD E,(HL) INC HL LD D,(HL) LD HL,00082 ADD HL,DE POP DE EX DE,HL RET MEMFRE: PUSH DE LD DE,STACK CALL SETNEW EX DE,HL SBC HL,DE POP DE RET IFCAN: PUSH DE PUSH HL CALL SETLN W4: CALL MEMFRE JR C,W3 SBC HL,DE W3: POP HL POP DE RET IFCANH: PUSH DE PUSH HL LD DE,00080 JR W4 KILLA: PUSH BC PUSH DE PUSH HL LD HL,FILES CP (HL) CCF JR C,W5 DEC (HL) CP (HL) JR Z,W5 PUSH AF CALL SETADR EX DE,HL POP AF INC A CALL SETADR PUSH HL LD C,L LD B,H LD HL,FILES INC (HL) CALL SETNEW LD A,(FILES) DEC A LD (FILES),A SBC HL,BC LD C,L LD B,H POP HL LDIR OR A W5: POP HL POP DE POP BC RET LFAFF: DEFB 014 LFB00: DEFW 0480 VOYCE: PUSH BC PUSH DE PUSH HL LD (VOS),SP INC HL CALL LFB1E LD B,064 VOY3: CALL D7000 DJNZ VOY3 XOR A VOY1: POP HL POP DE POP BC RET VOS: DEFW 0 BRE: LD SP,(VOS) LD A,002 SCF JR VOY1 LFB1E: LD B,040 LFB20: LD A,0F8 OUT (0D0),A IN A,(0D1) AND 081 JP Z,BRE LD A,B LD C,A LD B,(HL) CALL PREVB OR A RET Z CP 00D RET Z LD A,C CP 041 JP C,LFB50 CP 05B JP NC,LFB50 CP 043 LD A,B JP NZ,LFB3B CP 048 JP Z,LFB41 LFB3B: CP 027 LD A,C JP NZ,LFB45 LFB41: ADD A,01A LD B,040 LFB45: PUSH BC PUSH HL CALL LFBAA POP HL POP BC LFB4C: INC HL JP LFB20 LFB50: CP 040 JP Z,LFB4C LD DE,02000 CP 020 JP NZ,LFB73 LFB6D: CALL LFBA3 JP LFB4C LFB73: CALL LFB93 JP C,LFB4C LD C,A INC C LD DE,LFC1C LFB7E: LD A,(DE) INC DE OR A JP NZ,LFB7E DEC C JP NZ,LFB7E PUSH HL PUSH BC EX DE,HL CALL LFB1E POP BC POP HL JP LFB4C LFB93: SUB 021 RET C CP 01F CCF RET LFBA3: DEC DE LD A,D OR E JP NZ,LFBA3 RET LFBAA: LD BC,LFC56 SUB 041 LD L,A LD H,0 ADD HL,BC LD BC,LFC8A LD L,(HL) LD H,0 ADD HL,BC LFBB8: LD A,(HL) AND 00F LD C,A INC HL LD A,(HL) AND 080 OR C LD C,A DEC HL LFBC3: LD A,(HL) RLCA RLCA RLCA AND 7 PUSH HL JP Z,LFC02 LD DE,LFE51 LD L,A LD H,0 ADD HL,DE LD B,(HL) POP HL INC HL LD A,(HL) DEC HL PUSH HL RLA LD DE,LFD4C LD L,A LD H,0 ADD HL,DE LD A,080 LFBE4: PUSH AF AND (HL) JP Z,LFE5A LD A,001 LFBEB: OUT (0D3),A LD (TONE),A ADD A,002 OUT (0D3),A CP 002 LD A,002 JR Z,VOY2 XOR 00F VOY2: PUSH BC LD BC,006CF LD (BORD),A OUT (C),A POP BC LD A,(LFAFF) LFBF0: DEC A JP NZ,LFBF0 POP AF DEC B JP Z,LFC02 OR A RRCA JP NC,LFBE4 INC HL JP LFBE4 LFC02: LD HL,(LFB00) EX DE,HL CALL LFBA3 DEC C LD A,C AND 00F POP HL JP NZ,LFBC3 LD A,C LFC15: RLA RET C INC HL INC HL JP LFBB8 LFC1C: DEFB 0 DEFM " VYYKRIC'NIIK " DEFB 0,040,0 DEFM " KRIIZ'IK " DEFB 0 DEFM " DOLAAR " DEFB 0 DEFM " PERCENT " DEFB 0 DEFM " ENT " DEFB 0,040,0 DEFM " ZAATVORKA " DEFB 0 DEFM " PRAVAAZAATVORKA " DEFB 0 DEFM " HVIEZDIC'KA " DEFB 0 DEFM " PLUS " DEFB 0 DEFM " C'IARKA " DEFB 0 DEFM " POMLC'KA " DEFB 0 DEFM " BOTKA " DEFB 0 DEFM " LOMENO " DEFB 0 DEFM " NULA " DEFB 0 DEFM " JEDNA " DEFB 0 DEFM " DVA " DEFB 0 DEFM " TRI " DEFB 0 DEFM " S'TYRI " DEFB 0 DEFM " PET' " DEFB 0 DEFM " S'EST' " DEFB 0 DEFM " SED'EM " DEFB 0 DEFM " OSEM " DEFB 0 DEFM " D'EVET' " DEFB 0 DEFM " DVOJBOTKA " DEFB 0 DEFM " BOTKOC'IARKA " DEFB 0 DEFM " JEMENS'IE " DEFB 0 DEFM " JE " DEFB 0 DEFM " JEVEC'IE " DEFB 0 DEFM " OTAAZNIK " DEFB 0 LFC56: DEFB 0,2,6,00A DEFB 00E,010,012,016 DEFB 01A,01C,022,026 DEFB 02A,02E,032,034 DEFB 038,042,048,04A DEFB 04E,050,050,056 DEFB 01A,05C,064,066 DEFB 070,074,07A,07C DEFB 0C2,084,086,0C2 DEFB 0C2,0C2,088,08C DEFB 092,094,0C2,09E DEFB 0A6,0A8,0AE,0B0 DEFB 0C2,0C2,086,0BC LFC8A: DEFB 036,081,034,019 DEFB 031,0AB,018,019 DEFB 091,0C3,034,019 DEFB 031,0E0,036,084 DEFB 092,0E3,035,019 DEFB 051,09C,031,031 DEFB 034,096,036,087 DEFB 033,03A,032,03D DEFB 032,0C0,018,019 DEFB 051,09C,033,022 DEFB 031,0B1,031,031 DEFB 036,0A5,031,031 DEFB 036,0A8,036,08A DEFB 018,019,031,0AB DEFB 018,019,051,01C DEFB 034,031,032,034 DEFB 032,0B7,022,010 DEFB 013,019,021,0AE DEFB 092,0C3,018,019 DEFB 031,0E0,036,08D DEFB 034,031,032,034 DEFB 032,0B7,018,019 DEFB 071,01C,092,0C3 DEFB 032,031,032,043 DEFB 032,044,032,0C5 DEFB 03F,081,034,019 DEFB 031,02B,033,03A DEFB 032,03D,032,0C0 DEFB 018,019,091,0D3 DEFB 033,019,071,06D DEFB 032,093,03E,084 DEFB 092,063,033,03A DEFB 032,03D,032,0C0 DEFB 092,0F3,03E,087 DEFB 031,031,036,025 DEFB 031,031,035,025 DEFB 032,093,03E,08A DEFB 018,019,031,02B DEFB 033,03A,032,03D DEFB 032,0C0,013,019 DEFB 032,060,013,019 DEFB 071,0DD,092,0D3 DEFB 018,019,071,06D DEFB 032,093,03E,08D DEFB 034,031,032,034 DEFB 032,037,033,03A DEFB 032,03D,032,0C0 DEFB 032,053,032,054 DEFB 032,0D5 LFD4C: DEFB 01A,099 DEFB 0E1,0C3,0E1,0C7 DEFB 08F,00F,0F8,03E DEFB 00F,7,0C1,0E3 DEFB 0FF,040,017,0FF DEFB 0,3,0F8,07C DEFB 0C1,0F1,0F8,3 DEFB 0FE,0,07F,0FC DEFB 0,03F,0F8,00F DEFB 9,0F1,0FE,3 DEFB 0EF,040,017,0FF DEFB 0,3,0E1,05C DEFB 035,0C5,0AA,035 DEFB 0,0,0,0 DEFB 0,0,0E3,08E DEFB 038,073,0CF,0F8 DEFB 078,0C3,0DF,01C DEFB 0F1,0C7,0FE,3 DEFB 0C0,0FF,0,0 DEFB 0FF,0F8,0,07F DEFB 0F8,3,0FF,0F0 DEFB 1,0FF,0E0,3 DEFB 0AA,0CA,05A,0D5 DEFB 021,03D,0FE,01F DEFB 0F8,0,0,01F DEFB 0FF,0FC,020,0 DEFB 0,3,0FF,0FF DEFB 8,079,0,2 DEFB 0FF,0E1,0C7,01F DEFB 0E0,3,0FF,0D0 DEFB 1,0FF,0F0,3 DEFB 07F,1,0FA,05F DEFB 0C0,7,0F8,00F DEFB 0C0,0FF,0,042 DEFB 0AA,0A5,055,05A DEFB 0AA,0AA,05A,0A5 DEFB 05A,0AA,055,055 DEFB 0AA,0AA,0A5,055 DEFB 0AA,05A,0AA,0A5 DEFB 055,0AA,0AA,0A5 DEFB 055,0AA,0AA,055 DEFB 0A5,0A5,0AA,0A5 DEFB 0B7,066,06C,0DB DEFB 0F9,0B3,06C,0AD DEFB 037,037,066,0FC DEFB 09B,0B7,0F6,0C8 DEFB 0D3,0B6,060,0F7 DEFB 06E,04D,0FB,0FE DEFB 05D,0B7,0DE,046 DEFB 0F6,096,0B4,04F DEFB 0AA,0A9,055,0AA DEFB 0AA,0A5,069,059 DEFB 09A,06A,095,055 DEFB 095,055,06A,0A5 DEFB 055,0A9,04D,066 DEFB 06A,092,0EC,0A5 DEFB 055,0D2,096,055 DEFB 0A2,0BA,0CD,00D DEFB 066,099,0CC,067 DEFB 031,08E,066,039 DEFB 0A6,06B,019,066 DEFB 059,0C6,071,09A DEFB 067,019,0CB,01A DEFB 071,0CC,073,019 DEFB 099,0CC,0C6,067 DEFB 019,09A,0C6 LFE51: DEFB 059 DEFB 02E,05A,05E,0FE DEFB 0FF,0,0FF,0 LFE5A: LD A,000 JP LFBEB PREVB: PUSH AF PUSH BC PUSH DE PUSH HL LD A,B LD HL,TABSM+1 LD D,H LD E,L LD BC,01A CPIR JR NZ,PREV1 OR A SBC HL,DE LD A,040 ADD A,L PREV1: POP HL POP DE POP BC LD B,A POP AF RET PRATR: PUSH AF PUSH HL LD HL,(CPOSH) PUSH HL LD HL,0 LD (CPOSH),HL LD HL,CPOSH LD (HL),02D LD A,(BLMO) CALL HACN CALL PRNTC LD (HL),03B LD A,(SPMO) CALL HACN CALL PRNTC LD (HL),043 CALL MEMFRE CALL PHLDEK POP HL LD (CPOSH),HL POP HL POP AF RET EMPTY: LD A,(FILES) OR A RET NZ CALL IFNL PUSH DE LD DE,QTBE CALL SPRNL POP DE SUB A RET INPFIL: PUSH HL LD HL,FILES LD A,(HL) DEC A JR Z,BB14 W9: CALL INP CP 01B JP Z,BREAK CP 00D JR NZ,BB15 LD A,041 BB15: SUB 041 CP (HL) JR NC,W9 BB14: LD B,A ADD A,041 CALL PRNTC LD A,"-" CALL PRNTC LD A,(HL) DEC A CP B JR Z,BB16 W10: CALL INP CP 01B JP Z,BREAK CP 00D JR NZ,BB17 LD A,B ADD A,041 BB17: SUB 041 CP (HL) JR NC,W10 CP B JR C,W10 BB16: LD C,A ADD A,041 CALL PRNTC POP HL RET PRHEAD: PUSH DE PUSH HL CALL PRNTS CALL PRNTC LD A,":" CALL PRNTC CALL PRNTS LD E,L LD D,H INC DE LD A,(CPOSH) CALL SPR PUSH AF PUSH HL CALL PRNTS LD A,(HL) DEC A JR NZ,C44 LD DE,9 ADD HL,DE LD A,(HL) CP "." JR NZ,C44 LD DE,4 ADD HL,DE LD A,(HL) CP 00D JR NZ,C44 INC HL LD A,(HL) CP 031 JR C,C44 INC HL LD A,(HL) CP 02D JR NZ,C44 INC HL INC HL LD A,(HL) CP 00D JR NZ,C44 DEC HL LD A,(HL) DEC HL DEC HL CP 043 SCF JR Z,C45 CP 04C JR NZ,C44 C45: LD A,(HL) JR C,C46 CP 031 JR Z,C44 C46: CP 03A JR C,C47 PUSH AF LD A,031 CALL PRNTC POP AF SUB 0A C47: CALL PRNTC C44: POP HL POP AF ADD A,011 LD (CPOSH),A CALL PMHEX CALL PRNTS LD DE,014 ADD HL,DE CALL PMMHEX CALL PRNTS DEC HL DEC HL LD E,(HL) INC HL LD D,(HL) INC HL PUSH DE LD E,(HL) INC HL LD D,(HL) INC HL EX (SP),HL ADD HL,DE DEC HL CALL PHLHEX CALL PRNTS POP HL CALL PMMHEX CALL PRNTS CALL PRNTS POP HL POP DE RET YENO: PUSH DE LD DE,QTYE CALL INP CP 01B JP Z,BREAK CP "Y" JR Z,W13 LD DE,QTNO SCF W13: CCF CALL SPR POP DE RET QSMO: DEFB 0 QBLO: CALL PRALL LD HL,BLMO LD DE,QTBL CALL SPR CALL INP SUB 030 JR Z,W26 CP 0A JR C,W25 W26: LD A,01 W25: LD (HL),A ADD A,030 CALL PRNTC CALL PRATR CALL SETD JP PRMPT QSPED: CALL PRALL LD HL,SPMO LD DE,QTSP CALL SPR CALL INP SUB 030 CP 05 JR C,W25 LD A,01 JR W25 QDISP: CALL PRALL JP PRMPT QKIL: CALL UNIV LD DE,QTKI CALL SPR CALL INPFIL CALL PRNTS LD DE,RELY CALL SPR CALL YENO JP NC,PRMPT W29: LD A,B CALL KILLA CALL PRALL LD A,B CP C JP Z,PRMPT DEC C JR W29 INFILA: PUSH HL LD HL,FILES W70: CALL INP CP 01B JP Z,BREAK CP 0FB JR Z,W91 SUB 041 CP (HL) CCF JR C,W70 PUSH AF ADD A,041 CALL PRNTC POP AF W92: POP HL RET W91: CALL PRNTC SCF JR W92 QDUMP: SUB A QD1: LD (DUMO),A CALL UNIV LD DE,QTDU LD A,(DUMO) OR A JR Z,W87 LD DE,QTAD DEC A JR Z,W87 LD DE,QTDD W87: CALL SPR CALL INFILA JR C,W93 CALL SETADR LD BC,080 LD DE,010F0 CALL BDUMP LD DE,012 ADD HL,DE LD C,(HL) INC HL LD B,(HL) INC HL LD E,(HL) INC HL LD D,(HL) PUSH DE LD DE,06B ADD HL,DE POP DE W94: CALL BDUMP JP PRMPT W93: LD BC,0FFFF LD DE,0 LD H,D LD L,E JR W94 BDUMP: PUSH BC PUSH DE PUSH HL CALL IFNL CALL LETNL W78: LD A,B OR C JP Z,W71 EX DE,HL CALL PRWO LD A,"/" CALL PRNTC CALL PHLDEK LD A,":" CALL PRNTC CALL PRNTSS EX DE,HL PUSH DE LD E,010 LD A,B OR A JR NZ,W72 LD A,C CP E JR NC,W72 LD E,C W72: PUSH HL PUSH DE W73: CALL PMHEX CALL PRNTSS INC HL DEC E JR NZ,W73 LD A,03D LD (CPOSH),A LD A,"/" CALL PRNTC CALL PRNTSS POP DE POP HL W75: LD A,(HL) PUSH AF LD A,(DUMO) OR A JR Z,W88 DEC A JR Z,W89 POP AF CALL AVRAM JR WWWW W88: POP AF JR W90 W89: POP AF CALL ASAM1 W90: CALL PRNTB WWWW: INC HL DEC BC EX (SP),HL INC HL EX (SP),HL DEC E JR NZ,W75 CALL LETNL POP DE LD A,B OR C JR Z,W71 CALL WPA PUSH AF LD A,B OR A JR Z,W77 POP AF BIT 4,A JR NZ,W79 INC H INC D DEC B JR W79 W77: POP AF W79: JP W78 W71: POP HL POP DE POP BC RET PRNTSS: PUSH HL LD HL,CPOSH INC (HL) POP HL RET PRNTB: PUSH AF CP 020 JR NC,W74 LD A,02E W74: CALL PRNTC POP AF RET GETL: PUSH AF PUSH HL LD H,D LD L,E W82: CALL INP CP 01B JP Z,BREAK CP 0D JR Z,W83 CP 060 JR Z,W85 PUSH AF LD A,(CPOSH) CP 04F CALL Z,BEEP JR Z,W86 POP AF PUSH AF LD (HL),A CALL PRNTC INC HL W86: POP AF JR W82 W85: PUSH HL SCF SBC HL,DE CALL C,BEEP JR NC,W84 POP HL JR W82 W84: LD HL,CPOSH DEC (HL) CALL PRNTS DEC (HL) POP HL DEC HL JR W82 W83: LD (HL),A POP HL POP AF RET QADUMP: LD A,01 QD2: JP QD1 QDDUMP: LD A,02 JR QD2 QSND: LD DE,QTS CALL SPRNL LD D,0D2 CALL MGON JR C,W97 W96: CALL BRKEY JR Z,W97 IN A,(0D2) AND 020 JR Z,W96 CALL WOTO15 W98: CALL BRKEY JR Z,W97 IN A,(0D2) AND 020 JR NZ,W98 CALL WOTO15 JR W96 W97: CALL MGOF EI JP BREAK ; T2: DEFM "NO" DEFB "P"+080 DEFM "HAL" DEFB "T"+080 DEFM "RLC" DEFB "A"+080 DEFM "RRC" DEFB "A"+080 DEFM "RL" DEFB "A"+080 DEFM "RR" DEFB "A"+080 DEFM "DA" DEFB "A"+080 DEFM "CP" DEFB "L"+080 DEFM "SC" DEFB "F"+080 DEFM "CC" DEFB "F"+080 DEFM "D" DEFB "I"+080 DEFM "E" DEFB "I"+080 DEFM "EX" DEFB "X"+080 DEFM "NE" DEFB "G"+080 DEFM "RET" DEFB "N"+080 DEFM "RET" DEFB "I"+080 DEFM "RR" DEFB "D"+080 DEFM "RL" DEFB "D"+080 DEFM "LD" DEFB "I"+080 DEFM "CP" DEFB "I"+080 DEFM "IN" DEFB "I"+080 DEFM "OUT" DEFB "I"+080 DEFM "LD" DEFB "D"+080 DEFM "CP" DEFB "D"+080 DEFM "IN" DEFB "D"+080 DEFM "OUT" DEFB "D"+080 DEFM "LDI" DEFB "R"+080 DEFM "CPI" DEFB "R"+080 DEFM "INI" DEFB "R"+080 DEFM "OTI" DEFB "R"+080 DEFM "LDD" DEFB "R"+080 DEFM "CPD" DEFB "R"+080 DEFM "IND" DEFB "R"+080 DEFM "OTD" DEFB "R"+080 DEFM "IN" DEFB "C"+080 DEFM "DE" DEFB "C"+080 DEFM "SU" DEFB "B"+080 DEFM "AN" DEFB "D"+080 DEFM "XO" DEFB "R"+080 DEFM "O" DEFB "R"+080 DEFM "C" DEFB "P"+080 DEFM "PO" DEFB "P"+080 DEFM "PUS" DEFB "H"+080 DEFM "RL" DEFB "C"+080 DEFM "RR" DEFB "C"+080 DEFM "R" DEFB "L"+080 DEFM "R" DEFB "R"+080 DEFM "SL" DEFB "A"+080 DEFM "SR" DEFB "A"+080 DEFM "SL" DEFB "I"+080 DEFM "SR" DEFB "L"+080 DEFM "BI" DEFB "T"+080 DEFM "RE" DEFB "S"+080 DEFM "SE" DEFB "T"+080 DEFM "L" DEFB "D"+080 DEFM "E" DEFB "X"+080 DEFM "AD" DEFB "D"+080 DEFM "AD" DEFB "C"+080 DEFM "SB" DEFB "C"+080 DEFM "DJN" DEFB "Z"+080 DEFM "J" DEFB "R"+080 DEFM "J" DEFB "P"+080 DEFM "CAL" DEFB "L"+080 DEFM "RE" DEFB "T"+080 DEFM "OU" DEFB "T"+080 DEFM "I" DEFB "N"+080 DEFM "RS" DEFB "T"+080 DEFM "I" DEFB "M"+080 DEFM "RLC" DEFB "L"+080 DEFM "RRC" DEFB "L"+080 DEFM "RL" DEFB "L"+080 DEFM "RR" DEFB "L"+080 DEFM "SLA" DEFB "L"+080 DEFM "SRA" DEFB "L"+080 DEFM "SLI" DEFB "L"+080 DEFM "SRL" DEFB "L"+080 DEFM "RES" DEFB "L"+080 DEFM "SET" DEFB "L"+080 T3: DEFB "B"+080 DEFB "C"+080 DEFB "D"+080 DEFB "E"+080 DEFB "H"+080 DEFB "L"+080 DEFB "A"+080 DEFB "I"+080 DEFB "R"+080 DEFB "F"+080 DEFB "Z"+080 DEFB "P"+080 DEFB "M"+080 DEFB "B","C"+080 DEFB "D","E"+080 DEFB "H","L"+080 DEFB "S","P"+080 DEFB "A","F"+080 DEFB "I","X"+080 DEFB "I","Y"+080 DEFB "X","H"+080 DEFB "X","L"+080 DEFB "Y","H"+080 DEFB "Y","L"+080 DEFB "N","Z"+080 DEFB "N","C"+080 DEFB "P","O"+080 DEFB "P","E"+080 DEFB "(","C",")"+080 DEFB "A","F","'"+080 DEFB "(","I","X"+080 DEFB "(","I","Y"+080 DEFB "#","0","0"+080 DEFB "#","0","8"+080 DEFB "#","1","0"+080 DEFB "#","1","8"+080 DEFB "#","2","0"+080 DEFB "#","2","8"+080 DEFB "#","3","0"+080 DEFB "#","3","8"+080 DEFM "(BC" DEFB ")"+080 DEFM "(DE" DEFB ")"+080 DEFM "(HL" DEFB ")"+080 DEFM "(SP" DEFB ")"+080 DEFM "(IX" DEFB ")"+080 DEFM "(IY" DEFB ")"+080 DEFB "?"+080 DEFB "?"+080 T31: DEFM "H" DEFB 080 DEFM "L" DEFB 080 DEFM "H" DEFB "L"+080 DEFM "(HL" DEFB ")"+080 DEFM "(HL" DEFB ")"+080 DEFB 0B0,0B1,0B2 T4: DEFB 080,036,00D,0F1;00 DEFB 036,028,086,022,08D;02 DEFB 022,080,023,080;04 DEFB 036,0,0F0,082;06 DEFB 037,011,09D,038,032,08D;08 DEFB 036,6,0A8,023,08D;0A DEFB 022,081,023,081;0C DEFB 036,1,0F0,083;0E DEFB 03B,0F2,036,0E,0F1;10 DEFB 036,029,086,022,08E;12 DEFB 022,082,023,082;14 DEFB 036,2,0F0,084;16 DEFB 03C,0F2,038,032,08E;18 DEFB 036,6,0A9,023,08E;1A DEFB 022,083,023,083;1C DEFB 036,3,0F0,085;1E DEFB 03C,018,0F2,036,032,0F1;20 DEFB 036,073,0B2,022,0B2;22 DEFB 022,0B0,023,0B0;24 DEFB 036,030,0F0,086;26 DEFB 03C,0A,0F2,038,032,0B2;28 DEFB 036,032,0F3,023,0B2;2A DEFB 022,0B1,023,0B1;2C DEFB 036,031,0F0,087;2E DEFB 03C,019,0F2,036,010,0F1;30 DEFB 036,073,086,022,090;32 DEFB 022,0B4,023,0B4;34 DEFB 036,034,0F0,088;36 DEFB 03C,1,0F2,038,032,090;38 DEFB 036,6,0F3,023,090;3A DEFB 022,086,023,086;3C DEFB 036,6,0F0,0089;3E DEFB 03F,098,029,08D;C0 DEFB 03D,018,0F1,03D,0F1;C2 DEFB 03E,018,0F1,02A,08D;C4 DEFB 038,6,0F0,042,0A0;C6 DEFB 03F,08A,0BF;C8 DEFB 03D,00A,0F1,080;CA DEFB 03E,0A,0F1,03E,0F1;CC DEFB 039,6,0F0,042,0A1;CE DEFB 03F,099,029,08E;D0 DEFB 03D,019,0F1,040,074,086;D2 DEFB 03E,019,0F1,02A,08E;D4 DEFB 024,0F0,042,0A2;D6 DEFB 03F,081,008C;D8 DEFB 03D,1,0F1,041,6,0F4;DA DEFB 03E,1,0F1,080;DC DEFB 03A,0F0,042,0A3;DE DEFB 03F,09A,029,0B2;E0 DEFB 03D,01A,0F1,037,02B,0B2;E2 DEFB 03E,01A,0F1,02A,0B2;E4 DEFB 025,0F0,042,0A4;E6 DEFB 03F,09B,03D,0B3;E8 DEFB 03D,01B,0F1,037,0E,08F;EA DEFB 03E,01B,0F1,080;EC DEFB 026,0F0,042,0A5;EE DEFB 03F,08B,029,091;F0 DEFB 03D,0B,0F1,08A;F2 DEFB 03E,0B,0F1,02A,091;F4 DEFB 027,0F0,042,0A6;F6 DEFB 03F,08C,036,010,0B2;F8 DEFB 03D,0C,0F1,08B;FA DEFB 03E,0C,0F1,080;FC DEFB 028,0F0,042,0A7;FE T5: DEFB 041,0,09C,040,01C,080;40 DEFB 03A,0F,08D,036,073,08D;42 DEFB 08D,08E;44 DEFB 043,0B5,036,7,086;46 DEFB 041,1,09C,040,01C,081;48 DEFB 039,0F,08D,036,0D,0F3;4A DEFB 08D,08F;4C DEFB 043,0B7,036,8,086;4E DEFB 041,2,09C,040,01C,082;50 DEFB 03A,0F,08E,036,073,08E;52 DEFB 08D,08E;54 DEFB 043,0B6,036,6,087;56 DEFB 041,3,09C,040,01C,083;58 DEFB 039,0F,08E,036,0E,0F3;5A DEFB 08D,08E;5C DEFB 043,0B7,036,6,088;5E DEFB 041,4,09C,040,01C,084;60 DEFB 03A,0F,08F,036,073,08F;62 DEFB 08D,08E;64 DEFB 043,0B5,090;66 DEFB 041,5,09C,040,01C,085;68 DEFB 039,0F,08F,036,0F,0F3;6A DEFB 08D,08E;6C DEFB 043,0B7,091;6E DEFB 041,9,09C,040,01C,0B5;70 DEFB 03A,0F,090,036,073,090;72 DEFB 08D,08E;74 DEFB 043,0B6,080;76 DEFB 041,6,09C,040,01C,086;78 DEFB 039,0F,090,036,010,0F3;7A DEFB 08D,08E;7C DEFB 043,0B7,080;7E TPLD: DEFB 080,081,082,083 DEFB 0B0,0B1,0B4,086 TPAD: DEFM "ADD A" DEFB ","+080 DEFM "ADC A" DEFB ","+080 DEFM "SUB " DEFB 0A0 DEFM "SBC " DEFB 0A0 DEFM "AND " DEFB 0A0 DEFM "XOR " DEFB 0A0 DEFM "OR " DEFB 0A0 DEFM "CP " DEFB 0A0 TPRL: DEFB 0AB,0AC,0AD,0AE DEFB 0AF,0B0,0B1,0B2 TPBT: DEFB 0B3,0B4,0B5 TPRLL: DEFB 0C4,0C5,0C6,0C7 DEFB 0C8,0C9,0CA,0CB TPED: DEFB 0A0,0A1,0A2,0A3 DEFB 0A8,0A9,0AA,0AB DEFB 0B0,0B1,0B2,0B3 DEFB 0B8,0B9,0BA,0BB AT4: LD HL,T4 B1: RES 7,A OR A RET Z B2: BIT 7,(HL) INC HL JR Z,B2 DEC A JR NZ,B2 RET AT3: LD HL,T3 JR B1 AT2: LD HL,T2 JR B1 SPRI: LD A,(HL) RES 7,A CALL PRNTC BIT 7,(HL) INC HL JR Z,SPRI RET SPRK: EX (SP),HL CALL SPRI EX (SP),HL RET LENA: AND 07F SUB 070 JR C,B6 CP 5 JR NC,B6 AND 1 INC A RET B6: XOR A RET LENF: AND 07F SUB 030 JR C,B6 CP 5 JR NC,B6 PUSH AF LD A,0FF LD (PFD),A POP AF CP 4 LD A,1 JR NZ,B6 LD (PFD),A RET PFD: DEFB 0 LENI: PUSH HL PUSH AF XOR A LD (PFD),A POP AF PUSH AF CP 040 JR C,B5 CP 0C0 JR NC,B5 CP 076 JR Z,B8 AND 0F8 CP 070 JR NZ,B7 B9: LD A,1 B11: LD (PFD),A JR B8 B7: POP AF PUSH AF LD HL,TFLD AND 0C7 PUSH BC LD BC,2 CPIR POP BC JR Z,B9 PUSH BC LD BC,4 CPIR POP BC JR NZ,B10 B12: LD A,0FF JR B11 B10: POP AF PUSH AF AND 0F8 PUSH BC LD BC,2 CPIR POP BC JR Z,B12 JR B8 B5: CALL AT4 B4: BIT 7,(HL) INC HL JR Z,B3 B8: POP AF POP HL RET B3: LD A,(HL) CALL LENA ADD A,B LD B,A LD A,(HL) CALL LENF JR B4 TFLD: DEFB 046,086,044,045 DEFB 084,085,060,068 APAR1: PUSH AF B14: AND 7 OR A JR Z,B13 B16: BIT 7,(HL) INC HL JR Z,B16 DEC A JR NZ,B16 B13: POP AF RET APAR2: PUSH AF B15: RRCA RRCA RRCA JR B14 LEN: PUSH HL PUSH BC LD A,(IX+0) LD B,1 CP 0CB JR Z,LCB CP 0ED JR Z,LED CP 0DD JR Z,LFD CP 0FD JR Z,LFD CALL LENI B17: JP B43 LCB: LD B,2 JR B17 LED: LD A,(IX+1) AND 0C7 CP 043 JR NZ,LCB B18: LD B,4 JR B17 LFD: LD A,(IX+1) LD HL,TNFD LD BC,3 CPIR B19: LD B,1 JR Z,B17 CP 0CB JR NZ,B49 LD A,1 LD (PFD),A JR B18 B49: CALL LENI LD A,(PFD) OR A JR Z,B19 INC B DEC A JR NZ,B17 INC B JR B17 TNFD: DEFB 0ED,0DD,0FD SPRI5: PUSH BC LD B,5 B39: LD A,(HL) RES 7,A CALL PRNTC DEC B BIT 7,(HL) INC HL JR Z,B39 B40: CALL PRNTS DJNZ B40 POP BC RET SPR5: EX (SP),HL CALL SPRI5 EX (SP),HL RET PLZ: LD A,"(" B41: JP PRNTC PPZ: LD A,")" JR B41 PRNC: LD A,"," JR B41 PRP: CALL AT3 JP SPRI PRBT: PUSH AF LD A,"#" CALL PRNTC POP AF JP PAHEX PRWO: LD A,"#" CALL PRNTC JP PHLHEX PREF: PUSH AF LD A,(IX+0) CP 0ED JR Z,B35 AND 0DD CP 0DD JR Z,B57 LD L,(IX+1) LD H,(IX+2) POP AF RET B57: LD A,(IX+1) CP 036 JR NZ,B35 LD L,(IX+3) POP AF RET B35: LD L,(IX+2) LD H,(IX+3) POP AF RET PRPAR: RES 7,A CP 034 JR C,PRP JR NZ,B30 CALL PRP LD A,(IX+0) AND 0DD CP 0DD RET NZ LD A,(IX+2) BIT 7,A PUSH AF JR Z,B31 LD A,02D CALL PRNTC POP AF NEG B32: CALL PRBT JP PPZ B31: LD A,02B CALL PRNTC POP AF JR B32 B30: CP 070 JP C,PRP CALL PREF SUB 070 JR NZ,B33 LD A,L JR PRBT B33: DEC A JR Z,PRWO DEC A JR NZ,B34 LD H,0 BIT 7,L JR Z,B36 DEC H B36: PUSH IY POP DE ADD HL,DE INC HL INC HL JP PRWO B34: DEC A JR NZ,B37 CALL PLZ CALL PRWO B38: JP PPZ B37: CALL PLZ LD A,L CALL PRBT JR B38 MAIN: PUSH AF PUSH BC PUSH DE PUSH HL CALL LEN LD (LE),A LD B,A LD C,4 PUSH IY POP HL CALL PRWO CALL PRNTS PUSH IX POP HL B20: LD A,(HL) INC HL CALL PAHEX DEC C DJNZ B20 DEFB 0CB,031 CALL PRNSC LD A,(IX+0) CP 0ED JP Z,BED CP 0CB JP Z,BCB CP 0DD JP Z,BDD CP 0FD JP Z,BDD CP 076 JR NZ,B22 CALL SPR5 DEFM "HAL" DEFB "T"+080 B25: CALL PRPOZ LD A,(LE) LD E,A LD D,0 ADD IX,DE ADD IY,DE POP HL POP DE POP BC POP AF RET B22: CP 040 JR C,B23 CP 0C0 JR NC,B23 CP 080 PUSH AF JR NC,B24 CALL SPR5 DEFB "L","D"+080 POP AF PUSH AF LD HL,TPLD CALL APAR2 LD A,(HL) CALL PRPAR CALL PRNC B26: POP AF LD HL,TPLD CALL APAR1 LD A,(HL) CALL PRPAR B27: JR B25 B24: LD HL,TPAD CALL APAR2 CALL SPRI JR B26 B23: CALL AT4 B56: LD A,(HL) PUSH HL CALL AT2 CALL SPRI5 POP HL BIT 7,(HL) JR NZ,B27 B28: INC HL PUSH HL LD A,(HL) CALL PRPAR POP HL BIT 7,(HL) JR NZ,B27 CALL PRNC JR B28 LE: DEFB 0 B43: LD A,B PUSH AF PUSH DE LD HL,BXT0 LD DE,T31 LD BC,0E LD A,(IX+0) CP 0DD JR Z,BDD1 CP 0FD JR Z,BFD1 B42: LDIR POP DE POP AF POP BC POP HL RET BDD1: LD A,"X" B44: LD (BXTF),A LD (BXTF+2),A LD (BXTF+8),A LD (BXT1+0C),A ADD A,080 LD (BXTF+5),A LD A,(PFD) OR A JR Z,B42 LD HL,BXT1 DEC A JR Z,B42 LD HL,BXTF JR B42 BFD1: LD A,"Y" JR B44 BXTF: DEFB "X","H"+080 DEFB "X","L"+080 DEFB "I","X"+080 DEFB "(","I","X",")"+080 DEFB "(","H","L",")"+080 BXT0: DEFB "H",080 DEFB "L",080 DEFB "H","L"+080 DEFB "(","H","L",")"+080 DEFB "(","H","L",")"+080 BXT1: DEFB "H",080 DEFB "L",080 DEFB "H","L"+080 DEFB "(","H","L",")"+080 DEFB "(","I","X",080 BCB: LD A,(IX+1) B48: CP 040 PUSH AF JR NC,B45 LD HL,TPRL CALL APAR2 LD A,(HL) CALL AT2 CALL SPRI5 B46: JP B26 B45: RLCA RLCA AND 3 DEC A LD HL,TPBT CALL APAR1 LD A,(HL) CALL AT2 CALL SPRI5 POP AF B53: PUSH AF RRCA RRCA RRCA AND 07 OR 030 CALL PRNTC CALL PRNC JR B46 BDD: LD A,(LE) DEC A JR NZ,B47 B55: CALL SPR5 DEFB "N","O","P"+080 JP B25 B47: LD A,(IX+1) CP 0CB JP NZ,B22 LD A,(IX+3) AND 7 CP 6 LD A,(IX+3) JR Z,B48 CP 040 JR C,B50 CP 080 JR NC,B51 AND 0F8 OR 6 JR B48 B50: PUSH AF LD HL,TPRLL CALL APAR2 LD A,(HL) CALL AT2 CALL SPRI5 POP AF LD HL,TPLD CALL APAR1 LD A,(HL) CALL PRPAR CALL PRNC LD A,6 PUSH AF JR B46 B51: PUSH AF BIT 6,A LD A,04C JR Z,B52 LD A,04D B52: CALL AT2 CALL SPRI5 POP AF PUSH AF LD HL,TPLD CALL APAR1 LD A,(HL) CALL PRPAR CALL PRNC POP AF AND 0F8 OR 6 JP B53 BED: LD A,(IX+1) LD HL,TPED LD D,H LD E,L LD BC,010 CPIR JR NZ,B54 LD A,012 SCF SBC HL,DE ADD A,L CALL AT2 CALL SPRI JP B25 B54: CP 040 JP C,B55 CP 080 JP NC,B55 SUB 040 LD HL,T5 CALL B1 JP B56 PRPOZ: LD HL,CPOSH LD A,021 SUB (HL) LD C,A CALL PRNSC CALL SPRK DEFB ";"+080 PUSH IX POP HL PUSH HL LD C,5 LD A,(LE) LD B,A PUSH BC BBB2: LD A,(HL) INC HL CALL PRNTB DEC C DJNZ BBB2 CALL PRNSC POP BC POP HL PUSH HL PUSH BC B60: LD A,(HL) INC HL CALL ASAM1 CALL PRNTB DEC C DJNZ B60 CALL PRNSC POP BC POP HL B61: LD A,(HL) INC HL CALL AVRAM DJNZ B61 CALL LETNL LD A,(IX+0) LD HL,TSK LD BC,4 CP 0ED JR Z,BBB4 CP 0DD JR Z,BBB7 CP 0FD JR Z,BBB7 CPIR BBB6: RET NZ LD B,050 BBB5: CALL SPRK DEFB "-"+080 DJNZ BBB5 RET BBB4: LD A,(IX+1) AND 0C7 CP 045 JR BBB6 BBB7: LD A,(IX+1) CP 0E9 JR BBB6 TSK: DEFB 018,0C3,0C9,0E9 PRNSC: CALL PRNTS DEC C JR NZ,PRNSC RET UNIV: CALL PRALL LD A,(FILES) OR A JP Z,PRMPT RET P2RNTS: CALL PRNTS JP PRNTS VV0: DEFB 0B8,0A6,097,098,096,020 DEFB 0D VV1: DEFB 09A,0B8,0A1,09F,0A9 DEFB 0D DEFB 09A,0B8,0A5,092 DEFB 0D DEFB 09D,092,09C DEFB 0D DEFB 0B3,0A1,097,092 DEFB 0B0,096,0A1 DEFB 0D DEFB 097,09D,092,092,0B0 DEFB 0D DEFB 09F,0BD,0A1,0B0 DEFB 0D DEFB 0BD,092,0B8,0B8,0B7,0A3 DEFB 0D DEFB 0A3,098,0A6,096,092 DEFB 0D PACOL: PUSH DE PUSH BC PUSH AF LD DE,VV0 BIT 3,A CALL NZ,SPR POP AF LD DE,VV1 AND 07 JR Z,BB13 LD B,A BB12: LD A,(DE) INC DE CP 0D JR NZ,BB12 DJNZ BB12 BB13: CALL SPRNL POP BC POP DE RET QFA: LD DE,QCO CALL SPR BB10: CALL INP CP 01B JP Z,BREAK CALL AHCN JR C,BB10 LD B,A CALL PACOL LD DE,QBO CALL SPR BB11: CALL INP CP 01B JP Z,BREAK CALL AHCN JR C,BB11 CP B JR Z,BB11 LD C,A CALL PACOL LD A,B AND 0F OUT (0F0),A OR 010 LD (PLN+8),A LD A,C AND 0F OR 010 OUT (0F0),A LD (PLN+0E),A JP PRMPT QNA: LD DE,QTNA CALL SPRNL JP PRMPT ; ;