ZXTape! MONST7.ASM}r S  ORG 45500  ENT $ (INITC LD HL,SOURCE 2 LD (41868),HL < LD HL,#F0F3 F LD (HC),HL P LD A,#10 Z LD (STS),A d LD A,#30 n LD (APS),A y XOR A z LD (NAS),A { LD A,22 | LD (SP_M+1),A JP MAIN DELC PUSH HL LD DE,4 ADD HL,DE PUSH HL LD DE,57047 EX DE,HL AND A SBC HL,DE LD B,H LD C,L POP HL POP DE  LDIR  LD HL,NAS  DEC (HL) " RET ,HC EQU 56978 1NAS EQU 56980 6STS EQU 56981 ;APS EQU 56982 @RSP EQU 56983 AOS EQU 41453 BRAD EQU #A8B5 CDELS EQU 57047 DFLG EQU 56984 EDIR EQU FLG+1 FSOURCE EQU 63954 GS EQU 43719 HINS EQU 56897 TCOPT LD DE,(HC) ^ LD A,(STS) h BIT 4,A r JR Z,C1 | LD A,D  CP #23  JP P,SWD  INC D  JR C2 C1 LD A,D  CP -4  JP M,SWD  DEC D C2 LD A,(STS)  BIT 2,A  JR Z,C3  LD A,E  CP -2  JP M,SDN  DEC E  JR C4 &C3 LD A,(STS) 0 BIT 3,A : JR Z,C4 D LD A,E N CP 3 X JP P,RDN b INC E lC4 LD (HC),DE v LD A,41  CALL OS  CALL #A9CF  CP #F0  JR C,C5  LD A,(STS)  SET 2,A  LD (STS),A C5 CALL #A9CF  CP #C0  CALL NC,SETF  RET SDN LD A,(STS)  RES 2,A  SET 3,A  LD (STS),A  JR C4 SWD LD A,(STS) * XOR #10 4 LD (STS),A > JR C4 HRDN LD HL,STS R RES 2,(HL) \ RES 3,(HL) f JR C4 gSWM LD A,(STS) h XOR 1 i LD (STS),A l JP CR1 pSETF LD A,(NAS) z CP 9  RET NC  INC A  LD (NAS),A  DEC A  ADD A,A  ADD A,A  LD IX,57007  LD D,0  LD E,A  ADD IX,DE  LD DE,(HC)  LD A,D  ADD A,4  LD (IX+1),A  LD A,E  ADD A,5 $ LD (IX),A . LD A,(56858) 8 INC A B LD (IX+3),A N LD (IX+2),#10 U LD HL,S+288 V JP INS `MAIN CALL #A688 j CALL 42392 t CALL 44218 ~ CALL COPT  CALL E_P  CALL BREAK  JR C,MAIN  JP 57050 E_P LD A,(56879)  AND A  JR Z,M1  LD B,A  LD IX,56900 CH PUSH BC  LD L,(IX+1)  LD H,(IX+2)  LD BC,(HC)  LD DE,#404  CALL #A8B5  BIT 1,D  JR Z,CH1  LD HL,S+262  CALL INS  LD A,(APS)  DEC A  LD (APS),A ( JR NZ,CX 2 LD HL,STS 3 SET 5,(HL) < JR CH1 =CX PUSH IX > POP HL ? CALL DELS @ JR CZ PCH1 LD DE,4 Z ADD IX,DE [CZ POP BC d DJNZ CH e LD HL,STS f BIT 5,(HL) g JP NZ,YOUWON nM1 LD A,(NAS) x AND A  JR Z,ML2  LD B,A  LD IX,57007 CC PUSH BC  LD B,(IX+1)  LD C,(IX)  LD A,C  CP (IX+2)  JR Z,RR CC1 LD B,(IX+1)  LD C,(IX)  LD HL,(56857)  LD DE,#404  CALL RAD  LD HL,STS  RES 6,(HL)  BIT 1,D  JR Z,ZL  SET 6,(HL) "RR PUSH IX , POP HL 6 CALL DELC @ JR PZZ JZL LD D,(IX+1) T LD E,(IX) ^ LD A,D h CP (IX+3) r JP M,V1 | DEC D  JR V2 V1 INC D V2 LD A,E  CP (IX+2)  JP M,V3  DEC E  JR V4 V3 INC E V4 LD (IX+1),D  LD (IX),E SP_M LD A,22  CALL OS  LD DE,4  ADD IX,DE PZZ POP BC  DJNZ CC  LD HL,STS  BIT 6,(HL)  CALL NZ,#A159 &ML2 JP #A696 lSCRAP LD A,(STS) v BIT 0,A  JR NZ,BUP  LD A,(HC)  CP #D  JP P,SWM  INC A  LD (HC),A  JR CR1 BUP LD A,(HC)  CP #FE  JP M,SWM  DEC A  LD (HC),A CR1 LD A,(NAS)  AND A  CALL Z,SETD  LD DE,(HC)  LD A,41  JP OS SETD LD IX,57007 LD B,10 SLP LD DE,(HC) LD A,E XOR B LD (IX),A DEC D DEC D LD (IX+1),D LD A,B ADD A,A ADD A,A RRCA ADD A,B LD (IX+3),A LD A,#14 LD (IX+2),A LD DE,4 ADD IX,DE DJNZ SLP LD A,9 LD (NAS),A LD HL,S+180 JP INS  SET1 CALL #A9CF ! AND 7 " SUB 3 0 LD (IX),A 5 CALL #A9CF : AND #F ; SUB 3 D LD (IX+1),A I CALL #A9CF N AND 3 S ADD A,35 X LD (IX+2),A ] RET WIN LD IX,57007 LD B,10 WL CALL SET1 LD DE,3 ADD IX,DE DJNZ WL RET WINDEM LD A,(HC) CP #15 RET P CALL #A688 CALL 42392 CALL 44218 LD DE,(HC) LD A,41 CALL OS LD IX,57007 LD B,10 WDL PUSH BC LD A,(IX+2) CP 40 JR C,WDP CALL SET1 CALL JJ JR WDS WDP LD DE,(HC) LD A,D ADD A,(IX+1) LD D,A LD A,E  ADD A,(IX)  LD E,A  LD A,(IX+2) CALL OS  INC (IX+2)  WDS LD DE,3  ADD IX,DE POP BC % DJNZ WDL & CALL #A696 ' CALL #A9CF ( CP #E0 ) JR C,WINDEM * LD HL,HC + INC (HL) , JR WINDEM 4 JJ CALL #A9CF 5 CP #A0 6 RET C 7 PUSH HL 8 PUSH DE 9 PUSH BC : LD HL,S+368 ; CALL INS < POP BC = POP DE > POP HL ? RET H YOUWON CALL WIN M JP WINDEM SETV LD IX,57007 LD B,9 SVL LD DE,(HC) CALL #A9CF AND 3 ADD A,D LD (IX+1),A CALL #A9CF AND 7 SUB 3 ADD A,E LD (IX),A LD DE,(56857) CALL #A9CF AND #1F SUB #8 LD (IX+2),A CALL #A9CF AND #3F SUB #1F ADD A,A LD (IX+3),A LD DE,4 ADD IX,DE DJNZ SVL LD A,9 LD (NAS),A LD HL,S+66 JP INS INITB LD HL,#1000  LD (HC),HL  XOR A  LD (STS),A  LD A,22  LD (SP_M+1),A  XOR A  LD (NAS),A  LD HL,SOURCE  LD (41868),HL  LD A,#4E  LD (APS),A SCYC CALL #A688  CALL 42392  CALL 44218  CALL SCRAP  CALL E_P  CALL BREAK  JR C,SCYC  JP 57050 INITR LD IX,41868  LD HL,SOURCE  LD DE,110  LD B,4 IRL LD (IX),L  LD (IX+1),H  ADD HL,DE  INC IX  INC IX  DJNZ IRL  LD A,44 # LD (RSP),A ( LD A,#9F - LD (APS),A 2 LD A,1 7 LD (DIR),A < LD HL,#7 A LD (HC),HL L XOR A M LD (NAS),A N LD (STS),A P LD A,32 U LD (SP_M+1),A d JP RCYC pROBOT LD HL,(HC) q LD A,(DIR) r CP 1 s JR Z,RB3 u LD A,H z CP -3  JP M,SW  JR RB2 RB3 LD A,H  CP #20  JP P,SW RB2 LD A,(RSP)  DEC A  CP 41  JR NC,RB1  LD HL,S+202  CALL INS  LD HL,(HC)  LD A,(DIR)  ADD A,H  LD (HC+1),A  LD A,44 RB1 LD (RSP),A  LD A,(NAS)  AND A  CALL Z,SETV  RET SW LD A,(DIR)  NEG  LD (DIR),A  JP RB2 dRCYC CALL #A688 i CALL 42392 n CALL 44218 o LD DE,(HC) p LD A,(RSP) q CALL OS { LD A,(FLG) | XOR 1 } LD (FLG),A  BIT 0,A  CALL Z,ROBOT  CALL E_P  CALL BREAK  JR C,RCYC  JP 57050 XSETm LD A,2 ] LD (44267),A b LD A,#1E g LD (44380),A l LD A,8 q LD (44500),A v LD HL,56882 { SET 2,(HL) | CALL #A12F  RET BREAK LD A,#7F  IN A,(#FE)  RRCA  RET ' ENT $