EXIT DI LD A,#3F LD I,A LD IY,#5C3A IM 1 LD SP,(STORE) EI JP LAT SETIM2 DI LD A,24 LD (#FFFF),A LD A,195 LD (65524),A LD HL,INT LD (65525),HL LD HL,#FE00 LD DE,#FE01 LD BC,256 LD (HL),#FF LD A,H LDIR LD I,A IM 2 EI RET COMP LD H,0 LD D,H LD L,C ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL LD E,B ADD HL,DE LD DE,(MAP) ADD HL,DE LD L,(HL) BIT 7,L JR Z,CF LD L,0 CF LD H,0 LD DE,55063 ADD HL,DE LD D,(HL) RET EXEC XOR A LD IX,STB LD (COUNT),A LD H,A LD L,H LD (COORD),HL LD HL,(MAP) LD B,16 LIN1 LD C,32 PUSH HL LIN PUSH BC LD A,(HL) INC HL PUSH HL AND A JR Z,PASS BIT 7,A CALL NZ,FORM LD (51672),A CALL 51578 PASS LD BC,(COORD) INC B LD (COORD),BC POP HL POP BC DEC C JR NZ,LIN POP HL LD DE,MLEN ADD HL,DE LD DE,(COORD) INC E LD D,0 LD (COORD),DE DJNZ LIN1 RET ISP CALL 52071 CALL EXEC LD A,(COUNT) LD (COUNT2),A AND A JP Z,VPASS LD IX,STB ENEM BIT 1,(IX+1) JP NZ,BLOW LD A,(IX) LD H,0 LD L,A LD DE,ALG ADD HL,DE LD E,(HL) INC HL LD D,(HL) LD (V+1),DE V CALL 0 LD E,(IX+2) LD D,(IX+3) LD A,(IX+5) CALL PTBL LD A,(51570) LD (AV),A LD A,(51571) LD (AH),A LD BC,(POS) LD H,(IX+3) LD L,(IX+2) CALL RAD BIT 1,D JR Z,CR BIT 6,(IX+1) JP NZ,GET JP UBIT CR BIT 0,(IX+1) JR NZ,SPASS LD A,(STAT) BIT 0,A JR Z,CL LD A,3 LD (AV),A LD (AH),A LD BC,(RCRD) LD H,(IX+3) LD L,(IX+2) CALL RAD BIT 1,D JP NZ,DR CL LD A,(STAT) BIT 1,A JR Z,SPASS LD A,3 LD (AV),A LD (AH),A LD L,(IX+2) LD H,(IX+3) LD BC,(LCRD) CALL RAD BIT 1,D JP NZ,DL SPASS LD DE,8 ADD IX,DE SP2 LD HL,COUNT DEC (HL) JP NZ,ENEM VPASS LD HL,(MAP) DEC HL LD B,16 LZ PUSH HL BIT 7,(HL) JR Z,LZ1 RES 6,(HL) LZ1 LD DE,34 ADD HL,DE BIT 7,(HL) JR Z,LZ2 RES 6,(HL) LZ2 POP HL LD DE,MLEN ADD HL,DE DJNZ LZ VIK CALL 51963 SCAN CALL 51731 LD (KEY),A BIT 0,A JR Z,V1 LD A,(STAT) BIT 2,A CALL NZ,SWAP1 LD HL,(MAP) LD DE,34616 AND A SBC HL,DE JR C,V1 LD D,4 LD BC,(POS) DEC B CHK LD (WORK),DE CALL COMP BIT 2,D JP NZ,F1 BIT 0,D JR NZ,V1 INC C LD DE,(WORK) DEC D JR NZ,CHK LD A,(POS+1) CP 3 ADC A,#FF LD (POS+1),A LD A,(SPR) INC A CP 6 JR NZ,P1 LD A,3 P1 LD (SPR),A V1 LD A,(KEY) BIT 1,A JR Z,V2 LD A,(STAT) BIT 2,A CALL Z,SWAP2 LD HL,(MAP) LD DE,51000 AND A SBC HL,DE PM JP NC,MON LD D,4 LD BC,(POS) INC B INC B INC B HK1 LD (WORK),DE CALL COMP BIT 2,D JP NZ,F1 BIT 0,D JR NZ,V2 INC C LD DE,(WORK) DEC D JR NZ,CHK1 LD A,(POS+1) INC A LIM CP 15 JR NC,XE LD (POS+1),A JR XD E LD HL,(MAP) HL INC HL LD (MAP),HL D LD A,(SPR) INC A CP 3 JR NZ,P2 XOR A 2 LD (SPR),A 2 LD A,(KEY) BIT 3,A JR Z,V3 LD BC,(POS) LD A,C ADD A,4 LD C,A CALL COMP BIT 2,D JP NZ,F1 BIT 0,D JR NZ,JMP INC B CALL COMP BIT 2,D JP NZ,F1 BIT 0,D JR NZ,JMP INC B CALL COMP BIT 2,D JP NZ,F1 BIT 0,D JR Z,V3 MP LD HL,STAT SET 3,(HL) LD BC,(POS) LD A,C & SUB 5 0 LD (LIMIT),A : 3 LD A,(KEY) D BIT 4,A N CALL NZ,SETF O LD A,(STAT) P BIT 3,A Q JR Z,V4 X LD BC,(POS) Y DEC C b CALL COMP l BIT 0,D v JR NZ,RSJMP À INC B Ê CALL COMP Ô BIT 0,D Þ JR NZ,RSJMP è INC B - CALL COMP - BIT 0,D ¦ JR Z,UP ¦ SJMP LD HL,STAT - RES 3,(HL) ô JR V4 þ P LD DE,(POS) ° DEC E • JR Z,RSJMP LD A,(LIMIT) CP E JR Z,RSJMP LD (POS),DE JR V5 4 LD BC,(POS) LD A,C ADD A,4 LD C,A CALL COMP BIT 2,D JP NZ,F1 BIT 0,D JR NZ,V5 INC B CALL COMP BIT 2,D JP NZ,F1 BIT 0,D JR NZ,V5 INC B CALL COMP BIT 2,D JP NZ,F1 BIT 0,D JR NZ,V5 LD DE,(POS) INC E LD (POS),DE 5 LD DE,(POS) LD A,(SPR) CALL PTBL LD A,(STAT) $ BIT 0,A . CALL NZ,AXER 8 LD A,(STAT) B BIT 1,A L CALL NZ,AXEL V CALL 51000 ` LD BC,32766 j IN A,(C) t RRCA ~ JP NC,EXIT  RRCA À CALL NC,MAG  CALL NX2 È PP JP ISP + NT PUSH AF ¦ PUSH HL ò PUSH DE ÷ PUSH BC ü LD A,(52300) ¸ AND A ¡ CALL NZ,52178 v POP BC POP HL POP AF EI RETI NX2 LD HL,(MAP) DEC HL LD B,16 L0 BIT 7,(HL) JR Z,LQ BIT 5,(HL) JR Z,LQ BIT 6,(HL) JR Z,LQ LD IX,STB LD A,(COUNT2) LD C,A LF LD A,(IX+6) CP H JR NZ,L1 LD A,(IX+7) CP L JR Z,AN L1 LD DE,8 ADD IX,DE DEC C JR NZ,LF LQ LD DE,MLEN ADD HL,DE DJNZ L0 RET AN LD A,(IX+2) CP (IX+10) JR NC,AG LD A,(IX+3) CP (IX+11) JR NC,LQ AG CALL KILL JR LQ DR LD HL,STAT RES 0,(HL) JP DEATH DL LD HL,STAT RES 1,(HL) JP DEATH LIGHT LD L,50 LD DE,#70F LD BC,5000 CALL INSND LD HL,22528 LD BC,511 LT LD A,(HL) XOR 127 LD (HL),A DEC BC LD A,B OR C RET Z INC HL JR LT WDW LD DE,#10 LD BC,#2006 CALL OKNO LD DE,#812 LD A,22 CALL 52302 LD DE,#E12 LD A,24 CALL 52302 LD DE,#1412 LD A,23 CALL 52302 LD DE,#111 LD A,2 CALL 52302 LD DE,#1C11 LD A,5 CALL 52302 PRTAB CALL 51694 LD DE,#A12 CALL POSIT LD A,(LIFE) CALL DECM LD DE,#1012 CALL POSIT LD A,(ENGY) CALL DECM LD DE,#1612 CALL POSIT LD A,(SHET) DECM ADD A,#30 RST #10 RET GET LD A,(IX+5) CP 22 JR Z,IL CP 23 JR Z,IM CP 24 JR Z,IE REV LD H,(IX+6) LD L,(IX+7) RES 5,(HL) CALL KILL CALL PRTAB LD BC,53143 LD DE,#380F LD L,9 CALL INSND LD SP,(STORE) JP SP2 IL LD A,(LIFE) CP 5 ADC A,0 LD (LIFE),A JR REV IM LD A,(SHET) CP 9 ADC A,0 LD (SHET),A JR REV IE LD A,(ENGY) CP 9 ADC A,0 LD (ENGY),A JR REV MAG LD A,(COUNT2) AND A RET Z LD B,A LD A,(SHET) DEC A RET M LD (SHET),A PUSH BC CALL LIGHT CALL LIGHT CALL LIGHT CALL PRTAB POP BC LD IX,STB LL BIT 0,(IX+1) JR NZ,PP LD A,16 LD (IX+5),A SET 1,(IX+1) PUSH BC LD BC,53048 LD L,10 LD DE,#F CALL INSND POP BC PP LD DE,8 ADD IX,DE DJNZ LL RET UBIT LD A,(ENGY) DEC A JP M,F1 LD (ENGY),A CALL PRTAB JP CR F1 LD A,(LIFE) DEC A JP M,EXIT LD (LIFE),A CALL 51799 CALL KEYP LD A,9 LD (ENGY),A CALL WDW LD HL,STAT SET 3,(HL) LJ JP ISP KEYP LD B,#FF WT XOR A IN A,(#FE) CPL AND #1F JR NZ,F4 XOR A IN A,(#1F) AND #1F JR Z,KEYP F4 DJNZ WT RET MON LD A,#C9 LD (JPP),A LD A,32 LD (LLIM+1),A XOR A LD (IHL),A LD HL,0 LD (JPM),A LD (JPM+1),HL LD (SHET),A LD A,3 LD (MSTAT),A LD DE,#1008 LD (MCRD),DE LD A,64 LD (QJ),A LD HL,BOI LD (LJ+1),HL JP BOI SWAP1 LD HL,STAT RES 2,(HL) LD A,4 LD (SPR),A RET SWAP2 LD HL,STAT SET 2,(HL) LD A,1 LD (SPR),A RET SETF LD A,(STAT) LD DE,(POS) INC E BIT 2,A JR Z,S1 BIT 0,A RET NZ OR 1 LD (STAT),A INC D INC D LD (RCRD),DE LD DE,#F LD L,5 LD BC,53005 CALL INSND RET S1 BIT 1,A RET NZ SET 1,A DEC D LD (LCRD),DE LD L,5 LD BC,53005 LD DE,#F CALL INSND RET AXEL LD BC,(LCRD) DEC B CALL COMP BIT 0,D JR NZ,RLX INC C CALL COMP BIT 0,D JR Z,OK1 RLX LD HL,STAT RES 1,(HL) LD L,3 LD BC,52996 LD DE,#F CALL INSND RET OK1 LD DE,(LCRD) DEC D JR Z,RLX LD (LCRD),DE LD A,9 CALL PTBL RET AXER LD BC,(RCRD) INC B INC B CALL COMP BIT 0,D JR NZ,RRX INC C CALL COMP BIT 0,D JR Z,OK2 RRX LD HL,STAT RES 0,(HL) LD L,3 LD BC,52996 LD DE,#F CALL INSND RET OK2 LD DE,(RCRD) LD A,D CP 31 JR NC,RRX INC D LD (RCRD),DE LD A,9 CALL PTBL RET FORM DEC HL XOR A BIT 5,(HL) RET Z LD BC,(COORD) LD (IX+6),H LD (IX+7),L BIT 6,(HL) JR NZ,NOIN SET 6,(HL) LD A,(HL) AND 31 LD (IX),A LD H,0 LD L,A ADD HL,HL LD DE,INTAB ADD HL,DE LD A,(HL) LD (IX+1),A INC HL LD A,(HL) LD (IX+5),A LD (IX+2),C LD (IX+4),0 NOIN LD A,(IX+4) ADD A,B LD (IX+3),A LD DE,8 ADD IX,DE LD HL,COUNT INC (HL) XOR A RET DEATH SET 1,(IX+1) LD A,16 LD (IX+5),A LD DE,#F LD BC,53048 LD L,10 CALL INSND JP SPASS BLOW LD D,(IX+3) LD E,(IX+2) LD A,(IX+5) CALL PTBL LD A,(IX+5) INC A CP 20 JR NZ,BP LD H,(IX+6) LD L,(IX+7) RES 5,(HL) CALL KILL JP SP2 BP LD (IX+5),A JP SPASS SEEKER LD A,(IX+1) XOR 4 LD (IX+1),A BIT 2,A RET Z SEEK LD DE,(POS) LD A,(IX+3) CP D JR NC,S0 INC (IX+4) JR S2 S0 DEC (IX+4) S2 LD A,(IX+2) CP E JR NC,S3 INC (IX+2) RET S3 DEC (IX+2) RET DRAK CALL SEEK LD A,(IX+5) INC A LD (IX+5),A CP 9 RET NZ LD A,7 LD (IX+5),A RET UD BIT 5,(IX+1) JR Z,UD1 LD C,(IX+2) LD B,(IX+3) INC C INC C CALL COMP BIT 0,D JR NZ,SWAP3 INC B CALL COMP BIT 0,D JR NZ,SWAP3 INC (IX+2) RET UD1 LD A,(IX+2) DEC A LD (IX+2),A CP 4 RET NC SWAP3 LD A,(IX+1) XOR 32 LD (IX+1),A RET DINO LD C,(IX+2) LD B,(IX+3) INC C INC C LD D,5 AC LD (WORK),DE CALL COMP BIT 2,D JP NZ,DEATH BIT 0,D JR NZ,NFL LD DE,(WORK) INC B DEC D JR NZ,AC INC (IX+2) JR ND NFL DEC (IX+4) ND LD A,(IX+5) INC A LD (IX+5),A CP 13 RET NZ LD A,11 LD (IX+5),A RET TROLL LD C,(IX+2) LD B,(IX+3) INC B INC B LD D,4 CHK2 LD (WORK),DE CALL COMP BIT 2,D JP NZ,DEATH BIT 0,D RET NZ INC C LD DE,(WORK) DEC D JR NZ,CHK2 LD C,(IX+2) LD B,(IX+3) LD A,C ADD A,4 LD C,A CALL COMP BIT 2,D JP NZ,DEATH BIT 0,D JR NZ,FLN INC B CALL COMP BIT 2,D JP NZ,DEATH BIT 0,D JR NZ,FLN INC B CALL COMP BIT 2,D JP NZ,DEATH BIT 0,D JR NZ,FLN INC (IX+2) RET INC (IX+4) INC A CP 15 JR NZ,NR LD A,13 NR LD (IX+5),A RET KILL PUSH BC PUSH HL PUSH IX POP DE LD H,D LD L,E LD BC,8 ADD HL,BC LD BC,256 LDIR POP HL POP BC RET MONSTR LD A,(MSTAT) BIT 0,A JR NZ,DDR LD BC,(MCRD) LD A,C ADD A,9 LD C,A LD DE,5 CTRL LD (WORK),DE CALL COMP BIT 0,D JR NZ,SWV INC B LD DE,(WORK) DEC D JR Z,CTRL LD BC,(MCRD) INC C LD (MCRD),BC JR LDR DDR LD BC,(MCRD) DEC C LD A,C CP -5 JR Z,SWV LD (MCRD),BC LDR LD A,(MSTAT) BIT 1,A JR Z,RDR LD BC,(MCRD) DEC B JR Z,SWM LD (MCRD),BC RET RDR LD BC,(MCRD) INC B LD A,B CP 32 JR Z,SWM LD (MCRD),BC RET SWM LD A,(MSTAT) XOR 2 LD (MSTAT),A RET SWV LD A,(MSTAT) XOR 1 LD (MSTAT),A CALL LIGHT CALL LIGHT LD L,17 LD DE,#F LD BC,53092 JP INSND BOI CALL MONSTR CALL 52071 CALL EXEC LD DE,(MCRD) LD A,25 CALL PTBL LD A,(STAT) BIT 1,A JR Z,CR1 LD A,6 LD (AV),A LD (AH),A LD HL,(LCRD) LD BC,(MCRD) CALL RAD BIT 1,D JR NZ,FEEL CR1 LD A,(STAT) BIT 0,A JR Z,Y1 LD A,6 LD (AV),A LD (AH),A LD HL,(RCRD) LD BC,(MCRD) CALL RAD BIT 1,D JR NZ,FEEL Y1 LD BC,(MCRD) LD HL,(POS) LD A,10 LD (AV),A LD A,7 LD (AH),A CALL RAD BIT 1,D JP NZ,F12 CALL VIK LD A,(QJ) CP 7 JR NC,BOI LD DE,(MCRD) LD (53171),DE CALL 53170 JR BOI F12 LD A,3 LD (POS+1),A LD A,3 LD (MSTAT),A LD HL,#1008 LD (MCRD),HL JP F1 FEEL LD HL,QJ DEC (HL) JP M,THEEND LD BC,53021 LD L,4 LD DE,#380F CALL INSND LD DE,(MCRD) INC E LD A,19 CALL PTBL JP Y1 THEEND LD IX,STB LD B,10 IA LD C,5 CALL RND LD DE,(MCRD) ADD A,D LD (IX),A LD C,9 CALL RND LD DE,(MCRD) ADD A,E LD (IX+1),A LD C,2 CALL RND ADD A,16 LD (IX+2),A LD DE,3 ADD IX,DE DJNZ IA LD B,#FF REP LD C,10 PUSH BC CALL 52071 CALL EXEC LD DE,(MCRD) LD A,25 CALL PTBL POP BC RD PUSH BC LD A,(IX+2) INC A CP 20 JR C,EA LD A,16 EA LD (IX+2),A LD D,(IX) LD E,(IX+1) CALL PTBL POP BC LD DE,3 ADD IX,DE DEC C JR NZ,RD PUSH BC LD BC,53048 LD L,10 LD DE,#F CALL INSND CALL VIK POP BC DJNZ REP JP EXIT REST LD HL,34616 LD BC,16384 Y2 LD A,(HL) BIT 7,A JR Z,Y3 OR 96 LD (HL),A Y3 INC HL DEC BC LD A,B OR C JR NZ,Y2 RET BAK LD A,#C3 LD (JPP),A LD A,10 LD (LLIM+1),A LD A,35 LD (IHL),A LD A,#D2 LD (JPM),A LD HL,MON l¬ LD (JPM+1),HL n¬ LD HL,ISP p¬ LD (LJ+1),HL r¬ RET Ú¬ZAST CALL CLS ܬ XOR A Þ¬ OUT (#FE),A ଠCALL 52071 ⬠CALL EXEC ä¬ CALL 51000 æ¬ LD DE,0 è¬ LD BC,#2010 ê¬ CALL OKNO ì¬ LD DE,#A14 î¬ LD BC,#A05 -¬ CALL OKNO -¬ LD DE,TX1 +¬ CALL 51915 ¦¬ LD DE,TX2 ¬¬ CALL 51915 ¦¬ CALL RK -¬ LD (SCAN+1),HL -¬ CALL BAK L¬ CALL REST T¬ LD HL,34616 -¬ LD (MAP),HL ¦¬ LD HL,#F00 L¬ LD (POS),HL ¦¬ LD A,4 ¦¬ LD (STAT),A +¬ LD (LIFE),A ¦¬ LD (ENGY),A T¬ LD A,1 L¬ LD (SPR),A 㬠XOR A +¬ LD (SHET),A -¬ CALL WDW -¬ JP EXIT ¦¬CLS LD HL,#4000 ð¬ LD DE,#4001 ò¬ LD BC,6144 ô¬ LD (HL),L ö¬ LDIR ø¬ LD HL,22528 ú¬ LD DE,22529 ü¬ LD BC,768 þ¬ LD (HL),7 ¨¬ LDIR ª¬ RET ¯¬TX1 DEFB 22,#B,#15 ¡¬ DEFM "NAJMI °¬ DEFB #FF ¬TX2 DEFB 22,#D,#15 ¹¬ DEFM "OGONY" ¦¬ DEFB #FF LD HL,51700 BIT 4,A RET NZ CALL 51724 LD HL,51724 BIT 4,A RET NZ CALL 51731 LD HL,51731 BIT 4,A RET NZ CALL 51766 LD HL,51766 BIT 4,A RET NZ LD BC,#7FFE " IN A,(C) $ BIT 5,A & JP Z,EXIT ( CALL KEYP * JR RK 'STB ü