;z80 ;assembler ;zx-spectrum S_WRAG PUSH BC PUSH HL PUSH DE PUSH AF AND 15 PUSH AF LD A,B AND 15 LD B,A POP AF LD HL,TAB_SC-10 LD DE,10 S_WR1 ADD HL,DE DJNZ S_WR1 CP 11 JR NZ,S_WR3 SUB 2 S_WR3 LD E,A DEC E ADD HL,DE LD E,(HL) LD HL,(S_WR2+1) ADD HL,DE LD (S_WR2+1),HL S_WR2 LD HL,0 CALL CONV_2 LD HL,SCORE LD DE,SC_WR LD BC,3 LDIR LD HL,SCOR_WR CALL PRN_CLK POP AF POP DE POP HL POP BC RET S_YA PUSH HL PUSH DE PUSH AF PUSH BC AND 15 LD HL,TAB_SC-10 LD DE,10 LD B,A S_YA1 ADD HL,DE DJNZ S_YA1 POP BC PUSH BC LD A,B AND 15 CP 11 JR NZ,S_YA3 SUB 2 S_YA3 LD E,A DEC E ADD HL,DE LD E,(HL) LD HL,(S_YA2+1) ADD HL,DE LD (S_YA2+1),HL S_YA2 LD HL,0 CALL CONV_2 LD HL,SCORE LD DE,SC_YA LD BC,3 LDIR LD HL,SCOR_YA CALL PRN_CLK POP BC POP AF PUSH AF PUSH BC AND 15 LD HL,FIGHT_T-20 LD B,A LD DE,20 ADD HL,DE DJNZ $-1 POP BC PUSH BC LD A,B AND 15 LD B,A LD A,11 SUB B ADD A,A LD E,A LD D,0 ADD HL,DE LD A,(HL) INC HL LD H,(HL) LD L,A LD DE,FIGHT1+3 LD BC,32 LDIR LD HL,FIGHT1 CALL PRINT POP BC POP AF POP DE POP HL RET INIT_M JR L49246 ;ASM PLAYER FOR SCHLACHT PLAY_M JR L49337 STOP_M JR L49317 L49246 LD HL,ASM_TAB OR A JR Z,ASM1 LD B,A LD DE,3 ASM2 ADD HL,DE DJNZ ASM2 ASM1 LD A,(HL) LD (L49337+1),A LD (PG_MUS+1),A INC HL LD A,(HL) INC HL LD H,(HL) LD L,A LD (ADR_MUS+1),HL PG_MUS LD A,0 LD BC,32765 OUT (C),A XOR A LD HL,L50485 LD DE,L50486 LD BC,101 LD (HL),A LDIR LD (L49511),A LD (L50504),A LD (L50538),A LD (L50572),A INC A LD (L50601),A ADR_MUS LD DE,50801 LD B,D LD C,E LD A,(DE) INC DE LD (L49344),A LD A,(DE) INC DE LD (L49521),A CALL L49499 LD (L49532),HL CALL L49499 LD (L49638),HL CALL L49499 LD (L49651),HL LD A,(DE) INC DE LD (L49517),A LD (L49508),DE L49317 XOR A LD HL,L50587 LD DE,L50588 LD BC,13 LD (HL),A LDIR DEC A LD (L50594),A JR L49452 L49337 LD A,0 LD BC,32765 OUT (C),A LD HL,L50601 DEC (HL) JR NZ,L49382 LD (HL),5 L49344 EQU $-1 LD A,(L50485) LD HL,L50519 OR (HL) LD HL,L50553 OR (HL) BIT 0,A CALL Z,L49507 LD IX,L50485 CALL L49579 LD IX,L50519 CALL L49579 LD IX,L50553 CALL L49579 L49382 LD IX,L50485 LD BC,(L50587) CALL L50068 LD (L50587),BC LD (L50595),A LD IX,L50519 LD BC,(L50589) CALL L50068 LD (L50589),BC LD (L50596),A LD IX,L50553 LD BC,(L50591) CALL L50068 LD (L50591),BC LD (L50597),A LD A,(L50554) RLCA LD HL,L50520 OR (HL) RLCA LD HL,L50486 OR (HL) LD (L50594),A L49452 LD HL,L50600 LD DE,65471 LD C,253 LD A,(HL) INC A LD A,13 JR NZ,L49468 DEC A DEC HL L49468 LD B,A INC A AND 9 OR (HL) LD A,B JR NZ,L49485 DEC A DEC HL LD B,D OUT (C),A LD B,E OUTI INC A L49485 LD B,D OUT (C),A LD B,E OUTD DEC A JP P,L49468 LD (L50600),A LD A,16 LD BC,32765 OUT (C),A RET L49499 EX DE,HL L49500 LD E,(HL) INC HL LD D,(HL) INC HL EX DE,HL ADD HL,BC RET L49507 LD HL,50810 L49508 EQU $-2 LD DE,0 L49511 EQU $-2 ADD HL,DE LD A,E INC A CP 42 L49517 EQU $-1 JR C,L49522 LD A,0 L49521 EQU $-1 L49522 LD (L49511),A LD A,(HL) ADD A,A ADD A,(HL) ADD A,A LD H,D LD L,A LD BC,50852 L49532 EQU $-2 ADD HL,BC CALL L49500 LD (L50505),HL CALL L49499 LD (L50539),HL CALL L49499 LD (L50573),HL LD HL,L50485 SET 0,(HL) LD HL,L50519 SET 0,(HL) LD HL,L50553 SET 0,(HL) XOR A LD (L50496),A LD (L50530),A LD (L50564),A RET L49579 DEC (IX+19) RET P RES 6,(IX+0) RES 7,(IX+0) XOR A LD (IX+10),A LD (IX+16),A LD E,(IX+20) LD D,(IX+21) L49604 LD A,(DE) INC DE CP 96 JP C,L49930 LD HL,L49604 PUSH HL SUB 240 JR NC,L49706 ADD A,16 JR C,L49689 ADD A,32 JR C,L49650 ADD A,32 JR C,L49637 ADD A,64 LD (IX+18),A RET L49637 LD BC,55607 L49638 EQU $-2 CALL L49678 LD (IX+22),L LD (IX+23),H RET L49650 LD BC,56481 L49651 EQU $-2 CALL L49678 LD (IX+28),L LD (IX+29),H RET L49663 LD A,C SRA B RRA SRA B RRA SRA B RRA SRA B RRA LD C,A RET L49678 ADD A,A LD H,0 LD L,A ADD HL,BC LD A,(HL) INC HL LD H,(HL) LD L,A ADD HL,BC RET L49689 RES 4,(IX+0) LD (IX+15),A RET NZ SET 4,(IX+0) LD (IX+15),15 RET L49706 LD HL,L49717 LD B,0 LD C,A ADD HL,BC LD C,(HL) ADD HL,BC LD C,B JP (HL) L49717 DEFB 15,23,27,18,30,38,57,59 DEFB 201,67,199,180,197,7,195 LD A,(DE) INC DE LD (IX+11),A RET CALL L49746 SET 6,(IX+0) RET L49746 SET 7,(IX+0) RET LD A,(DE) INC DE LD (L50601),A LD (L49344),A RET LD A,(DE) NEG L49763 INC DE PUSH DE LD (L50602),A ADD A,A LD L,A SBC A,A LD H,A ADD HL,HL ADD HL,HL ADD HL,HL EX DE,HL LD A,255 JR L49897 LD A,(DE) JR L49763 SET 6,(IX+0) LD C,(IX+6) LD B,(IX+7) LD A,(DE) INC DE LD (L50602),A PUSH DE LD A,(DE) CP 86 JR C,L49813 LD C,(IX+6) LD B,(IX+7) LD A,(IX+2) L49813 CALL L50473 PUSH DE LD A,(IX+2) CALL L50473 EX DE,HL CALL L49663 ADD HL,BC POP DE OR A SBC HL,DE ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL PUSH AF PUSH HL JR NC,L49846 EX DE,HL XOR A LD H,A LD L,A SBC HL,DE L49846 LD A,(L50602) NEG LD C,A LD B,17 XOR A L49855 ADC A,A ADD A,C JR C,L49861 SUB C OR A L49861 ADC HL,HL DJNZ L49855 EX DE,HL LD B,0 LD C,A POP HL POP AF JR C,L49887 LD A,D CPL LD D,A LD A,E CPL LD E,A INC DE LD A,B CPL LD B,A LD A,C CPL LD C,A INC BC L49887 ADD HL,BC LD (IX+6),L LD (IX+7),H LD A,(L50602) L49897 LD (IX+8),E LD (IX+9),D LD (IX+10),A POP DE RET LD A,(DE) INC DE ADD A,A ADD A,A RLCA JR NC,L49919 XOR 248 ADD A,8 L49919 LD (IX+17),A LD (IX+16),A RET LD (L50600),A RET L49930 CP 86 JR C,L49952 CP 94 JR C,L50048 JR Z,L49946 RES 2,(IX+0) JR L50048 L49946 SET 3,(IX+0) JR L50048 L49952 LD (IX+2),A LD A,(IX+11) LD (IX+12),A LD A,(IX+10) DEC A JP P,L49975 XOR A LD (IX+6),A LD (IX+7),A L49975 BIT 6,(IX+0) JR NZ,L50015 XOR A LD (IX+14),A LD (IX+4),A LD (IX+5),A LD L,(IX+22) LD H,(IX+23) LD (IX+24),L LD (IX+25),H SET 2,(IX+0) RES 3,(IX+0) RES 1,(IX+0) L50015 BIT 7,(IX+0) JR NZ,L50037 LD L,(IX+28) LD H,(IX+29) LD (IX+30),L LD (IX+31),H LD (IX+3),0 L50037 BIT 4,(IX+0) JR Z,L50048 LD A,(DE) INC DE LD (L50598),A L50048 LD A,(IX+18) LD (IX+19),A LD (IX+20),E LD (IX+21),D LD A,(DE) INC A RET NZ RES 0,(IX+0) RET L50068 XOR A BIT 1,(IX+0) JR NZ,L50183 BIT 2,(IX+0) JR Z,L50183 CALL L50184 CALL L50406 BIT 3,(IX+1) JR NZ,L50102 LD A,(IX+7) ADD A,(IX+12) LD (L50593),A L50102 LD A,(IX+2) ADD A,(IX+3) CP 86 JR C,L50117 RLA SBC A,A CPL AND 85 L50117 CALL L50473 LD L,(IX+4) LD H,(IX+5) ADD HL,DE LD C,(IX+6) LD B,(IX+7) CALL L49663 ADD HL,BC LD B,H LD C,L LD A,(IX+10) OR A JR Z,L50170 JP M,L50151 DEC (IX+10) L50151 LD L,(IX+6) LD H,(IX+7) LD E,(IX+8) LD D,(IX+9) ADD HL,DE LD (IX+6),L LD (IX+7),H L50170 LD A,(IX+0) CPL AND 48 LD A,(IX+13) JR NZ,L50183 OR 16 L50183 RET L50184 LD A,(IX+16) LD C,0 OR A JR Z,L50213 SUB 8 CP 8 JR NC,L50206 RRA SBC A,A SCF RLA LD C,A LD A,(IX+17) L50206 LD (IX+16),A LD A,C CALL L50386 L50213 LD L,(IX+24) LD H,(IX+25) LD D,H LD E,L LD A,(HL) INC HL LD C,(HL) INC HL LD B,(HL) INC HL CP 32 JR C,L50269 BIT 7,A JR NZ,L50249 L50235 BIT 6,A JR NZ,L50257 L50239 BIT 5,A JR Z,L50269 SET 1,(IX+0) JR L50269 L50249 LD (IX+26),E LD (IX+27),D JR L50235 L50257 BIT 3,(IX+0) JR NZ,L50239 LD L,(IX+26) LD H,(IX+27) L50269 LD (IX+24),L LD (IX+25),H LD E,C LD C,A LD A,E RLA SBC A,A LD D,A LD L,(IX+4) LD H,(IX+5) ADD HL,DE LD (IX+4),L LD (IX+5),H LD A,B AND 9 LD (IX+1),A LD A,B AND 6 CP 2 SET 5,(IX+0) JR Z,L50322 RES 5,(IX+0) JR C,L50322 SUB 5 CALL L50386 L50322 LD A,B RRCA RRCA RRCA RRCA AND 15 ADD A,(IX+14) JP P,L50336 XOR A L50336 CP 16 JR C,L50342 LD A,15 L50342 LD D,A LD B,(IX+15) L50346 ADD A,D DJNZ L50346 AND 240 RRCA RRCA RRCA RRCA LD (IX+13),A BIT 5,(IX+0) JR Z,L50460 BIT 3,(IX+1) JR Z,L50460 LD A,C ADD A,A ADD A,A ADD A,A SRA A SRA A SRA A LD HL,L50598 ADD A,(HL) LD (HL),A RET L50386 ADD A,(IX+14) JP P,L50398 CP 241 ADC A,0 JR L50402 L50398 CP 16 ADC A,255 L50402 LD (IX+14),A RET L50406 LD L,(IX+30) LD H,(IX+31) LD D,H LD E,L LD A,(HL) INC HL LD B,(HL) INC HL CP 32 JR C,L50446 BIT 7,A JR NZ,L50438 L50426 BIT 6,A JR Z,L50446 LD L,(IX+32) LD H,(IX+33) JR L50446 L50438 LD (IX+32),E LD (IX+33),D JR L50426 L50446 LD (IX+30),L LD (IX+31),H LD C,A LD A,B ADD A,(IX+3) LD (IX+3),A L50460 LD A,C AND 16 NEG OR C ADD A,(IX+12) LD (IX+12),A RET L50473 ADD A,A LD D,0 LD E,A LD HL,L50629 ADD HL,DE LD E,(HL) INC HL LD D,(HL) RET L50485 DEFB 0,0,0,0,0,0,0,0 L50486 EQU $-7 DEFB 0,0,0,0,0,0,0,0 L50496 EQU $-5 DEFB 0,0,0,0,0,0,0,0 L50504 EQU $-5 L50505 EQU $-4 DEFB 0,0,0,0,0,0,0,0 DEFB 0,0,0,0,0,0,0,0 L50519 EQU $-6 L50520 EQU $-5 DEFB 0,0,0,0,0,0,0,0 L50530 EQU $-3 DEFB 0,0,0,0,0,0,0,0 L50538 EQU $-3 L50539 EQU $-2 DEFB 0,0,0,0,0,0,0,0 DEFB 0,0,0,0,0,0,0,0 L50553 EQU $-4 L50554 EQU $-3 DEFB 0,0,0,0,0,0,0,0 L50564 EQU $-1 DEFB 0,0,0,0,0,0,0,0 L50572 EQU $-1 L50573 DEFB 0,0,0,0,0,0,0,0 DEFB 0,0,0,0,0,0,0,0 L50587 EQU $-2 L50588 EQU $-1 L50589 DEFB 0,0,0,0,0,255,0,0 L50594 EQU $-3 L50595 EQU $-2 L50596 EQU $-1 L50591 EQU $-6 L50593 EQU $-4 L50597 DEFB 0,0,0,255,1,32,15,3 L50601 EQU $-4 L50600 EQU $-5 L50602 EQU $-3 L50598 EQU $-7 DEFB 9,30,18,7,4,22,48,32 DEFB 39,80,36,3,15,18,16,12 DEFB 65,109,13,48,9,88,43,0 L50629 DEFB 220,14,7,14,62,13,128,12 DEFB 204,11,34,11,130,10,236,9 DEFB 92,9,214,8,88,8,224,7 DEFB 110,7,4,7,159,6,64,6 DEFB 230,5,145,5,65,5,246,4 DEFB 174,4,107,4,44,4,240,3 DEFB 183,3,130,3,79,3,32,3 DEFB 243,2,200,2,161,2,123,2 DEFB 87,2,54,2,22,2,248,1 DEFB 220,1,193,1,168,1,144,1 DEFB 121,1,100,1,80,1,61,1 DEFB 44,1,27,1,11,1,252,0 DEFB 238,0,224,0,212,0,200,0 DEFB 189,0,178,0,168,0,159,0 DEFB 150,0,141,0,133,0,126,0 DEFB 119,0,112,0,106,0,100,0 DEFB 94,0,89,0,84,0,80,0 DEFB 75,0,71,0,67,0,63,0 DEFB 60,0,56,0,53,0,50,0 DEFB 47,0,45,0,42,0,40,0 DEFB 38,0,36,0,34,0,32,0 DEFB 30,0,28,0 ASM_TAB DEFB 22 DEFW 61555 DEFB 22 DEFW 49152 DEFB 22 DEFW 53265 DEFB 22 DEFW 56999 DEFB 23 DEFW 49152 DEFB 23 DEFW 49901 DEFB 23 DEFW 50594 ;-------------------------------------------- TAB_SC DEFB 0,8,7,6,5,4,3,2,1,0 ;1 DEFB 0,0,8,7,6,5,4,3,2,1 ;2 DEFB 0,0,0,8,7,6,5,4,3,2 ;3 DEFB 0,0,0,0,8,7,6,5,4,3 ;4 DEFB 0,0,0,0,0,8,7,6,5,4 ;5 DEFB 0,0,0,0,0,0,8,7,6,5 ;6 DEFB 0,0,0,0,0,0,0,8,7,6 ;7 DEFB 0,0,0,0,0,0,0,0,8,7 ;8 DEFB 0,0,0,0,0,0,0,0,0,8 ;9 DEFB 10 ;10 ;-------------------------------------------- DECOM LD DE,16384 ;ADRESS IN EKRAN PUSH DE EXX EX AF,AF' LD A,3 OR A LD B,8 LD C,B POP HL EX AF,AF' EXX L27052 LD A,(HL) BIT 7,A JR NZ,L27115 AND 7 LD C,A LD A,(HL) RRCA RRCA RRCA AND 15 ADD A,3 LD B,A INC HL LD A,E SUB (HL) INC HL PUSH HL LD L,A LD A,D SBC A,C LD H,A L27078 PUSH HL LD A,H JURRA AND 88 JURRA1 CP 88 JP Z,L27104 PUSH AF LD A,(JURRA+1) CP 88 JR Z,JURRA2 LD A,H SUB 8 LD H,A AND 88 LD C,A POP AF JR JURRA2+2 JURRA2 POP AF LD C,A LD A,L AND 7 OR C LD C,A ADD HL,HL ADD HL,HL LD A,H AND 31 LD H,A LD A,L AND 224 OR H LD L,A LD H,C L27104 LD A,(HL) CALL L27155 POP HL INC HL DJNZ L27078 POP HL JR L27052 L27115 AND 127 JR Z,L27116 INC HL BIT 6,A JR NZ,L27134 LD B,A L27125 LD A,(HL) CALL L27155 INC HL DJNZ L27125 JR L27052 L27116 LD A,88 LD (JURRA+1),A LD (JURRA1+1),A EI RET L27134 AND 63 ADD A,3 LD B,A LD A,(HL) L27140 CALL L27155 DJNZ L27140 INC HL JR L27052 L27155 INC DE EXX LD (HL),A EX AF,AF' JR Z,L27186 INC H DJNZ L27191 LD DE,63520 ADD HL,DE DEC C JR NZ,L27189 LD DE,65281 ADD HL,DE ADD A,8 JR NC,L27187 LD DE,2016 ADD HL,DE DEC A PUSH AF LD A,H CP 88 JR NZ,JIGGA LD A,#60 EXX LD D,A EXX LD (JURRA+1),A LD (JURRA1+1),A LD H,A JIGGA POP AF JR L27187 L27186 INC HL L27187 LD C,8 L27189 LD B,8 L27191 EX AF,AF' EXX RET