;z80 ;zx-spectrum ;assembler FONT EQU #F000 ;61440 HELP EQU 60000 TEXT EQU 24700 MUSIC EQU 49152 SET_UP EQU #F000-1665 ;59775 ORG #E000,17 -INCBIN "#HLP_P" ORG #C000,17 -INCBIN "IzDaRule" ORG FONT -INCBIN "FONT" ORG TEXT -INCBIN "instr.W" ORG HELP,23 -INCBIN "#help1" ORG SET_UP DEFB "BODY" DEFB 0 DEFB 0 DRS DEFB 1 DRQ DEFB 1 BUFBEL DEFB 1 BMUS DEFB 1 BUFCV DEFB 5 BUFCV1 DEFB 5 ORG 24500 WRECKER LD A,17 CALL P17 GETRA CALL #E000 MM2 CALL MUSIC MM3 CALL MUSIC LD A,23 CALL P17 CALL HELP LD A,16 CALL P17 WR1 LD HL,PRER LD A,24 LD (65535),A LD A,195 LD (65524),A LD (65525),HL LD HL,#FE00 LD DE,#FE01 LD BC,256 LD (HL),#FF LD A,H LDIR DI LD I,A IM 2 EI RET IMOFF DI LK LD SP,0 IMOF1 DI LD HL,10072 EXX LD HL,10072 CALL NOT_MUS LD A,63 LD I,A IM 1 EI RET PRER PUSH HL PUSH DE PUSH BC PUSH AF PUSH IX PUSH IY EXX PUSH HL PUSH DE PUSH BC PUSH IX PUSH IY EX AF,AF' PUSH AF KUR CALL 82 ; KRS LD A,17 CALL P17 MOF CALL MUSIC+6 SEWER LD A,16 CALL P17 POP AF POP IY POP IX POP BC POP DE POP HL EX AF,AF' EXX POP IY POP IX POP AF POP BC POP DE POP HL JP 56 HELP1 CALL OFF LD A,24 LD (SEWER+1),A CALL P17 XOR A LD (23560),A UUS LD A,(23560) OR A JR NZ,UUS1 IN A,(31) OR A JR Z,UUS BIT 4,A JR NZ,UUS UUS1 LD A,16 LD (SEWER+1),A CALL P17 JP ON P17 LD BC,32765 OUT (C),A RET ;++++++++++++++++++ ORG 54700 LD HL,KURZOR LD (L36042),HL LD HL,(23613) LD (KOLL+1),HL LD HL,0 LD (23613),HL LD HL,SET_UP-257 LD DE,#000A LD BC,#0105 CALL 15635 KOLL LD HL,0 LD (23613),HL LD HL,#4000 LD DE,#4001 LD BC,6911 LD (HL),L LDIR LD (LK+1),SP CALL WRECKER HALT CALL IMOF1 LD HL,82 LD (GETRA+1),HL LD HL,TEXT LD DE,#0102 CALL PRINT64 ;HL-TEXT INC HL LD (BEG+1),HL LD (BEG1+1),HL LD (BEG2+1),HL LD (BUP),HL LD A,#CA LD HL,PRINT_X LD (RETA),A LD (RETA+1),HL LD HL,#5821 LD DE,#5822 LD BC,29 LD (HL),32+8 LDIR LD A,8+5 LD (#5820+31),A LD HL,SET_UP-257 LD A,(HL) CP "B" JR NZ,GET INC HL LD A,(HL) CP "O" JR NZ,GET INC HL INC HL INC HL INC HL INC HL LD A,(HL) DEC A LD (DRS),A PUSH HL CALL CIR POP HL INC HL LD A,(HL) DEC A LD (DRQ),A ;KEMPSTON PUSH HL CALL ASD POP HL INC HL LD A,(HL) DEC A LD (BUFBEL),A PUSH HL CALL INV POP HL INC HL LD A,(HL) DEC A LD (BMUS),A CALL MUSS1 JR STS GET XOR A LD (KONTR),A LD A,1 LD (DRS),A CALL CIRS LD A,1 LD (DRQ),A CALL ASD XOR A LD (KONTR),A LD (BMUS),A LD (BUFBEL),A CALL INV CALL MUSS STS CALL WRECKER ;++++++++++ MAIN PROGRAM +++++++++++++++++ LD HL,(BUP) LD DE,#0300 CALL PRN LD (BDW),HL ;++++++++++++++++++++++++ OPR CALL KJOY CALL CCVV LD A,1 LD (SS),A LD A,(Y_COORD) CP 161 CALL NC,IKON ;+++++++++ UDALIT ++++++++++++++++++++++++ JP OPR IKON CALL CCVV LD A,(Y_COORD) CP 161 RET C CP 161+8 JR C,IKON CP 161+8+14 JR NC,IKON LD A,(X_COORD) CP 8 JR C,IKON CP 134 JR NC,IKON CP 8+16 JP C,LE1 CP 8+16+16 JP C,VE1 CP 8+16+16+16 JP C,FE1 CP 8+16+16+16+16 JP C,WE1 CP 8+16+16+16+16+16 JP C,RE1 CP 8+16+16+16+16+16+16 JP C,KE1 CP 8+16+16+16+16+16+16+16 JP C,IE1 CP 8+16+16+16+16+16+16+16+16 JP C,OE1 JP IKON BUFKN DEFB 2 RD DEFB 0,0 RG DEFB 0,0 RS DEFB 0,0 KKON CALL ZAKR JR IKON LE1 LD HL,#51A1 LD (RD),HL LD HL,#50C1 LD (RG),HL LD HL,#56C1 LD (RS),HL LD A,2 LD (BUFKN),A LE2 LD A,(X_COORD) CP 8 JP C,KKON CP 16+8 JP NC,KKON LD A,(Y_COORD) CP 161+8 JP C,KKON CP 161+8+14 JP NC,KKON LD A,(BUFKN) OR A CALL Z,LE4 LE3 CALL FIKR OR A JR NZ,LE2 CALL OTKR CALL DOWS XOR A LD (BUFKN),A JP LE3 LE4 CALL ZAKR LD A,1 LD (BUFKN),A RET VE1 LD HL,#51A3 LD (RD),HL LD HL,#50C3 LD (RG),HL LD HL,#56C3 LD (RS),HL LD A,2 LD (BUFKN),A VE2 LD A,(X_COORD) CP 16+8 JP C,KKON CP 16+8+16 JP NC,KKON LD A,(Y_COORD) CP 161+8 JP C,KKON CP 161+8+14 JP NC,KKON LD A,(BUFKN) OR A CALL Z,VE4 VE3 CALL FIKR OR A JR NZ,VE2 CALL OTKR CALL DOWZ ;;;;; XOR A LD (BUFKN),A JP VE3 VE4 CALL ZAKR LD A,1 LD (BUFKN),A RET FE1 LD HL,#51A5 LD (RD),HL LD HL,#50C5 LD (RG),HL LD HL,#56C5 LD (RS),HL LD A,2 LD (BUFKN),A FE2 LD A,(X_COORD) CP 16+8+16 JP C,KKON CP 16+8+16+16 JP NC,KKON LD A,(Y_COORD) CP 161+8 JP C,KKON CP 161+8+14 JP NC,KKON LD A,(BUFKN) OR A CALL Z,FE4 FE3 CALL FIKR OR A JR NZ,FE2 CALL OTKR CALL UPN XOR A LD (BUFKN),A JP FE3 FE4 CALL ZAKR LD A,1 LD (BUFKN),A RET WE1 LD HL,#51A7 LD (RD),HL LD HL,#50C7 LD (RG),HL LD HL,#56C7 LD (RS),HL LD A,2 LD (BUFKN),A WE2 LD A,(X_COORD) CP 16+8+16+16 JP C,KKON CP 16+8+16+16+16 JP NC,KKON LD A,(Y_COORD) CP 161+8 JP C,KKON CP 161+8+14 JP NC,KKON LD A,(BUFKN) OR A CALL Z,WE4 WE3 CALL FIKR OR A JR NZ,WE2 CALL OTKR CALL UPS XOR A LD (BUFKN),A JP WE3 WE4 CALL ZAKR LD A,1 LD (BUFKN),A RET RE1 LD HL,#51A9 LD (RD),HL LD HL,#50C9 LD (RG),HL LD HL,#56C9 LD (RS),HL LD A,2 LD (BUFKN),A RE2 LD A,(X_COORD) CP 16+8+16+16+16 JP C,KKON CP 16+8+16+16+16+16 JP NC,KKON LD A,(Y_COORD) CP 161+8 JP C,KKON CP 161+8+14 JP NC,KKON LD A,(BUFKN) OR A CALL Z,RE4 RE3 CALL FIKR OR A JR NZ,RE2 CALL OTKR CALL MUSS LD A,1 LD (KONTR),A XOR A LD (BUFKN),A JP RE3 RE4 CALL ZAKR LD A,1 LD (BUFKN),A XOR A LD (KONTR),A RET KE1 LD HL,#51A9+2 LD (RD),HL LD HL,#50C9+2 LD (RG),HL LD HL,#56C9+2 LD (RS),HL LD A,2 LD (BUFKN),A KE2 LD A,(X_COORD) CP 16+8+16+16+16+16 JP C,KKON CP 16+8+16+16+16+16+16 JP NC,KKON LD A,(Y_COORD) CP 161+8 JP C,KKON CP 161+8+14 JP NC,KKON LD A,(BUFKN) OR A CALL Z,KE4 KE3 CALL FIKR OR A JR NZ,KE2 CALL OTKR CALL INV LD A,1 LD (KONTR),A XOR A LD (BUFKN),A JP KE3 KE4 CALL ZAKR LD A,1 LD (BUFKN),A XOR A LD (KONTR),A RET IE1 LD HL,#51A9+4 LD (RD),HL LD HL,#50C9+4 LD (RG),HL LD HL,#56C9+4 LD (RS),HL LD A,2 LD (BUFKN),A IE2 LD A,(X_COORD) CP 16+8+16+16+16+16+16 JP C,KKON CP 16+8+16+16+16+16+16+16 JP NC,KKON LD A,(Y_COORD) CP 161+8 JP C,KKON CP 161+8+14 JP NC,KKON LD A,(BUFKN) OR A CALL Z,IE4 IE3 CALL FIKR OR A JR NZ,IE2 CALL OTKR CALL HELP1 XOR A LD (BUFKN),A JP IE3 IE4 CALL ZAKR LD A,1 LD (BUFKN),A RET OE1 LD HL,#51A9+6 LD (RD),HL LD HL,#50C9+6 LD (RG),HL LD HL,#56C9+6 LD (RS),HL LD A,2 LD (BUFKN),A OE2 LD A,(X_COORD) CP 16+8+16+16+16+16+16+16 JP C,KKON CP 16+8+16+16+16+16+16+16+16 JP NC,KKON LD A,(Y_COORD) CP 161+8 JP C,KKON CP 161+8+14 JP NC,KKON OE3 CALL FIKR OR A JR NZ,OE2 CALL OTKR CALL IMOFF XOR A LD (BUFKN),A JP OE3 FAZA3 LD B,7 DERF3 RES 1,(HL) INC H DJNZ DERF3 RET FAZA LD B,7 DERF RES 6,(HL) INC H DJNZ DERF RET FAZA2 LD B,7 DERF2 SET 1,(HL) INC H DJNZ DERF2 RET FAZA1 LD B,7 DERF1 SET 6,(HL) INC H DJNZ DERF1 RET ZAKR CALL OFF LD HL,(RD) LD A,255-128 LD (HL),A INC L LD A,255-2 LD (HL),A DEC L CALL FAZA1 LD HL,(RG) CALL FAZA1 LD HL,(RS) LD A,128 LD (HL),A INC L LD A,1 LD (HL),A LD HL,(RD) INC L CALL FAZA3 LD HL,(RG) INC L LD B,6 CALL DERF3 JP ON OTKR CALL OFF LD HL,(RD) XOR A LD (HL),A INC L LD A,3 LD (HL),A DEC L CALL FAZA LD HL,(RG) LD B,6 CALL DERF LD HL,(RS) LD A,255 LD (HL),A INC L LD (HL),A LD HL,(RD) INC L CALL FAZA2 LD HL,(RG) INC L LD B,6 CALL DERF2 JP ON SATE LD A,(KONTR) OR A RET NZ LD A,1 LD (KONTR),A CALL IMOF1 CALL OFF CALL SAVER CALL ON JP WR1 SS DEFB 1 ;++++++++++ SAVE SETUP +++++++++++++ SETES LD A,(KONTR) OR A RET NZ LD A,1 LD (KONTR),A CALL IMOF1 CALL OFF LD HL,(23613) LD (GGFF+1),HL LD HL,GTRF LD (23613),HL LD HL,#C9F1 LD (#5CC2),HL LD HL,SET_UP LD BC,#0106 LD DE,10 CALL 15635 GGFF LD HL,0 LD (23613),HL CALL ON JP WR1 GTRF DEFB SETES ;========= HELP ================== ;++++++++ FIRE ++++++++++++ FIKR LD BC,#EFFE IN A,(C) BIT 0,A JR Z,FI LD B,#F7 IN A,(C) BIT 4,A JR Z,FI LD B,#7F IN A,(C) BIT 0,A JR Z,FI FIRKEM JP KEMPS FIRMOU JP S1 S1 LD A,1 RET ;++++++++++ MOUS FIRE +++++ FI XOR A RET KEMPS IN A,(31) BIT 4,A JR NZ,FI LD A,1 RET ;+++++++++++ EXIT +++++++++ EXIT CALL NOT_MUS LD HL,00 PUSH HL JP 15663 ;++++++++++++ BEGIN +++++++ BEG2 LD DE,00 LD HL,(BUP) SBC HL,DE RET Z RET C PUSH DE CALL OFF POP HL LD (BUP),HL CALL PRN LD (BDW),HL JP ON ;+++++++++++ END TEXT +++++ KONEC LD HL,(BDW) LD A,(HL) OR A RET Z CALL OFF LD HL,(BDW) ENTR LD A,(HL) OR A JR Z,END INC HL JR ENTR END LD (BDW),HL LD B,17 PSI PUSH BC CALL POISK POP BC DJNZ PSI LD (BUP),HL CALL PRN JP ON ;++++++++ MUSIK ON/OFF +++++++ MUSS LD A,(KONTR) OR A RET NZ LD A,1 LD (KONTR),A MUSS1 LD A,(BMUS) OR A JR Z,ONN XOR A LD (BMUS),A LD HL,82 LD (MOF+1),HL NOT_MUS XOR A LD D,14 SSS_1 LD BC,#FFFD DEC D OUT (C),D LD B,#BF OUT (C),A JR NZ,SSS_1 LD B,#FF LD D,7 OUT (C),D LD B,#BF DEC A OUT (C),A RET ONN LD A,1 LD (BMUS),A LD HL,MUSIC+6 LD (MOF+1),HL RET ;++++++++ CURSOR ON/OFF +++++++++ CIRS LD A,(KONTR) OR A RET NZ LD A,1 LD (KONTR),A CIR LD A,(DRS) OR A JR Z,ONNN XOR A LD (DRS),A LD HL,KJOY LD (OPR+1),HL CALL OFF LD A,#C9 LD (ON),A LD (OFF),A RET ONNN LD A,1 LD (DRS),A XOR A LD (ON),A LD (OFF),A LD HL,FIRE LD (OPR+1),HL CALL INMEM JP ON KEMON LD A,(KONTR) OR A RET NZ LD A,1 LD (KONTR),A ASD LD A,(DRQ) OR A JR Z,ONN1 XOR A LD (DRQ),A LD HL,FIRMOU ;OFF LD (FIRKEM+1),HL LD A,#C9 LD (OFFJOY),A RET ONN1 LD A,1 LD (DRQ),A LD HL,KEMPS ;ON LD (FIRKEM+1),HL XOR A LD (OFFJOY),A RET ;+++++++ SCROLL UP DOWN ++++++++++ UP LD B,16 LD DE,4 LD HL,#4060 DOZ PUSH BC CALL DVIG PUSH HL PUSH DE LD A,E AND #18 SRL A SRL A SRL A OR #58 LD H,A LD A,E AND 7 OR A RRA RRA RRA RRA ADD A,D LD L,A ;HL=4060 ATR PUSH HL LD DE,#20 SBC HL,DE PUSH HL POP DE POP HL DEFS 32,#ED,#A0 POP DE POP HL INC E POP BC DJNZ DOZ RET DOWN LD B,16 LD DE,18 LD HL,#5060 DEK PUSH BC CALL DVIG PUSH HL PUSH DE LD A,E AND #18 SRL A SRL A SRL A OR #58 LD H,A LD A,E AND 7 OR A RRA RRA RRA RRA ADD A,D LD L,A ;HL=4060 ATR PUSH HL LD DE,#20 ADD HL,DE PUSH HL POP DE POP HL DEFS 32,#ED,#A0 POP DE POP HL DEC E POP BC DJNZ DEK RET DVIG PUSH DE PUSH HL LD A,E AND #18 ADD A,#40 LD H,A LD A,E AND #07 RRCA RRCA RRCA ADD A,D LD L,A POP DE PUSH HL LD B,8 DEZ PUSH BC LD BC,32 PUSH HL PUSH DE DEFS 32,#ED,#A0 ;SPECIAL FOR POP DE ;ALEX POP HL ;NIKIFOROV INC H INC D POP BC DJNZ DEZ POP HL POP DE RET ;++++++ OUTPUT SYMBOLS 64 +++++++++++++ PRINT64 PUSH HL ; ÏÅ×ÀÒÜ ÎÄÍÎÉ ÑÒÐÎÊ PUSH DE ; HL - ÀÄÐÅC SRL E LD A,D AND #18 OR #40 LD H,A LD A,D AND 7 RRCA RRCA RRCA OR E LD L,A ; HL=ADDRESS OF SCREEN LD (AD_SCRN+1),HL POP DE POP HL LD A,(HL) INC HL CP 8 JR C,PRINT1X PROD PUSH AF PR1 LD A,5 LD (BUFCV),A POP AF JR PROD1 PRINT1X LD (BUFCV),A PRINT_X LD A,(HL) INC HL CP 8 JR C,PRINT1X PROD1 PUSH DE PUSH HL PUSH AF LD A,E SRA A ;(C) BY SATZUFT! CP 32 JR C,RETD LD A,31 RETD LD E,A LD A,D AND #18 SRL A SRL A SRL A OR #58 LD H,A LD A,D AND 7 OR A RRA RRA RRA RRA ADD A,E LD L,A LD A,(BUFCV) LD (HL),A POP AF POP HL POP DE CP 10 JR Z,PRINT13 CP 9 JR Z,PRINT9 CP 13 RETA RET Z ;JR Z,PRINT_X NOP NOP CALL PR_SYMB JP PRINT_X PRINT9 LD A,7 OR E INC A LD C,A P9_LOOP LD A,E CP C JR Z,PRINT_X LD A," " CALL PR_SYMB JP P9_LOOP PRINT13 PUSH HL LD A,E CP 64 JR Z,LABEL_9 LD A," " CALL PR_SYMB JR $-10 LABEL_9 POP HL LD E,0 INC D LD A,D CP 24 RET C DEC D RET PR_SYMB PUSH DE EXX AD_SCRN LD HL,0 LD E,A LD D,'FONT ; DE=ADDRESS OF SYMBOL POP AF JP NC,MASK_0F MASK_F0 LD A,L INC A LD (AD_SCRN+1),A LD A,(DE) ; 1 AND #0F LD C,A LD A,(HL) AND #F0 OR C LD (HL),A INC H INC D LD A,(DE) ; 2 AND #0F LD C,A LD A,(HL) AND #F0 OR C LD (HL),A INC H INC D LD A,(DE) ; 3 AND #0F LD C,A LD A,(HL) AND #F0 OR C LD (HL),A INC H INC D LD A,(DE) ; 4 AND #0F LD C,A LD A,(HL) AND #F0 OR C LD (HL),A INC H INC D LD A,(DE) ; 5 AND #0F LD C,A LD A,(HL) AND #F0 OR C LD (HL),A INC H INC D LD A,(DE) ; 6 AND #0F LD C,A LD A,(HL) AND #F0 OR C LD (HL),A INC H INC D LD A,(DE) ; 7 AND #0F LD C,A LD A,(HL) AND #F0 OR C LD (HL),A INC H INC D LD A,(DE) ; 8 AND #0F LD C,A LD A,(HL) AND #F0 OR C LD (HL),A EXX INC E RET MASK_0F LD A,(DE) ; 1 AND #F0 LD C,A LD A,(HL) AND #0F OR C LD (HL),A INC H INC D LD A,(DE) ; 2 AND #F0 LD C,A LD A,(HL) AND #0F OR C LD (HL),A INC H INC D LD A,(DE) ; 3 AND #F0 LD C,A LD A,(HL) AND #0F OR C LD (HL),A INC H INC D LD A,(DE) ; 4 AND #F0 LD C,A LD A,(HL) AND #0F OR C LD (HL),A INC H INC D LD A,(DE) ; 5 AND #F0 LD C,A LD A,(HL) AND #0F OR C LD (HL),A INC H INC D LD A,(DE) ; 6 AND #F0 LD C,A LD A,(HL) AND #0F OR C LD (HL),A INC H INC D LD A,(DE) ; 7 AND #F0 LD C,A LD A,(HL) AND #0F OR C LD (HL),A INC H INC D LD A,(DE) ; 8 AND #F0 LD C,A LD A,(HL) AND #0F OR C LD (HL),A EXX INC E RET ;++ NEW PROG DOWN!!! C00L DOWN ALG DOWZ LD HL,(BUP) BEG LD DE,00 SBC HL,DE RET C RET Z CALL OFF LD HL,(BUP) CALL POISK LD (BUP),HL LD HL,(BDW) CALL POISK LD (BDW),HL CALL DOWN LD HL,(BUP) LD DE,#0300 CALL PRINT64 JP ON POISK LD A,#0D DEC HL DEC HL DEC HL LD BC,5000 POSIS CPD JR NZ,POSIS INC HL INC HL INC HL RET ;+++++++PROCEDURE UP!++++++++++++++ UPN LD HL,(BDW) LD A,(HL) OR A RET Z CALL OFF LD HL,(BUP) CALL REZER LD (BUP),HL CALL UP LD HL,(BDW) LD DE,#1300 CALL PRINT64 LD (BDW),HL JP ON ;======================== REZER LD BC,5000 LD A,#0D POS CPI JR NZ,POS INC HL RET ;====== DOWN STRANICY ========= DOWS LD HL,(BUP) BEG1 LD DE,21313 SBC HL,DE RET C RET Z PUSH DE CALL OFF POP DE LD B,17 ; LD HL,(BUP) DATA PUSH BC CALL POISK PUSH HL SBC HL,DE JP Z,GAD JP C,GAD POP HL POP BC DJNZ DATA NAZ LD (BUP),HL CALL PRN LD (BDW),HL JP ON GAD POP HL POP BC JR NAZ ;;+++++++++++++++++++++ PRN LD B,17 LD DE,#0300 JK CALL PRINT64 DJNZ JK RET ;======== UP STRANICY ====== UPS LD HL,(BDW) LD A,(HL) OR A RET Z CALL OFF LD HL,(BDW) LD B,17 FRAK PUSH BC CALL REZER POP BC LD A,(HL) OR A JP Z,TALL DJNZ FRAK TALL LD (BDW),HL LD B,17 METKA PUSH BC CALL POISK POP BC DJNZ METKA LD (BUP),HL CALL PRN JP ON ;+++++++++++++++++++++++++ FIRE LD A,(KONTR) PUSH AF CALL FIKR LD (ASW+1),A POP AF LD (KONTR),A ASW LD A,0 OR A RET NZ ;++++++++++++++++++++++++++ FIRES LD A,(X_COORD) CP 27 JP C,DOS LD A,(X_COORD) CP 255-32 JP NC,US LD A,(Y_COORD) CP 96 JP NC,UPN JP DOWZ DOS LD A,(Y_COORD) CP 32 JP C,BEG2 JP DOWS US LD A,(Y_COORD) CP 32 JP C,KONEC JP UPS BDW DEFB 0,0 BUP DEFB 0,0 KONTR DEFB 0 ;++++++++++ OPROS KEMPSTON , SINCLER+ KJOY LD BC,#FEFE IN A,(C) BIT 0,A ;CS JR Z,VBB LD B,#FB IN A,(C) BIT 0,A ;Q JP Z,DOWZ LD B,#FD IN A,(C) BIT 0,A ;A JP Z,UPN LD B,#DF IN A,(C) ;O BIT 1,A JP Z,DOWS BIT 0,A ;P JP Z,UPS LD B,#EF IN A,(C) BIT 1,A JP Z,DOWZ BIT 2,A JP Z,UPN BIT 3,A JP Z,UPS BIT 4,A JP Z,DOWS LD B,#F7 IN A,(C) BIT 3,A JP Z,DOWZ BIT 2,A JP Z,UPN BIT 1,A JP Z,UPS BIT 0,A JP Z,DOWS RET VBB LD B,#F7 IN A,(C) BIT 4,A ;CS JP Z,DOWS LD B,#EF IN A,(C) BIT 4,A JP Z,UPN BIT 3,A JP Z,DOWZ BIT 2,A JP Z,UPS RET CCVV LD BC,#7FFE IN A,(C) BIT 2,A ;M JP Z,MUSS IN A,(C) BIT 4,A ;B JP Z,BEG2 LD BC,#FBFE IN A,(C) BIT 2,A ;E JP Z,KONEC LD B,#BF IN A,(C) BIT 0,A JP Z,CIRS LD B,#BF IN A,(C) BIT 4,A ;H JP Z,HELP1 BIT 3,A ;J JP Z,KEMON LD B,#FE IN A,(C) BIT 3,A ;C JR Z,INV IN A,(C) BIT 0,A ;CS JR NZ,FFGG LD B,#F7 IN A,(C) BIT 0,A ;1 JP Z,IMOFF LD B,#FD IN A,(C) BIT 1,A ;S JP Z,SETES LD B,#FB IN A,(C) BIT 4,A ;T JP Z,SATE FFGG XOR A LD (KONTR),A RET SAAS DEFB SAVER INCLUDE "CHIT",7 KURZOR INCBIN "KURZOR"