;z80 ;zx-spectrum ;assembler LD HL,#5800 LD DE,#5801 LD BC,767 LD (HL),L LDIR LD A,17 CALL OPEN CALL MEN_SCR LD A,16 CALL OPEN SKOLA LD HL,#5A40 LD DE,BLYA LD BC,192 LDIR LD HL,BLYA LD DE,#5A40 LD BC,192 LDIR XOR A LD HL,SKOLA LD B,11 IRINKA LD (HL),A INC HL DJNZ IRINKA CALL PRE GLAVA EI HALT HALT HALT LD BC,#EFFE IN A,(C) BIT 0,A IRA1 JP Z,AGON BIT 1,A IRA2 JP Z,UVERH BIT 2,A IRA3 JP Z,UNIZ LD BC,#F7FE IN A,(C) BIT 4,A IRA4 JP Z,AGON BIT 3,A IRA5 JP Z,UVERH BIT 2,A IRA6 JP Z,UNIZ JR GLAVA AGON LD A,(MAIN_) CP 1 JP Z,IMOFF ;2 DE GEIMA CP 2 JR Z,TRALI ;2 DE OPTA LD A,17 CALL OPEN CALL #C000 LD A,16 CALL OPEN LD HL,0 PUSH HL ;2 DE ASS JP 15663 UVERH LD A,(MAIN_) DEC A OR A JP Z,GLAVA LD (MAIN_),A LD HL,(MAIN_1) LD A,6 CALL CURZA LD DE,71 SBC HL,DE LD (MAIN_1),HL LD A,48 CALL CURZA JP GLAVA UNIZ LD A,(MAIN_) INC A CP 4 JP Z,GLAVA LD (MAIN_),A LD HL,(MAIN_1) LD A,6 CALL CURZA LD DE,57 ADD HL,DE LD (MAIN_1),HL LD A,48 CALL CURZA JP GLAVA TRALI LD A,(BUFER) OR A JR NZ,TANYA LD HL,AGON1 LD (IRA1+1),HL LD (IRA4+1),HL LD HL,UVERH1 LD (IRA2+1),HL LD (IRA5+1),HL LD HL,UNIZ1 LD (IRA3+1),HL LD (IRA6+1),HL LD A,1 LD (BUFER),A LD HL,(MAIN_1) LD A,6 CALL CURZA LD HL,(DONE) LD A,(DONE1) CALL KURV_A JP GLAVA TANYA LD HL,AGON LD (IRA1+1),HL LD (IRA4+1),HL LD HL,UVERH LD (IRA2+1),HL LD (IRA5+1),HL LD HL,UNIZ LD (IRA3+1),HL LD (IRA6+1),HL XOR A LD (BUFER),A CALL KILLER LD HL,(MAIN_1) LD A,48 CALL CURZA JP GLAVA AGON1 LD A,(OPTI) OR A JP Z,TRALI CP 1 JP Z,VER1 CP 2 JP Z,VER2 CP 3 JP Z,VER3 CP 4 JP Z,VER4 CP 5 JP Z,VER5 CP 6 JP Z,VER6 JP GLAVA UVERH1 LD A,(OPTI) DEC A CP #FF JP Z,GLAVA JR ALAX UNIZ1 LD A,(OPTI) INC A CP 7 JP Z,GLAVA ALAX LD (OPTI),A OR A JR Z,OPTA0 CP 1 JR Z,OPTA1 CP 2 JR Z,OPTA2 CP 3 JR Z,OPTA3 CP 4 JR Z,OPTA4 CP 5 JR Z,OPTA5 JR OPTA6 OPTA0 CALL KILLER LD HL,(DONE) LD A,(DONE1) CALL KURV_A JP GLAVA OPTA1 CALL KILLER LD HL,(DZT_1) LD A,(OPT_1) CALL KURV_A JP GLAVA OPTA2 CALL KILLER LD HL,(DZT_2) LD A,(OPT_2) CALL KURV_A JP GLAVA OPTA3 CALL KILLER LD HL,(DZT_3) LD A,(OPT_3) CALL KURV_A JP GLAVA OPTA4 CALL KILLER LD HL,(DZT_4) LD A,(OPT_4) CALL KURV_A JP GLAVA OPTA5 CALL KILLER LD HL,(DZT_5) LD A,(OPT_5) CALL KURV_A JP GLAVA OPTA6 CALL KILLER LD HL,(DZT_6) LD A,(OPT_6) CALL KURV_A JP GLAVA KURV_A LD B,A ZASD LD (HL),7 INC HL DJNZ ZASD RET KURV_B LD B,A ZASD1 LD (HL),2 INC HL DJNZ ZASD1 RET KURV_A1 LD B,A ZQSD LD (HL),7 INC HL DJNZ ZQSD RET KURV_B1 LD B,A ZQSD1 LD (HL),1 INC HL DJNZ ZQSD1 RET KILLER LD HL,(DONE) LD A,(DONE1) CALL KURV_B LD HL,(DZT_1) LD A,(OPT_1) CALL KURV_B LD HL,(DZT_2) LD A,(OPT_2) CALL KURV_B LD HL,(DZT_3) LD A,(OPT_3) CALL KURV_B LD HL,(DZT_4) LD A,(OPT_4) CALL KURV_B LD HL,(DZT_5) LD A,(OPT_5) CALL KURV_B LD HL,(DZT_6) LD A,(OPT_6) CALL KURV_B RET VER1 LD A,(VAR1) OR A JR Z,OFF1 LD HL,(DZE10) ;ON LD A,(SKOKA10) CALL KURV_B1 LD HL,(DZE11) LD A,(SKOKA11) CALL KURV_A1 LD A,1 LD (SWAP),A XOR A LD (VAR1),A JP GLAVA OFF1 LD HL,(DZE11) LD A,(SKOKA11) CALL KURV_B1 LD HL,(DZE10) LD A,(SKOKA10) CALL KURV_A1 XOR A LD (SWAP),A LD A,1 LD (VAR1),A JP GLAVA VER2 LD A,(VAR2) OR A JR Z,OFF2 LD HL,(DZE20) ;ON LD A,(SKOKA20) CALL KURV_B1 LD HL,(DZE21) LD A,(SKOKA21) CALL KURV_A1 LD A,1 LD (MUZ_SEL),A LD HL,MUZAK+5 LD (MIKLE+1),HL XOR A LD (VAR2),A JP GLAVA OFF2 LD HL,(DZE21) LD A,(SKOKA21) CALL KURV_B1 LD HL,(DZE20) LD A,(SKOKA20) CALL KURV_A1 XOR A LD (MUZ_SEL),A LD HL,82 LD (MIKLE+1),HL LD A,1 LD (VAR2),A JP GLAVA VER3 LD A,(VAR3) OR A JR Z,OFF3 LD HL,(DZE30) ;ON LD A,(SKOKA30) CALL KURV_B1 LD HL,(DZE31) LD A,(SKOKA31) CALL KURV_A1 LD A,1 LD (MODE),A XOR A LD (VAR3),A JP GLAVA OFF3 LD HL,(DZE31) LD A,(SKOKA31) CALL KURV_B1 LD HL,(DZE30) LD A,(SKOKA30) CALL KURV_A1 XOR A LD (MODE),A LD A,1 LD (VAR3),A JP GLAVA VER4 LD A,(VAR4) OR A JR Z,KAM0 CP 1 JR Z,KAM1 CP 2 JR Z,KAM2 CP 3 JR Z,KAM3 CALL KILLA4 ;KAM4 LD HL,(DZE44) LD A,(SKOKA44) CALL KURV_A1 LD A,250 LD (STONE1),A LD (STONE2),A XOR A LD (VAR4),A JP GLAVA KAM0 CALL KILLA4 LD HL,(DZE40) LD A,(SKOKA40) CALL KURV_A1 LD A,50 LD (STONE1),A LD (STONE2),A LD A,1 LD (VAR4),A JP GLAVA KAM1 CALL KILLA4 LD HL,(DZE41) LD A,(SKOKA41) CALL KURV_A1 LD A,100 LD (STONE1),A LD (STONE2),A LD A,2 LD (VAR4),A JP GLAVA KAM2 CALL KILLA4 LD HL,(DZE42) LD A,(SKOKA42) CALL KURV_A1 LD A,150 LD (STONE1),A LD (STONE2),A LD A,3 LD (VAR4),A JP GLAVA KAM3 CALL KILLA4 LD HL,(DZE43) LD A,(SKOKA43) CALL KURV_A1 LD A,150 LD (STONE1),A LD (STONE2),A LD A,4 LD (VAR4),A JP GLAVA VER5 LD A,(VAR5) OR A JP Z,MIN0 CP 1 JP Z,MIN1 CP 2 JP Z,MIN2 CP 3 JP Z,MIN3 CP 4 JP Z,MIN4 CP 5 JP Z,MIN5 CALL KILLA5 ;MIN6 LD HL,(DZE56) LD A,(SKOKA56) CALL KURV_A1 LD HL,1500 LD (MAMA+1),HL LD (PAPA+1),HL LD (ZYXEL+1),HL LD (USR+1),HL XOR A LD (VAR5),A JP GLAVA MIN0 CALL KILLA5 LD HL,(DZE50) LD A,(SKOKA50) CALL KURV_A1 LD HL,50 LD (MAMA+1),HL LD (PAPA+1),HL LD (ZYXEL+1),HL LD (USR+1),HL LD A,1 LD (VAR5),A JP GLAVA MIN1 CALL KILLA5 LD HL,(DZE51) LD A,(SKOKA51) CALL KURV_A1 LD HL,250 LD (MAMA+1),HL LD (PAPA+1),HL LD (ZYXEL+1),HL LD (USR+1),HL LD A,2 LD (VAR5),A JP GLAVA MIN2 CALL KILLA5 LD HL,(DZE52) LD A,(SKOKA52) CALL KURV_A1 LD HL,500 LD (MAMA+1),HL LD (PAPA+1),HL LD (ZYXEL+1),HL LD (USR+1),HL LD A,3 LD (VAR5),A JP GLAVA MIN3 CALL KILLA5 LD HL,(DZE53) LD A,(SKOKA53) CALL KURV_A1 LD HL,750 LD (MAMA+1),HL LD (PAPA+1),HL LD (ZYXEL+1),HL LD (USR+1),HL LD A,4 LD (VAR5),A JP GLAVA MIN4 CALL KILLA5 LD HL,(DZE54) LD A,(SKOKA54) CALL KURV_A1 LD HL,1000 LD (MAMA+1),HL LD (PAPA+1),HL LD (ZYXEL+1),HL LD (USR+1),HL LD A,5 LD (VAR5),A JP GLAVA MIN5 CALL KILLA5 LD HL,(DZE55) LD A,(SKOKA55) CALL KURV_A1 LD HL,1250 LD (MAMA+1),HL LD (PAPA+1),HL LD (ZYXEL+1),HL LD (USR+1),HL LD A,6 LD (VAR5),A JP GLAVA VER6 LD A,(VAR6) OR A JP Z,TIM0 CP 1 JP Z,TIM1 CP 2 JP Z,TIM2 CALL KILLA6 ;TIM3 LD HL,(DZE63) LD A,(SKOKA63) CALL KURV_A1 LD A,3 LD (SET_TIM),A XOR A LD (VAR6),A JP GLAVA TIM0 CALL KILLA6 LD HL,(DZE60) LD A,(SKOKA60) CALL KURV_A1 XOR A LD (SET_TIM),A LD A,1 LD (VAR6),A JP GLAVA TIM1 CALL KILLA6 LD HL,(DZE61) LD A,(SKOKA61) CALL KURV_A1 LD A,1 LD (SET_TIM),A LD A,2 LD (VAR6),A JP GLAVA TIM2 CALL KILLA6 LD HL,(DZE62) LD A,(SKOKA62) CALL KURV_A1 LD A,2 LD (SET_TIM),A LD A,3 LD (VAR6),A JP GLAVA KILLA4 LD HL,(DZE40) ;KAM4 LD A,(SKOKA40) CALL KURV_B1 LD HL,(DZE41) LD A,(SKOKA41) CALL KURV_B1 LD HL,(DZE42) LD A,(SKOKA42) CALL KURV_B1 LD HL,(DZE43) LD A,(SKOKA43) CALL KURV_B1 LD HL,(DZE44) LD A,(SKOKA44) CALL KURV_B1 RET KILLA5 LD HL,(DZE50) ;MIN5 LD A,(SKOKA50) CALL KURV_B1 LD HL,(DZE51) LD A,(SKOKA51) CALL KURV_B1 LD HL,(DZE52) LD A,(SKOKA52) CALL KURV_B1 LD HL,(DZE53) LD A,(SKOKA53) CALL KURV_B1 LD HL,(DZE54) LD A,(SKOKA54) CALL KURV_B1 LD HL,(DZE55) LD A,(SKOKA55) CALL KURV_B1 LD HL,(DZE56) LD A,(SKOKA56) CALL KURV_B1 RET KILLA6 LD HL,(DZE60) ;TIM6 LD A,(SKOKA60) CALL KURV_B1 LD HL,(DZE61) LD A,(SKOKA61) CALL KURV_B1 LD HL,(DZE62) LD A,(SKOKA62) CALL KURV_B1 LD HL,(DZE63) LD A,(SKOKA63) CALL KURV_B1 RET IMOFF DI LD A,63 LD I,A IM 1 EI LD A,17 CALL OPEN CALL MEN_MUZ LD A,16 CALL OPEN LD DE,BLYA LD HL,#5A40 LD BC,192 LDIR JP KAMAN OPEN LD BC,32765 OUT (C),A RET CURZA LD B,7 VALI LD (HL),A INC HL DJNZ VALI RET PRE LD A,17 CALL OPEN CALL MEN_MUZ LD A,16 CALL OPEN 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 PRER PUSH HL PUSH DE PUSH BC PUSH AF PUSH IX PUSH IY LD A,17 CALL OPEN CALL MEN_MUZ+6 LD A,16 CALL OPEN POP IY POP IX POP AF POP BC POP DE POP HL EI RETI MAIN_ DEFB 1 MAIN_1 DEFB #EC,#58 OPTI DEFB 0 ;Ñ×ÅÒ×ÈÊ ÎÏÖÈÉ VAR1 DEFB 0 ;Ñ×ÅÒ×ÈÊ ÂÀÐÈÀÍÒΠVAR2 DEFB 0 VAR3 DEFB 1 VAR4 DEFB 2 VAR5 DEFB 2 VAR6 DEFB 0 SKAKA1 DEFB 1 ;0.3 SKAKA2 DEFB 1 ;0.3 SKAKA3 DEFB 1 ;0.3 SKAKA4 DEFB 1 ;0.6 SKAKA5 DEFB 1 ;0.8 SKAKA6 DEFB 1 ;0.5 SKOKA10 DEFB 2 ;ÂÀÐÈÀÒÛ ÊÀÆÄÎÉ ÎÏÖÈÈ SKOKA11 DEFB 1 SKOKA20 DEFB 2 SKOKA21 DEFB 1 SKOKA30 DEFB 4 SKOKA31 DEFB 4 SKOKA40 DEFB 2 SKOKA41 DEFB 2 SKOKA42 DEFB 2 SKOKA43 DEFB 2 SKOKA44 DEFB 2 SKOKA50 DEFB 1 SKOKA51 DEFB 1 SKOKA52 DEFB 2 SKOKA53 DEFB 2 SKOKA54 DEFB 2 SKOKA55 DEFB 2 SKOKA56 DEFB 2 SKOKA60 DEFB 2 SKOKA61 DEFB 2 SKOKA62 DEFB 3 SKOKA63 DEFB 8 DZE10 DEFB #52,#5A DZE11 DEFB #56,#5A DZE20 DEFB #72,#5A DZE21 DEFB #76,#5A DZE30 DEFB #90,#5A DZE31 DEFB #95,#5A DZE40 DEFB #AD,#5A DZE41 DEFB #B0,#5A DZE42 DEFB #B4,#5A DZE43 DEFB #B7,#5A DZE44 DEFB #BB,#5A DZE50 DEFB #CC,#5A DZE51 DEFB #CF,#5A DZE52 DEFB #D1,#5A DZE53 DEFB #D4,#5A DZE54 DEFB #D7,#5A DZE55 DEFB #DA,#5A DZE56 DEFB #DD,#5A DZE60 DEFB #EB,#5A DZE61 DEFB #EF,#5A DZE62 DEFB #F3,#5A DZE63 DEFB #F7,#5A OPT_1 DEFB 5 ;ÑÀÌÈ ÎÏÖÈÈ OPT_2 DEFB 3 OPT_3 DEFB 3 OPT_4 DEFB 3 OPT_5 DEFB 8 OPT_6 DEFB 6 DZT_1 DEFB #49,#5A DZT_2 DEFB #69,#5A DZT_3 DEFB #87,#5A DZT_4 DEFB #A3,#5A DZT_5 DEFB #C1,#5A DZT_6 DEFB #E1,#5A DONE DEFB #2F,#5A DONE1 DEFB 2 BUFER DEFB 0 STONE1 DEFB 150 STONE2 DEFB 150 BLYA DEFS 192,0