;z80 ;assembler ;zx-spectrum ORG #C000,#01 INCBIN "instr.C" ORG #C000,#03 INCBIN "schl_1.C" ORG #C000,#04 INCBIN "scrn.C" ORG #C000,#06 INCBIN "mus1.C" ORG #C000,#07 INCBIN "mus2.C" ORG #6300 INCLUDE "INSTALL.H",#15 START XOR A LD (MUS+1),A START2 XOR A LD (TYME+1),A LD (FURE1+1),A LD (SEL_LEV),A LD (FLAG+1),A LD (STR+1),A LD (STP+1),A LD (FCHECK6+1),A LD (MUS2+1),A INC A LD (SCROL+1),A LD (STS_1+1),A INC A LD (VIV_F+1),A LD HL,BUFER7+336-48 LD (MASK+1),HL LD HL,BUFER2+336-48 LD (CH_SPR+1),HL CALL INT_OFF CALL STIR LD HL,SCREEN CALL DECOM CALL LIEW XOR A CALL INIT_M CALL INT_ON LD HL,TEXT CALL IN_SP LD HL,TXT1 CALL IN_SP LD HL,TXT2 CALL IN_SP LD HL,TXT3 CALL IN_SP LD HL,TXT4 CALL IN_SP CALL SELECT CALL SCOR_IN STARL CALL STIR CALL INT_OFF XOR A LD (STR+1),A LD (STP+1),A LD (FCHECK6+1),A LD (MUS2+1),A LD (FLAG+1),A INC A LD (SCROL+1),A LD (STS_1+1),A INC A LD (VIV_F+1),A LD HL,BUFER7+336-48 LD (MASK+1),HL LD HL,BUFER2+336-48 LD (CH_SPR+1),HL LD A,#C9 LD (CLS_SC1),A CALL CLS_SCR LD A,#21 LD (CLS_SC1),A LD A,20 CALL PAGE LD HL,SCR_LEV CALL DECOM LD A,16 CALL PAGE LD A,#C9 LD (ADRIB),A LD A,(SEL_LEV) INC A LD B,A LD HL,NUM_LEV LD DE,72 ADD HL,DE DJNZ $-1 OR A SBC HL,DE LD BC,#0303 LD DE,20483 CALL SPR_OUT LD A,#3E LD (ADRIB),A CALL LIEW KLR2 XOR A ;NZ-esli klawia navata IN A,(254) CPL AND 31 JR Z,KLR2 CALL STIR CALL CLS_SCR CALL INST_I CALL R_EASY LD HL,POL_S1 LD DE,16404 LD BC,#140C CALL SAD_OUT LD HL,SPR_5_5+2925 LD DE,#48D5 LD BC,#0505 CALL SAD_OUT LD HL,POL_S2 LD DE,#5080 LD BC,#0120 PUSH HL PUSH BC CALL SAD_OUT POP BC POP HL LD DE,#50E0 CALL SAD_OUT CALL WYWOD CALL WIEV_S CALL IN_STR XOR A LD (VIV_F+1),A INC A LD (FLAG+1),A LD HL,BUF_T CALL PRN_CLK LD HL,SCOR_WR CALL PRN_CLK LD HL,SCOR_YA CALL PRN_CLK LD A,(SEL_LEV) INC A CALL INIT_M CALL INT_ON STR1 EI STR LD A,0 HALT INC A JP NZ,STRDOM LD A,1 LD (VIV_F+1),A LD HL,SPR_5_5+2700 LD DE,#48D5 LD BC,#0505 CALL SAD_OUT EI HALT STS_1 LD A,1 DEC A JR Z,STS LD (STS_1+1),A JR STS_1-2 STS LD HL,SPACE CALL PRINT LD A,1 LD (STS_1+1),A LD A,(INT3+1) PUSH AF LD A,16 LD (INT3+1),A CALL DUM POP AF LD (INT3+1),A CALL WYWOD CALL F_CHECK LD A,(STS_1+1) STS_3 DEC A JR Z,STS_2 EI HALT JR STS_3 STS_2 LD HL,SPACE CALL PRINT LD A,1 LD (STS_1+1),A LD HL,SPR_5_5+2925 LD DE,#48D5 LD BC,#0505 CALL SAD_OUT CALL SOHR LD A,10 LD (KEY+1),A XOR A LD (VIV_F+1),A LD (GAME+1),A LD (STR+1),A INC A STRDOM DEC A JP Z,STR1 DEC A JP Z,STR3 DEC A JP Z,AUTO1 DEC A JR Z,PROST DEC A JR Z,CRED ; JR STR3 JP INT_OFF PROST LD A,(WYW_3) XOR #AF LD (WYW_3),A CALL WYWOD LD A,(FURE1+1) OR A LD HL,SPR_5_5+2925 JR Z,PROST1 LD HL,SPR_5_5+3600 PROST1 LD DE,#48D5 LD BC,#0505 CALL SAD_OUT XOR A LD (STR+1),A JP STR1 CRED CALL STIR LD A,23 CALL PAGE LD HL,CREDIT CALL DECOM LD A,16 CALL PAGE CALL LIEW CRED1 EI HALT XOR A IN A,(#FE) CPL AND 31 JR NZ,CRED2 LD HL,(KEYS+1) LD DE,KEMPST OR A SBC HL,DE LD A,H OR L JR NZ,CRED1 IN A,(#1F) AND 31 JR Z,CRED1 CRED2 CALL STIR LD A,#C9 LD (CLS_SC1),A CALL CLS_SCR LD A,#21 LD (CLS_SC1),A CALL WYWOD LD HL,POL_S1 LD DE,16404 LD BC,#140C CALL SAD_OUT LD HL,BUF_T CALL PRN_CLK LD HL,SCOR_WR CALL PRN_CLK LD HL,SCOR_YA CALL PRN_CLK LD HL,SPR_5_5+2925 LD DE,#48D5 LD BC,#0505 CALL SAD_OUT LD HL,POL_S2 LD DE,#5080 LD BC,#0120 CALL SAD_OUT LD HL,POL_S3 LD DE,#50A0 LD BC,#0220 CALL SAD_OUT LD HL,#50E0 LD B,8 CRD_EK2 PUSH HL LD C,32 CRD_EK1 LD (HL),0 INC L DEC C JR NZ,CRD_EK1 POP HL CALL DPIX_HL DJNZ CRD_EK2 LD HL,#5AE0 LD DE,#5AE1 LD BC,31 LD (HL),7 LDIR LD A,10 LD (FLAG+1),A LD (KEY+1),A XOR A LD (STR+1),A JP STR1 START1 LD A,1 LD (STR+1),A RET STR3 XOR A LD (FLAG+1),A STP2 LD A,0 CALL INIT_M XOR A LD (XREN),A CALL WYWOD LD A,#AF LD (XREN),A STP LD BC,0 STP1 EI HALT DEC BC LD A,B OR C JR NZ,STP1 LD A,(STP+2) CP 3 JR Z,STPL LD A,(SEL_LEV) INC A LD (SEL_LEV),A CP 3 JR NC,STPL LD A,(STP3+1) LD (MUS+1),A JP STARL STPL CALL STIR CALL SAD CALL INT_ON CALL WWOD_HI STP3 LD A,0 LD (MUS+1),A JP START2 AUTO1 LD IX,TAB_K LD A,1 LD (AUTO4+1),A LD B,12 AUTO5 LD A,(IX+0) OR A JR Z,AUTO2 DEC A LD (IX+0),A AUTO3 CALL RND LD A,L RRA CP 40 JR NC,$-3 LD E,A LD D,0 LD HL,BUF_I+60 ADD HL,DE LD A,(HL) CP 19 JR NZ,AUTO3 AUTO4 LD A,0 LD (HL),A JR AUTO5 AUTO2 LD HL,AUTO4+1 INC (HL) INC IX DJNZ AUTO5 CALL WYWOD LD A,#FF LD (KEY+1),A XOR A LD (STR+1),A EI HALT JP STR1 RND LD HL,0 LD A,R XOR H LD E,A AND %00111111 LD D,A LD A,(DE) XOR L LD H,A XOR E RRCA LD L,A LD (RND+1),HL RET SAD CALL INT_OFF LD A,20 CALL PAGE LD HL,SADDAM CALL DECOM LD A,(STP+2) CP 3 JR Z,GO LD A,#C9 LD (ADRIB),A LD HL,SPR_SAD GO1 LD BC,#0209 LD DE,20544 CALL SPR_OUT LD A,#3E LD (ADRIB),A JR SAD_0 GO LD A,#C9 LD (ADRIB),A LD HL,SPR_SAD+144 JR GO1 SAD_0 CALL LIEW LD A,19 CALL PAGE SAD_4 LD HL,49152 LD B,30 SAD_3 PUSH HL PUSH BC LD BC,#0A06 LD DE,16553 CALL SAD_OUT LD B,5 EI HALT DJNZ $-2 XOR A ;NZ-esli klawia navata IN A,(254) CPL AND 31 JR NZ,TRY2 POP BC POP HL LD DE,540 ADD HL,DE DJNZ SAD_3 JR SAD_4 TRY2 POP BC POP HL LD A,16 JP PAGE SAD_OUT LD A,B LD (SAD_51+1),A RLCA RLCA RLCA LD B,A ;B-Y ;C-X ;HL-otkuda LD A,C LD (SAD_41+1),A LD A,32 SUB C LD (SAD_31+1),A PUSH DE ;DE-kuda SAD_1 PUSH BC PUSH DE LD B,0 LDIR POP DE CALL DPIX_DE POP BC DJNZ SAD_1 POP DE LD A,D RRCA RRCA RRCA AND 3 OR 88 LD D,A SAD_51 LD B,0 SAD_2 PUSH BC SAD_41 LD BC,0 LDIR EX DE,HL SAD_31 LD C,0 ADD HL,BC EX DE,HL POP BC DJNZ SAD_2 RET ;-------------------------------- NEXT_CL LD (AD_CLK+1),HL EXX PRN_CLK LD A,(HL) INC HL CP #FF RET Z CP #16 JR Z,N_POSS CLK1 EXX ADD A,A LD L,A LD H,0 ADD HL,HL ADD HL,HL LD DE,FONT_CL ADD HL,DE AD_CLK LD DE,16336 INC E LD (AD_CLK+1),DE DEC E LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A JP PRN_CLK-1 N_POSS LD B,(HL) INC HL LD C,(HL) INC HL PUSH BC EXX POP BC LD A,C AND #18 OR #40 LD H,A LD A,C AND 7 RRCA RRCA RRCA ADD A,B LD L,A JP NEXT_CL POFIG LD A,100 LD (STS_1+1),A RET NEXT_L EXX ADRES_A LD HL,16336 LD A,8 ADD A,H LD H,A LD A,L ADD A,32 LD L,A JR C,NEXT_L1 LD A,H SUB 8 LD H,A NEXT_L1 LD (ADRES_E+1),HL LD (ADRES_A+1),HL EXX PRINT LD A,(HL) INC HL CP 32 JR NC,PR_1 OR A JR Z,POFIG CP #0D JR Z,NEXT_L CP #16 JR Z,N_POS PR_1 EXX ADD A,A LD L,A LD H,0 ADD HL,HL ADD HL,HL LD DE,FONT-256 ADD HL,DE ADRES_E LD DE,16336 INC E LD (ADRES_E+1),DE DEC E LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A INC HL INC D LD A,(HL) LD (DE),A JP PRINT-1 N_POS LD B,(HL) INC HL LD C,(HL) INC HL PUSH BC EXX POP BC LD A,C AND #18 OR #40 LD H,A LD A,C AND 7 RRCA RRCA RRCA ADD A,B LD L,A JP NEXT_L1 ATT_S LD A,C AND #18 OR #40 LD H,A LD A,C AND 7 RRCA RRCA RRCA ADD A,B LD L,A RET PAUSE XOR A IN A,(254) CPL AND 31 RET NZ LD A,1 LD (STP+1),A RET SPR_OUT LD A,B ;B-Y RLCA ;C-X RLCA ;HL-otkuda RLCA LD B,A PUSH DE ;DE-kuda SPR_1 PUSH BC PUSH DE LD B,0 LDIR POP DE CALL DPIX_DE POP BC DJNZ SPR_1 POP DE ADRIB LD A,0 CP 12 JR C,BUFAT CP 22 JR C,BUFAT_1 RLA JR NC,BUFAT LD HL,ATTR_1 JR BUFAT_1 ;BUFAT RLA ; JR NC,BUFAT_1 BUFAT LD HL,ATTR_2 BUFAT_1 LD A,D RRCA RRCA RRCA AND 3 OR 88 LD D,A LDI LDI EX DE,HL LD BC,30 ADD HL,BC EX DE,HL LDI LDI RET ATTR_1 DEFB 6,6,6,6 ATTR_2 DEFB 5,5,5,5 ;------------------------------------- INT_ON DI LD HL,#5B00 LD A,H LD I,A IM 2 INC A INC A LD B,L LD (HL),A INC HL DJNZ $-2 LD (HL),A LD H,A LD L,H LD (HL),#C3 LD HL,INT LD (#5D5E),HL EI RET INT_OFF DI LD A,#3F LD I,A IM 1 MUS_OFF CALL STOP_M LD HL,10072 EXX EI RET INT PUSH HL,DE,BC,AF,IX,IY EXX EX AF,AF' PUSH HL,DE,BC,AF LD A,7 OUT (254),A LD A,16 LD BC,32765 OUT (C),A FLAG LD A,0 OR A JR Z,MUS VIV_F LD A,0 OR A CALL Z,VIEV_B TYME LD A,0 OR A CALL Z,TIME STREL CALL KEY MUS LD A,0 OR A JR NZ,MUS1 CALL PLAY_M JR MUS2 MUS1 CALL STOP_M MUS2 LD A,0 OR A CALL NZ,GAM_O1 SCROL LD A,0 OR A CALL Z,SCROLL INT3 LD A,16 LD BC,32765 OUT (C),A XOR A OUT (254),A POP AF,BC,DE,HL EX AF,AF' EXX POP IY,IX,AF,BC,DE,HL EI RET CLS_SCR XOR A LD HL,23295 LD DE,23294 LD BC,6911 LD (HL),A LDDR OUT (254),A CLS_SC1 LD HL,22528 LD DE,22529 LD BC,767 LD (HL),7 LDIR RET ; INCLUDE "SELECT.H",#17 ;------------------------------- TIME LD A,1 DEC A LD (TIME+1),A CP 25 JR Z,TIME_1 OR A RET NZ TIME_C LD A,50 LD (TIME+1),A SEC LD A,0 INC A LD (SEC+1),A CP 60 JR C,TIME_1 XOR A LD (SEC+1),A MIN LD A,0 INC A LD (MIN+1),A CP 60 JR C,TIME_1 XOR A LD (MIN+1),A HOUR LD A,0 INC A LD (HOUR+1),A CP 24 JR C,TIME_1 XOR A LD (HOUR+1),A TIME_1 LD HL,BUF_T1 LD A,(HOUR+1) CALL CONV_1 LD A,(HL) XOR 1 LD (HL),A INC HL LD A,(MIN+1) CALL CONV_1 LD A,(HL) XOR 1 LD (HL),A INC HL LD A,(SEC+1) CALL CONV_1 LD HL,(AD_CLK+1) PUSH HL LD HL,BUF_T CALL PRN_CLK POP HL LD (AD_CLK+1),HL RET CONV_1 PUSH DE EX DE,HL LD H,0 LD L,A LD BC,10 CALL C_7 XOR A ADD A,L LD (DE),A INC DE EX DE,HL POP DE RET CONV_2 LD DE,SCORE LD BC,100 CALL C_7 LD BC,10 CALL C_7 XOR A ADD A,L LD (DE),A RET C_7 XOR A C_8 OR A SBC HL,BC JR C,C_9 INC A JR C_8 C_9 ADD HL,BC LD (DE),A INC DE RET WYWOD LD B,#0A LD DE,#4000 LD HL,BUF_I WYW_2 PUSH BC PUSH DE LD C,#0A WYW_1 PUSH BC LD A,(HL) LD (ADRIB+1),A INC HL SLA A LD (WYWOD1+1),DE PUSH DE JR NC,WYW_3 BIT 6,A JR NZ,WYW_3 XREN XOR A WYW_3 NOP EXX AND 62 LD L,A LD H,0 ADD HL,HL PUSH HL ADD HL,HL ADD HL,HL ADD HL,HL POP DE ADD HL,DE LD DE,SPRIT_P ADD HL,DE WYWOD1 LD DE,0 LD BC,#0202 CALL SPR_OUT EXX POP DE INC E INC E POP BC DEC C JR NZ,WYW_1 POP DE LD B,16 CALL DPIX_DE DJNZ $-3 POP BC DJNZ WYW_2 LD HL,BUF_I LD B,100 RES_B RES 5,(HL) INC HL DJNZ RES_B RET R_EASY LD A,R LD C,5 AND 15 CP 10 JR C,$+4 SUB 10 LD E,A LD D,0 LD HL,BUF_I ADD HL,DE LD (HL),13+128 ;flag igroka OR A JR Z,$+7 DEC HL LD (HL),11+128 ;mina DEC C INC HL CP 9 JR Z,$+7 INC HL LD (HL),11+128 DEC C DEC HL LD DE,10 ADD HL,DE LD (HL),11+128 LD A,C LD (TAB_J+10),A LD DE,BUF_I BUF_C LD A,(DE) OR A JR NZ,BUF_S LD A,R RRCA LD R,A AND 15 CP 11 JR C,$+4 SUB 5 LD L,A LD H,0 LD BC,TAB_J ADD HL,BC TAB_W DEC (HL) JP P,BUF_Z LD C,A INC (HL) TAB_A INC C INC HL LD A,(HL) INC A JR NZ,TAB_Y LD C,A LD HL,TAB_J TAB_Y DEC A JR Z,TAB_A TAB_X LD A,C JR TAB_W BUF_Z INC A OR 128 LD (DE),A BUF_S INC DE LD HL,0-BUF_I-40 ADD HL,DE JR NC,BUF_C RET INIT_S LD B,COORY INIT1 LD A,(DE) LD (HL),0 INC HL LD (HL),A INC HL INC DE LD A,(DE) LD (HL),A INC HL INC DE DJNZ INIT1 RET INIT_S1 LD B,7 INIT2 PUSH BC LD B,COORY INIT3 LD E,(IX+0) LD D,(IX+1) LD C,(IX+2) OR A RL C RL D RL E LD (HL),E INC HL LD (HL),D INC HL LD (HL),C INC HL INC IX INC IX INC IX DJNZ INIT3 POP BC DJNZ INIT2 RET WIEV_S LD HL,TAB_S LD DE,#50A0 LD A,12 LD (ADRIB+1),A WIEW_S1 LD A,(HL) INC HL OR A RET Z PUSH DE EXX POP DE PUSH DE ADD A,A ADD A,A LD L,A LD H,0 PUSH HL ADD HL,HL ADD HL,HL ADD HL,HL POP BC ADD HL,BC LD BC,SPRIT_P ADD HL,BC LD BC,#0202 CALL SPR_OUT EXX POP DE INC E INC E JR WIEW_S1 RET SCHET RRCA RRCA RRCA AND 31 RET FIRE LD A,0 OR A LD B,A LD A,10 LD (KEY+1),A JR Z,FIRE5 DEC B JP Z,FIRE1 JP FURE FIRE5 CALL FIRE4 LD HL,(COORDX) LD A,H CALL SCHET CP 21 RET C LD H,168 LD A,L CALL SCHET CP 28 RET NC CP 24 JP NC,AUTO AND 254 LD L,A SLA L SLA L SLA L LD (FIRW_2+1),HL LD (FIR7+1),A PUSH AF SRL A INC A LD (FIRE2-4),A POP AF LD E,A LD D,0 LD HL,TAB_K SRL E ADD HL,DE EX AF,AF' LD A,(HL) OR A RET Z FIRW_2 LD DE,0 LD (COORDX),DE DEC (HL) JR NZ,FIRE3 LD A,19 LD (ADRIB+1),A ADD A,A ADD A,A LD L,A LD H,0 PUSH HL ADD HL,HL ADD HL,HL ADD HL,HL POP BC ADD HL,BC LD BC,SPRIT_P ADD HL,BC EX DE,HL LD HL,(COORDX) CALL NPOS EX DE,HL LD BC,#0202 CALL SPR_OUT FIRE3 EX AF,AF' PUSH AF LD HL,SPR_5_5-225 SRL A INC A LD B,A LD DE,225 FR_0 ADD HL,DE DJNZ FR_0 LD DE,#48D5 LD BC,#0505 CALL SAD_OUT POP AF ADD A,A LD L,A LD H,0 PUSH HL ADD HL,HL ADD HL,HL ADD HL,HL POP BC ADD HL,BC LD BC,SPRIT_P+36 FIRE0 ADD HL,BC LD (FIRE2+1),HL EX DE,HL LD HL,BUFER8 CALL INIT_S LD IX,BUFER8 LD HL,BUFER9 CALL INIT_S1 XOR A LD (VIV+1),A INC A LD (FIRE+1),A RET FIRE1 LD HL,(COORDX) LD A,H CALL SCHET CP 20 RET NC CP 12 RET C AND 254 LD HX,A LD H,A SLA H SLA H SLA H LD A,L CALL SCHET CP 20 RET NC AND 254 LD LX,A LD L,A SLA L SLA L SLA L LD (FIRW_1+1),HL LD A,HX SRL A LD HX,A LD HL,BUF_I LD DE,10 LD B,A FIR1 ADD HL,DE DJNZ FIR1 LD A,LX SRL A LD LX,A JR Z,FIR2 LD B,A FIR3 INC HL DJNZ FIR3 FIR2 LD A,(HL) CP 19 RET NZ FIRW_1 LD HL,0 LD (COORDX),HL LD BC,#0202 CALL NPOS EX DE,HL LD A,0 LD (ADRIB+1),A FIRE2 LD HL,0 CALL SPR_OUT LD A,HX LD HL,BUF_I LD DE,10 LD B,A FIR4 ADD HL,DE DJNZ FIR4 LD A,LX OR A JR Z,FIR7 LD B,A FIR6 INC HL DJNZ FIR6 FIR7 LD A,0 SRL A INC A LD (HL),A KOL_SP LD A,40 DEC A LD (KOL_SP+1),A JR NZ,FIR_9 LD A,#FF LD (KEY+1),A FIR_9 LD A,0 LD (FIRE+1),A INC A AUTO_1 LD (VIV+1),A LD HL,BUFER7+336-48 LD (MASK+1),HL LD HL,BUFER2+336-48 LD (CH_SPR+1),HL LD HL,SPR_5_5+2925 LD DE,#48D5 LD BC,#0505 CALL SAD_OUT RET FIRE4 LD HL,(COORDX) LD A,H CALL SCHET CP 12 RET C CP 20 RET NC AND 254 LD HX,A LD H,A SLA H SLA H SLA H LD A,L CALL SCHET CP 20 RET NC AND 254 LD LX,A LD L,A SLA L SLA L SLA L LD (FIRW_3+1),HL LD A,HX SRL A LD HX,A LD HL,BUF_I LD DE,10 LD B,A FIR_1 ADD HL,DE DJNZ FIR_1 LD A,LX SRL A LD LX,A JR Z,FIR_2 LD B,A FIR_3 INC HL DJNZ FIR_3 FIR_2 LD A,(HL) LD (FIRE2-4),A CP 19 RET Z FIRW_3 LD HL,0 LD (COORDX),HL LD BC,#0202 CALL NPOS EX DE,HL LD A,18 LD (ADRIB+1),A LD HL,SPRIT_P+684 CALL SPR_OUT LD HL,BUF_I LD DE,10 LD B,HX FIR_4 ADD HL,DE DJNZ FIR_4 LD A,LX OR A JR Z,FIR_7 LD B,A FIR_6 INC HL DJNZ FIR_6 FIR_7 LD A,(HL) DEC A ADD A,A LD (FIR7+1),A EX AF,AF' LD A,19 LD (HL),A POP HL LD HL,KOL_SP+1 INC (HL) JP FIRE3 AUTO LD A,2 LD (STR+1),A JP AUTO_1 FURE CALL MSU FURE1 LD A,0 OR A RET NZ GAME LD A,0 OR A LD B,A LD A,10 LD (KEY+1),A JR Z,GAME_10 DEC B JP Z,GAME_11 LD A,#FF LD (STR+1),A DEC A LD (KEY+1),A RET GAME_10 LD HL,(COORDX) LD A,H CALL SCHET CP 20 RET NC AND 254 LD H,A LD HX,A SLA H SLA H SLA H LD A,L CALL SCHET CP 20 RET NC AND 254 LD L,A LD LX,A SLA L SLA L SLA L LD (GAMX+1),HL LD A,HX SRL A LD HX,A LD HL,BUF_I LD DE,10 OR A JR Z,GAME_1 LD B,A GAME_2 ADD HL,DE DJNZ GAME_2 GAME_1 LD A,LX SRL A LD LX,A JR Z,GAME_3 LD B,A GAME_4 INC HL DJNZ GAME_4 GAME_3 LD A,(HL) AND %10111111 LD (WRAG2+1),HL CP 11 LD (GAM_2-4),A RET NC GAMX LD HL,0 LD (GAMX_2+1),HL LD (COORDX),HL LD BC,#0202 CALL NPOS EX DE,HL LD A,18 LD (ADRIB+1),A LD HL,SPRIT_P+648 CALL SPR_OUT LD A,HX LD HL,BUF_I LD DE,10 OR A JR Z,GAME_5 LD B,A GAME_6 ADD HL,DE DJNZ GAME_6 GAME_5 LD A,LX OR A JR Z,GAME_7 LD B,A GAME_8 INC HL DJNZ GAME_8 GAME_7 LD A,(HL) LD (GAM_0+2),IX PUSH AF PUSH HL LD HL,SPR_5_5-225 AND %10111111 LD B,A LD DE,225 GAME_9 ADD HL,DE DJNZ GAME_9 LD DE,#48D5 LD BC,#0505 CALL SAD_OUT POP HL POP AF BIT 6,A JR Z,FUCK AND %10111111 DEC A ADD A,A OR 64 LD (GAM7+1),A AND %10111111 JR FUCK1 FUCK DEC A ADD A,A LD (GAM7+1),A FUCK1 EX AF,AF' LD A,18 LD (ADRIB+1),A LD (HL),A EX AF,AF' ADD A,A LD L,A LD H,0 PUSH HL ADD HL,HL ADD HL,HL ADD HL,HL POP BC ADD HL,BC LD BC,SPRIT_P+36 ADD HL,BC LD (GAM_2+1),HL EX DE,HL LD HL,BUFER8 CALL INIT_S LD IX,BUFER8 LD HL,BUFER9 CALL INIT_S1 XOR A LD (VIV+1),A INC A LD (GAME+1),A RET GAME_11 LD HL,(COORDX) LD A,H CALL SCHET CP 20 RET NC AND 254 LD H,A LD HY,A SLA H SLA H SLA H LD A,L CALL SCHET CP 20 RET NC AND 254 LD L,A LD LY,A SLA L SLA L SLA L LD (GAMX_1+1),HL LD (WRAG3+1),HL GAM_0 LD IX,0 LD A,HY SRL A LD HY,A LD A,LY SRL A LD LY,A LD A,HX CP HY JR Z,G_11 DEC A CP HY JR Z,G_1