?login_element?

Subversion Repositories NedoOS

Rev

Rev 1626 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;***************************************
  2. ;** MAIN CODE                         **
  3. ;***************************************
  4.  
  5.                 IF MUSICALSO=0
  6.  
  7.                 ;ORG CODE
  8.  
  9. ;                ENTR
  10.  
  11. START           CALL SETUPPAGES
  12.  
  13. REENTRY         LD SP,THESTACK:CALL GOMENU
  14. INTROLOOP       CALL HIGHSCORES:CALL GAMECLS
  15.  
  16.                 LD HL,0:LD (AMMOLEFT+1),HL:LD (PRTBARRIER+1),HL
  17.                 XOR A:LD (BACKLEFT+1),A:LD (KEYSCOLLECTED+1),A
  18.                 LD (SAVEDPEOPLE+1),A:LD (SAVORS),A:LD (WEPPOWER),A
  19.                 LD (WEPTYPE+1),A:LD (PAKTYPE+1),A
  20.                 INC A:CALL PLAYMUSIC
  21.  
  22.                 LD A,(INFLIVES)
  23.                 OR A:LD A,STARTLIVES:JR Z,JOEY:LD A,12
  24. JOEY            LD (LIVES),A
  25.  
  26.                 LD HL,"00":LD (SCORE+0),HL:LD (SCORE+2),HL
  27.                 LD (SCORE+4),HL:LD (SCORE+6),HL
  28.         ;jp FIB
  29. SAMELEVEL       CALL GAME
  30.                 LD A,(RETMODE):DEC A:ADD A,A:LD E,A:LD D,0
  31.                 LD HL,RETMODES:ADD HL,DE
  32.                 LD E,(HL):INC HL:LD D,(HL):EX DE,HL:JP (HL)
  33.  
  34. ;***************************************
  35.  
  36. GAMEOVER
  37. REALGAMEOVER    LD B,65:CALL BFLY:CALL SPRINT
  38.                 DB PRINK,$47,PRGAMECLS,PRSIZE,1
  39.                 DB PRAT, 11,10, "GAME  OVER",PREOF
  40.                 LD B,50:CALL BFLY
  41. TESTLOADLEV1    LD HL,SCORE:LD DE,LASTSCORE:LD BC,8:LDIR
  42.                 CALL TESTHIGH:DB 62
  43. LEVEL           DB STARTLEV
  44.                 CP STARTLEV:JP Z,INTROLOOP
  45.                 LD A,STARTLEV:LD (LEVEL),A:CALL LOADLEVEL:JP INTROLOOP
  46.  
  47. NEXTLEVEL       LD A,(LEVEL):INC A:LD (LEVEL),A:CP 10:JP NZ,FIB
  48.                 CALL SPRINT:DB PRGAMECLS,PRINK,$47,PRSIZE,1
  49.                 DB PRAT,07,04,"CONGRATULATIONS!!!"
  50.                 DB PRAT,08,07,"YOU'VE ESCAPED!!",PREOF
  51. SAVEDPEOPLE     LD A,0:OR A:JR Z,NO_l_SAVED:ADD A,"0":LD (SAVED+13),A
  52.                 CALL SPRINT
  53. SAVED           DB PRAT,01,10,"AND SAVED 1 OF YOUR RELATIVES.",PREOF
  54.                 JR SAVED_SOME
  55. NO_l_SAVED      CALL SPRINT
  56.                 DB PRAT,02,10,"BUT YOU DIDN'T SAVE ANYONE!!",PREOF
  57. SAVED_SOME      LD B,0:CALL BFLY:CALL BFLY:JP REALGAMEOVER
  58.  
  59. FIB             CALL LOADLEVEL:JP SAMELEVEL
  60.  
  61. LOADLEVEL
  62. ;               LD A,(LEVEL):ADD A,"0":LD (LEVNM),A:CALL GAMECLS
  63. ;               CALL SPRINT:DB PRINK,7,PRSIZE,1,PRAT,10,10,"LOAD LEVEL "
  64. ;LEVNM          DB "l",PREOF
  65.  
  66.                 CALL KILLSOUND
  67.  
  68.                 LD A,(LEVEL):DEC A:LD DE,LLDATLEN:LD HL,LLDAT:CALL MULT
  69.                 LD A,(HL):INC HL
  70.                 LD D,(HL):INC HL:LD E,0
  71.                 LD BC,$2000
  72.                 PUSH HL:LD HL,LEVELDATA:CALL PAGECOPY:POP HL
  73.                 LD A,(HL):JP PLAYMUSIC
  74.  
  75. LLDATLEN        EQU 3
  76. LLDAT           DB $11,$E0,6             ; 1
  77.                 DB $11,$C0,1             ; 2
  78.                 DB $13,$C0,1             ; 3
  79.                 DB $13,$E0,6             ; 4
  80.                 DB $14,$C0,3             ; 5
  81.                 DB $14,$E0,1             ; 6
  82.                 DB $16,$C0,3             ; 7
  83.                 DB $16,$E0,6             ; 8
  84.                 DB $17,$C0,4             ; 9
  85.  
  86. BFLY            PUSH BC:CALL BEEPER:POP BC:DJNZ BFLY:RET
  87.  
  88. ;****************************************
  89. ;** MISC ROUTINES                      **
  90. ;****************************************
  91.  
  92. BAXITA          LD B,(HL):INC HL:LD C,(HL):INC HL
  93.                 LD A,D:AND $F8:LD D,A:PUSH DE:PUSH BC
  94.                 SRL C:CALL BAXIT:EX DE,HL:POP BC:POP DE
  95. ATRIT           SRL C:SRL C:SRL C
  96. BAXATR          PUSH HL:CALL BATAD:POP DE
  97. BAXITALP        PUSH BC:PUSH HL
  98. BAXITALP1       LD A,(DE):INC DE:OR A:JR Z,DENO:LD (HL),A
  99. DENO            INC L:LD A,L:AND 31:JR NZ,NAG
  100.                 LD A,L:SUB 32:LD L,A
  101. NAG             DJNZ BAXITALP1:POP HL:LD BC,32:ADD HL,BC
  102.                 POP BC:DEC C:JP NZ,BAXITALP:RET
  103.  
  104. BAXITFLIP       LD A,C:ADD A,A:ADD A,D:DEC A:LD D,A:PUSH HL:LD HL,-32
  105.                 LD (BAXDIR1+1),HL:LD (BAXDIR2+1),HL:POP HL:CALL BAXIT
  106.                 LD HL,32:LD (BAXDIR1+1),HL:LD (BAXDIR2+1),HL:RET
  107. BAXIT           PUSH HL:CALL BIXAD:POP DE
  108. BAXITCLP        PUSH BC
  109. BAXITBLP1       LD A,(DE):INC DE:LD (HL),A:INC HL:DJNZ BAXITBLP1:DEC HL
  110. BAXDIR1         LD BC,32:ADD HL,BC:POP BC:PUSH BC
  111. BAXITBLP2       LD A,(DE):INC DE:LD (HL),A:DEC HL:DJNZ BAXITBLP2:INC HL
  112. BAXDIR2         LD BC,32:ADD HL,BC:POP BC:DEC C:JP NZ,BAXITCLP:RET
  113.  
  114. BAXITMIRFLIP    LD A,C:ADD A,A:ADD A,D:DEC A:LD D,A:PUSH HL:LD HL,-32
  115.                 LD (MAXDIR1+1),HL:LD (MAXDIR2+1),HL:POP HL:CALL BAXITMIR
  116.                 LD HL,32:LD (MAXDIR1+1),HL:LD (MAXDIR2+1),HL:RET
  117. BAXITMIR        LD A,B:DEC A:ADD A,A:ADD A,A:ADD A,A:ADD A,E:LD E,A
  118.                 PUSH HL:CALL BIXAD:POP DE:EXX:LD B,MIRPAGE/256:EXX
  119. MAXITCLP        PUSH BC
  120. MAXITBLP1       LD A,(DE):INC DE:EXX :LD C,A:LD A,(BC):EXX
  121.                 LD (HL),A:DEC HL:DJNZ MAXITBLP1:INC HL
  122. MAXDIR1         LD BC,32:ADD HL,BC:POP BC:PUSH BC
  123. MAXITBLP2       LD A,(DE):INC DE:EXX :LD C,A:LD A,(BC):EXX
  124.                 LD (HL),A:INC HL:DJNZ MAXITBLP2:DEC HL
  125. MAXDIR2         LD BC,32:ADD HL,BC:POP BC:DEC C:JP NZ,MAXITCLP:RET
  126.  
  127. DELAYBC         DEC BC:LD A,B:OR C:JP NZ,DELAYBC
  128. RETURN          RET ; L=X,H=XLEN,E=X1,D=X1LEN,NC=HIT
  129. HITA            LD A,L:ADD A,H:JR C,HITAX:CP E:RET C
  130. HITA2           LD A,E:ADD A,D:JR C,HITAY:CP L:RET
  131. HITAX           CP E:JR C,HITA2:SUB H:CP E:CCF :RET C:JR HITA2
  132. HITAY           CP L:CCF :RET NC:SUB D:CP L:CCF :RET
  133. RAND            PUSH HL:PUSH BC:LD HL,RND1:LD C,(HL):INC HL:LD A,(HL)
  134.                 SRL C:SRL C:SRL C:XOR C:INC HL:RRA
  135.                 RL (HL):DEC HL:RL (HL):DEC HL:RL (HL):POP BC:POP HL
  136.                 RET
  137.  
  138. RND1            DB #58 ; SRC = DB 128
  139. RND2            DB #5a ; SRC = DB 255
  140. RND3            DB #5d ; SRC = DB 63
  141.  
  142. SATAD2          SRL E:SRL E:SRL E:SRL D:SRL D:SRL D
  143.                 LD HL,BACKATR2:LD A,D:LD D,0:ADD HL,DE:LD E,26
  144.                 JP MULT
  145. BIXAD2          SRL E:SRL E:SRL E
  146. BAXAD2          LD HL,BACKSCR2:LD A,D:LD D,0:ADD HL,DE:LD E,26
  147.                 JP MULT
  148.  
  149. BATAD           SRL E:SRL E:SRL E:SRL D:SRL D:SRL D
  150.                 LD HL,BACKATR:LD A,D:LD D,0:ADD HL,DE:LD E,32
  151.                 JP MULT
  152. BIXAD           SRL E:SRL E:SRL E
  153. BAXAD           LD HL,BACKSCR:LD A,D:LD D,0:ADD HL,DE:LD E,32
  154. MULT            OR A:RET Z:RRA :JR NC,MULTI:ADD HL,DE
  155. MULTI           EX DE,HL:ADD HL,HL:EX DE,HL:JP MULT
  156. DIXAD           RES 0,D
  157. PIXAD           LD A,D:ADD A,64:OR A:RRA:SCF:RRA:OR A:RRA
  158.                 XOR D:AND $F8:XOR D:SUB 8:LD H,A
  159.                 LD A,E:RLCA:RLCA:RLCA:XOR D:AND $C7:XOR D
  160.                 RLCA:RLCA:LD L,A:RET
  161.  
  162. PIXDN           INC H:LD A,H:AND 7:RET NZ
  163.                 LD A,L:ADD A,32:LD L,A:RET C
  164.                 LD A,H:SUB 8:LD H,A:RET
  165.  
  166. PIXDNDE         INC D:LD A,D:AND 7:RET NZ
  167.                 LD A,E:ADD A,32:LD E,A:RET C
  168.                 LD A,D:SUB 8:LD D,A:RET
  169. CHRAD           LD A,D:AND 7:RRCA :RRCA :RRCA :OR E:LD E,A
  170.                 LD A,D:AND 24:OR 64:LD D,A:RET
  171. PIXATRAD        SRL E:SRL E:SRL E:SRL D:SRL D:SRL D
  172. ATRAD           LD HL,BACKATR:LD A,D:LD D,0:ADD HL,DE
  173.                 LD E,32:JP MULT
  174.  
  175. ;***************************************
  176. ;** INTERRUPT ROUTINES                **
  177. ;***************************************
  178.  
  179. PLAYMUSIC       CP $FF
  180.                 RET Z:LD (PLAYMUSIC+1),A:LD (TUNENUM+1),A
  181.                 DI
  182.                 ds 4 ;LD A,$3F:LD I,A
  183.                 ds 2 ;IM 1
  184.                 LD A,$17:call setpg:ds 2 ;LD BC,$7FFD:OUT (C),A
  185. TUNENUM         LD A,0:CALL MUSINITTUNE
  186.                 LD A,$10:call setpg:ds 2 ;LD BC,$7FFD:OUT (C),A
  187.                 ds 4 ;LD A,$FE:LD I,A
  188.                 ds 2 ;IM 2
  189.                 EI:RET
  190.  
  191. KILLSOUND       LD A,$FF:LD (PLAYMUSIC+1),A
  192.                 DI:ds 4 ;LD A,$3F:LD I,A
  193.                 ds 2  ;IM 1
  194.                 LD A,$17:call setpg:ds 2 ;LD BC,$7FFD:OUT (C),A
  195.                 CALL MUSRESETSOUND
  196.                 LD A,$10:call setpg:ds 2 ;LD BC,$7FFD:OUT (C),A
  197.                 ds 4 ;LD A,$FE:LD I,A
  198.                 ds 2 ;IM 2
  199.                 EI:RET
  200.  
  201. INTER           DI:LD HL,INTPAGE: LD DE,INTPAGE+1:LD BC,$100
  202.                 LD (HL),$FF:LDIR
  203.                 LD HL,INTRUP:LD DE,INTJP:LD BC,12:LDIR
  204.                 ds 4 ;LD A,INTPAGE/256:LD I,A
  205.                 ds 2 ;IM 2
  206.                 EI:RET
  207.  
  208. INTRUP          JP INTS
  209.                 DB "J.BAGLEY",24
  210.  
  211. INTS            nop ;DI
  212.                 PUSH AF
  213. MUSCONT         LD A,1:OR A:JR Z,HERE
  214.                 PUSH BC
  215.                 LD A,$17:call setpg:ds 2 ;LD BC,$7FFD:OUT (C),A
  216.                 PUSH IX:PUSH HL:PUSH DE
  217.                 CALL MUSDOMUSIC
  218.                 POP DE:POP HL:POP IX
  219. PAGEON          LD A,$10:call setpg:ds 2 ;LD BC,$7FFD:OUT (C),A
  220.                 POP BC
  221. HERE            LD A,255:LD R,A
  222. FRAME           LD A,0:INC A:LD (FRAME+1),A
  223.                 POP AF
  224.                 nop ;EI
  225.                 RET
  226.  
  227. ;***************************************
  228. ;** PRINT ROUTINES                    **
  229. ;***************************************
  230.  
  231. UDGS
  232. HEARTCHR_80     DB #00,#76,#EF,#EF,#F7,#7E,#3C,#18
  233. KEYCHR1_81      DB #07,#CF,#1F,#9C,#1C,#9F,#0F,#87,#E0,#F3,#F9,#39,#38,#D9,#F0,#E1
  234. KEYCHRZ_83      DB #00,#81,#01,#81,#01,#81,#A9,#00,#00,#81,#C0,#C1,#C0,#C1,#D5,#80
  235. KEYCHR3_85      DB #00,#D5,#00,#80,#00,#80,#00,#80,#00,#53,#01,#01,#00,#01,#00,#01
  236. KEYCHR4_87      DB #00,#80,#00,#80,#00,#80,#A9,#00,#00,#01,#00,#01,#00,#01,#55,#00
  237. PAKCHR_89       DB #05,#68,#00,#F1,#E9,#00,#68,#05,#E0,#F6,#00,#DF,#DF,#00,#F6,#E0
  238. GUNCHR_8B       DB #F8,#87,#B0,#A0,#83,#84,#88,#F0,#EF,#90,#47,#00,#90,#8F,#84,#FC,#FC,#06,#A9,#09,#06,#FC,#00,#00
  239.  
  240. BOXUDGS         DB %11111111,%00000111
  241.                 DB %11111000,%00011000
  242.                 DB %11100000,%00100000
  243.                 DB %11000000,%01000000
  244.                 DB %11000000,%01000000
  245.                 DB %10000000,%10000000
  246.                 DB %10000000,%10000000
  247.                 DB %10000000,%10000000
  248.                 DB %11111111,%11100000
  249.                 DB %00011111,%00011000
  250.                 DB %00000111,%00000100
  251.                 DB %00000011,%00000010
  252.                 DB %00000011,%00000010
  253.                 DB %00000001,%00000001
  254.                 DB %00000001,%00000001
  255.                 DB %00000001,%00000001
  256.                 DB %00000001,%00000001
  257.                 DB %00000001,%00000001
  258.                 DB %00000001,%00000001
  259.                 DB %00000011,%00000010
  260.                 DB %00000011,%00000010
  261.                 DB %00000111,%00000100
  262.                 DB %00011111,%00011000
  263.                 DB %11111111,%11100000
  264.                 DB %10000000,%10000000
  265.                 DB %10000000,%10000000
  266.                 DB %10000000,%10000000
  267.                 DB %11000000,%01000000
  268.                 DB %11000000,%01000000
  269.                 DB %11100000,%00100000
  270.                 DB %11111000,%00011000
  271.                 DB %11111111,%00000111
  272.                 DB %00000000,%10000001
  273.                 DB %00000001,%10000010
  274.                 DB %00000011,%10000100
  275.                 DB %10000111,%01000100
  276.                 DB %10000111,%01000100
  277.                 DB %11000011,%00100010
  278.                 DB %11110001,%00011001
  279.                 DB %11111100,%00000111
  280.  
  281. ;***************************************
  282.  
  283. SPRINT          POP HL:CALL PRINT:JP (HL)
  284.  
  285. PRINT           LD A,(HL):INC HL:CP PREOF: RET Z
  286.                 CP 32:JP C,PRTCODES:CALL PRTCELL:JP PRINT
  287.  
  288. PRTUDG          LD L,A:LD H,0:ADD HL,HL:ADD HL,HL:ADD HL,HL
  289.                 LD BC,UDGS:ADD HL,BC:LD (UDGHL+1),HL
  290.                 POP BC:POP DE:POP HL
  291.                 LD BC,(FONT):PUSH BC
  292. ;                LD A,(FONT+2):PUSH AF
  293.  
  294.                 LD BC,UDGRET:PUSH BC:PUSH HL:PUSH DE:PUSH BC
  295.                 XOR A:LD L,A:LD H,A:LD (FONT),HL
  296. ;                LD (FONT+2),A
  297. ;                LD (FONT+3),HL
  298.  
  299. UDGHL           LD HL,$0000:JR PRTCHR
  300. UDGRET
  301. ;               POP AF:LD (FONT+2),A
  302.                 POP BC:LD (FONT),BC
  303. ;                DB 1
  304. ;                RRCA:OR (HL):LD (FONT+3),BC
  305.                 RET
  306.  
  307. PRTCELL         PUSH HL:PUSH DE:PUSH BC:XOR 128:JP P,PRTUDG
  308.                 LD L,A:LD H,7:ADD HL,HL:ADD HL,HL:ADD HL,HL
  309. PRTCHR          LD A,D:AND 7:RRCA:RRCA:RRCA:OR E:LD E,A
  310.                 LD A,D:AND 24:OR 64:LD D,A:PUSH DE:LD B,8
  311. CHRBLP          LD A,(HL)
  312. FONT            RRCA:OR (HL)
  313. ;                INC HL:OR (HL):DEC HL
  314. ;                RRCA:OR (HL)
  315. CHRSIZE         NOP:NOP
  316.                 LD (DE),A
  317.                 INC D:LD A,D:AND 7:JR NZ,PSKP
  318.                 LD A,E:ADD A,32:LD E,A:JR C,PSKP
  319.                 LD A,D:SUB 8:LD D,A
  320. PSKP            INC HL:DJNZ CHRBLP:POP DE
  321.                 LD A,D:RRA:RRA:RRA:AND 3:OR 88:LD D,A:DB 62
  322. ATTR            DB 7+64
  323.                 OR A:JP M,NOMORE+1:JR NOMORE
  324. FROM            LD (DE),A:LD A,E:ADD A,32:LD E,A
  325.                 ADC A,D:SUB E:LD D,A:DB 62
  326. ATTR2           DB 7+64
  327. NOMORE          LD (DE),A:POP BC:POP DE:POP HL
  328.                 INC E:LD A,E:CP 32:RET C
  329. DOWNLINE        LD E,0:INC D:LD A,D:CP 24:RET C:LD D,0:RET
  330.  
  331. PRTCODES        CP PRKEY:     JP Z,PRTKEY
  332.                 CP PRAT:      JP Z,PRTAT
  333.                 CP PRINK:     JP Z,PRTINK
  334.                 CP PRINK2:    JP Z,PRTINK2
  335.                 CP PRCLS:     JP Z,PRTCLS
  336.                 CP PRSIZE:    JP Z,PRTSIZE
  337.                 CP PRMULTY:   JP Z,PRTMULTY
  338.                 CP PRGAMECLS: JP Z,PRTGAMECLS
  339.                 CP PRPAUSE:   JP Z,PRTPAUSE
  340.                 JP PRINT
  341.  
  342. ;DEC5            LD BC,10000:CALL DEC0
  343. ;DEC4            LD BC,1000:CALL DEC0
  344. DEC3            LD BC,100:CALL DEC0
  345. DEC2            LD BC,10:CALL DEC0
  346. DEC1            LD BC,1
  347. DEC0            LD A,"0"-1
  348. DECL            INC A:OR A:SBC HL,BC:JR NC,DECL
  349.                 ADD HL,BC:JP PRTCELL
  350.  
  351. PRTPAUSE        CALL PAUSE0:JP PRINT
  352.  
  353. PRTGAMECLS      PUSH HL:CALL GAMECLS:POP HL:LD DE,0:JP PRINT
  354.  
  355. PRTSIZE         LD A,(HL):INC HL:OR A:JR Z,NAMO
  356.                 DEC A:JR Z,EDZ:INC A
  357.                 LD C,A:LD B,(HL):INC HL:XOR A:JR SETSIZE
  358. EDZ             DB 1
  359.                 LD (DE),A:INC D
  360. SETSIZE         LD (CHRSIZE),BC:LD (FROM-1),A:JP PRINT
  361. NAMO            LD C,A:LD B,A:LD A,NOMORE-FROM:JR SETSIZE
  362.  
  363. PRTMULTY        LD B,(HL):INC HL:LD C,(HL):INC HL
  364.                 LD A,B:OR A:JP Z,PRINT
  365. PRTM1           PUSH BC:LD A,C:CALL PRTCELL:POP BC:DJNZ PRTM1:JP PRINT
  366.  
  367. PRTKEY          LD A,(HL):INC HL:LD (ATTR),A
  368.                 LD A,(HL):INC HL:PUSH AF:CALL PRTCELL
  369.                 LD A,(ATTR):XOR $40:LD (ATTR),A:POP AF:INC A
  370.                 CALL PRTCELL:LD A,E:SUB 2:LD E,A:INC D:JP PRINT
  371.  
  372. PRTCLS          PUSH HL:CALL CLS:POP HL:JP PRINT
  373.  
  374. PRTAT           LD E,(HL):INC HL:LD D,(HL):INC HL:JP PRINT
  375.  
  376. PRTINK          LD A,(HL):INC HL:LD (ATTR),A:LD (ATTR2),A:JP PRINT
  377. PRTINK2         LD A,(HL):INC HL:LD (ATTR2),A:JP PRINT
  378.  
  379. CLS             LD A,(ATTR)
  380.                 LD HL,$5800:LD DE,$5801:LD BC,$02FF:LD (HL),A:LDIR
  381.                 LD HL,$4000:LD DE,$4001:LD BC,$17FF:LD (HL),L:LDIR
  382.                 LD DE,$0000:RET
  383.  
  384. GAMECLS         LD HL,$5800:LD DE,$5801:LD BC,$01FF:LD (HL),L:LDIR
  385.                 LD HL,$4000:LD DE,$4001:LD BC,$0FFF:LD (HL),L:LDIR
  386.                 RET
  387.  
  388. ;***************************************
  389. ;** KEYBOARD ROUTINES                 **
  390. ;***************************************
  391.  
  392. XTRAKEYS        DB %10111111,%10000 ; H     (PAUSE GAME..)
  393.                 DB %01111111,%00001 ; SPACE (NITRO ETC...)
  394.  
  395. KEYBOARD        DB %01111111,%00100 ; M
  396.                 DB %11111011,%00001 ; Q
  397.                 DB %11111101,%00001 ; A
  398.                 DB %11011111,%00010 ; O
  399.                 DB %11011111,%00001 ; P
  400.  
  401. FACEII          DB %11101111,%00001 ; 0
  402.                 DB %11101111,%00010 ; 9
  403.                 DB %11101111,%00100 ; 8
  404.                 DB %11101111,%10000 ; 6
  405.                 DB %11101111,%01000 ; 7
  406.  
  407. CURSORS         DB %11101111,%00001 ; 0
  408.                 DB %11101111,%01000 ; 7
  409.                 DB %11101111,%10000 ; 6
  410.                 DB %11110111,%10000 ; 5
  411.                 DB %11101111,%00100 ; 8
  412.  
  413. READKEYS        LD A,CONT
  414.                 PUSH AF:LD HL,XTRAKEYS:LD BC,$0200:CALL CONTLOP:POP AF
  415.                 LD HL,KEYBOARD:OR A:JR Z,GOTCONT:DEC A:JR Z,KEMPSTON
  416.                 LD HL,FACEII:DEC A:JR Z,GOTCONT:LD HL,CURSORS
  417. GOTCONT         LD B,5:CALL CONTLOP:LD A,C:LD (FUDLR),A:RET
  418. CONTLOP         LD A,(HL):INC HL:IN A,(254)
  419.                 AND (HL):INC HL:JR NZ,NOSCF:SCF
  420. NOSCF           RL C:DJNZ CONTLOP:LD A,C:LD (FUDLR),A:RET
  421.  
  422. KEMPSTON        RRC C:RRC C:RRC C
  423. curkempston=$+1
  424.                 ld a,0
  425.                 ds 2
  426.                 ;LD A,1:IN A,(31)
  427.                 AND 31:OR C:LD (FUDLR),A
  428.                 RET
  429.  
  430. PAUSE           LD BC,$F000:JP DELAYBC
  431.  
  432. PAUSE0          CALL WAITNOKEY:CALL WAITKEY
  433. WAITNOKEY       PUSH HL:PUSH BC:CALL READKEYS:POP BC:POP HL
  434.                 OR A:JR NZ,WAITNOKEY
  435.                 XOR A:IN A,($FE):CPL:AND 31:JR NZ,WAITNOKEY:RET
  436. WAITKEY         PUSH HL:PUSH BC:CALL READKEYS:POP BC:POP HL
  437.                 OR A: RET NZ
  438.                 XOR A:IN A,($FE):CPL:AND 31:JR Z,WAITKEY:RET
  439.  
  440. ;***************************************
  441. ;** BEEPER ROUTINES                   **
  442. ;***************************************
  443.  
  444. GOBEEP          LD E,A:LD A,(BEEPNUM):OR A:JR Z,ISBEEP
  445.                 CP E:JR Z,ISBEEP:RET NC
  446. ISBEEP          LD A,E:LD (BEEPNUM),A:ADD A,A:LD E,A:LD D,0
  447.                 LD HL,BEEPTAB-2:ADD HL,DE:LD E,(HL):INC HL:LD D,(HL)
  448.                 LD (BEEPOS),DE
  449.                 RET
  450.  
  451. BEEPER          EI:XOR A:LD R,A:DB 62
  452. BEEPNUM         DB 0
  453.                 OR A:JR Z,NOBEEP:DB 33
  454. BEEPOS          DW 0
  455.                 LD A,(HL):INC HL:CP FIN:JR Z,ENDBEEP
  456.                 LD (BEEPOS),HL:LD C,A:SRL A:JR C,WHITE
  457. DOBEEP          LD A,24:OUT (254),A:LD B,C
  458. Z0              LD A,R:RET M:DJNZ Z0
  459.                 LD A,0:OUT (254),A:LD B,C
  460. Z1              LD A,R:RET M:DJNZ Z1
  461.                 INC C:JR DOBEEP
  462.  
  463. ENDBEEP         XOR A:LD (BEEPNUM),A
  464. NOBEEP          LD A,R:RET M:JR NOBEEP
  465. DODRM           LD A,24:OUT (254),A:LD A,(RND1):LD B,A
  466. BE0             LD A,R:RET M:DJNZ BE0
  467.                 LD A,0:OUT (254),A
  468. BEAT
  469.                 LD B,0
  470. BE1             LD A,R:RET M:DJNZ BE1
  471.                 CALL RAND:DJNZ DODRM
  472.  
  473. WHITE           LD A,(BEAT+1):PUSH AF
  474.                 LD A,C:LD (BEAT+1),A:CALL DODRM
  475.                 POP AF:LD (BEAT+1),A:RET
  476.  
  477. ;****************************************
  478. ;** SOUND FX                           **
  479. ;****************************************
  480.  
  481. BEEPTAB         DW WALKFX
  482.                 DW SHOOTFX
  483.                 DW FLAMEFX
  484.                 DW EXPLODEFX
  485.                 DW GETKEYFX
  486.                 DW KILLBADFX
  487.  
  488. WALKFX          DB 200,FIN
  489. SHOOTFX         DB 010,200,FIN
  490. FLAMEFX         DB 250,100,200,050,150,FIN
  491. EXPLODEFX       DB 200,100,050,120,120,050,FIN
  492. GETKEYFX        DB 100,200,150,150,200,100,FIN
  493. KILLBADFX       DB 200,050,FIN
  494.  
  495. ;***************************************
  496.  
  497. ;***************************************
  498. ;** HIGH SCORE PAGE                   **
  499. ;***************************************
  500.  
  501. NAMEADD         EQU 6
  502. SCOREADD        EQU 17
  503. HILEN           EQU 25
  504.  
  505. TESTHIGH        CALL KILLSOUND:CALL WAITNOKEY
  506.                 LD HL,HI1+SCOREADD:LD C,10
  507. TSTHICLP        PUSH HL:LD DE,SCORE:LD B,8
  508. TSTHIBLP        LD A,(DE):CP (HL):JR C,LOWERHIGH:JR NZ,GOTHIGH
  509. SAMEHIGH        INC HL:INC DE:DJNZ TSTHIBLP
  510. LOWERHIGH       POP HL:LD DE,HILEN:ADD HL,DE:DEC C:JP NZ,TSTHICLP:RET
  511. GOTHIGH         POP HL:LD DE,HI10+NAMEADD:LD A,C:LD (NAMENUM),A
  512.                 DEC A:JR Z,NOSCRO:LD HL,HI9+NAMEADD
  513. SCROHI          PUSH HL:PUSH DE:PUSH BC:LD BC,10+1+8:LDIR
  514.                 POP BC:POP DE:POP HL:LD BC,0-HILEN:ADD HL,BC
  515.                 EX DE,HL:ADD HL,BC:EX DE,HL:DEC A:JR NZ,SCROHI
  516. NOSCRO          PUSH DE:LD HL,11:ADD HL,DE:EX DE,HL
  517.                 LD HL,SCORE:LD BC,8:LDIR
  518.  
  519.                 LD HL,NAMETEXT:LD DE,NAMETEXT+1:LD BC,10:LD (HL)," "
  520.                 LDIR
  521.  
  522.                 LD HL,HIGHSCORETEXT:CALL PRINT:CALL SPRINT
  523.                 DB PRINK,$4E,PRSIZE,1,PRAT,05,14,"   STICK YA NAME IN   "
  524.                 DB PRINK,$07,PRSIZE,0,PREOF
  525.  
  526.                 LD A,7:CALL PLAYMUSIC
  527.                 XOR A:LD (NAMEX),A
  528.  
  529. NAMELOOPZ       LD A,31:LD (ALPHANUM),A
  530. NAMELOOP        LD B,8:PUSH BC:CALL BEEPER:POP BC:DJNZ NAMELOOP+2
  531.                 LD A,(NAMENUM):NEG:ADD A,14:LD D,A:LD E,8
  532.                 LD HL,NAMETEXT:CALL PRINT:LD A,(ALPHANUM)
  533.                 LD HL,ALPHABET:CALL ADDHLA
  534.                 LD DE,NAMETEXT:LD A,(NAMEX):ADD A,E:LD E,A
  535.                 ADC A,D:SUB E:LD D,A:LD A,(HL):LD (DE),A
  536.                 LD A,(NAMEX):ADD A,8:LD E,A
  537.                 LD A,(NAMENUM):NEG:ADD A,14:LD D,A
  538.                 LD A,$38:LD (ATTR),A
  539.                 LD A,(HL):CALL PRTCELL:LD A,$07:LD (ATTR),A
  540.  
  541.                 CALL READKEYS:LD C,A:LD A,(ALPHANUM)
  542.                 RR C:JR NC,NOTRT
  543.                 INC A:PUSH AF:LD A,2:CALL GOBEEP:POP AF
  544. NOTRT           RR C:JR NC,NOTLT
  545.                 DEC A:PUSH AF:LD A,2:CALL GOBEEP:POP AF
  546. NOTLT           AND 31:LD (ALPHANUM),A:BIT 4-2,C:JR Z,NAMELOOP
  547.  
  548.                 CP 31:JR Z,ENTER
  549.                 CP 30:JR Z,DELETE
  550.  
  551.                 LD A,(NAMEX):CP 10:JP Z,NAMELOOP
  552.                 PUSH AF:LD A,3:CALL GOBEEP:POP AF
  553.                 INC A:LD (NAMEX),A:CP 10:JP Z,NAMELOOPZ
  554.                 JP NAMELOOP
  555.  
  556. DELETE          LD A,(NAMEX):OR A:JP Z,NAMELOOP
  557.                 PUSH AF:LD A,1:CALL GOBEEP:POP AF
  558.                 LD HL,NAMETEXT:LD DE,(NAMEX):LD D,0:ADD HL,DE
  559.                 LD (HL)," ":DEC A:LD (NAMEX),A:JP NAMELOOP
  560.  
  561. ENTER           LD HL,NAMETEXT:LD DE,(NAMEX):LD D,0:ADD HL,DE
  562.                 LD (HL)," ":POP DE:LD HL,NAMETEXT:LD BC,10:LDIR
  563.                 JP CLS
  564.  
  565. ALPHANUM        DB 0
  566. ALPHABET        DB "ABCDEFGHIJKLMNOPQRSTUVWXYZ .<>re"
  567.  
  568. NAMEX           DB 0
  569. NAMENUM         DB 10                   ; 10 = HIGH 1
  570. NAMETEXT        DB "           ",PREOF
  571.  
  572. HIGHSCORES      LD A,HIGHTUNE:CALL PLAYMUSIC
  573.                 XOR A:LD (ATTR),A:CALL CLS:CALL SPRINT
  574. HIGHSCORETEXT   DB PRINK,$45,PRINK2,$44,PRGAMECLS,PRSIZE,1
  575.                 DB PRAT,06,00,"MIDNIGHT  RESISTANCE"
  576.                 DB PRSIZE,0,PRAT,09,03,"TOP 10 PLAYERS"
  577. HI1             DB PRAT,05,04,"01 JAMES B.   00010000"
  578. HI2             DB PRAT,05,05,"02 JACQUI H.  00009000"
  579. HI3             DB PRAT,05,06,"03 PAT W.     00008000"
  580. HI4             DB PRAT,05,07,"04 NIGE W.    00007000"
  581. HIS             DB PRAT,05,08,"05 CRAIG W.   00006000"
  582. HI6             DB PRAT,05,09,"06 DONNA W.   00005000"
  583. HI7             DB PRAT,05,10,"07 DAVE B.    00004000"
  584. HI8             DB PRAT,05,11,"08 KATHY H.   00003000"
  585. HI9             DB PRAT,05,12,"09 HELLO MUM. 00002000"
  586. HI10            DB PRAT,05,13,"10 THATS ALL! 00001000"
  587.                 DB PRAT,05,15,"LAST PLAYER.. "
  588. LASTSCORE       DB "00000000",PREOF
  589.                 CALL SPRINT:DB PRSIZE,1
  590.                 DB PRAT,10,17,"FIRE TO PLAY"
  591.                 DB PRAT,06,19,"'S' TOGGLE MUSIC OFF"
  592.                 DB PRAT,04,22,"WINNERS DON'T USE DRUGS.",PREOF
  593.                 CALL SHOWTOG
  594.  
  595. HIGHLOOP
  596.                 LD A,$FD:IN A,(254):AND 2:JR NZ,NOTOG
  597.                 LD A,(MUSCONT+1):XOR 1:LD (MUSCONT+1),A
  598.                 OR A:PUSH AF:CALL Z,KILLSOUND
  599.                 POP AF:LD A,(TUNENUM+1):CALL NZ,PLAYMUSIC
  600.                 CALL SHOWTOG:CALL WAITNOKEY
  601. NOTOG           CALL READKEYS:DB 62
  602. FUDLR           DB 0
  603.                 AND $10:JR Z,HIGHLOOP:JP CLS
  604.  
  605. SHOWTOG         LD A,(MUSCONT+1):OR A:LD HL,"FF":JR Z,MOF:LD HL," N"
  606. MOF             LD (HABBY-2),HL
  607.                 CALL SPRINT:DB PRSIZE,1,PRAT,24,19,"FF"
  608. HABBY           DB PRSIZE,0,PREOF
  609.                 RET
  610.  
  611.  
  612. ;***************************************
  613. ;** DUMP BACK SCREEN ROUTINE          **
  614. ;***************************************
  615.  
  616. DUMPBACK        LD HL,BACKATR+3:LD DE,$5803:EXX:LD HL,BACKSCR+3
  617.                 LD DE,$4003:CALL PLINE:LD DE,$4023:CALL PLINE
  618.                 LD DE,$4043:CALL PLINE:LD DE,$4063:CALL PLINE
  619.                 LD DE,$4083:CALL PLINE:LD DE,$40A3:CALL PLINE
  620.                 LD DE,$40C3:CALL PLINE:LD DE,$40E3:CALL PLINE
  621.                 LD DE,$4803:CALL PLINE:LD DE,$4823:CALL PLINE
  622.                 LD DE,$4843:CALL PLINE:LD DE,$4863:CALL PLINE
  623.                 LD DE,$4883:CALL PLINE:LD DE,$48A3:CALL PLINE
  624.                 LD DE,$48C3:CALL PLINE:LD DE,$48E3
  625. PLINE           LD C,H:LD A,8
  626. PLIN1           LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
  627.                 LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
  628.                 LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
  629.                 LDI:LDI:LD BC,$0006:ADD HL,BC
  630.                 EX DE,HL:LD C,$E6:ADD HL,BC:EX DE,HL
  631.                 DEC A:JP NZ,PLIN1
  632.                 EXX:LD C,H:LDI:LDI:LDI:LDI:LDI:LDI
  633.                 LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
  634.                 LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
  635.                 LDI:LDI:LD BC,$0006:ADD HL,BC
  636.                 EX DE,HL:ADD HL,BC:EX DE,HL:EXX:RET
  637.  
  638. COPYBACK        LD HL,COPYLINE:PUSH HL:PUSH HL:PUSH HL
  639.                 PUSH HL:PUSH HL:PUSH HL:PUSH HL:PUSH HL:PUSH HL
  640.                 PUSH HL:PUSH HL:PUSH HL:PUSH HL:PUSH HL:PUSH HL
  641.                 LD HL,BACKATR2:LD DE,BACKATR+3:EXX
  642.                 LD HL,BACKSCR2:LD DE,BACKSCR+3
  643. COPYLINE        LD A,8
  644. CLIN1           LD BC,26:LDIR:INC E:INC E:INC DE:INC E:INC E:INC E
  645.                 DEC A:JP NZ,CLIN1:EXX:LD BC,26:LDIR
  646.                 INC E:INC E:INC DE:INC E:INC E:INC E:EXX:RET
  647.  
  648. ;****************************************************************************
  649. ;** COPY DATA FROM 'DE' PAGE 'A' TO 'HL' PAGE 0 FOR 'BC' BYTES             **
  650. ;****************************************************************************
  651.  
  652. PAGECOPY        
  653.                 ex de,hl
  654.                 ld hx,a
  655.                 ld lx,0
  656.                 di
  657.                 call copypage
  658.                 ei
  659.                 ret
  660.                 ;PUSH DE:EXX:POP HL:LD D,A:LD E,$10:LD BC,$7FFD:EXX
  661.                 DI
  662.                 LD A,$3F:LD I,A
  663.                 ;IM 1
  664. BCPAGECOPY      EXX:OUT (C),D:LD A,(HL):INC HL
  665.                 OUT (C),E:EXX:LD (HL),A:INC HL
  666.                 DEC BC:LD A,B:OR C:JP NZ,BCPAGECOPY
  667.                 LD A,$FE:LD I,A
  668.                 ds 2;IM 2
  669.                 EI:RET
  670.  
  671. ;****************************************************************************
  672. ;** THE GAME CODE                                                          **
  673. ;****************************************************************************
  674.  
  675. GAME            LD HL,(LEVELSTARTUP):LD (HEROX+1),HL
  676.                 LD A,H:SUB $10:LD H,A:LD (GUNX+1),HL
  677.  
  678.                 LD HL,(MAPXS):LD (MAPX),HL
  679.                 LD A,(MAPDIRS):LD (MAPDIR),A
  680.                 LD A,(RM):LD (RIGHTMAX+1),A
  681.                 LD A,(RDM):LD (DOWNMAX+1),A
  682.                 LD A,(UD):LD (SETUD+1),A
  683.                 LD A,(LR):LD (SETLR+1),A
  684.  
  685.                 LD A,(LD1):LD (LAD1+1),A
  686.                 LD A,(LD2):LD (LAD2+1),A
  687.                 LD A,(CR1):LD (CRAWLPLAT+1),A
  688.                 LD A,(SL1):LD (SLID1+1),A
  689.                 LD A,(SL2):LD (SLID2+1),A
  690.                 LD A,(SL3):LD (SLID3+1),A
  691.                 LD A,(SL4):LD (SLID4+1),A
  692.  
  693.                 LD HL,(CHRS):LD (DMPCHRAD+1),HL
  694.                 LD HL,(ATRS):LD (DMPATRAD+1),HL
  695.                 LD HL,(BLOX):LD (BLOXAD1+1),HL:LD (BLOXAD2+1),HL
  696.  
  697.                 DB 62
  698. MAPDIR          DB 0
  699.                 OR A:PUSH AF:CALL Z,SETLEFTRIGHT:POP AF
  700.                 PUSH AF:CALL NZ,SETUPDOWN:POP AF:JR NZ,SETU
  701.                 LD DE,$0018
  702. UPDATLOP1       PUSH DE:CALL UPDATEX:POP DE:DEC E:DEC E
  703.                 JP P,UPDATLOP1:JR SETL
  704. SETU            LD DE,$0F00
  705. UPDATL0P2       PUSH DE:CALL UPDATEY:POP DE:DEC D:JP P,UPDATL0P2
  706. SETL
  707.                 LD A,18:LD (HEROP+1),A:LD A,2:LD (GUNDIR+1),A
  708.                 XOR A:LD (NOSCROLL+1),A:LD (HEROF+1),A
  709.                 LD (ONLADDER+1),A:DEC A:LD (HEROG+1),A
  710.                 CALL RESETBAD:CALL PRTSTATUS
  711.  
  712.                 XOR A:LD (FRAME+1),A
  713.  
  714. GAMELOOP        XOR A:LD (RETMODE),A
  715.  
  716.                 CALL DOALLBACKBITS
  717.                 CALL MOVEBAD:CALL DODGYCOLISH
  718.                 CALL ReadKeysCheckQuit;READKEYS
  719.                 CALL DECODE
  720.  
  721.                 LD DE,(WEPROOMX)
  722.                 LD A,(MAPX):CP E:JR NZ,NOGOWEPROOM
  723.                 LD A,(MAPY):CP D:JR NZ,NOGOWEPROOM
  724.                 LD HL,(DOORXY):LD A,(DOORSIZE):LD H,A
  725.                 LD DE,(HEROX+1):LD D,$1F:CALL HITA:JR C,NOGOWEPROOM
  726.                 LD HL,(DOORXY+1):LD A,(DOORSIZE+1):LD H,A
  727.                 LD DE,(HEROX+2):LD D,$1F:CALL HITA:JR C,NOGOWEPROOM
  728.                 LD A,(PRTDOOR+1):OR A:JP Z,WEAPONROOM
  729. NOGOWEPROOM     LD A,(FUDLR):AND $40:CALL NZ,PAUSE0
  730.                 LD A,(RETMODE):OR A:RET NZ
  731.                 JP GAMELOOP
  732. ;               LD A,BREAK:LD (RETMODE),A
  733. ;               LD A,127:IN A,(254):RRA :JP C,GAMELOOP
  734. ;               LD A,254:IN A,(254):RRA :JP C,GAMELOOP:RET
  735.  
  736. ;****************************************************************************
  737. ;** DO ALL BACK BITS (EG. PRINT ALL SCREENS)                               **
  738. ;****************************************************************************
  739.  
  740. DOALLBACKBITS   XOR A:LD (BAGE+1),A
  741.                 CALL CONTSCROLL:CALL SCRCNT:CALL COPYBACK:CALL PRTDOOR
  742.                 CALL PRTLEVELBACK
  743.                 LD A,(STH+1):OR A:JR Z,SNF2
  744.                 LD A,(SHIM+1):LD (HEROX+2),A:SUB $10:LD (GUNX+2),A
  745.                 XOR A:LD (STH+1),A
  746. SNF2
  747.                 CALL PRTWAPS:CALL PRTKEYS
  748.                 CALL PRTBADDIES:CALL PRTHERO:CALL PRTBARRIER:CALL PRTBULLETS
  749.                 CALL PRTFLAMES:CALL PRTEXP
  750.  
  751.                 LD A,$FD:IN A,(254):AND 2
  752. MAZ             JR NZ,NOMOG
  753.                 LD A,(MAZ):XOR 8:LD (MAZ),A:AND 8:JR Z,NOMOG
  754.                 LD A,(MUSCONT+1):XOR 1:LD (MUSCONT+1),A
  755.                 OR A:PUSH AF:CALL Z,KILLSOUND
  756.                 POP AF:LD A,(TUNENUM+1):CALL NZ,PLAYMUSIC
  757. NOMOG
  758.                 CALL BEEPER:DB 62
  759. POS             DB 0
  760.                 INC A:LD (POS),A:CALL RAND
  761.  
  762.                 LD HL,SCORETEXT:CALL PRINT
  763.                 LD A,$47:LD (ATTR),A
  764.                 LD HL,(AMMOLEFT+1):LD DE,$110C:CALL DEC3
  765.                 LD HL,(BACKLEFT+1):LD H,0:LD DE,$1114:CALL DEC2
  766.  
  767. ;               LD A,(MAPX):LD DE,$1610:CALL HEX8
  768. ;               LD A,(MAPY):LD DE,$1710:CALL HEX8
  769.  
  770.                 LD A,(POS):AND 7:LD C,A:CP 6:CALL C,PRTCOL
  771.  
  772.                 DB #06,#00,#10,#FE,#10,#FE
  773.  
  774.                 LD HL,$5A63
  775.                 LD B,26:LD A,B
  776. LIMP            SUB 0:LD C,A
  777. LIVES           EQU LIMP+1
  778. PLATELP         LD A,C:CP B:LD A,#42:JR C,PRTLF:XOR A
  779. PRTLF           LD (HL),A:INC HL:DJNZ PLATELP
  780.  
  781.                 LD A, (BLAD+1): XOR 3:LD (BLAD+1),A
  782.                 AND 1:LD (MISSILEANI+1),A
  783.  
  784.                 JP DUMPBACK
  785.  
  786. PRTCOL          ADD A,A:ADD A,3:LD E,A:LD D,20:LD A,C
  787. KEYSCOLLECTED   CP 6:LD HL,NOKEYCEL:JR NC,NUS:LD HL,KEYCEL
  788. NUS             JP PRINT
  789.  
  790. KEYCEL          DB PRSIZE,0,PRKEY,#0B,$81,PRKEY,#0E,$83,PREOF
  791. NOKEYCEL        DB PRSIZE,0,PRKEY,#0B,$85,PRKEY,#0E,$87,PREOF
  792.  
  793. ;****************************************************************************
  794.  
  795. ; E=TENS TO ADD TO SCORE
  796. ; D=HUNDREDS TO ADD TO SCORE
  797.  
  798. ADDSCORE        PUSH BC:PUSH HL:LD HL,SCORE+7-1:LD B,7
  799. ADDSCOREBLP     LD A,(HL):ADD A,E:LD (HL),A:CP "9"+1:JR C,NOTOVER
  800.                 SUB 10:LD (HL),A
  801.                 LD A,B:CP 5:JR NZ,NOEXTRA        ; EVERY 10 THOUSAND POINTS
  802.                 LD A,(LIVES):CP 3:JR NC,NOEXTRA:INC A:LD (LIVES),A
  803. NOEXTRA         INC D:LD A,D:CP 10:JR C,NOTOVER
  804.                 DEC HL:SUB 10:LD E,A:LD D,1:DJNZ ADDSCOREBLP
  805. XITADDSCORE     POP HL:POP BC:RET
  806. NOTOVER         LD A,D:OR A:JR Z,XITADDSCORE
  807.                 DEC HL:LD E,D:LD D,0:DJNZ ADDSCOREBLP:JR XITADDSCORE
  808.  
  809. ;****************************************************************************
  810.  
  811. PRTSTATUS       LD A,(LEVEL):CP STARTLEV:RET NZ
  812.                 CALL SPRINT:DB PRSIZE,0
  813.                 DB PRINK,0,PRAT,03,19,PRMULTY,26,$80
  814.                 DB PRAT,09,17,PRKEY,5,$8B,PRAT,11,17,$8D
  815.                 DB PRAT,18,17,PRKEY,6,$89,PREOF
  816.  
  817.                 LD BC,$0600
  818. WAZS            PUSH BC:LD A,C:CALL PRTCOL:POP BC:INC C:DJNZ WAZS:RET
  819.  
  820. ;****************************************************************************
  821. ;** SCROLL ROUTINES                                                        **
  822. ;****************************************************************************
  823.  
  824. CONTSCROLL      LD A,0:OR A:RET Z:DEC A:LD (CONTSCROLL+1),A:PUSH AF
  825.                 XOR A:LD (NOSCROLL+1),A:CALL SCROLLUP
  826.                 CALL SCRDIR
  827. ;                CALL SCROLLRIGHT
  828.                 POP AF:RET Z:LD A,1:LD (NOSCROLL+1),A:RET
  829.  
  830. RETLR           LD A,(MAPY)
  831. SETLR           CP $10:JP Z,SETLEFTRIGHT:OR A:RET
  832.  
  833. SETUPDOWN       LD A,13:LD (MAPXSIZE),A:LD HL,(MAP2):LD (MAP),HL
  834.                 LD HL,(BADDYINITSY):LD (BADDATA+1),HL
  835.                 LD A,1:LD (MAPDIR),A:XOR A:RET
  836.  
  837. SCROLLUP        LD A,(NOSCROLL+1):CP 1:RET NC
  838.                 LD A,(LEVEL):CP 5:JR NZ,NOAE
  839.                 LD A,(MAPX):OR A:RET Z
  840. NOAE            LD A,(MAPDIR):OR A:RET Z
  841.                 LD A,(MAPY):OR A:JR Z,RETLR:DEC A:LD (MAPY),A
  842.                 LD HL,BACKATR2-$D0-1:LD DE,BACKATR2-1:LD BC,15*$D0:LDDR
  843.                 LD HL,BACKEND2-26-1:LD DE,BACKEND2-1:LD BC,15*26:LDDR
  844.                 LD HL,$0800:CALL SMODALLX:LD DE,$0000
  845.                 JP UPDATEY
  846. SCROLLDOWN
  847. NOSCROLL        LD A,0:CP 1:RET NC
  848.                 LD A,(MAPDIR):OR A:RET Z
  849.                 LD A,(MAPY)
  850. DOWNMAX         CP $10:JR NC,RETLR:INC A:LD (MAPY),A
  851.                 LD HL,BACKSCR2+$D0:LD DE,BACKSCR2:LD BC,15*$D0:LDIR
  852.                 LD HL,BACKATR2+26:LD DE,BACKATR2:LD BC,15*26:LDIR
  853.                 LD HL,$F800:CALL SMODALLX:LD DE,$0F00
  854. UPDATEY         PUSH DE:LD A,(MAPY):ADD A,D:LD D,A
  855.                 RRA
  856. BLOXAD1         LD HL,0:JR NC,SEFDY:INC HL:INC HL
  857. SEFDY           LD (BLXAD+1),HL:DB 33
  858. MAP             DW 0
  859.                 LD A,D:SRL A:LD D,0:ADD HL,DE
  860.                 PUSH AF:LD A,(MAPXSIZE):LD E,A:POP AF
  861.                 CALL MULT:POP DE:LD B,13
  862. BLPER           PUSH BC:LD A,(HL):INC HL:PUSH HL
  863.                 LD L,A:LD H,0:ADD HL,HL:ADD HL,HL
  864. BLXAD           LD BC,$FFFF:ADD HL,BC:LD A,(HL):INC HL:CALL DMPCHR
  865.                 LD A,(HL):CALL DMPCHR:POP HL:POP BC:DJNZ BLPER
  866.                 LD A,(MAPY):CALL TRYINITBAD
  867.                 CALL RETLR:CCF:RET
  868.  
  869. ;****************************************************************************
  870.  
  871. RETUD           LD A,(MAPX)
  872. SETUD           CP $E6:JP Z,SETUPDOWN:OR A:RET
  873. SETLEFTRIGHT    LD A,(MAXMAP):LD (MAPXSIZE),A:LD HL,(MAP1):LD (MAP),HL
  874.                 XOR A:LD (MAPDIR),A
  875.                 LD HL,(BADDYINITSX):LD (BADDATA+1),HL:LD A,(MAPX)
  876.                 OR A:RET Z:CP $E6:RET Z:ADD A,26:LD (MAPX),A
  877.                 LD HL,(BADDYINITSX2):LD (BADDATA+1),HL:RET
  878.  
  879. SCROLLLEFT      LD A,(LEVEL):OR A:JR Z,DOSCLEFT
  880.                 CP 9:JR Z,FOR9
  881.                 CP 5:SCF:CCF:RET NZ
  882. FOR9            LD A,(NOSCROLL+1):CP 1:RET NC
  883.                 LD A,(MAPDIR):OR A:RET NZ
  884. DOSCLEFT        LD A,(MAPX):SUB 2:CCF:JR NC,RETUD:LD (MAPX),A
  885.                 LD HL,BACKATR2-3:LD DE,BACKATR2-1:LD BC,16*$D0-2:LDDR
  886.                 LD HL,BACKEND2-3:LD DE,BACKEND2-1:LD BC,16*26-2:LDDR
  887.                 LD HL,$0010:CALL SMODALLX:LD DE,$0000:JP UPDATEX
  888.  
  889. SCROLLRIGHT     LD A,(LEVEL):OR A:JR Z,DOSCRIGHT
  890.                 CP 9:SCF:CCF:RET Z
  891.                 CP 5:SCF:CCF:RET Z
  892.                 LD A,(NOSCROLL+1):CP 1:RET NC
  893.                 LD A,(MAPDIR):OR A:RET NZ
  894.  
  895.                 LD A,(LEVEL):CP 4:JR NZ,DOSCRIGHT
  896.                 LD A,(MAPX):CP $AE:JR C,DOSCRIGHT
  897.                 CP $DE-4:JR NC,DOSCRIGHT:ADD A,2:LD (MAPX),A
  898.                 LD HL,BACKSCR2+$B62:LD DE,BACKSCR2+$B60:LD BC,$19E:LDIR
  899.                 LD HL,BACKATR2+$16E:LD DE,BACKATR2+$16C:LD BC,$032:LDIR
  900.                 LD HL,$00F0:CALL SMODALLX:LD A,1:LD (BLPER2-1),A
  901.                 LD HL,(MAP):PUSH HL:LD A,(MAPXSIZE):LD DE,7:CALL MULT
  902.                 LD (MAP),HL:LD DE,$0E18:CALL UPDATEX
  903.                 POP HL:LD (MAP),HL:LD A,8:LD (BLPER2-1),A:RET
  904.  
  905. DOSCRIGHT       LD A,(MAPX)
  906. RIGHTMAX        CP $E6:JP NC,RETUD:ADD A,2:LD (MAPX),A
  907.                 LD HL,BACKSCR2+2:LD DE,BACKSCR2:LD BC,16*$D0-2:LDIR
  908.                 LD HL,BACKATR2+2:LD DE,BACKATR2:LD BC,16*26-2:LDIR
  909.                 LD HL,$00F0:CALL SMODALLX:LD DE,$0018
  910. UPDATEX         PUSH DE:LD A,(MAPX):ADD A,E:LD E,A
  911. BLOXAD2         LD HL,0
  912. SEFDX           LD (BLXAD2+1),HL:LD HL,(MAP):SRL E
  913.                 LD D,0:ADD HL,DE:POP DE:LD B,8
  914. BLPER2          PUSH BC:LD A,(HL):DB 1
  915. MAPXSIZE        DW 0
  916.                 ADD HL,BC:PUSH HL:LD L,A:LD H,0:ADD HL,HL:ADD HL,HL
  917. BLXAD2          LD BC,$FFFF:ADD HL,BC
  918.                 LD A,(HL):INC HL:CALL DMPCHR
  919.                 LD A,(HL):INC HL:CALL DMPCHR:DEC E:DEC E:INC D
  920.                 LD A,(HL):INC HL:CALL DMPCHR
  921.                 LD A,(HL):INC HL:CALL DMPCHR:DEC E:DEC E:INC D
  922.                 POP HL:POP BC:DJNZ BLPER2
  923.                 LD A,(MAPX):CALL TRYINITBAD
  924.                 CALL RETUD:CCF:RET
  925.  
  926. ;***************************************
  927.  
  928. DMPCHR          PUSH HL:PUSH DE:PUSH BC:PUSH DE
  929.                 PUSH AF:LD HL,BACKSCR2:LD A,D:LD D,0:ADD HL,DE
  930.                 LD E,$D0:CALL MULT:POP AF:PUSH AF
  931.                 LD E,A:LD D,0:EX DE,HL:ADD HL,HL:ADD HL,HL:ADD HL,HL
  932. DMPCHRAD        LD BC,0:ADD HL,BC:EX DE,HL
  933.                 LD BC,26:LD A,(DE):LD (HL),A:INC DE:ADD HL,BC
  934.                 LD A,(DE):LD (HL),A:INC DE:ADD HL,BC
  935.                 LD A,(DE):LD (HL),A:INC DE:ADD HL,BC
  936.                 LD A,(DE):LD (HL),A:INC DE:ADD HL,BC
  937.                 LD A,(DE):LD (HL),A:INC DE:ADD HL,BC
  938.                 LD A,(DE):LD (HL),A:INC DE:ADD HL,BC
  939.                 LD A,(DE):LD (HL),A:INC DE:ADD HL,BC
  940.                 LD A,(DE):LD (HL),A:POP AF
  941. DMPATRAD        LD BC,0:ADD A,C:LD C,A:ADC A,B:SUB C:LD B,A
  942.                 POP DE:LD HL,BACKATR2:LD A,D:LD D,0:ADD HL,DE
  943.                 LD E,26:CALL MULT:LD A,(BC):LD (HL),A
  944.                 POP BC:POP DE:POP HL:INC E:RET
  945.  
  946. ;***************************************
  947.  
  948. SMODALLX
  949. SMODHERO        LD A,1:OR A:RET Z
  950.                 LD IX,BADDAT:LD DE,BADLEN:LD B,NOBAD
  951. SMODALLXBLP     LD A,(IX+ACTION):OR A:JR Z,OKDD:CP 6:JR Z,OKDD
  952.                 LD A,(IX+XPOS):ADD A,L:LD (IX+XPOS),A
  953.                 CP $E8:JR C,OKDE:LD (IX+ACTION),0
  954. OKDE            LD A,(IX+YPOS):ADD A,H:LD (IX+YPOS),A
  955.                 OR A:JP P,OKDD:CP $B0:JR C,OKDD:CP $D0:JR NC,OKDD
  956.                 LD (IX+ACTION),0
  957. OKDD            ADD IX,DE:DJNZ SMODALLXBLP
  958.  
  959.                 LD IX,WAPXYS:LD DE,5:LD B,6
  960. SMWP            LD A,(IX+02):CP $FF:JR Z,SKWP
  961.                 LD A,(IX+01):ADD A,H:LD (IX+01),A
  962.                 CP $B0: JR C,SKWP: CP $D0:JR NC,SKWP:LD (IX+02),$FF
  963. SKWP            ADD IX,DE:DJNZ SMWP
  964.  
  965.                 LD IX,KEYDAT:LD DE,KEYLEN:LD B,KEYNOKEY
  966. SMODALLXBLP2    LD A,(IX+KEYX):OR A:JR Z,OKKD:ADD A,L:LD (IX+KEYX),A
  967.                 CP $E8:JR C,OKKE:LD (IX+KEYX),0
  968. OKKE            LD A,H:OR A:JR Z,OKKD
  969.                 LD A,(IX+KEYY):ADD A,H:LD (IX+KEYY),A
  970.                 CP $B0:JR C,OKKD:CP $D0:JR NC,OKKD
  971.                 LD (IX+KEYX),0
  972. OKKD            ADD IX,DE:DJNZ SMODALLXBLP2
  973.  
  974.                 LD IX,BULDAT:LD DE,BULLEN:LD B,NOBUL
  975. SMODALLXBLP3    LD A,(IX+BULT):AND 7:CP 4:JR C,OKBD
  976.                 LD A,(IX+BULX):OR A:JR Z,OKBD:ADD A,L:LD (IX+BULX),A
  977.                 CP $E8:JR C,OKBE:LD (IX+BULX),0
  978. OKBE            LD A,(IX+BULY):ADD A,H:LD (IX+BULY),A
  979.                 OR A:JP P,OKBD:LD (IX+BULX),0
  980. OKBD            ADD IX,DE:DJNZ SMODALLXBLP3
  981.  
  982.                 LD IX,EXPDAT:LD DE,EXPLEN:LD B,NOEXP
  983. SMODALLXBLP3A   LD A,(IX+EXPP):CP EXPDEAD:JR NC,OSET
  984.                 LD A,(IX+EXPX):ADD A,L:LD (IX+EXPX),A
  985.                 CP $E8:JR C,OSED:LD (IX+EXPP),EXPDEAD
  986. OSED            LD A,(IX+EXPY): ADD A,H:LD (IX+EXPY),A
  987.                 OR A:JP P,OSET:LD (IX+EXPP),EXPDEAD
  988. OSET            ADD IX,DE:DJNZ SMODALLXBLP3A
  989.  
  990.                 CALL SMODLEVEL
  991.  
  992.                 LD A,(HEROX+2):ADD A,H
  993.                 LD (HEROX+2),A:SUB $10:LD (GUNX+2),A
  994.                 LD A,(HEROX+1):ADD A,L:CP $10:RET C:CP $D0:RET NC
  995.                 LD (HEROX+1),A:LD (GUNX+1),A:RET
  996.  
  997. ;****************************************************************************
  998. ;** DECODE JOYSTICK ROUTINE                                                **
  999. ;****************************************************************************
  1000.  
  1001. DYING           LD DE,(HEROX+1):LD HL,(GUNX+1):LD A,(HEROG+1)
  1002.                 LD C,A:ADD A,D:OR A:JP M,FEST
  1003. SNA             LD D,A:LD A,C:ADD A,H:OR A:JP M,JPUZ
  1004.                 LD H,A:LD A,C:OR A:JP M,JPUS
  1005.                 PUSH DE:LD DE,(HEROX+1):CALL HESTFLOOR:POP DE:JR NC,JPUS
  1006.  
  1007. FEST            LD A,(INFLIVES):OR A:JR NZ,CHT
  1008.                 LD A,(LIVES):OR A:JR Z,LOSEGAME
  1009.                 DEC A
  1010.                 LD (LIVES),A
  1011. CHT             LD A,48:LD (HEROFLASH+1),A:LD A,18:LD (HEROP+1),A
  1012.                 LD A,2:LD (GUNDIR+1),A:RET
  1013. LOSEGAME        LD A,LOSELIFE:LD (RETMODE),A:RET
  1014.  
  1015. JPUZ            LD A,D:SUB C:LD D,A
  1016. JPUS            LD (HEROX+1),DE:LD (GUNX+1),HL
  1017.                 LD A,(HEROG+1):INC A:CP 7:RET P:LD (HEROG+1),A:RET
  1018.  
  1019. DECODE
  1020.                 LD A,(GUNDIR+1):INC A:JR Z,DYING
  1021.                 LD A,(ONLADDER+1):OR A:JR NZ,YONL
  1022.  
  1023.                 LD A,(GUNDIR+1):AND 7:LD (GUNDIR+1),A
  1024.                 LD A,(HEROP+1):AND 7:ADD A,24:LD (HEROP+1),A
  1025.                 LD A,$10:LD (XYSUB+1),A
  1026.  
  1027.                 LD A,(HEROF+1):OR A:JR NZ,JOD
  1028. HEROCRAWL       LD A,0:OR A:JR Z,JOD
  1029. NADU            LD A,4:LD (BXAD+1),A
  1030.                 JR NODU
  1031. JOD             LD A,8:LD (BXAD+1),A
  1032.                 LD A,(HEROX+1):AND $F8:LD (HEROX+1),A
  1033. NODU
  1034. YONL            LD A,(WEPSELECT):OR A:JR Z,NOWEPSEL
  1035.                 LD A,(POS):AND 3: JR NZ,NOWEPSEL
  1036.  
  1037.                 LD A, %11111011:IN A,(254):AND %00010:JR NZ,NOWEPSEL1
  1038.                 LD A,(WEPTYPE+1):INC A:AND 7:LD (WEPTYPE+1),A
  1039.  
  1040. NOWEPSEL1
  1041.                 LD A,%01111111:IN A,(254):AND %10000:JR NZ,NOWEPSEL2
  1042.                 LD A,(PAKTYPE+1):INC A:AND 3:LD (PAKTYPE+1),A
  1043. NOWEPSEL2
  1044. NOWEPSEL        LD A,(GUNDIR+1):LD (OLDDIR+1),A
  1045.  
  1046.                 LD A,(FUDLR):AND 15:LD C,A:LD B,0
  1047.                 LD HL,TURNUM:ADD HL,BC:LD A,(HL):OR A: LD C,A
  1048.                 CALL P,TURNERTO
  1049.  
  1050.                 LD A,(FUDLR)
  1051.                 RRA:PUSH AF:CALL C,HERORIGHT:POP AF
  1052.                 RRA:PUSH AF:CALL C,HEROLEFT:POP AF
  1053.                 RRA:PUSH AF:CALL C,HERODOWN:POP AF
  1054.                 RRA:PUSH AF:CALL C,HEROUP
  1055.  
  1056. STH             LD A,0:OR A:JR Z,SNF
  1057. SHIM            LD A,0:LD (HEROX+2),A:SUB $10:LD (GUNX+2),A
  1058.                 XOR A:LD (STH+1),A
  1059. SNF             CALL TOEN:POP AF
  1060.  
  1061.                 PUSH AF:CALL NOFIRE:POP AF
  1062.                 RRA:PUSH AF:CALL C,FIREWEAPON:POP AF
  1063.                 RRA:PUSH AF:CALL C,FIREPAK:POP AF
  1064.  
  1065.                 LD HL,WEPTIMER+1:CALL INCTIM:LD HL,PAKTIMER+1
  1066. INCTIM          LD A,(HL):CP 32:RET NC:INC (HL):RET
  1067.  
  1068. TOEN            LD A,(MAPDIR):OR A:RET Z:LD DE,(HEROX+1):LD A,D
  1069.                 CP $58+1:JP NC,SCROLLDOWN:CP $40:JP C,SCROLLUP
  1070.                 RET
  1071.  
  1072. TU              EQU 0
  1073. UR              EQU 1
  1074. TR              EQU 2
  1075. DR              EQU 3
  1076. TD              EQU 4
  1077. DL              EQU 5
  1078. TL              EQU 6
  1079. UL              EQU 7
  1080. FF              EQU 255
  1081.  
  1082. TURNUM          DB FF,TR,TL,FF
  1083.                 DB TD,DR,DL,TD
  1084.                 DB TU,UR,UL,TU
  1085.                 DB FF,FF,FF,FF
  1086.  
  1087. FIREWEAPON      LD HL,FIREWEPJUMPS
  1088. WEPTYPE         LD A,0:AND 7
  1089. WEPJUMP         ADD A,A:LD E,A:LD D,0:ADD HL,DE
  1090.                 LD E,(HL):INC HL:LD D,(HL):EX DE,HL:JP (HL)
  1091. FIREPAK         LD HL,FIREPAKJUMPS
  1092. PAKTYPE         LD A,0:AND 3:JR WEPJUMP
  1093.  
  1094. FIREWEPJUMPS
  1095.                 DW NORMAL
  1096.                 DW FLAME
  1097.                 DW THREEWAY
  1098.                 DW FULLAUTO
  1099.                 DW SHOTGUN
  1100.                 DW NORMAL
  1101.                 DW NORMAL
  1102.  
  1103. FIREPAKJUMPS    DW RETURN
  1104.                 DW NITRO
  1105.                 DW HOMINGMISSILE
  1106.                 DW SHOWER
  1107.  
  1108. PAKTIMER        CP 0:JR C,AKFIR:POP HL:RET
  1109. AKFIR           XOR A:LD (PAKTIMER+1),A:RET
  1110. WEPTIMER        CP 0:JR C,EPFIR:POP HL:RET
  1111. EPFIR           XOR A:LD (WEPTIMER+1),A:RET
  1112. NITRO           LD A,7:CALL PAKTIMER
  1113.                 CALL DECBACK:RET Z
  1114.                 LD DE,(GUNX+1):LD A,E:ADD A,$10:LD E,A:LD D,16
  1115.                 LD B,5:LD A,04+16
  1116. NITBLP          PUSH DE:PUSH BC:PUSH AF:LD B,5:CALL INITBIL
  1117.                 POP AF:POP BC:POP DE:ADD A,2:DJNZ NITBLP:RET
  1118.  
  1119. HOMINGMISSILE   LD A,7:CALL PAKTIMER
  1120.                 CALL DECBACK:RET Z
  1121.                 LD DE,(GUNX+1):LD A,D:ADD A,$0C:LD D,A:CALL GETXYOFHERO
  1122.                 LD B,5:LD A,14+16
  1123. HOMBLP          PUSH DE:PUSH BC:PUSH AF:LD B,7:OR 16:CALL INITBUL
  1124.                 POP AF:POP BC:POP DE:INC A:DJNZ HOMBLP:RET
  1125.  
  1126. SHOWER          LD A,7:CALL PAKTIMER
  1127.                 CALL DECBACK:RET Z
  1128.                 LD DE,$0028:LD B,8
  1129. SHOBLP          PUSH DE:PUSH BC:LD A,8+16:LD B,6:CALL INITBIL
  1130.                 POP BC:POP DE:LD A,E:ADD A,$18:LD E,A:DJNZ SHOBLP:RET
  1131.  
  1132. FLAME           LD A,(PRTFLAMES+1):ADD A,2:CP NOFLAMES+1:JR C,SKPFL
  1133.                 LD A,NOFLAMES+1
  1134. SKPFL           LD (PRTFLAMES+1),A:LD A,3:JP GOBEEP
  1135.  
  1136. FULLAUTO        CALL DECAMMO:RET Z
  1137.                 LD L,1:LD B,1:JR FIREBUL
  1138.  
  1139. THREEWAY        LD A,3:CALL WEPTIMER
  1140.                 CALL DECAMMO:RET Z
  1141.                 LD DE,(GUNX+1):LD A,E:AND $F8:ADD A,$0F:LD E,A
  1142.                 LD A,D:ADD A,$0E:LD D,A:PUSH HL:CALL GETXYOFHERO:POP HL
  1143.                 LD A,(GUNDIR+1):AND 7:ADD A,A:PUSH DE:PUSH AF:OR 16
  1144.                 LD B,3:CALL INITBIL:POP AF:POP DE:DEC A:AND 15
  1145.                 PUSH DE:PUSH AF:OR 16:LD B,3:CALL INITBIL:POP AF:POP DE
  1146.                 ADD A,2:AND 15:OR 16:LD B,3:JP INITBIL
  1147.  
  1148. SHOTGUN         LD A,3:CALL WEPTIMER
  1149.                 CALL DECAMMO:RET Z
  1150.                 LD L,1:LD B,2:JR FIREBUL
  1151.  
  1152. NORMAL          LD A,1:CALL WEPTIMER
  1153.                 LD L,1:LD B,0
  1154.  
  1155. FIREBUL         LD DE,(GUNX+1):LD A,E:AND $F8:ADD A,$0F:LD E,A
  1156.                 LD A,D:ADD A,$0E:LD D,A
  1157. FIRE1           PUSH HL:CALL GETXYOFHERO:POP HL
  1158.                 LD A,(GUNDIR+1):AND 7:ADD A,A
  1159. FIRE2           PUSH BC:PUSH HL:PUSH DE:PUSH AF:CALL INITBUL:POP AF:POP DE
  1160.                 POP HL:DEC L:POP BC:RET Z:DEC A:AND 15:PUSH BC
  1161.                 PUSH DE:PUSH AF:CALL INITBUL:POP AF:POP DE:ADD A,2:AND 15
  1162.                 POP BC:PUSH DE:PUSH AF:CALL INITBUL:POP AF:POP DE:RET
  1163.  
  1164. GETXYOFHERO     LD A,(GUNDIR+1):CP $FF:RET Z:CP 56:JR C,FKD:SUB 40
  1165. FKD             PUSH DE:ADD A,A:LD E,A:LD D,0:LD HL,XYOFSETS
  1166.                 ADD HL,DE:POP DE:LD A,E:ADD A,(HL):LD E,A:INC HL
  1167.                 LD A,D:ADD A,(HL):LD D,A:RET
  1168.  
  1169. XYOFSETS        DW $F408,$F808,$FA10,$0008    ; RUN
  1170.                 DW $0008,$0000,$FAF8,$F800
  1171.  
  1172.                 DW $EC08,$F408,$F810,$FA10    ; CLIMB
  1173.                 DW $0810,$FAF8,$F8F8,$F400
  1174.  
  1175.                 DW $F810,$0610,$0418,$0810    ; CRAWL
  1176.                 DW $1410,$0A00,$0400,$FE00
  1177.  
  1178. NOFIRE          LD A,(ONLADDER+1):OR A:RET NZ:CALL DOFALL
  1179. GODU            LD A,(BXAD+1):CP 8:RET Z
  1180.                 LD A,(HEROP+1):AND $07:ADD A,40:LD (HEROP+1),A
  1181.                 LD A,(GUNDIR+1):AND $07:ADD A,56:LD (GUNDIR+1),A
  1182.                 JR NOSTEP
  1183.  
  1184. DOFALL          LD A,(ONLADDER+1):OR A:RET NZ
  1185.                 LD A,(HEROG+1):OR A:JP M,JAFT
  1186.                 LD DE,(HEROX+1):CALL HESTFLOOR
  1187.                 LD A,(ONLADDER+1):LD C,A:INC C:DEC C:RET NZ
  1188.                 CALL C,SETFLOOR
  1189. JAFT            LD DE,(HEROX+1):LD HL,(GUNX+1):LD A,(HEROG+1)
  1190.                 LD C,A:ADD A,D:OR A:JP M,NOFT:LD D,A
  1191.                 LD A,H:ADD A,C:LD H,A
  1192. NOFT            LD A,C:OR A:JP M,JPUP
  1193.                 CALL HESTFLOOR
  1194.                 LD A,(ONLADDER+1):LD C,A:INC C:DEC C:RET NZ
  1195.                 JP C,SETFLOOR
  1196. JPUP            LD (HEROX+1),DE:LD (GUNX+1),HL
  1197.                 XOR A:LD (HEROCRAWL+1),A
  1198.                 LD A,(HEROP+1):AND 7:ADD A,32:LD (HEROP+1),A
  1199. HEROG           LD A,0:INC A:CP 9:JP P,SMOG:LD (HEROG+1),A
  1200. SMOG
  1201.  
  1202. NOSTEP          LD A,(XYSUB+1):LD E,A
  1203.                 LD A,(GUNX+2):ADD A,E:SUB $10:LD (GUNX+2),A
  1204.                 LD A,(BEEPNUM):CP 1:RET NZ:XOR A:LD (BEEPNUM),A:RET
  1205.  
  1206. GETMAPBYTE      DB 1
  1207. MAPX            DB 0
  1208. MAPY            DB 0
  1209.  
  1210.                 PUSH HL:PUSH DE
  1211.                 LD A,(MAPDIR):OR A:JR Z,NGD
  1212.                 LD A,E:SUB $10:SRL A:SRL A:SRL A:SRL A:LD E,A
  1213.                 LD H,0:LD L,B
  1214.                 RES 0,L:SLA L:RL H:SLA L:RL H:SLA L:RL H
  1215.  
  1216.                 LD A,B:AND 1:ADD A,A:ADD A,A:ADD A,A:NEG:ADD A,D
  1217.                 ADD A,$10:CP $C0:JR C,AHA
  1218.                 NEG:LD C,A:LD A,L:SUB C:LD L,A
  1219.                 LD A,H:SBC A,0:LD H,A:JR ALA
  1220. AHA             CALL ADDHLA
  1221. ALA             SRL H:RR L:SRL H:RR L:SRL H:RR L:SRL H:RR L
  1222.                 LD A,L: JR GETTHEBYTE
  1223. NGD             LD A,E:SUB 16:SRL A:SRL A:SRL A:ADD C:SRL A:LD E,A
  1224.                 LD A,D:AND $F0:ADD A,$10:SRL A:SRL A:SRL A:SRL A
  1225.                 CP 8:JR NC,NOFLORPOP
  1226. GETTHEBYTE      LD HL,(MAP):LD D,0:ADD HL,DE:LD DE,(MAPXSIZE)
  1227.                 CALL MULT:LD A,(HL):POP DE:POP HL:SCF:RET
  1228. NOFLORPOP       POP DE:POP HL:XOR A:RET
  1229.  
  1230. HEX8            PUSH AF:RRA:RRA:RRA:RRA:CALL HEX4:POP AF
  1231. HEX4            PUSH AF:AND $0F:ADD A,"0":CP "9"+1:JR C,HEX1:ADD A,7
  1232. HEX1            CALL PRTCELL:POP AF:RET
  1233.  
  1234. TESTWALL        LD A,(WEPFLRCOL+1):OR A:RET NZ
  1235.                 CALL GETMAPBYTE:PUSH IX:PUSH BC:LD IX,(FLOORWALLBYTES)
  1236.                 LD B,(IX+00):INC IX
  1237. BLPTW           CP (IX+00):JR Z,TESTYESWAL:INC IX:DJNZ BLPTW
  1238. TESTNOWAL       POP BC:POP IX:OR A:RET
  1239. TESTYESWAL      POP BC:POP IX:SCF:RET
  1240. ERSC            LD A,D:CP $60:CCF:RET
  1241.  
  1242. HESTFLOOR       LD C,0:CALL TESTFLOOR:RET NC
  1243. TRYSLIDE        PUSH AF
  1244. SLID1           CP $FF:JR Z,ONSLIDU
  1245. SLID2           CP $FF:JR Z,ONSLIDU
  1246. SLID3           CP $FF:JR Z,ONSLIDD
  1247. SLID4           CP $FF:JR Z,ONSLIDD
  1248. CRAWLPLAT       CP $FF:JR Z,ONCRAWLPLAT:POP AF:RET
  1249.  
  1250. ONCRAWLPLAT     LD A,2:LD (HEROCRAWL+1),A:POP AF:RET
  1251.  
  1252. PX              DW 0
  1253.  
  1254. ONSLIDU         PUSH DE:LD DE,(HEROX+1):SRL E:SRL E:SRL E
  1255.                 LD A,(MAPX):ADD A,E:CPL:JR SMILE
  1256. ONSLIDD         PUSH DE:LD DE,(HEROX+1):SRL E:SRL E:SRL E
  1257.                 LD A,(MAPX):ADD A,E
  1258. SMILE           AND 1:ADD A,A:ADD A,A:ADD A,A:LD E,A
  1259.                 LD A,D:AND $F0:ADD A,E:SUB 8:LD (SHIM+1),A
  1260.                 POP DE:LD A,1:LD (STH+1),A:POP AF:RET
  1261.  
  1262. TESTFLOOR       XOR A:LD (ONLADDER+1),A
  1263. TASTEFLOOR
  1264. WEPFLRCOL       LD A,0:OR A:JP NZ,ERSC
  1265.                 PUSH BC:CALL GETMAPBYTE:POP BC
  1266. LAD1            CP $B8:JR Z,TESTYESLAD
  1267. LAD2            CP $B9:JR Z,TESTYESLAD
  1268.                 PUSH IX:PUSH BC:LD IX,(FLOORTESTBYTES)
  1269.                 LD B,(IX+00):INC IX
  1270. BLPTF           CP (IX+00):JR Z,TESTYESFLR:INC IX:DJNZ BLPTF
  1271. TESTNOFLR       POP BC:POP IX:OR A:RET
  1272. TESTYESFLR      POP BC:POP IX:SCF:RET
  1273.  
  1274. TESTYESLAD      LD A,C:OR A:SCF:RET NZ
  1275.  
  1276.                 LD A,(HEROX+1):AND $F0:OR 8
  1277.                 LD (HEROX+1),A:LD (GUNX+1),A
  1278.  
  1279.                 LD A,(HEROP+1):AND 7:ADD A,48:LD (HEROP+1),A
  1280.                 LD A,(GUNDIR+1):AND 7:ADD A,8:LD (GUNDIR+1),A
  1281.                 XOR A:LD (HEROG+1),A:LD (HEROF+1),A
  1282.                 INC A:LD (ONLADDER+1),A:SCF:RET
  1283.  
  1284. FLOROF          EQU 4
  1285.  
  1286. SETFLOOR        LD A,(MAPY):AND $01:ADD A,A:ADD A,A:ADD A,A:NEG
  1287.                 LD B,A:LD A,D:AND $F0:ADD A,B
  1288.                 ADD A,FLOROF:LD (HEROX+2),A:LD D,A
  1289. XYSUB           SUB $10:LD (GUNX+2),A
  1290.                 XOR A:LD (HEROF+1),A:LD (HEROG+1),A:RET
  1291.  
  1292. HERODOWN
  1293. ONLADDER        LD A,0:OR A:JR NZ,LADDOWN
  1294.                 LD A,(HEROF+1):OR A:RET NZ
  1295.                 LD A,1:LD (HEROCRAWL+1),A
  1296.                 RET
  1297.  
  1298. LADDOWN         LD A,0:LD (HEROCRAWL+1),A
  1299.                 LD A,(POS):AND 1:RET NZ
  1300.                 LD A,(HEROX+2):ADD A,8:CP $60+FLOROF:LD (HEROX+2),A
  1301.                 PUSH AF:SUB $10:LD (GUNX+2),A
  1302.                 LD A,(GUNDIR+1): AND 7:CP 5:LD E,0:JR C,KOED:LD E,4
  1303. KOED            LD A,(HEROP+1):DEC A:AND 3:ADD A,E
  1304.                 ADD A,48:LD (HEROP+1),A
  1305.  
  1306.                 LD DE,(HEROX+1):CALL HESTFLOOR:POP HL
  1307.                 LD A,(ONLADDER+1):OR A:JR Z,SETOFFLAD:PUSH HL
  1308.  
  1309.                 POP AF:RET C
  1310.  
  1311.                 LD A,$50+FLOROF:LD (HEROX+2),A
  1312.                 SUB $10:LD (GUNX+2),A
  1313.  
  1314.                 LD A,(ONLADDER+1):OR A:JP NZ,SCROLLDOWN
  1315.  
  1316. SETOFFLAD       LD A,(HEROP+1):AND 3:ADD A,16:LD (HEROP+1),A
  1317.                 LD A,(GUNDIR+1):AND 7:LD (GUNDIR+1),A
  1318.                 RET
  1319.  
  1320. LADUP
  1321.                 LD A,(POS):AND 1:RET NZ
  1322.                 LD A,(HEROX+2):SUB 8:CP $21:LD (HEROX+2),A
  1323.                 PUSH AF:SUB $10:LD (GUNX+2),A
  1324.                 LD A,(GUNDIR+1):AND 7:CP 5:LD E,0:JR C,KOEU:LD E,4
  1325. KOEU            LD A,(HEROP+1):DEC A:AND 3:ADD A,E
  1326.                 ADD A,48:LD (HEROP+1),A
  1327.  
  1328.                 LD DE,(HEROX+1):CALL HESTFLOOR:POP HL
  1329.                 LD A,(ONLADDER+1):OR A:JR Z,SETOFFLAD:PUSH HL
  1330.  
  1331.                 POP AF:RET NC
  1332.                 LD A,$20:LD (HEROX+2),A
  1333.                 SUB $10:LD (GUNX+2),A
  1334.                 CALL SCROLLUP
  1335.                 LD DE,(HEROX+1):CALL HESTFLOOR:RET C
  1336.                 CALL SETOFFLAD:JR HEROF
  1337.  
  1338. HEROUP          LD A, (HEROCRAWL+1):CP 2:RET Z
  1339.                 OR A:JR Z,NAFL
  1340.                 LD A,(FUDLR):AND $10:RET NZ
  1341. NAFL            XOR A:LD (HEROCRAWL+1),A
  1342.                 LD A,(ONLADDER+1):OR A:JR NZ,LADUP
  1343.                 LD A,(FUDLR):AND $10:JP NZ,FIREPAK
  1344. HEROF           LD A,0:OR A:RET NZ
  1345.                 LD A,(HEROG+1):OR A:RET NZ
  1346.                 LD (HEROCRAWL+1),A:INC A:LD (HEROF+1),A
  1347.                 LD A,-7:LD (HEROG+1),A:RET
  1348. DOSTEPS         LD A,(HEROP+1):CP 16:RET C:CP 24:RET NC
  1349.                 AND 3:CP 1:PUSH DE:LD A,1:CALL Z,GOBEEP:POP DE:RET
  1350.  
  1351. NOWALK          LD A,(HEROP+1):AND 7:ADD A,16:LD (HEROP+1),A:RET
  1352.  
  1353. HERORIGHT       LD A,(ONLADDER+1):OR A:RET NZ
  1354.  
  1355.                 LD DE,(HEROX+1)
  1356.                 LD A,E:ADD A,$10:LD E,A:CALL TESTWALL:RET C
  1357. OLDDIR          LD A,0:AND 7: CP 1:RET C:CP 3+1:RET NC
  1358. BXAD            LD A,0:CP 8:JR Z,HE1
  1359.                 LD A,(POS):AND 1:RET NZ
  1360. HE1             LD A,(HEROX+1):ADD 8:CP $D0:JR NC,NFOR:LD (HEROX+1),A
  1361.  
  1362. NFOR            CP $B0:CALL NC,SETSCRRIGHT
  1363.                 LD A,(HEROP+1):INC A:AND 3:ADD 16:LD (HEROP+1),A
  1364.                 CALL DOSTEPS
  1365. ESR
  1366. WALKTOP         PUSH DE:LD DE,(HEROX+1):LD A,$10:LD (XYSUB+1),A
  1367.                 LD A,D:SUB $10:LD D,A
  1368.                 LD A,(HEROP+1):AND 3:CP 1:JR NZ,ESD
  1369.                 LD A,$0E:LD (XYSUB+1),A:LD A,D:ADD A,2:LD D,A
  1370. ESD             LD (GUNX+1),DE:POP DE:RET
  1371. ASR             LD A,(HEROP+1):AND 7:ADD 16:LD (HEROP+1),A
  1372.                 JR WALKTOP
  1373.  
  1374. HEROLEFT        LD A,(ONLADDER+1):OR A:RET NZ
  1375.  
  1376.                 LD DE,(HEROX+1)
  1377.                 LD A,E:SUB $08:LD E,A:CALL TESTWALL:RET C
  1378.                 LD A,(OLDDIR+1):AND 7:CP 5:RET C
  1379.                 LD A,(BXAD+1):CP 8:JR Z,HEZ
  1380.                 LD A,(POS):AND 1:RET NZ
  1381.  
  1382. HEZ             LD A,(HEROX+1):SUB 8:CP $18:JR C,NFOL:LD (HEROX+1),A
  1383.  
  1384. NFOL            CP $40:CALL C,SETSCRLEFT
  1385.                 LD A,(HEROP+1):DEC A:AND 3:ADD 20:LD (HEROP+1),A
  1386.                 CALL DOSTEPS
  1387. ESL             JP WALKTOP
  1388.  
  1389. SETSCRLEFT      LD A,8:LD (SCRCNT+1),A:LD A,255:LD (SCRDIR+1),A:RET
  1390. SETSCRRIGHT     LD A,8:LD (SCRCNT+1),A:LD A,1:LD (SCRDIR+1),A:RET
  1391.  
  1392. SCRCNT          LD A,0:OR A: RET Z:DEC A:LD (SCRCNT+1),A
  1393. SCRDIR          LD A,0:OR A:JP P,SCROLLRIGHT:JP SCROLLLEFT
  1394.  
  1395. TURNERTO        LD A,(GUNDIR+1):AND 7:CP C:RET Z
  1396.                 LD A,(GUNDIR+1):LD B,A:SUB C:AND 7:CP 4:CCF
  1397.                 LD A,0:RLA:ADD A,A:DEC A:ADD A,B:AND 7:LD L,A
  1398.                 LD A,B:AND $F8:OR L:LD (GUNDIR+1),A
  1399.                 AND 7
  1400.                 CP 5:LD A,1:SBC A,0:ADD A,A:ADD A,A:LD C,A
  1401.                 LD A,(HEROP+1):AND $FB:OR C:LD (HEROP+1),A
  1402.                 OR 128:RET
  1403.  
  1404. ;*********************************************************************
  1405. ;** DUMP KEYS ONTO BACKGROUND                                       **
  1406. ;*********************************************************************
  1407.  
  1408. KEYNOKEY           EQU 6
  1409. KEYX            EQU 0
  1410. KEYY            EQU 1
  1411. KEYG            EQU 2
  1412. KEYP            EQU 3
  1413. KEYLEN          EQU 4
  1414.  
  1415. KEYDAT          DS KEYNOKEY*KEYLEN,0
  1416.  
  1417. INITKEY         LD IX,KEYDAT:LD B,KEYNOKEY
  1418.                 PUSH DE:LD DE,KEYLEN
  1419. FINDKEYLP       LD A,(IX+KEYX):OR A:JR Z,GOTKEY
  1420.                 ADD IX,DE:DJNZ FINDKEYLP
  1421.                 POP DE:RET
  1422.  
  1423. GOTKEY          POP DE:LD (IX+KEYX),E:LD (IX+KEYY),D
  1424.                 LD (IX+KEYG),-6
  1425.                 LD (IX+KEYP),0
  1426.                 RET
  1427.  
  1428. PRTKEYS         LD IX,KEYDAT:LD B,KEYNOKEY
  1429. PRTKEYBLP       LD A,(IX+KEYX):OR A:JP Z,GONEXTKEY
  1430.  
  1431.                 INC (IX+KEYG):LD E,(IX+KEYX)
  1432.                 LD A,(IX+KEYY):ADD A,(IX+KEYG):LD (IX+KEYY),A:LD D,A
  1433.  
  1434.                 OR A:JP P,SKZD
  1435.                 CP $A0:JR NC,SKZD
  1436.                 CP $90:JR C,SKZD
  1437.                 LD (IX+KEYX),0:JR GONEXTKEY
  1438. SKZD            PUSH BC:LD C,1:CALL TASTEFLOOR:POP BC:JR NC,SKTD
  1439.  
  1440.                 LD (IX+KEYG),-1
  1441.                 LD A,(MAPY):AND 1:ADD A,A:ADD A,A:ADD A,A:NEG:ADD A,D
  1442.                 LD A,D:AND $F0:LD D,A
  1443.                 LD A,(MAPY):AND 1:ADD A,A:ADD A,A:ADD A,A:ADD A,D
  1444. NAR             LD (IX+KEYY),A
  1445. SKTD
  1446.                 INC (IX+KEYP):LD E,(IX+KEYX)
  1447.                 LD A,(IX+KEYY):CP $70:LD D,A
  1448.                 LD A,(IX+KEYP):CALL C,PRT1KEY
  1449.                 LD E,(IX+KEYX):LD D,8
  1450.                 LD HL,(HEROX+1):LD H,16:CALL HITA:JR C,GONEXTKEY
  1451.                 LD E,(IX+KEYY):LD D,16
  1452.                 LD HL,(HEROX+2):LD H,16:CALL HITA:JR C,GONEXTKEY
  1453.  
  1454.                 LD DE,0*256+2:CALL ADDSCORE
  1455.                 LD A,5:CALL GOBEEP
  1456.  
  1457.                 LD (IX+KEYX),0
  1458.                 LD A,(KEYSCOLLECTED+1):CP 6:JR NC,GONEXTKEY
  1459.                 INC A:LD (KEYSCOLLECTED+1),A
  1460.  
  1461. GONEXTKEY       LD DE,KEYLEN:ADD IX,DE:DEC B:JP NZ,PRTKEYBLP:RET
  1462.  
  1463. PRT1KEY         PUSH DE:AND 3:LD DE,64:LD HL,KEYSPRS:CALL MULT
  1464.                 POP DE:PUSH DE:PUSH BC:LD BC,$0208:CALL MASKCXB
  1465.                 POP BC:POP DE:RET
  1466.  
  1467. MASKCXBINVADD   LD A,C:ADD A,A:ADD A,D:LD D,A:DEC D
  1468. MASKCXBINV      PUSH HL:LD HL,-32:LD (SZ1+2),HL:LD (SZ2+2),HL:POP HL
  1469.                 CALL MASKCXB:LD HL,32:LD (SZ1+2),HL:LD (SZ2+2),HL:RET
  1470. MASKCXBMINVADD  LD A,C:ADD A,A:ADD A,D:LD D,A:DEC D
  1471. MASKCXBMINV     PUSH HL:LD HL,-32:LD (MZ1+2),HL:LD (MZ2+2),HL:POP HL
  1472.                 CALL MASKCXBMIR:LD HL,32:LD (MZ1+2),HL:LD (MZ2+2),HL:RET
  1473.  
  1474. MASKCXB         LD A,D:OR A:RET M
  1475.                 PUSH HL:CALL BIXAD:EX DE,HL:POP HL
  1476. MASKCXBCLP      PUSH BC
  1477. MASKCXBBLP1     LD A,(DE):AND (HL):INC HL:OR (HL):INC HL:LD (DE),A
  1478.                 INC DE:DJNZ MASKCXBBLP1:DEC DE
  1479. SZ1             EX DE,HL:LD BC,32:ADD HL,BC:EX DE,HL
  1480.                 POP BC:PUSH BC
  1481. MASKCXBBLP2     LD A,(DE):AND (HL):INC HL:OR (HL):INC HL:LD (DE),A
  1482.                 DEC DE:DJNZ MASKCXBBLP2:INC DE
  1483. SZ2             EX DE,HL:LD BC,32:ADD HL,BC:EX DE,HL
  1484.                 POP BC:DEC C:JP NZ,MASKCXBCLP:RET
  1485. MASKCXBMIR      LD A,D:OR A:RET M
  1486.                 LD A,B:DEC A:ADD A,A:ADD A,A:ADD A,A:ADD A,E:LD E,A
  1487.                 PUSH HL:CALL BIXAD:EX DE,HL:POP HL
  1488.                 PUSH BC:LD B,MIRPAGE/256:EXX:POP BC
  1489. MASKCXBMIRCLP   PUSH BC
  1490. MASKCXBMIRBLP1  EXX:LD A,(DE):LD C,A:LD A,(BC):AND (HL):INC HL
  1491.                 OR (HL):LD C,A:LD A,(BC):INC HL:LD (DE),A:DEC DE
  1492.                 EXX:DJNZ MASKCXBMIRBLP1:POP BC:PUSH BC:EXX:INC DE
  1493. MZ1             EX DE,HL:LD BC,32:ADD HL,BC:EX DE,HL:LD B,MIRPAGE/256
  1494.                 EXX
  1495. MASKCXBMIRBLP2  EXX :LD A,(DE):LD C,A:LD A,(BC):AND (HL):INC HL
  1496.                 OR (HL):LD C,A:LD A,(BC):INC HL:LD (DE),A:INC DE
  1497.                 EXX:DJNZ MASKCXBMIRBLP2:POP BC:EXX:DEC DE
  1498. MZ2             EX DE,HL:LD BC,32:ADD HL,BC:EX DE,HL:LD B,MIRPAGE/256
  1499.                 EXX:DEC C:JP NZ,MASKCXBMIRCLP:EXX:RET
  1500.  
  1501. ;****************************************************************************
  1502. ;** DUMP SPRITES ONTO BACKGROUND                                           **
  1503. ;****************************************************************************
  1504.  
  1505. BULDAT          DS NOBUL*BULLEN,0
  1506.  
  1507. INITBLD         SET 6,B:JR INITBIL
  1508. INITMIS         SET 6,B:JR INITBUL
  1509. INITBAL         SET 5,B:JR INITBUL
  1510. INITLAS         SET 5,B
  1511. INITBIL         SET 3,B:JR INITBUL+2
  1512. INITBUL         RES 3,B:LD C,A:PUSH BC:CALL FINDBUL:POP BC:RET NZ
  1513.                 LD A,C:LD (IX+BULP),A:AND 15:LD HL,XADS:ADD A,L
  1514.                 LD L,A:LD A,(HL):ADD A,E:LD (IX+BULX),E:LD A,L
  1515.                 ADD A,16:LD L,A:LD A,(HL):ADD A,D:LD (IX+BULY),D
  1516.                 LD (IX+BULT),B:LD A,2:CALL GOBEEP
  1517.  
  1518. FINDBUL         LD IX,BULDAT:LD B,NOBUL
  1519. FINDBLP         LD A,(IX+BULX):OR A:JR NZ,FINDNXT
  1520.                 OR (IX+BULY):RET Z
  1521. FINDNXT         PUSH DE:LD DE,BULLEN:ADD IX,DE:POP DE
  1522.                 DJNZ FINDBLP:INC B:RET
  1523.  
  1524. PRTBULLETS      LD HL,(BIGX1):LD A,H:SRL A:ADD A,L:LD E,A
  1525.                 LD HL,(BIGY1):LD A,H:SRL A:ADD A,L:LD D,A
  1526.                 LD A,(ISBIGON):OR A:JR NZ,GOTHOME
  1527.  
  1528.                 LD HL,(XSI+1):LD A,H:SRL A:ADD A,L:LD E,A
  1529.                 LD HL,(YSI+1):LD A,H:SRL A:ADD A,L:LD D,A
  1530. BAGE            LD A,0:OR A:JR NZ,GOTHOME
  1531.  
  1532.                 LD IX,BADDAT:LD B,NOBAD:LD DE,BADLEN
  1533. FINDH           LD A,(IX+ACTION):OR A:JR Z,TRYH:CP 3:JR Z,TRYH
  1534.                 LD E,(IX+XPOS):LD D,(IX+YPOS):JR GOTHOME
  1535. TRYH            ADD IX,DE:DJNZ FINDH
  1536.  
  1537.                 LD DE,$0000
  1538.  
  1539. GOTHOME         LD IX,BULDAT:LD B,NOBUL
  1540. PRTBULBLP       PUSH BC:PUSH DE
  1541.                 LD A,(IX+BULX):OR (IX+BULY):JP Z,NEXT1
  1542.  
  1543.                 LD A,D:OR E:JR Z,NOTHOME
  1544.  
  1545.                 LD A, (IX+BULT): AND 7: CP 7:JR NZ, NOTHOME
  1546.                 LD A,(IX+BULX):CP E
  1547.                 LD A,(IX+BULY):JR C,HRT
  1548. HLT             CP D:LD A,0:CCF:ADC A,0:ADD A,A:ADD A,A
  1549.                 ADD A,10+16:LD C,A:JR HOTO
  1550. HRT             CP D:LD A,0:ADC A,0:ADD A,A:ADD A,A
  1551.                 ADD A,2+16:LD C,A
  1552. HOTO            LD A,(IX+BULP):CP C:JR Z,NOTHOME
  1553.  
  1554.                 PUSH BC:LD B,A:SUB C:AND 15:CP 8:CCF
  1555.                 LD A,0:RLA:ADD A,A:DEC A:ADD A,B:AND 15:LD L,A
  1556.                 LD A,B:AND $F0:OR L:LD (IX+BULP),A:POP BC
  1557.  
  1558. NOTHOME
  1559.                 LD A,(IX+BULP):AND 15:LD HL,XADS:ADD A,L:LD L,A
  1560.  
  1561.                 LD A,(IX+BULX):ADD A,(HL):LD E,A
  1562.                 LD A,L:ADD A,16:LD L,A
  1563.                 LD A,(IX+BULY):ADD A,(HL):LD D,A:OR A:CALL M,KILLITZ
  1564.                 LD A,E
  1565. ;               CP $18:CALL C,KILLIT
  1566.                 CP $E8:CALL NC,KILLIT
  1567.  
  1568.                 LD (IX+BULX),E:LD (IX+BULY),D:LD A,E:OR D:JP Z,NEXT1
  1569.  
  1570.                 LD A,(IX+BULT):CP 8:JR NC,NEXT0
  1571.  
  1572.                 PUSH DE:LD A,(IX+BULP):SRL A:AND 3
  1573.                 LD HL,BULMASK:LD DE,16:CALL MULT:POP DE
  1574.                 LD A,D:CP $79:LD BC,$0104:CALL C,MASKCXB:JP NEXT1
  1575.  
  1576. NEXT0           BIT 6,A:JR NZ,BALZSP
  1577.                 BIT 5,A:JP Z,BILZSP
  1578.                 BIT 3,A:JR Z,BLOBALL
  1579.                 LD HL,BULLET3X1:LD A,D:CP $79:CALL C,BAXITA:JP NEXT1
  1580.  
  1581. COLTAB          DB #04,#05,#06,#07,#07,#06,#05,#04
  1582.  
  1583. BLOBALL         LD A,(POS):AND 7:LD HL,COLTAB:ADD A,L:LD L,A
  1584.                 ADC A,H:SUB L:LD H,A:LD A,(HL):LD (BLOBATR),A
  1585.                 LD HL,BLOB1X1:LD A,D:CP $79:CALL C,BAXITA:JP NEXT1
  1586.  
  1587. BALZSP          BIT 3,A:JP NZ,INITBIG3
  1588.                 LD HL,MISSILE:LD A,(IX+BULP):OR A:JR Z,MISUP
  1589.  
  1590. MISDN           LD A,D:ADD A,$0F:LD D,A:OR A:JP M,NEXT1
  1591.                 CP $1F:JP C,NEXT1
  1592.                 PUSH DE:LD BC,$0208:CALL MASKCXBINV
  1593.                 CALL MISSILEANI:POP DE:LD A,D:SUB $10:LD D,A
  1594.                 LD BC,$0208:CALL MASKCXBINV:JR NEXT1
  1595.  
  1596. MISSILEANI      LD A,0:LD HL,MISS1:OR A:RET Z:LD HL,MISS2:RET
  1597.  
  1598. MISUP           LD HL,MISSILE:LD A,D:SUB 8:LD D,A:JP M,NEXT1
  1599.                 CP $71:PUSH DE:LD BC,$0208:CALL C,MASKCXB:POP DE
  1600.                 CALL MISSILEANI:LD A,D:ADD A,$10:LD D,A:CP $71
  1601.                 LD BC,$0208:CALL C,MASKCXB:JR NEXT1
  1602.  
  1603. BILZSP          LD HL,BULLET3X2:LD A,D:AND $F8:SUB 4:LD D,A
  1604.                 CP $71:JR NC,NEXT1:LD A,E:SUB 4:LD E,A
  1605.                 PUSH DE:LD BC,$0308:CALL MASKCXB:POP DE
  1606.                 LD A,E:ADD A,8:LD E,A:LD A,D:ADD A,8:LD D,A
  1607.                 CALL PIXATRAD
  1608. BLAD            LD (HL),$45
  1609.  
  1610. NEXT1           LD DE,BULLEN:ADD IX,DE:POP DE
  1611.                 POP BC:DEC B:JP NZ,PRTBULBLP:RET
  1612.  
  1613. KILLITZ         BIT 6,(IX+BULT):JR Z,KILLIT
  1614.                 CP $C0: JR C, EXPLIT
  1615.                 LD A,(LEVEL):CP 7:JR NZ,KILLIT
  1616.                 LD D,0:LD (IX+BULP),8:RET
  1617.  
  1618. EXPLIT          LD A,(IX+BULX):SUB 8:LD E,A:LD D,$60
  1619.                 PUSH IX:CALL INITEXPNORND:POP IX
  1620.  
  1621. KILLIT          LD DE,0
  1622.                 RET
  1623.  
  1624. ;****************************************************************************
  1625. ;** PRINT SPRITES                                                          **
  1626. ;****************************************************************************
  1627.  
  1628. SPRTAB
  1629. ;  00 -  07 = GUN ROTATE (RUN,STAND,JUMP)
  1630.                 DB #00,#01,#02,#03
  1631.                 DB #04,#83,#82,#81
  1632. ;  08 -  15 = GUN ROTATE (CLIMB)
  1633.                 DB #05,#06,#07,#08
  1634.                 DB #09,#88,#87,#86
  1635. ;  16 -  23 = LEG RIGHT+1EFT
  1636.                 DB #0A,#0B,#0C,#0D
  1637.                 DB #8D,#8C,#8B,#8A
  1638. ;  24 -  31 = LEG STAND RIGHT+1EFT
  1639.                 DB #0E,#0E,#0E,#0E
  1640.                 DB #8E,#8E,#8E,#8E
  1641. ;  32 -  39 = LEG JUMP RIGHT+1EFT
  1642.                 DB #0F,#0F,#0F,#0F
  1643.                 DB #8F,#8F,#8F,#8F
  1644. ;  40 -  47 = LEG CRAWL
  1645.                 DB #14,#15,#16,#15
  1646.                 DB #14,#15,#16,#15
  1647. ;  48 -  55 = LEG (CLIMB)
  1648.                 DB #10,#11,#12,#13
  1649.                 DB #90,#91,#92,#93
  1650. ;  56 -  63 = GUN ROTATE (CRAWL)
  1651.                 DB #17,#18,#19,#1A
  1652.                 DB #1B,#1C,#1D,#1E
  1653. ;  64 -  75 = BAD1 RUN LEFT
  1654.                 DB #8A,#8B,#8C,#8D
  1655.                 DB #8F
  1656.                 DB #24,#25,#26,#27,#28
  1657.                 DB #27
  1658.                 DB #2A
  1659. ;  76 -  87 = BAD1 RUN RIGHT
  1660.                 DB #0A,#0B,#0C,#0D
  1661.                 DB #0F
  1662.                 DB #A4,#A5,#A6,#A7,#A8
  1663.                 DB #A7
  1664.                 DB #AA
  1665. ;  88 -  89 = BAD2 GUN TURRET
  1666.                 DB #2B,#AB
  1667. ;  90 -  91 = HERO DIE PHASE
  1668.                 DB #2E,#AE
  1669. ;  92 -  93 = BAD3 BEE PHASE
  1670.                 DB #2F,#AF
  1671. ;  94 -  97 = BAD4 GUN TURRET2+3
  1672.                 DB #2C,#AC,#2D,#AD
  1673. ;  98 - 101 = BAD5 CLIMB LADDERS
  1674.                 DB #30,#31,#32,#33
  1675. ; 102 - 110 = BAD6 CRAWL
  1676.                 DB #94,#95,#96
  1677.                 DB #B4,#B5,#B6
  1678.                 DB #34,#35,#36
  1679. ; 111 -     =
  1680.  
  1681. ;********************************************
  1682.  
  1683. ;                ADDRESS OF SPR    YSIZ,XOF,YOF
  1684.  
  1685. SPRINF
  1686.                 DW HEROWALK1:DB    12,0,-2    ; WALKTURN
  1687.                 DW HEROWALK2:DB    12,0,-2
  1688.                 DW HEROWALK3:DB    12,0,-2
  1689.                 DW HEROWALK4:DB    12,0,-2
  1690.                 DW HEROWALK5:DB    12,0,-2
  1691. ;05
  1692.                 DW HEROCLIMBl:DB   12,08,-06  ; CLIMB TURN
  1693.                 DW HEROCLIMB2:DB   10,08,-02
  1694.                 DW HEROCLIMB3:DB   11,08,-02
  1695.                 DW HEROCLIMB4:DB   13,08,-02
  1696.                 DW HEROCLIMB5:DB   18,08,-02
  1697. ;10
  1698.                 DW HEROLEG1:DB     2*4,0,0    ; WALK
  1699.                 DW HEROLEG2:DB     2*4,0,0
  1700.                 DW HEROLEG3:DB     2*4,0,0
  1701.                 DW HEROLEG4:DB     2*4,0,0
  1702. ;14
  1703.                 DW HEROLEGSTAND:DB 2*4,0,0    ; STAND
  1704. ;15
  1705.                 DW HEROLEGJUMP:DB  2*4,0,0    ; JUMP
  1706. ;16
  1707.                 DW HEROLEGCL1:DB   2*4,0,0    ; CLIMB 1
  1708.                 DW HEROLEGCL2:DB   2*4,0,0
  1709.                 DW HEROLEGCL3:DB   2*4,0,0
  1710.                 DW HEROLEGCL4:DB   2*4,0,0
  1711. ; 20
  1712.                 DW HEROLEGCR1:DB   2*4,-8,4   ; CRAWL
  1713.                 DW HEROLEGCR2:DB   2*4,-8,4
  1714.                 DW HEROLEGCR3:DB   2*4,-8,4
  1715. ;23
  1716.                 DW HEROCRAWL1:DB   12,08,08   ; CRAWL TURN
  1717.                 DW HEROCRAWL2:DB   11,08,12
  1718.                 DW HEROCRAWL3:DB   10,08,12
  1719.                 DW HEROCRAWL4:DB   15,08,10
  1720.                 DW HEROCRAWL5:DB   16,08,12
  1721.                 DW HEROCRAWL6:DB   13,08,12
  1722.                 DW HEROCRAWL7:DB   11,08,10
  1723.                 DW HEROCRAWL8:DB   11,08,10
  1724. ;31
  1725.                 DW HEROLEG1:DB     2*4,0,0    ; BAD1 LEGS WALK
  1726.                 DW HEROLEG2:DB     2*4,0,0
  1727.                 DW HEROLEG3:DB     2*4,0,0
  1728.                 DW HEROLEG4:DB     2*4,0,0
  1729. ;35
  1730.                 DW HEROLEGJUMP:DB  2*4,0,0    ; BAD1 LEG JUMP
  1731. ;36
  1732.                 DW BADWALK1:DB     3*4,0,0    ; BAD1 BODY WALK
  1733.                 DW BADWALK2:DB     3*4,0,0
  1734.                 DW BADWALK3:DB     3*4,0,0
  1735.                 DW BADWALK4:DB     3*4,0,0
  1736.                 DW BADWALK5:DB     3*4,0,0
  1737. ;41
  1738.                 DW BADWALK5:DB     3*4,0,0    ; BAD1 JUMP
  1739. ;42
  1740.                 DW BAD1FALL:DB     5*4,0,0    ; BAD1 FALL
  1741. ;43
  1742. TUR1            DW 0:DB            3*4,0,0    ; BAD GUN TURRET
  1743. TUR2            DW 0:DB            3*4,0,0
  1744. TUR3            DW 0:DB            3*4,0,0
  1745. ;46
  1746.                 DW HEROFALL:DB  4*4,0,0-16    ; HERO DIE PHASE
  1747. ;47
  1748. BEE1            DW 0:DB            5*4,0,0    ; BEE PHASE
  1749. ;48
  1750. BC1             DW 0:DB            11,0,-6    ; BAD CLIMB
  1751. BC2             DW 0:DB            10,0,-4
  1752. BC3             DW 0:DB            11,0,-6
  1753. BC4             DW 0:DB            10,0,-4
  1754. ;52
  1755. BCR1            DW 0:DB           12,16,12    ; BAD CRAWL
  1756. BCR2            DW 0:DB           12,16,12    ; BAD CRAWL
  1757. BCR3            DW 0:DB           12,16,12    ; BAD CRAWL
  1758.  
  1759. ;********************************************************************************
  1760.  
  1761. DECAMMO         LD A,(INFAMMO):OR A:RET NZ
  1762. AMMOLEFT        LD HL,999:LD A,H:OR L:RET Z
  1763.                 DEC HL:LD (AMMOLEFT+1),HL:LD A,H:OR L:RET NZ
  1764.                 LD (WEPTYPE+1),A:RET
  1765.  
  1766. DECBACK         LD A,(INFAMMO):OR A:RET NZ
  1767. BACKLEFT        LD A,50:OR A:JR Z,SETMFO
  1768.                 DEC A:LD (BACKLEFT+1),A:INC A:RET
  1769. SETMFO          LD (PAKTYPE+1),A:RET
  1770.  
  1771. PRTFLAMES       LD A,0:PUSH AF
  1772. FANNY           LD A,0:XOR 1:LD (FANNY+1),A:LD (FLMCNT+1),A
  1773.                 PUSH BC:LD HL,FLAMEXYS:LD B,NOFLAMES*2
  1774. FFFF            LD (HL),0:INC HL:DJNZ FFFF:POP BC
  1775.                 POP AF:OR A:RET Z
  1776.                 DEC A:LD (PRTFLAMES+1),A:RET Z:LD B,A
  1777.                 CALL DECAMMO:RET Z
  1778.                 LD IY,FLAMEXYS:LD IX,FLAMEDIR
  1779.                 LD DE,(HEROX+1):LD A,D:SUB 8:LD D,A:CALL GETXYOFHERO
  1780.                 LD A,(GUNDIR+1):AND 7:LD HL,JADDS:ADD A,L:LD L,A
  1781.                 LD A,E:ADD A,(HL):LD E,A:LD A,L:ADD A,8:LD L,A
  1782.                 LD A,D:ADD A,(HL):LD D,A
  1783. PRTFLAMBLP      PUSH BC:LD A,(IX+00):INC IX:LD HL,XADDS:ADD A,L:LD L,A
  1784.                 LD A,(HL):ADD A,E:LD E,A
  1785.                 LD A,L:ADD A,8:LD L,A
  1786.                 LD A,(HL):ADD A,D:AND $F8:LD D,A
  1787.  
  1788.                 LD A,E:CP $E8:JR NC,POPDER
  1789.                 LD A,D:CP $70:JR NC,POPDER
  1790.  
  1791.                 PUSH DE:LD HL,FLAMESPR
  1792. FLMCNT          LD A,0:XOR 1:LD (FLMCNT+1),A::JR Z,SDX:LD HL,FLAMESPR2
  1793. SDX             PUSH DE:LD BC,$030C:CALL MASKCXB:POP DE
  1794.                 LD A,E:ADD A,8:LD E,A:LD A,D:ADD A,08:LD D,A
  1795.                 CALL PIXATRAD
  1796. FLAMECOL        LD (HL),#72
  1797. DEO             POP DE:LD (IY+0),E:LD (IY+1),D:INC IY:INC IY
  1798.                 POP BC:DJNZ PRTFLAMBLP
  1799.  
  1800. ANIFLA          LD HL,FLAMEDIR+NOFLAMES-2:LD DE,FLAMEDIR+NOFLAMES-1
  1801.                 LD BC,NOFLAMES-1:LDDR
  1802.                 LD A,(GUNDIR+1):AND 7:LD (FLAMEDIR),A:RET
  1803.  
  1804. POPDER          POP BC:LD A,NOFLAMES:SUB B:SUB 2:OR A:JP P,OKF:XOR A
  1805. OKF             LD (PRTFLAMES+1),A:JR ANIFLA
  1806.  
  1807. ;****************************************************************************
  1808.  
  1809. PRTHERO
  1810. HEROFLASH       LD A,0:OR A:JR Z,HERK:DEC A:LD (HEROFLASH+1),A
  1811. EFSSS           LD A,$00:XOR $B6:LD (EFSSS+1),A
  1812. HERK            XOR $B6:CALL SMODSPR
  1813.  
  1814.                 LD A,(GUNDIR+1):AND $F8:CP 8:JR NZ,SKPARM
  1815.                 LD A,(HEROP+1):AND 3:LD HL,HEROARMS:LD DE,48:CALL MULT
  1816.                 LD DE,(GUNX+1):LD A,(GUNDIR+1):AND 7:CP 5:JR C,OKSS
  1817.                 LD A,E:ADD A,$18:LD E,A
  1818.                 LD A,D:SUB $06:LD D,A:OR A
  1819.                 LD BC,$010C:CALL P,MASKCXBMIR
  1820.                 JR SKPARM
  1821. OKSS            LD A,D:SUB $06:LD D,A:OR A
  1822.                 LD BC,$010C:CALL P,MASKCXB
  1823. SKPARM
  1824.  
  1825. HEROX           LD DE,$5870
  1826. HEROP           LD A, 18:CALL PRTSPRITE
  1827. GUNX            LD DE,$4870
  1828. GUNDIR          LD A,2:CALL PRTSPRITE
  1829.  
  1830.                 LD A,$B6  ; OR (HL)
  1831. SMODSPR         LD (S1+3),A:LD (S2+3),A:LD (S3+3),A:LD (S4+3),A
  1832.                 LD (S5+3),A:LD (S6+3),A:LD (S7+3),A:LD (S8+3),A
  1833.                 LD (M1+0),A:LD (M2+0),A:LD (M3+0),A:LD (M4+0),A
  1834.                 LD (M5+0),A:LD (M6+0),A:LD (M7+0),A:LD (M8+0),A:RET
  1835.  
  1836. PRTSPRITE       CP $FF:RET Z
  1837.                 LD C,A:LD B,0:LD HL,SPRTAB:ADD HL,BC:LD A,(HL)
  1838.                 PUSH AF:AND 127:LD C,A:LD B,0:LD HL,SPRINF
  1839.                 ADD HL,BC:ADD HL,BC:ADD HL,BC:ADD HL,BC:ADD HL,BC
  1840.                 LD C,(HL):INC HL:LD B,(HL):INC HL:LD A,(HL):INC HL
  1841.                 LD (PRTSPRBLP-1),A:LD (PRTMIRBLP-1),A:POP AF
  1842.                 PUSH AF:OR A:JP M,BACKWARD
  1843.                 LD A,E:ADD A,(HL):LD E,A:INC HL
  1844.                 LD A,D:ADD A,(HL):LD D,A:JR GOFIT
  1845. BACKWARD        LD A,E:SUB (HL):LD E,A:INC HL
  1846.                 LD A,D:ADD A,(HL):LD D,A
  1847. GOFIT           RES 0,D:LD A,D:OR A:JP M,TRYTOP
  1848.                 EXX:LD A,(PRTSPRBLP-1):SLA A:LD B,A
  1849.                 LD A,$80:SUB B:LD B,A:EXX
  1850.                 LD A,D:EXX:CP B:EXX :JR C,OKI:OR A:JP M,RETPOP
  1851.                 LD A,$80:SUB D:SRL A:JR Z,RETPOP:JP M,RETPOP
  1852.                 LD (PRTSPRBLP-1),A:LD (PRTMIRBLP-1),A:JR OKI
  1853. RETPOP2         POP AF
  1854. RETPOP          POP AF:RET
  1855. TRYTOP          EXX:LD A,(PRTSPRBLP-1):ADD A,A:NEG:LD B,A:EXX
  1856.                 LD A,D:EXX:SUB B:LD B,A:EXX:JR C,RETPOP
  1857.                 JR Z,RETPOP:LD A,D:PUSH AF
  1858.                 LD A,(PRTSPRBLP-1):SLA A:ADD A,D:NEG:LD D,A
  1859.                 EXX:LD A,B:EXX:OR A:JP M,RETPOP2
  1860.                 SRL A:JP Z,RETPOP2
  1861.                 LD (PRTSPRBLP-1),A:LD (PRTMIRBLP-1),A
  1862.                 POP AF:NEG:ADD A,A:ADD A,A:ADD A,A
  1863.                 ADD A,C:LD C,A:ADC A,B:SUB C:LD B,A:LD D,0
  1864. OKI             LD L,C:LD H,B:POP AF:OR A:JP M,PRTMIR
  1865.  
  1866. PRTSPR          PUSH HL:CALL BIXAD:EX DE,HL:POP HL
  1867.                 LD B,5*4
  1868. PRTSPRBLP
  1869. S1              LD A,(DE):AND (HL):INC HL:OR (HL):INC HL:LD (DE),A
  1870.                 INC DE
  1871. S2              LD A,(DE):AND (HL):INC HL:OR (HL):INC HL:LD (DE),A
  1872.                 INC DE
  1873. S3              LD A,(DE):AND (HL):INC HL:OR (HL):INC HL:LD (DE),A
  1874.                 INC DE
  1875. S4              LD A,(DE):AND (HL):INC HL:OR (HL):INC HL:LD (DE),A
  1876.                 PUSH BC
  1877. SD1             LD BC,32:EX DE,HL:ADD HL,BC:EX DE,HL:POP BC
  1878. S5              LD A,(DE):AND (HL):INC HL:OR (HL):INC HL:LD (DE),A
  1879.                 DEC DE
  1880. S6              LD A,(DE):AND (HL):INC HL:OR (HL):INC HL:LD (DE),A
  1881.                 DEC DE
  1882. S7              LD A,(DE):AND (HL):INC HL:OR (HL):INC HL:LD (DE),A
  1883.                 DEC DE
  1884. S8              LD A,(DE):AND (HL):INC HL:OR (HL):INC HL:LD (DE),A
  1885.                 PUSH BC
  1886. SD2             LD BC,32:EX DE,HL:ADD HL,BC:EX DE,HL:POP BC
  1887.                 DJNZ PRTSPRBLP:RET
  1888.  
  1889. PRTMIR          PUSH HL:LD A,E:ADD A,$18:LD E,A
  1890.                 CALL BIXAD:EX DE,HL:POP HL
  1891.                 LD B,MIRPAGE/256:EXX:LD B,5*4
  1892. PRTMIRBLP       EXX
  1893.                 LD A,(DE):LD C,A:LD A,(BC):AND (HL):INC HL
  1894. M1              OR (HL):INC HL:LD C,A:LD A,(BC):LD (DE),A:DEC DE
  1895.                 LD A,(DE):LD C,A:LD A,(BC):AND (HL):INC HL
  1896. M2              OR (HL):INC HL:LD C,A:LD A,(BC):LD (DE),A:DEC DE
  1897.                 LD A,(DE):LD C,A:LD A,(BC):AND (HL):INC HL
  1898. M3              OR (HL):INC HL:LD C,A:LD A,(BC):LD (DE),A:DEC DE
  1899.                 LD A,(DE):LD C,A:LD A,(BC):AND (HL):INC HL
  1900. M4              OR (HL):INC HL:LD C,A:LD A,(BC):LD (DE),A
  1901.                 PUSH BC
  1902. MD1             LD BC,32:EX DE,HL:ADD HL,BC:EX DE,HL:POP BC
  1903.                 LD A,(DE):LD C,A:LD A,(BC):AND (HL):INC HL
  1904. M5              OR (HL):INC HL:LD C,A:LD A,(BC):LD (DE),A:INC DE
  1905.                 LD A,(DE):LD C,A:LD A,(BC):AND (HL):INC HL
  1906. M6              OR (HL):INC HL:LD C,A:LD A,(BC):LD (DE),A:INC DE
  1907.                 LD A,(DE):LD C,A:LD A,(BC):AND (HL):INC HL
  1908. M7              OR (HL):INC HL:LD C,A:LD A,(BC):LD (DE),A:INC DE
  1909.                 LD A,(DE):LD C,A:LD A,(BC):AND (HL):INC HL
  1910. M8              OR (HL):INC HL:LD C,A:LD A,(BC):LD (DE),A
  1911.                 PUSH BC
  1912. MD2             LD BC,32:EX DE,HL:ADD HL,BC:EX DE,HL:POP BC
  1913.                 EXX:DJNZ PRTMIRBLP:EXX:RET
  1914.  
  1915. ;********************************************************************
  1916.  
  1917. PRTDOOR         LD E,$10
  1918.                 LD HL,(WEPROOMX)
  1919.                 LD A,(MAPX):CP L:RET NZ
  1920.                 LD A,(MAPY):CP H:RET NZ
  1921.                 LD A,(LEVEL):CP 8:JP Z,INITBIG4
  1922.                 LD A,E:OR A
  1923.                 LD HL,DOORSPR:LD BC,$0218:LD DE,(DOORXY):JP Z,BAXIT
  1924.  
  1925.                 LD IX,PRTDOOR-1:LD DE,(DOORXY):DB 1
  1926. DOORSIZE        DW $3020
  1927.                 CALL ISBULINBOX:LD A,(PRTDOOR+1):OR A:RET NZ
  1928.                 LD DE,(DOORXY):LD A,D:SUB $08:LD D,A
  1929.                 LD A,E:SUB 8:LD E,A:PUSH DE:CALL INITEXPNORND:POP DE
  1930.                 PUSH DE:LD A,D:ADD A,$18:LD D,A:CALL INITEXPNORND:POP DE
  1931.                 LD A,D:ADD A,$30:LD D,A:JP INITEXPNORND
  1932.  
  1933. ;****************************************************************************
  1934.  
  1935. EXPDAT          DS NOEXP*3,8
  1936.  
  1937. EXPDEAD         EQU 4
  1938.  
  1939. PRTEXP          LD IX,EXPDAT:LD B,NOEXP
  1940. PRTEXPLP        PUSH BC:LD E,(IX+EXPX):LD D,(IX+EXPY)
  1941.                 LD A,D:CP $68:JP NC,NXTEXP
  1942.                 LD A,(IX+EXPP):CP EXPDEAD:JR NC,EXLF
  1943.                 PUSH DE:LD HL,SHOTEXP1:LD DE,$C0+16:CALL MULT:POP DE
  1944.  
  1945.                 PUSH DE:LD BC,$0404:CALL MASKCXB:POP DE
  1946.                 LD A,D:ADD A,8:LD D,A
  1947.                 PUSH DE:LD BC,$0408:CALL BAXIT:EX DE,HL:POP DE
  1948.                 LD A,D:ADD A,16:LD D,A
  1949.                 PUSH DE:LD BC,$0404:CALL MASKCXB:POP DE
  1950.  
  1951.                 LD A,D:SUB $18:LD D,A:LD BC,$0404:CALL BAXATR
  1952.  
  1953.                 INC (IX+EXPP)
  1954. NXTEXP          POP BC:INC IX:INC IX:INC IX:DJNZ PRTEXPLP:RET
  1955. EXLF            LD (IX+EXPY),$FF:LD (IX+EXPX),0:JR NXTEXP
  1956.  
  1957. INITEXP         CALL RAND:LD A,(RND1):AND 24:SUB 24:ADD A,E:LD E,A
  1958.                 LD A,(RND2):AND 24:SUB 16:ADD A,D:LD D,A
  1959. INITEXPNORND    LD A,D:AND $F8:CP $60:JR C,OKINZ
  1960.                 CP $C0:LD A,$60:JR C,OKINZ:XOR A
  1961. OKINZ           LD D,A:PUSH BC:LD IX,EXPDAT:LD B,NOEXP
  1962. INEX            LD A,(IX+EXPP):CP EXPDEAD:JR NC,GOT1
  1963.                 INC IX:INC IX:INC IX:DJNZ INEX:POP BC:RET
  1964. GOT1            LD (IX+EXPX),E:LD (IX+EXPY),D:LD (IX+EXPP),0
  1965.                 LD A,4:CALL GOBEEP:POP BC:RET
  1966.  
  1967. ;************************************************************************
  1968.  
  1969. PRTBARRIER      LD HL,1000:LD A,H:OR L:RET Z
  1970.                 DEC HL:LD (PRTBARRIER+1),HL
  1971.  
  1972. BARO            LD A,0:INC A:LD C,A:AND 3:CP 2:JR NZ,MFE:INC C
  1973. MFE             LD A,C:LD (BARO+1),A
  1974.                 LD DE,(HEROX+1):PUSH AF:CALL PRT1BARRIER:LD (BARIER1),DE
  1975.                 LD DE,(HEROX+1):POP AF:ADD A,8
  1976. PRT1BARRIER     AND 15:LD C,A:LD B,0
  1977.                 LD HL,XADS:ADD HL,BC
  1978.                 LD A,(HL):ADD A,A:ADD A,A:ADD A,E:ADD A,8:LD E,A
  1979.                 LD HL,YADS:ADD HL,BC
  1980.                 LD A,(HL):ADD A,A:ADD A,A:ADD A,D:SUB 8:LD D,A
  1981.                 CP $71:RET NC
  1982.                 PUSH DE:LD A,(POS):AND 3:LD DE,64:LD HL,BARRIERSPR
  1983.                 CALL MULT:POP DE
  1984.                 PUSH DE:LD BC,$0208:CALL MASKCXB:POP DE:LD (BARIER2),DE
  1985.                 RET
  1986.  
  1987. BARIER1         DW 0
  1988. BARIER2         DW 0
  1989.  
  1990. ;****************************************************************************
  1991. ;** BADDIES PRINT AND MOVE ROUTINES                                        **
  1992. ;****************************************************************************
  1993. ; TOP LINE LEGS
  1994. ; BOTTOM LINE BODY
  1995.  
  1996. BADTYPES
  1997. ;BAD1 LEFT
  1998.                 DB #40,#41,#42,#43,#40,#41,#42,#43
  1999.                 DB #45,#46,#47,#48,#49,#48,#47,#46
  2000. ;BAD1 RIGHT
  2001.                 DB #4C,#4D,#4E,#4F,#4C,#4D,#4E,#4F
  2002.                 DB #51,#52,#53,#54,#55,#54,#53,#52
  2003. ;BAD1 JUMP LEFT
  2004.                 DB #44,#FF,#FF,#FF,#FF,#FF,#FF,#FF
  2005.                 DB #4A,#FF,#FF,#FF,#4B,#4B,#4B,#4B
  2006. ;BAD1 JUMP RIGHT
  2007.                 DB #50,#FF,#FF,#FF,#FF,#FF,#FF,#FF
  2008.                 DB #56,#FF,#FF,#FF,#57,#57,#57,#57
  2009. ;BAD2 GUN PLACEMENT
  2010.                 DB #FF,#FF,#FF,#FF,#FF,#FF,#FF,#FF
  2011.                 DB #58,#5E,#60,#FF,#61,#5F,#59,#FF
  2012. ;BEE RIGHT+LEFT
  2013.                 DB #FF,#FF,#FF,#FF,#FF,#FF,#FF,#FF
  2014.                 DB #5C,#5C,#5C,#5D,#5D,#5D,#5D,#5C
  2015. ;BAD3 CLIMB
  2016.                 DB #30,#31,#32,#33,#30,#31,#32,#33
  2017.                 DB #62,#63,#64,#65,#62,#63,#64,#65
  2018. ;BAD4 CRAWL
  2019.                 DB #28,#29,#2A,#2B,#66,#67,#68,#67
  2020.                 DB #6C,#6D,#6E,#6D,#69,#6A,#6B,#6A
  2021.  
  2022. ACTIONTAB       DW DEAD                              ; $00
  2023.                 DW RUNRIGHT                          ; $01
  2024.                 DW RUNLEFT                           ; $02
  2025.                 DW DIE                               ; $03
  2026.                 DW FALLON                            ; $04
  2027.                 DW GUNTURRET                         ; $05
  2028.                 DW BEE                               ; $06
  2029.                 DW CLIMBER                           ; $07
  2030.                 DW CRAWLER                           ; $08
  2031.  
  2032. ;***************************************
  2033.  
  2034. CRAWLER         LD A,(IX+XPOS):ADD A,(IX+COUNT):LD (IX+XPOS),A
  2035.                 CP $E8:JP NC,SETDEAD
  2036.                 LD A,(IX+PHASE):LD E,A:AND 4:LD D,A
  2037.                 LD A,E:INC A:AND 3:OR D:LD (IX+PHASE),A
  2038.                 RET
  2039.  
  2040. ;***************************************
  2041.  
  2042. CLIMBER         LD A,(MAPY):CP $10:JR NC,MAYO:LD (IX+COUNT),4
  2043. MAYO            LD A,(IX+YPOS):ADD A,(IX+COUNT):LD (IX+YPOS),A
  2044.                 CP $B0:JR C,EHA:CP $D0:JP C,SETDEAD
  2045. EHA             LD A,(IX+PHASE):INC A:AND 7:LD (IX+PHASE),A
  2046.                 RET P:CP $B0:RET C:CP $D0:RET NC:JP SETDEAD
  2047.  
  2048. ;***************************************
  2049.  
  2050. GUNTURRET       LD A,(HEROX+1):CP (IX+XPOS):LD A,0:CCF :ADC A,0
  2051.                 ADD A,A:ADD A,A:LD (IX+PHASE),A:LD HL,YBOUNCE
  2052.                 LD A,(POS)
  2053.                 RRA:RRA:RRA:RRA
  2054.                 AND 3:ADD A,L:LD L,A
  2055.  
  2056.                 LD A,(IX+PHASE):INC A:ADD A,(HL):LD (IX+PHASE),A
  2057.  
  2058.                 LD A,(POS):AND %00001111:RET NZ
  2059.                 LD A,(IX+PHASE):AND 4:JR Z,QED:LD A,$18
  2060. QED             ADD A,(IX+XPOS):LD E,A
  2061.                 LD A,(IX+YPOS):AND $F8:SUB 8:LD D,A
  2062.  
  2063.                 LD A,(IX+PHASE):RRA:RRA:CPL:AND 1
  2064.                 ADD A,A:ADD A,A:ADD A,A:ADD A,4:SUB (HL)
  2065.                 PUSH IX:LD B,4:CALL INITBAL:POP IX:RET
  2066.  
  2067. ;***************************************
  2068.  
  2069. RESETBAD        CALL RESETLEVELBAD
  2070.                 XOR A:LD (PRTFLAMES+1),A:LD (STH+1),A
  2071.                 LD (SCRCNT+1),A:LD (NOSCROLL+1),A
  2072.                 INC A:LD (SMODHERO+1),A
  2073.                 LD A,16:LD (PRTDOOR+1),A
  2074.                 XOR A:LD IX,BADDAT:LD DE,BADLEN:LD B,NOBAD
  2075. RESBAD          LD (IX+ACTION),A:ADD IX,DE:DJNZ RESBAD
  2076.                 LD IX,BULDAT:LD DE,BULLEN:LD B,NOBUL
  2077. RESBUL          LD (IX+BULX),A:LD (IX+BULY),A:ADD IX,DE:DJNZ RESBUL
  2078.                 LD IX,EXPDAT:LD DE,EXPLEN:LD B,NOEXP
  2079. RESEXP          LD (IX+EXPP),EXPDEAD:ADD IX,DE:DJNZ RESEXP
  2080.                 LD IX,KEYDAT:LD DE,KEYLEN:LD B,KEYNOKEY
  2081. RESKEY          LD (IX+KEYX),A:ADD IX,DE:DJNZ RESKEY
  2082.                 LD IX,WAPXYS:LD DE,5:LD B,6
  2083. RESWEP          LD (IX+02),$FF:ADD IX,DE:DJNZ RESWEP
  2084.                 RET
  2085.  
  2086. ;***************************************
  2087.  
  2088. MOVEBAD         LD IX,BADDAT:LD B,NOBAD
  2089. MOVEBADBLP      PUSH BC:CALL RAND:LD A,(IX+ACTION)
  2090.                 ADD A,A:LD E,A:LD D,0:LD HL,ACTIONTAB:ADD HL,DE
  2091.                 LD E,(HL):INC HL:LD D,(HL):EX DE,HL:CALL JPHL
  2092.                 POP BC:LD DE,BADLEN:ADD IX,DE:DJNZ MOVEBADBLP:RET
  2093.  
  2094. JPHL            JP (HL)
  2095.  
  2096. DEAD            RET
  2097.  
  2098. ;***************************************
  2099.  
  2100. RUNRIGHT        LD A,(IX+XPOS):ADD A,8:LD (IX+XPOS),A:JP C,SETDEAD
  2101.                 LD B,02
  2102. TESTAGAINSTMAP  LD E,(IX+XPOS):LD D,(IX+YPOS)
  2103.                 PUSH BC:LD C,2:CALL TESTFLOOR:POP BC:JR NC,SETJUMP
  2104.                 LD E,(IX+XPOS):LD D,(IX+YPOS)
  2105.                 LD A,(MAPX):ADD A,B:LD (MAPX),A
  2106.                 PUSH BC:LD C,2:CALL TESTWALL:POP BC
  2107.                 PUSH AF:LD A,(MAPX):SUB B:LD (MAPX),A:POP AF
  2108.                 JR NC,OKRUN
  2109. SETJUMP         LD (IX+COUNT),-8
  2110. JUMPSET         LD (IX+ACTION),4:SET 1,(IX+TYPE):LD (IX+PHASE),0
  2111.                 RES JUMPBIT,(IX+TEMP):RET
  2112. SETDROP         LD (IX+COUNT),0:JR JUMPSET
  2113. OKRUN           LD A,(IX+PHASE):INC A:AND 7:LD (IX+PHASE),A:RET
  2114.  
  2115. RUNLEFT         LD A,(IX+XPOS):SUB 8:LD (IX+XPOS),A:JP C,SETDEAD
  2116.                 LD B,-2:JP TESTAGAINSTMAP
  2117.  
  2118. ;***************************************
  2119.  
  2120. FALLON          LD A,(IX+YPOS):ADD A,(IX+COUNT):JP M,SKPFON
  2121.                 LD (IX+YPOS),A
  2122. SKPFON          BIT JUMPBIT,(IX+TEMP):JR NZ,JOSEFAT
  2123.                 LD A,(IX+COUNT):OR A:JP M,NESCAFE
  2124. JOSEFAT         LD A,(IX+TYPE):AND 1:ADD A,A:DEC A
  2125.                 ADD A,A:ADD A,A:ADD A,A:ADD A,(IX+XPOS)
  2126.                 CP $E8:JP NC,SETDEAD
  2127.                 LD E,(IX+XPOS):PUSH DE
  2128.                 LD (IX+XPOS),A:LD E,A:LD D,(IX+YPOS)
  2129.                 LD C,2:CALL TESTWALL:POP DE:JR NC,NESCAFE
  2130.                 LD (IX+XPOS),E
  2131. NESCAFE         INC (IX+COUNT):RET M
  2132.                 LD E,(IX+XPOS):LD D,(IX+YPOS)
  2133.                 LD C,2:CALL TESTFLOOR:RET NC
  2134.                 LD A,(IX+YPOS):AND $F0:ADD A,FLOROF:LD (IX+YPOS),A
  2135.                 LD A,(IX+TYPE):DEC A:AND 1:INC A:LD (IX+ACTION),A
  2136.                 RES 1,(IX+TYPE):LD (IX+PHASE),4
  2137.                 LD A,1:JP GOBEEP
  2138.  
  2139. ;***************************************
  2140.  
  2141. BEE             LD A,(IX+PHASE):LD HL,XADDS:ADD A,L:LD L,A:LD E,(HL)
  2142.                 ADD A,8:LD L,A:LD D,(HL)
  2143.                 LD A,(IX+XPOS):ADD A,E:LD (IX+XPOS),A:LD E,A
  2144.                 LD A,(IX+YPOS):ADD A,D:LD (IX+YPOS),A:LD D,A
  2145.                 LD A,(RND2):AND %10101010:JR NZ,FNES
  2146.  
  2147.                 LD A,(IX+PHASE):ADD A,2:ADD A,A
  2148.                 PUSH IX:LD B,4:CALL INITBAL:POP IX
  2149.  
  2150. FNES            DEC (IX+COUNT):RET NZ:LD (IX+COUNT),5
  2151.                 LD A,(IX+PHASE):INC A:AND 7:LD (IX+PHASE),A:RET
  2152.  
  2153. ;***************************************
  2154.  
  2155. SETBANGDEAD     LD E,(IX+XPOS):LD A,(IX+YPOS):SUB $10:LD D,A
  2156.                 PUSH IX:PUSH BC:CALL INITEXPNORND:POP BC:POP IX
  2157. SETDEAD         LD (IX+ACTION),0:LD (IX+XPOS),$FF:LD (IX+YPOS),$FF:RET
  2158.  
  2159. ;***************************************
  2160.  
  2161. SETFALL         PUSH HL:PUSH DE:LD A,6:CALL GOBEEP:POP DE:POP HL
  2162.  
  2163.                 BIT KEYBIT,(IX+TEMP):JR Z,NOKEYIZ
  2164.                 PUSH IX:PUSH DE:PUSH BC:LD DE,0*256+5:CALL ADDSCORE
  2165.                 LD E,(IX+XPOS):LD D,(IX+YPOS):CALL INITKEY
  2166.                 POP BC:POP DE:POP IX
  2167. NOKEYIZ
  2168.                 LD A,(IX+ACTION):CP 5:JR C,NOTBANGDEAD
  2169.                 CP 8+1:JR C,SETBANGDEAD
  2170. NOTBANGDEAD     LD (IX+ACTION),3:LD (IX+COUNT),-3
  2171.                 LD A,(IX+TYPE):CP 4:RET Z
  2172.                 SET 2,(IX+PHASE):RET NC:SET 1,(IX+TYPE):RET
  2173.  
  2174. ;***************************************
  2175.  
  2176. DIE             LD A, (IX+YPOS): ADD A, (IX+COUNT): LD (IX+YPOS), A
  2177.                 CP $C0:JR NC,NOSD
  2178.                 CP $90:JP NC, SETDEAD
  2179. NOSD            INC (IX+COUNT):RET
  2180.  
  2181. ;***************************************
  2182.  
  2183. PRTBADDIES      LD IX,BADDAT:LD B,NOBAD
  2184. PRTBADBLP       PUSH BC:LD A,(IX+ACTION):OR A:JP Z,PRTNXTBAD
  2185.                 LD A,(IX+XPOS):CP $E8:JR NC,PRTNXTBAD
  2186.  
  2187.                 LD A,(IX+TYPE):ADD A,A:ADD A,A:ADD A,A:ADD A,A
  2188.                 ADD A,(IX+PHASE):LD E,A:LD D,0:LD HL,BADTYPES
  2189.                 ADD HL,DE:LD A,(HL):PUSH HL
  2190.                 LD E,(IX+XPOS):LD D,(IX+YPOS):CALL PRTSPRITE
  2191.                 POP HL:LD DE,8:ADD HL,DE
  2192.                 LD E,(IX+XPOS):LD A,(IX+YPOS):SUB $10:LD D,A
  2193.                 LD A,(HL):CALL PRTSPRITE
  2194.  
  2195.                 LD A,(IX+ACTION):CP 6:CALL Z,INITBIG4
  2196.  
  2197.                 LD A,(IX+ACTION):CP 5:JR NZ,PRTNXTBAD
  2198. TANKATRS        LD HL,0:LD E,(IX+XPOS):LD A,(IX+YPOS)
  2199.                 SUB $10:LD D,A:CP $70:JR NC,PRTNXTBAD
  2200. OKT2            LD A,(IX+PHASE):AND 4:JR Z,ARTS:LD BC,12:ADD HL,BC
  2201. ARTS            LD BC,$0403:CALL BAXATR
  2202. PRTNXTBAD       POP BC:LD DE,BADLEN:ADD IX,DE:DEC B:JP NZ,PRTBADBLP
  2203.                 XOR A:LD ($5AFF),A
  2204.                 RET
  2205.  
  2206. ;***************************************
  2207.  
  2208. TRYINITBAD      LD E,A
  2209. BADDATA         LD HL,0
  2210.                 CP (HL):RET NZ
  2211.                 INC HL:LD A,(HL):INC HL:LD (BADDATA+1),HL
  2212. GOINITBADA      OR A:JP M,INITBIG
  2213.                 LD C,A:CALL FINDDEAD:RET NZ:LD A,C:JP INITBADA
  2214.  
  2215. INITBIG         CP POKE:JR NZ,NOTPOKE
  2216.                 CALL GETDATA:LD E,A:CALL GETDATA:LD D,A:CALL GETDATA
  2217.                 LD (DE),A:RET
  2218. NOTPOKE         CPL :ADD A,A:LD E,A:LD D,0
  2219.                 LD HL,BIGINITS:ADD HL,DE:LD E,(HL):INC HL:LD D,(HL)
  2220.                 EX DE,HL:JP (HL)
  2221.  
  2222. BIGINITS        DW INITBIG1             ; $FF
  2223.                 DW INITBIG2             ; $FE
  2224.                 DW INITBIG3             ; $FD
  2225.                 DW INITBIG4             ; $FC
  2226.                 DW SETCONTSCR           ; $FB
  2227.  
  2228. SETCONTSCR      CALL GETDATA:LD (CONTSCROLL+1),A:LD (NOSCROLL+1),A:RET
  2229.  
  2230. FINDDEAD        LD IX,BADDAT:LD DE,BADLEN:LD B,NOBAD:XOR A
  2231. SEARCH          CP (IX+ACTION):RET Z:ADD IX,DE:DJNZ SEARCH:INC B:RET
  2232.  
  2233. INITBADA        ADD A,A:LD E,A:LD D,0
  2234.                 LD HL,BADINITS:ADD HL,DE:LD E,(HL):INC HL:LD D,(HL)
  2235.                 EX DE,HL:JP (HL)
  2236.  
  2237. BADINITS        DW JMPINLEFT            ; $00
  2238.                 DW INLEFT               ; $01
  2239.                 DW JMPINRIGHT           ; $02
  2240.                 DW INRIGHT              ; $03
  2241.                 DW INGUNR               ; $04
  2242.                 DW INGUNL               ; $05
  2243.                 DW INBEER               ; $06
  2244.                 DW INBEEL               ; $07
  2245.                 DW CLIMBS               ; $08
  2246.                 DW CLIMB1               ; $09
  2247.                 DW CRAWLS               ; $0A
  2248.  
  2249. CRAWLS          CALL GETDATA:LD (IX+XPOS),A
  2250.                 CALL GETDATA:LD (IX+YPOS),A
  2251.                 CALL GETDATA:LD (IX+COUNT),A
  2252.                 LD (IX+TEMP),0:LD (IX+PHASE),0
  2253.                 OR A:JP P,AFTER:LD (IX+PHASE),4
  2254. AFTER           LD (IX+TYPE),7:LD (IX+ACTION),8:RET
  2255.  
  2256. CLIMB1          CALL GETDATA
  2257.                 LD C,A:LD B,1:LD DE,$90A8:JR CDS
  2258. CLIMBS          CALL GETDATA:LD C,A
  2259.                 LD B,4:LD DE,$0028:OR A:JP P,CDS:LD D,$90
  2260. CDS             CALL GETDATA
  2261. CLIMBDOWN       LD (IX+XPOS),E:LD (IX+YPOS),D
  2262.                 LD (IX+COUNT),C:LD (IX+TEMP),A
  2263.                 LD (IX+TYPE),6:LD (IX+PHASE),0
  2264.                 LD (IX+ACTION),7
  2265.  
  2266.                 PUSH AF:LD A,E:ADD A,$30:LD E,A
  2267.                 PUSH DE:PUSH BC:CALL FINDDEAD:POP BC:POP DE:JR NZ,NCD
  2268.                 POP AF:DJNZ CLIMBDOWN:RET
  2269. NCD             POP AF:RET
  2270.  
  2271. INBEER          LD DE,$88F0:LD A,6:JR INBEE
  2272. INBEEL          LD DE,$10F0:LD A,2
  2273. INBEE           LD (IX+XPOS),E:LD (IX+YPOS),D
  2274.                 LD (IX+TYPE),5:LD (IX+PHASE),A:LD (IX+TEMP),0
  2275.                 LD (IX+ACTION),6:LD (IX+COUNT),16+(5/2):RET
  2276.  
  2277. GETDATA         LD HL,(BADDATA+1):LD A,(HL):INC HL:LD (BADDATA+1),HL
  2278.                 RET
  2279.  
  2280. INGUNL          CALL GETDATA:LD (IX+XPOS),A:CALL GETDATA:LD (IX+YPOS),A
  2281.                 LD (IX+TEMP),0
  2282.                 LD (IX+ACTION),5:LD (IX+TYPE),4:LD (IX+PHASE),4:RET
  2283. INGUNR          CALL GETDATA:LD (IX+XPOS),A:CALL GETDATA:LD (IX+YPOS),A
  2284.                 LD (IX+TEMP),0
  2285.                 LD (IX+ACTION),5:LD (IX+TYPE),4:LD (IX+PHASE),0:RET
  2286.  
  2287. JMPINLEFT       CALL GETDATA:LD (IX+YPOS),A:LD (IX+XPOS),$E0
  2288.                 CALL GETDATA:LD (IX+TEMP),A
  2289.                 LD (IX+ACTION),4:LD (IX+TYPE),2:LD (IX+PHASE),0
  2290.                 LD (IX+COUNT),-4:SET JUMPBIT,(IX+TEMP):RET
  2291. INLEFT          CALL GETDATA:LD (IX+YPOS),A
  2292.                 CALL GETDATA:LD (IX+TEMP),A
  2293.                 LD (IX+XPOS), $E0:LD (IX+ACTION), 2
  2294.                 LD (IX+TYPE),0:LD (IX+PHASE),0:RET
  2295.  
  2296. JMPINRIGHT      CALL GETDATA:LD (IX+YPOS),A:LD (IX+XPOS),$08
  2297.                 CALL GETDATA:LD (IX+TEMP),A
  2298.                 LD (IX+ACTION),4:LD (IX+TYPE),3:LD (IX+PHASE),0
  2299.                 LD (IX+COUNT),-4:SET JUMPBIT,(IX+TEMP):RET
  2300. INRIGHT         CALL GETDATA:LD (IX+YPOS),A:LD (IX+XPOS),$08
  2301.                 CALL GETDATA:LD (IX+TEMP),A
  2302.                 LD (IX+ACTION),1:LD (IX+TYPE),1:LD (IX+PHASE),0:RET
  2303.  
  2304. ;***************************************************************************
  2305. ;** DODGY COLISH ROUTINES                                                 **
  2306. ;***************************************************************************
  2307.  
  2308. ISHEROINBOX     LD H,C:LD L,E:LD (XSI+1),HL
  2309.                 LD H,B:LD L,D:LD (YSI+1),HL:JR ISHEROINBOX2
  2310.  
  2311. ISBULORHERO     CALL ISBULINBOX
  2312.  
  2313. ISHEROINBOX2    LD A,(HEROFLASH+1):OR A:RET NZ
  2314.                 LD A,(GUNDIR+1):CP $FF:RET Z
  2315.                 LD DE,(HEROOFSET):LD A,(HEROSIZE):LD D,A
  2316.                 LD HL,(XSI+1):CALL HITA:RET C
  2317.                 LD DE,(HEROOFSET+1):LD A,(HEROSIZE+1):LD D,A
  2318.                 LD HL,(YSI+1):CALL HITA:RET C
  2319.                 PUSH IX:CALL SETHERODIE:POP IX:RET
  2320.  
  2321. ISBULINBOX      LD IY,BULDAT
  2322.                 LD A,(SPACEBARCHEAT):OR A:JR Z,NOSPACEBAR
  2323.                 LD A,127:IN A,(254):RRA:JR C,NOSPACEBAR
  2324.                 LD A,254:IN A,(254):RRA:JR NC,NOSPACEBAR
  2325.                 LD (IX+02),0:RET
  2326. NOSPACEBAR      LD A,1:LD (BAGE+1),A
  2327.                 LD H,C:LD L,E:LD (XSI+1),HL
  2328.                 LD H,B:LD L,D:LD (YSI+1),HL
  2329.                 LD B,NOBUL
  2330. ISBULBLP        LD A,(IY+BULT):AND 7:CP 4:JR Z,NEXTIS
  2331.                 LD E,(IY+BULX):LD D,$07
  2332.                 LD A,(IY+BULY):OR E:JR Z,NEXTIS
  2333. XSI             LD HL,$001F:CALL HITA:JR C,NEXTIS
  2334.                 LD E,(IY+BULY):LD D,$07
  2335. YSI             LD HL,$000F:CALL HITA:JR C,NEXTIS
  2336.                 LD A,(IY+BULT):AND 7:LD L,A:DB 62
  2337. WEPPOWER        DB 0
  2338.                 OR A:JR Z,NOSUPER:SLA L
  2339. NOSUPER         LD A,L:CALL BULISINBOX
  2340. NEXTIS          LD DE,BULLEN:ADD IY,DE:DJNZ ISBULBLP
  2341.  
  2342.                 LD HL,(PRTBARRIER+1):LD A,H:OR L:JR Z,NOTBAR2
  2343.                 LD IY,BARIER1:LD C,2
  2344. BARDODGE2       LD E,(IY+00):LD D,$0F
  2345.                 LD HL,(XSI+1):CALL HITA:JR C,NEXTDZDGCY
  2346.                 LD E,(IY+01):LD D,$0F
  2347.                 LD HL,(YSI+1):CALL HITA:JR C,NEXTDZDGCY
  2348.                 LD A,16:CALL BULISINBOX
  2349. NEXTDZDGCY      INC IY:INC IY:DEC C:JP NZ,BARDODGE2
  2350. NOTBAR2
  2351.  
  2352.                 LD IY,FLAMEXYS:LD B,NOFLAMES
  2353. DAGGEBLP3       LD E,(IY+0):LD D,$0F
  2354.                 LD A,(IY+1):OR E:OR A:JR Z,FAN2
  2355.                 LD HL,(XSI+1):CALL HITA:JR C,NEXTDAGGEB3
  2356.                 LD E,(IY+1):LD D,$0F
  2357.                 LD HL,(YSI+1):CALL HITA:JR C,NEXTDAGGEB3
  2358.                 LD A,NOFLAMES+1:SUB B:LD (PRTFLAMES+1),A
  2359.                 LD A,17:CALL BULISINBOX
  2360.                 JR FAN2
  2361. NEXTDAGGEB3     LD DE,2:ADD IY,DE:DJNZ DAGGEBLP3
  2362. FAN2            RET
  2363.  
  2364. BULISINBOX      PUSH AF
  2365.                 PUSH IX:PUSH BC:LD E,(IY+BULX):LD D,(IY+BULY):CALL INITEXP
  2366.                 POP BC:POP IX:LD DE,0*256+1:CALL ADDSCORE
  2367.                 POP AF
  2368.                 LD HL,DAMAGETAB:CALL ADDHLA
  2369.                 LD A,(IX+02):OR A:RET Z
  2370.                 LD A,(IX+02):SUB (HL):JR NC,NOCAR:XOR A
  2371. NOCAR           LD (IX+02),A
  2372.                 LD (IY+XPOS),0:LD (IY+YPOS),0:RET
  2373. ADDHLA          ADD A,L:LD L,A:ADC A,H:SUB L:LD H,A:RET
  2374.  
  2375. ;***************************************
  2376.  
  2377. DODGYCOLISH     LD IX,BADDAT:LD B,NOBAD
  2378. DODGYBLP        LD A,(IX+ACTION):OR A:JP Z,NEXTDODGYBA
  2379.                 CP 3:JP Z,NEXTDODGYBA
  2380.  
  2381.                 LD L,(IX+XPOS):LD H,$1F:LD (BAX+1),HL
  2382.                 CP 5:JR Z,NAZ
  2383.                 CP 8:JR Z,NUZ
  2384.                 LD A,(IX+YPOS):SUB $10:LD L,A:LD H,$1F:LD (BAY+1),HL
  2385.                 JR NAY
  2386. NAZ             LD A,(IX+YPOS):SUB $10:LD L,A:LD H,$0F:LD (BAY+1),HL
  2387.                 JR NAY
  2388. NUZ             LD L,(IX+YPOS):LD H,$0F:LD (BAY+1),HL
  2389. NAY
  2390.  
  2391.                 LD HL,(PRTBARRIER+1):LD A,H:OR L:JR Z,NOTBARI
  2392.                 LD IY,BARIER1:LD C,2
  2393. BARDODGE        LD E,(IY+00):LD D,$0F
  2394. BAX             LD HL,0:CALL HITA:JR C,NEXTDODGCY
  2395.                 LD E,(IY+01):LD D,$0F
  2396. BAY             LD HL,0:CALL HITA:JR C,NEXTDODGCY
  2397.                 LD DE,0*256+5:CALL ADDSCORE
  2398.                 CALL SETFALL
  2399. NEXTDODGCY      INC IY:INC IY:DEC C:JP NZ,BARDODGE
  2400. NOTBARI
  2401.  
  2402.                 LD IY,BULDAT:LD C,NOBUL
  2403. DODGYCLP        LD A,(IY+BULT):AND 7:CP 4:JR Z,NEXTDODGYC
  2404.                 LD E,(IY+BULX):LD A,E:OR (IY+BULY):JR Z,NEXTDODGYC
  2405.                 LD D,7:LD HL,(BAX+1):CALL HITA:JR C,NEXTDODGYC
  2406.                 LD E,(IY+BULY):LD D,$07
  2407.                 LD HL,(BAY+1):CALL HITA:JR C,NEXTDODGYC
  2408.                 LD (IY+BULX),0:LD (IY+BULY),0
  2409.                 LD DE,0*256+5:CALL ADDSCORE:CALL SETFALL
  2410.                 LD A,(WEPTYPE+1):CP 4:JR NZ,NEXTDODGYB
  2411.                 LD E,(IX+XPOS):LD D,(IX+YPOS)
  2412.                 PUSH IX:PUSH BC:CALL INITEXP:POP BC:POP IX:JR NEXTDODGYB
  2413. NEXTDODGYC      LD DE,BULLEN:ADD IY,DE:DEC C:JP NZ,DODGYCLP
  2414. NEXTDODGYB
  2415.  
  2416.                 LD IY,FLAMEXYS:LD C,NOFLAMES
  2417.                 LD A,(PRTFLAMES+1):OR A:JR Z,NEXTDADGYB
  2418. DADGYCLP        LD A,(IY+0):OR (IY+1):JR Z,NEXTDADGYB
  2419.                 LD E,(IY+0):LD D,8
  2420.                 LD HL,(BAX+1):CALL HITA:JR C,NEXTDADGYC
  2421.                 LD E,(IY+1):LD D,8
  2422.                 LD HL,(BAY+1):CALL HITA:JR C,NEXTDADGYC
  2423.                 LD DE,0*256+5:CALL ADDSCORE
  2424.                 CALL SETFALL
  2425.                 LD A,NOFLAMES:SUB C:LD (PRTFLAMES+1),A
  2426.                 JR NEXTDADGYB
  2427. NEXTDADGYC      LD DE,2:ADD IY,DE:DEC C:JP NZ,DADGYCLP
  2428. NEXTDADGYB
  2429.  
  2430. NEXTDODGYBA     LD DE,BADLEN:ADD IX,DE:DEC B:JP NZ,DODGYBLP
  2431.  
  2432. ;***************************************
  2433.  
  2434. DODGEBIG        DB 62
  2435. ISBIGON         DB 0
  2436.                 OR A:JP Z,HAR1:DB 17
  2437. BIGX1           DW 0
  2438.                 LD C, D: DB 33
  2439. BIGY1           DW 0
  2440.                 LD B,H:LD D,L:PUSH IX:LD IX,BIGHITS-2
  2441.                 CALL ISBULINBOX:POP IX:DB 62
  2442. BIGHITS         DB 0
  2443.                 OR A:CALL Z,KILLBIG
  2444. HAR1
  2445.  
  2446. ;***************************************
  2447.  
  2448. NEXTYDODGE
  2449.                 LD A,(HEROFLASH+1):OR A:JP NZ,NEXTDUDGE
  2450.                 LD A,(GUNDIR+1):CP $FF:JP Z,NEXTDUDGE
  2451.  
  2452.                 LD HL,$1C0F:LD A,(GUNDIR+1):CP 56:LD A,$F0:JR C,ONE
  2453.                 LD HL,$0F1F:XOR A
  2454. ONE             LD (HEROSIZE),HL
  2455.                 LD HL,(HEROX+1):ADD A,H:LD H,A
  2456.                 LD A,L:ADD A,8:LD L,A
  2457.                 LD (HEROOFSET),HL
  2458.                 LD IY,BULDAT:LD B,NOBUL
  2459. EFJM            LD A,(IY+BULT):AND 7:CP 4:JR NZ,NEXTDIDGYH
  2460.                 LD E,(IY+BULX):LD D,$08
  2461.                 LD A,E:OR (IY+BULY):JR Z,NEXTDIDGYH
  2462.                 LD HL,(HEROOFSET):LD A,(HEROSIZE):LD H,A
  2463.                 CALL HITA:JR C,NEXTDIDGYH
  2464.                 LD E,(IY+BULY):LD D,$08
  2465.                 LD HL,(HEROOFSET+1):LD A,(HEROSIZE+1):LD H,A
  2466.                 CALL HITA:JR C,NEXTDIDGYH
  2467.                 LD (IY+BULX),0:LD (IY+BULY),0
  2468.                 CALL SETHERODIE:JR NEXTDUDGE
  2469. NEXTDIDGYH      LD DE,BULLEN:ADD IY,DE:DJNZ EFJM
  2470.  
  2471.                 LD IY,BADDAT:LD B,NOBAD
  2472. EFKM            LD A,(IY+ACTION):OR A:JR Z,NXTDIDGEH
  2473.                 CP 3:JR Z,NXTDIDGEH
  2474.                 LD E,(IY+XPOS):LD D,$1F
  2475.                 LD HL,(HEROOFSET):LD A,(HEROSIZE):LD H,A
  2476.                 CALL HITA:JR C,NXTDIDGEH
  2477.                 LD E,(IY+YPOS):LD D,$0F
  2478.                 LD HL,(HEROOFSET+1):LD A,(HEROSIZE+1):LD H,A
  2479.                 CALL HITA:JR C,NXTDIDGEH
  2480.                 CALL SETHERODIE:JR NEXTDUDGE
  2481. NXTDIDGEH       LD DE,BADLEN:ADD IY,DE:DJNZ EFKM
  2482.  
  2483. ;*************************************
  2484.  
  2485. HERODODGEBIG    LD A,(ISBIGON):OR A:JR Z,HAR2
  2486.                 LD DE,(BIGX1)
  2487.                 LD HL,(HEROOFSET):LD A,(HEROSIZE):LD H,A
  2488.                 CALL HITA:JR C,HAR2
  2489.                 LD DE,(BIGY1)
  2490.                 LD HL,(HEROOFSET+1):LD A,(HEROSIZE+1):LD H,A
  2491.                 CALL HITA:JR C,HAR2
  2492.                 CALL SETHERODIE
  2493. HAR2
  2494.  
  2495. ;***************************************************************************
  2496.  
  2497. NEXTDUDGE
  2498.                 RET
  2499.  
  2500. ;***************************************************************************
  2501.  
  2502. HEROOFSET       DW 0
  2503. HEROSIZE        DW 0
  2504.  
  2505. SETHERODIE
  2506. ;                LD A,(INFLIVES):OR A:RET NZ
  2507.                 LD A,(GUNDIR+1):INC A:RET Z
  2508.  
  2509.                 LD A,$FF:LD (GUNDIR+1),A
  2510.                 LD A,(HEROP+1):AND 4:RRA :RRA :ADD A,90:LD (HEROP+1),A
  2511.                 LD A,-9:LD (HEROG+1),A
  2512.  
  2513.                 LD A,(KEYSCOLLECTED+1):LD B,A:LD HL,OKFES
  2514.                 OR A:JR Z,NODROPKEY
  2515. KDEIFTH         LD A,(HL):INC HL:PUSH HL:PUSH BC
  2516.                 LD DE,(HEROX+1):ADD A,E:LD E,A:CALL INITKEY
  2517.                 POP BC:POP HL:DJNZ KDEIFTH
  2518.                 XOR A:LD (KEYSCOLLECTED+1),A
  2519.  
  2520. NODROPKEY       LD IX,WAPXYS
  2521.                 LD A,(WEPTYPE+1):OR A:JR Z,NOWEPE
  2522.  
  2523.                 LD DE,WAPT-1:CALL STIT
  2524.                 LD DE,(AMMOLEFT+1):LD (WEPAMOUNT),DE
  2525.                 LD DE,0:LD (AMMOLEFT+1),DE:XOR A:LD (WEPTYPE+1),A
  2526. NOWEPE
  2527.                 INC HL
  2528.                 LD A,(PAKTYPE+1):OR A:JR Z,NOPEPE
  2529.  
  2530.                 LD DE,BAPT-1:CALL STIT
  2531.                 LD A,(BACKLEFT+1):LD (PAKAMOUNT),A
  2532.                 XOR A:LD (BACKLEFT+1),A:LD (PAKTYPE+1),A
  2533.  
  2534. NOPEPE          XOR A:LD (WEPPOWER),A
  2535.                 LD L,A:LD H,A:LD (PRTBARRIER+1),HL:RET
  2536.  
  2537. STIT            PUSH DE:PUSH AF
  2538.                 LD DE,(HEROX+1):LD A,D:SUB 16:LD (IX+01),A
  2539.                 LD A, (HL): ADD A,E:RRA:RRA:RRA:AND 31:LD E,A
  2540.                 LD A,(LEVEL):CP 7:JR NZ,ZZ1
  2541.                 LD A,(HEROX+1):ADD A,(HL):LD (IX+00),A:JR ZZ2
  2542. ZZ1             LD A,(MAPX):ADD A,E:LD (IX+00),A
  2543. ZZ2             POP AF:POP DE:ADD A,E:LD E,A:ADC A,D:SUB E:LD D,A
  2544.                 LD A,(DE):LD (IX+02),A
  2545.                 LD (IX+03),-6
  2546.                 LD (IX+04),0
  2547.                 LD DE,5:ADD IX,DE:RET
  2548.  
  2549. OKFES           DB $20, $F0,$28,$E8,$30,$E0,$38,$D8
  2550. WAPT            DB 2,1,0,3
  2551. BAPT            DB 5,7,6
  2552.  
  2553. ;****************************************************************************
  2554. ;** GRAFIX                                                                 **
  2555. ;**************************************************лХ************************
  2556.  
  2557. KEYSPRS         DB #F8,#00,#1F,#00,#0F,#00,#F0,#00,#E0,#07,#07,#E0,#03,#10,#C0,#08
  2558.                 DB #80,#10,#01,#28,#00,#94,#00,#21,#00,#23,#00,#C4,#00,#84,#00,#21
  2559.                 DB #80,#10,#01,#08,#03,#90,#C0,#08,#E0,#04,#07,#20,#07,#A0,#E0,#04
  2560.                 DB #E0,#04,#07,#A0,#0F,#40,#F0,#02,#F8,#01,#1F,#80,#3F,#00,#FC,#00
  2561.                 DB #FC,#00,#3F,#00,#1F,#00,#F8,#00,#F0,#03,#0F,#C0,#07,#20,#E0,#04
  2562.                 DB #C0,#08,#03,#50,#01,#28,#80,#11,#80,#11,#01,#88,#01,#88,#80,#10
  2563.                 DB #C0,#08,#03,#10,#07,#A0,#E0,#04,#E0,#04,#07,#20,#07,#A0,#E0,#04
  2564.                 DB #E0,#04,#07,#A0,#0F,#40,#F0,#02,#F8,#01,#1F,#80,#3F,#00,#FC,#00
  2565.                 DB #FE,#00,#7F,#00,#3F,#00,#FC,#00,#F8,#01,#1F,#80,#0F,#40,#F0,#02
  2566.                 DB #E0,#04,#07,#A0,#07,#A0,#E0,#04,#E0,#04,#07,#20,#07,#20,#E0,#04
  2567.                 DB #E0,#04,#07,#20,#07,#A0,#E0,#04,#E0,#04,#07,#20,#07,#A0,#E0,#04
  2568.                 DB #E0,#04,#07,#A0,#0F,#40,#F0,#02,#F8,#01,#1F,#80,#3F,#00,#FC,#00
  2569.                 DB #FC,#00,#3F,#00,#1F,#00,#F8,#00,#F0,#03,#0F,#C0,#07,#20,#E0,#04
  2570.                 DB #C0,#08,#03,#50,#01,#A8,#80,#10,#80,#11,#01,#88,#01,#08,#80,#11
  2571.                 DB #C0,#08,#03,#10,#07,#A0,#E0,#04,#E0,#04,#07,#20,#07,#A0,#E0,#04
  2572.                 DB #E0,#04,#07,#A0,#0F,#40,#F0,#02,#F8,#01,#1F,#80,#3F,#00,#FC,#00
  2573.  
  2574. DOORSPR         DB #40,#8F,#22,#70,#7C,#08,#02,#7F,#7F,#40,#20,#7F,#7F,#54,#2A,#7F
  2575.                 DB #7F,#55,#2A,#7F,#7F,#55,#2A,#7F,#7F,#55,#2A,#7F,#7F,#55,#2A,#7F
  2576.                 DB #7F,#55,#2A,#7F,#7F,#55,#2A,#7F,#7F,#55,#2A,#7F,#7F,#55,#2A,#7F
  2577.                 DB #7F,#55,#2A,#7F,#7F,#55,#2A,#7F,#7F,#55,#2A,#7F,#7F,#55,#2A,#7F
  2578.                 DB #7F,#55,#2A,#7F,#7F,#55,#2A,#7F,#7F,#55,#2A,#7F,#7F,#55,#2A,#7F
  2579.                 DB #1F,#55,#2A,#8F,#53,#55,#2A,#A8,#84,#00,#00,#42,#C0,#00,#00,#00
  2580.  
  2581. BULMASK         DB #87,#00,#03,#00,#03,#30,#03,#30,#03,#30,#03,#30,#03,#00,#87,#00
  2582.                 DB #FF,#00,#E3,#00,#C1,#08,#81,#1C,#01,#38,#03,#70,#07,#20,#8F,#00
  2583.                 DB #FF,#00,#81,#00,#00,#00,#00,#3C,#00,#3C,#00,#00,#81,#00,#FF,#00
  2584.                 DB #FF,#00,#C7,#00,#83,#10,#81,#38,#80,#1C,#C0,#0E,#E0,#04,#F1,#00
  2585.  
  2586. BLOB1X1         DB 1,1*8
  2587.                 DB %10000001
  2588.                 DB %00111100
  2589.                 DB %01111110
  2590.                 DB %01111110
  2591.                 DB %01111110
  2592.                 DB %01111110
  2593.                 DB %00111100
  2594.                 DB %10000001
  2595. BLOBATR         DB #43
  2596.  
  2597. MISSILE         DB #FE,#00,#7F,#00,#3F,#80,#FC,#01,#F8,#02,#1F,#40,#0F,#A0,#F0,#04
  2598.                 DB #F0,#04,#0F,#20,#07,#50,#E0,#08,#E0,#08,#07,#50,#07,#50,#E0,#08
  2599.                 DB #E0,#08,#07,#50,#07,#50,#E0,#08,#E0,#08,#07,#50,#07,#50,#E0,#08
  2600.                 DB #E0,#08,#07,#10,#03,#A8,#C0,#10,#80,#28,#01,#14,#00,#0A,#00,#50
  2601.  
  2602. MISS1           DB #00,#50,#00,#0A,#00,#02,#00,#40,#80,#38,#01,#3C,#03,#C0,#C0,#17
  2603.                 DB #80,#2F,#03,#E8,#01,#F4,#00,#53,#00,#A7,#00,#DA,#00,#E2,#00,#4F
  2604.                 DB #80,#37,#01,#D4,#03,#E8,#C0,#0B,#E0,#0B,#07,#D0,#07,#D0,#F0,#05
  2605.                 DB #F0,#05,#0F,#A0,#1F,#40,#F8,#02,#FC,#01,#3F,#80,#7F,#00,#FE,#00
  2606.  
  2607. MISS2           DB #00,#50,#00,#0A,#00,#02,#00,#40,#80,#38,#01,#3C,#03,#20,#C0,#0B
  2608.                 DB #C0,#17,#07,#D0,#0F,#A0,#E0,#0B,#E0,#0B,#0F,#A0,#1F,#40,#F0,#05
  2609.                 DB #F8,#02,#3F,#80,#7F,#00,#FC,#01,#FE,#00,#FF,#00,#FF,#00,#FF,#00
  2610.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  2611.  
  2612. BULLET3X2       DB #FF,#00,#C3,#00,#FF,#00,#FF,#00,#00,#3C,#FF,#00,#FE,#00,#00,#C3
  2613.                 DB #7F,#00,#3F,#80,#00,#1C,#FC,#01,#F8,#02,#00,#7F,#1F,#40,#1F,#40
  2614.                 DB #00,#BF,#F8,#02,#F0,#04,#00,#7F,#0F,#A0,#0F,#A0,#00,#3F,#F0,#04
  2615.                 DB #F0,#04,#00,#5F,#0F,#A0,#0F,#A0,#00,#2A,#F0,#04,#F8,#02,#00,#14
  2616.                 DB #1F,#40,#1F,#40,#00,#00,#F8,#02,#FC,#01,#00,#00,#3F,#80,#7F,#00
  2617.                 DB #00,#C3,#FE,#00,#FF,#00,#00,#3C,#FF,#00,#FF,#00,#C3,#00,#FF,#00
  2618.  
  2619. BULLET3X1       DB 3,1*8
  2620.                 DB #7F,#FF,#FE,#03,#00,#C0,#9F,#FF,#F9,#AD,#AA,#AA,#95,#55,#51,#01,#00,#80,#C0,#00,#03,#FE,#FF,#7F
  2621.                 DB #46,#46,#46
  2622.  
  2623. FLAMESPR        DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#DD,#00,#FF,#00,#FF,#00,#88,#22
  2624.                 DB #FF,#00,#FF,#00,#DD,#00,#FE,#00,#F8,#01,#45,#20,#DF,#00,#8F,#20
  2625.                 DB #00,#0A,#F0,#04,#F8,#00,#00,#81,#1F,#00,#17,#00,#00,#28,#E0,#00
  2626.                 DB #C0,#12,#00,#7D,#03,#48,#17,#00,#00,#BE,#E0,#00,#C0,#01,#00,#FF
  2627.                 DB #0B,#20,#11,#84,#00,#FF,#80,#24,#C0,#01,#00,#FF,#0B,#20,#1B,#80
  2628.                 DB #00,#7F,#E0,#04,#E0,#00,#00,#FE,#31,#04,#1B,#40,#00,#5B,#C0,#12
  2629.                 DB #EC,#00,#00,#12,#3F,#00,#6F,#00,#00,#81,#F8,#00,#F0,#04,#00,#14
  2630.                 DB #C7,#10,#AF,#00,#01,#00,#FA,#00,#FC,#01,#09,#00,#1F,#40,#BF,#00
  2631.                 DB #88,#22,#FE,#00,#FF,#00,#DD,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  2632.  
  2633. FLAMESPR2       DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  2634.                 DB #FF,#00,#FF,#00,#F7,#00,#FF,#00,#FF,#00,#63,#08,#7F,#00,#3F,#80
  2635.                 DB #34,#80,#FE,#00,#FD,#00,#18,#42,#7F,#00,#6F,#00,#80,#2D,#F8,#02
  2636.                 DB #FD,#00,#80,#A5,#07,#90,#2F,#00,#00,#42,#F6,#00,#E0,#09,#00,#1D
  2637.                 DB #1F,#40,#37,#80,#00,#BE,#F6,#00,#F4,#01,#00,#3E,#23,#08,#77,#40
  2638.                 DB #00,#5C,#E2,#08,#F6,#00,#00,#A2,#7F,#80,#DF,#00,#00,#49,#FD,#00
  2639.                 DB #F8,#02,#C5,#14,#8F,#20,#DF,#00,#E6,#00,#FD,#00,#FF,#00,#C0,#09
  2640.                 DB #7F,#00,#FF,#00,#86,#20,#FF,#00,#FF,#00,#DF,#00,#FF,#00,#FF,#00
  2641.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  2642.  
  2643. SHOTEXP1        DB #F6,#00,#40,#15,#40,#1B,#3F,#00,#17,#80,#00,#2E,#00,#A9,#E0,#00
  2644.                 DB #C0,#08,#00,#1B,#00,#85,#03,#40,#01,#88,#00,#A0,#00,#23,#C0,#04
  2645.                 DB #80,#10,#00,#83,#00,#82,#03,#30,#03,#70,#00,#88,#00,#27,#C0,#0C
  2646.                 DB #80,#17,#00,#87,#00,#C0,#01,#D0,#00,#94,#00,#DD,#00,#EC,#00,#2E
  2647.  
  2648.                 DB #C7,#7B,#23,#C2,#E6,#DD,#87,#63,#33,#3F,#BE,#CC,#42,#FF,#7F,#96
  2649.                 DB #42,#F3,#FF,#57,#8A,#3E,#E1,#64,#14,#F0,#1C,#A5,#CA,#1E,#79,#4C
  2650.  
  2651.                 DB #3E,#7B,#BF,#70,#7E,#3E,#31,#FF,#1F,#9C,#3E,#FF,#F8,#9D,#9E,#07
  2652.                 DB #A1,#3F,#FA,#E1,#81,#FE,#3F,#55,#60,#9A,#7D,#06,#4A,#BA,#45,#30
  2653.  
  2654.                 DB #00,#22,#00,#EF,#00,#46,#03,#40,#01,#28,#00,#1E,#00,#F0,#80,#10
  2655.                 DB #C0,#05,#00,#E2,#00,#0F,#03,#10,#07,#40,#00,#07,#00,#C0,#80,#11
  2656.                 DB #C0,#0B,#00,#09,#00,#43,#07,#20,#0F,#00,#00,#11,#00,#13,#E0,#02
  2657.                 DB #F0,#00,#00,#2B,#00,#C8,#5F,#00,#FF,#00,#08,#74,#94,#01,#FD,#00
  2658.  
  2659.                 DB #00,#46,#46,#00
  2660.                 DB #06,#57,#57,#46
  2661.                 DB #06,#57,#57,#46
  2662.                 DB #00,#06,#46,#00
  2663.  
  2664. SHOTEXP2        DB #E0,#00,#12,#2D,#0C,#20,#BF,#00,#0F,#00,#00,#82,#00,#76,#C0,#05
  2665.                 DB #80,#13,#00,#8D,#00,#09,#07,#40,#03,#10,#00,#84,#00,#46,#C0,#01
  2666.                 DB #80,#15,#00,#30,#00,#70,#01,#28,#00,#90,#00,#F9,#00,#7C,#00,#20
  2667.                 DB #00,#04,#00,#BE,#00,#FF,#00,#EA,#00,#D0,#00,#FF,#00,#FF,#00,#40
  2668.  
  2669.                 DB #21,#FF,#FF,#E1,#F2,#EF,#BF,#44,#A7,#DD,#9F,#F4,#FA,#8F,#E0,#4F
  2670.                 DB #1F,#B0,#05,#FC,#FA,#93,#E4,#1B,#9F,#62,#A3,#B0,#C0,#C3,#C1,#0F
  2671.  
  2672.                 DB #4F,#87,#F5,#C2,#E8,#C1,#61,#A7,#DF,#F3,#60,#F5,#F2,#33,#F6,#5E
  2673.                 DB #97,#F8,#0E,#F9,#FA,#D7,#F0,#6F,#AF,#DD,#EF,#F0,#E2,#FE,#BF,#4F
  2674.  
  2675.                 DB #C0,#04,#00,#FE,#00,#FF,#03,#E0,#01,#C8,#00,#7F,#00,#7F,#80,#01
  2676.                 DB #00,#22,#00,#FA,#00,#FF,#00,#04,#01,#80,#00,#6B,#00,#FD,#80,#00
  2677.                 DB #80,#12,#00,#79,#00,#E7,#01,#28,#03,#90,#00,#D8,#00,#30,#C0,#05
  2678.                 DB #E0,#00,#00,#02,#00,#3F,#07,#80,#2F,#00,#00,#97,#18,#23,#FA,#00
  2679.  
  2680.                 DB #00,#46,#46,#00
  2681.                 DB #06,#56,#56,#46
  2682.                 DB #06,#16,#56,#46
  2683.                 DB #00,#06,#46,#00
  2684.  
  2685. SHOTEXP3        DB #F4,#00,#00,#C2,#00,#92,#3F,#00,#0F,#80,#00,#2F,#00,#E9,#E0,#01
  2686.                 DB #C0,#09,#00,#9C,#00,#77,#07,#C0,#03,#90,#00,#FF,#00,#7B,#E0,#02
  2687.                 DB #E0,#06,#00,#FF,#00,#F7,#01,#28,#00,#BC,#00,#FF,#00,#7F,#C0,#0A
  2688.                 DB #C0,#0D,#00,#FF,#00,#FF,#00,#78,#00,#B6,#00,#DD,#00,#F2,#80,#13
  2689.  
  2690.                 DB #3B,#61,#58,#7F,#BF,#01,#01,#5F,#8B,#43,#83,#FE,#FE,#8D,#B3,#5F
  2691.                 DB #3E,#9F,#D9,#3C,#7E,#70,#8C,#3F,#1F,#0B,#B0,#FF,#FF,#D8,#34,#AE
  2692.  
  2693.                 DB #1C,#F6,#5E,#FF,#7F,#B8,#1B,#2E,#7F,#0C,#60,#3E,#FC,#E0,#06,#7F
  2694.                 DB #FA,#0C,#61,#F8,#FC,#31,#18,#FC,#7D,#10,#02,#FC,#F8,#C2,#01,#2E
  2695.  
  2696.                 DB #80,#16,#00,#23,#00,#F1,#07,#E0,#07,#40,#00,#FB,#00,#CE,#00,#39
  2697.                 DB #80,#16,#00,#FD,#00,#FE,#03,#D0,#07,#E0,#00,#FF,#00,#5F,#C0,#0E
  2698.  
  2699.                 DB #C0,#0C,#00,#AF,#00,#0E,#07,#A0,#0F,#C0,#00,#5E,#00,#5E,#E0,#03
  2700.                 DB #F0,#01,#00,#FC,#00,#ED,#1F,#00,#3F,#00,#12,#40,#03,#38,#FC,#00
  2701.  
  2702.                 DB #00,#46,#46,#00
  2703.                 DB #06,#57,#57,#46
  2704.                 DB #06,#17,#57,#46
  2705.                 DB #00,#06,#06,#00
  2706.  
  2707. SHOTEXP4        DB #F8,#00,#98,#64,#02,#98,#1F,#00,#0F,#80,#00,#7D,#00,#BB,#F0,#02
  2708.                 DB #E0,#06,#00,#7D,#00,#FB,#07,#A0,#03,#70,#00,#30,#00,#A2,#C0,#0C
  2709.                 DB #80,#1C,#00,#03,#00,#00,#01,#38,#00,#5C,#00,#04,#00,#03,#80,#19
  2710.                 DB #00,#28,#00,#27,#00,#90,#00,#AC,#00,#5C,#00,#81,#00,#57,#80,#10
  2711.  
  2712.                 DB #38,#27,#84,#0E,#36,#C0,#86,#1D,#4F,#AF,#C1,#EF,#CD,#77,#FC,#2D
  2713.                 DB #78,#F3,#9F,#9E,#3C,#6F,#67,#70,#E2,#4F,#EE,#3C,#1A,#74,#CE,#50
  2714.  
  2715.                 DB #F3,#CD,#24,#1C,#9E,#77,#C4,#67,#DF,#63,#EF,#EF,#1B,#CE,#E6,#61
  2716.                 DB #30,#71,#10,#9D,#1E,#F0,#3F,#5A,#2C,#3F,#E2,#2E,#7E,#F0,#5C,#1C
  2717.  
  2718.                 DB #80,#18,#00,#78,#00,#70,#00,#74,#01,#38,#00,#39,#00,#72,#00,#2A
  2719.                 DB #80,#14,#00,#E0,#00,#18,#01,#38,#01,#58,#00,#0C,#00,#CD,#80,#10
  2720.                 DB #80,#1A,#00,#BF,#00,#85,#03,#B0,#07,#E0,#00,#E3,#00,#3D,#C0,#0F
  2721.                 DB #E0,#07,#00,#F8,#00,#F7,#0F,#80,#1F,#00,#00,#3C,#02,#E0,#F0,#00
  2722.  
  2723.                 DB #00,#46,#46,#00
  2724.                 DB #46,#57,#47,#46
  2725.                 DB #46,#57,#47,#46
  2726.                 DB #00,#46,#46,#00
  2727.  
  2728. ;****************************************************************************
  2729.  
  2730. WEAPONSPRITE5
  2731.  
  2732. SHOTGUNSPRT     DB #FE,#00,#7F,#00,#3F,#00,#FC,#00,#F8,#01,#1F,#80,#0F,#40,#F0,#02
  2733.                 DB #E0,#06,#0F,#40,#07,#E0,#E0,#04,#E0,#05,#07,#20,#07,#20,#E0,#05
  2734.                 DB #E0,#05,#07,#20,#07,#20,#E0,#05,#C0,#04,#07,#20,#03,#20,#80,#19
  2735.                 DB #00,#26,#01,#58,#00,#B4,#00,#2A,#00,#2A,#00,#94,#00,#24,#00,#2A
  2736.                 DB #00,#2A,#00,#24,#00,#04,#00,#2A,#00,#2E,#00,#04,#00,#54,#00,#20
  2737.                 DB #80,#11,#00,#6C,#01,#40,#C0,#0A,#E0,#04,#03,#40,#07,#60,#C0,#0C
  2738.                 DB #80,#10,#03,#10,#01,#08,#00,#20,#00,#20,#01,#08,#01,#08,#00,#21
  2739.                 DB #80,#12,#03,#90,#07,#60,#C0,#0C,#E1,#00,#0F,#00,#9F,#00,#F3,#00
  2740.  
  2741. THREEWAYSPRT    DB #F0,#00,#0F,#00,#07,#00,#E0,#00,#C0,#0F,#03,#F0,#01,#18,#80,#18
  2742.                 DB #80,#14,#01,#28,#01,#C8,#80,#13,#C0,#08,#03,#10,#01,#18,#80,#18
  2743.                 DB #00,#22,#00,#44,#00,#B4,#00,#2D,#00,#26,#00,#74,#00,#24,#00,#24
  2744.                 DB #00,#20,#00,#04,#00,#44,#00,#22,#00,#25,#00,#24,#00,#94,#00,#2B
  2745.                 DB #80,#15,#01,#48,#01,#10,#C0,#08,#C0,#08,#00,#3C,#00,#44,#80,#15
  2746.                 DB #80,#15,#00,#54,#00,#44,#80,#15,#80,#15,#00,#44,#01,#18,#80,#10
  2747.                 DB #C0,#0A,#03,#B0,#07,#40,#E0,#04,#C0,#0A,#07,#A0,#03,#90,#C0,#0A
  2748.                 DB #E0,#04,#03,#10,#07,#E0,#F0,#03,#F8,#00,#0F,#00,#1F,#00,#FC,#00
  2749.  
  2750. FLAMESPRT       DB #FE,#00,#FF,#00,#6F,#00,#EC,#00,#C0,#01,#07,#00,#03,#90,#80,#12
  2751.                 DB #00,#2C,#01,#68,#00,#44,#00,#20,#00,#24,#00,#A4,#01,#08,#80,#10
  2752.                 DB #00,#24,#00,#A4,#00,#A4,#00,#24,#80,#10,#01,#08,#00,#A4,#00,#24
  2753.                 DB #00,#24,#00,#A4,#01,#08,#80,#10,#00,#24,#00,#A4,#00,#A4,#00,#24
  2754.                 DB #00,#20,#01,#08,#01,#68,#80,#16,#00,#26,#01,#68,#01,#08,#00,#20
  2755.                 DB #00,#20,#03,#10,#01,#68,#00,#26,#00,#26,#01,#68,#01,#10,#00,#20
  2756.                 DB #00,#20,#00,#9C,#00,#44,#00,#28,#00,#28,#00,#74,#00,#84,#00,#24
  2757.                 DB #80,#10,#00,#FC,#01,#80,#C0,#0F,#E0,#00,#03,#00,#7F,#00,#F0,#00
  2758.  
  2759. POWERUPSPRT     DB #F2,#00,#4F,#00,#07,#00,#E0,#00,#C0,#0D,#03,#B0,#01,#48,#80,#12
  2760.                 DB #80,#12,#01,#48,#01,#D8,#80,#16,#80,#12,#01,#48,#01,#F8,#80,#1F
  2761.                 DB #C0,#00,#03,#00,#03,#00,#C0,#00,#C0,#0D,#03,#B0,#01,#48,#80,#12
  2762.                 DB #80,#12,#01,#48,#01,#D8,#80,#16,#80,#12,#01,#48,#01,#F8,#80,#1F
  2763.                 DB #C0,#00,#03,#00,#03,#00,#C0,#00,#C0,#0D,#03,#B0,#01,#48,#80,#12
  2764.                 DB #80,#12,#01,#48,#01,#D8,#80,#16,#80,#12,#01,#48,#01,#F8,#80,#1F
  2765.                 DB #00,#3D,#01,#F8,#00,#04,#00,#22,#00,#2E,#00,#94,#00,#94,#00,#22
  2766.                 DB #80,#1A,#00,#94,#00,#04,#00,#22,#80,#1D,#01,#F8,#03,#00,#C2,#00
  2767.  
  2768. FULLAUTOSPRT    DB #F8,#00,#7F,#00,#3F,#00,#F0,#00,#E0,#07,#1F,#80,#0F,#80,#E0,#04
  2769.                 DB #C0,#0D,#07,#E0,#07,#20,#C0,#08,#80,#1D,#03,#70,#01,#08,#00,#20
  2770.                 DB #00,#20,#01,#08,#03,#90,#80,#13,#00,#20,#01,#08,#01,#08,#00,#20
  2771.                 DB #80,#13,#03,#90,#01,#08,#00,#20,#00,#20,#01,#08,#01,#50,#80,#10
  2772.                 DB #C0,#0E,#00,#3C,#00,#44,#80,#10,#00,#20,#00,#34,#00,#24,#00,#2B
  2773.                 DB #00,#24,#00,#84,#01,#88,#00,#24,#00,#23,#03,#70,#07,#40,#80,#10
  2774.                 DB #C0,#0C,#0F,#C0,#0F,#40,#C0,#08,#80,#16,#07,#20,#07,#20,#80,#14
  2775.                 DB #80,#10,#07,#20,#07,#E0,#80,#1F,#C0,#00,#0F,#00,#1F,#00,#E0,#00
  2776.  
  2777. SCHARGESPRT1    DB #FB,#00,#1F,#00,#0F,#40,#D0,#00,#80,#04,#07,#A0,#07,#40,#00,#2A
  2778.                 DB #80,#04,#03,#10,#07,#80,#80,#00,#00,#21,#0F,#40,#17,#80,#80,#00
  2779.                 DB #C0,#04,#23,#00,#41,#08,#C0,#0A,#E0,#04,#83,#00,#07,#20,#E1,#00
  2780.                 DB #C0,#08,#03,#50,#01,#50,#80,#14,#C0,#09,#00,#8C,#00,#02,#E0,#02
  2781.                 DB #F0,#01,#00,#8C,#01,#50,#FC,#00,#EE,#00,#03,#50,#07,#20,#C6,#00
  2782.                 DB #80,#10,#0B,#80,#11,#00,#00,#28,#00,#44,#60,#04,#C1,#00,#01,#28
  2783.                 DB #83,#10,#83,#10,#01,#28,#C1,#08,#80,#14,#00,#44,#01,#28,#00,#22
  2784.                 DB #80,#14,#83,#10,#C7,#00,#C1,#08,#E3,#00,#EF,#00,#FF,#00,#F7,#00
  2785.  
  2786. SCHARGESPRT2    DB #DF,#00,#BF,#00,#0F,#00,#8B,#00,#00,#20,#07,#40,#03,#10,#00,#54
  2787.                 DB #00,#20,#01,#28,#03,#10,#00,#20,#00,#50,#03,#80,#01,#08,#00,#24
  2788.                 DB #80,#0A,#00,#14,#00,#22,#80,#11,#C0,#0A,#00,#14,#81,#08,#80,#14
  2789.                 DB #00,#22,#03,#00,#07,#20,#00,#41,#00,#22,#03,#50,#01,#88,#80,#14
  2790.                 DB #C0,#08,#03,#50,#07,#20,#E3,#00,#F6,#00,#0F,#00,#1B,#80,#EC,#00
  2791.                 DB #C8,#01,#01,#40,#00,#84,#84,#10,#02,#28,#00,#0A,#00,#14,#83,#10
  2792.                 DB #C1,#08,#01,#28,#00,#44,#80,#14,#00,#22,#00,#82,#00,#44,#00,#41
  2793.                 DB #00,#22,#01,#28,#83,#10,#80,#14,#C1,#08,#C7,#00,#EF,#00,#E3,#00
  2794.  
  2795. BARRIERSPR      DB #F8,#00,#0F,#00,#07,#00,#F0,#00,#E0,#07,#03,#F0,#01,#08,#C0,#08
  2796.                 DB #80,#11,#00,#C4,#00,#20,#80,#02,#00,#34,#00,#16,#00,#16,#00,#34
  2797.                 DB #00,#34,#00,#16,#00,#16,#00,#34,#80,#02,#00,#20,#00,#C4,#80,#11
  2798.                 DB #C0,#08,#01,#08,#03,#F0,#E0,#07,#F0,#00,#07,#00,#0F,#00,#F8,#00
  2799.                 DB #FC,#00,#1F,#00,#0F,#00,#F8,#00,#F0,#03,#07,#E0,#03,#30,#E0,#06
  2800.                 DB #E0,#04,#03,#90,#03,#80,#E0,#00,#C0,#0C,#01,#58,#01,#58,#C0,#0C
  2801.                 DB #C0,#0C,#01,#58,#01,#58,#C0,#0C,#E0,#00,#03,#80,#03,#90,#E0,#04
  2802.                 DB #E0,#06,#03,#30,#07,#E0,#F0,#03,#F8,#00,#0F,#00,#1F,#00,#FC,#00
  2803.                 DB #FE,#00,#3F,#00,#1F,#00,#FC,#00,#F8,#01,#0F,#C0,#07,#20,#F0,#02
  2804.                 DB #F0,#02,#07,#20,#0F,#00,#F8,#00,#F0,#03,#07,#E0,#07,#E0,#F0,#03
  2805.                 DB #F0,#03,#07,#E0,#07,#E0,#F0,#03,#F8,#00,#0F,#00,#07,#20,#F0,#02
  2806.                 DB #F0,#02,#07,#20,#0F,#C0,#F8,#01,#FC,#00,#1F,#00,#3F,#00,#FE,#00
  2807.                 DB #FC,#00,#1F,#00,#0F,#00,#F8,#00,#F0,#03,#07,#E0,#03,#30,#E0,#06
  2808.                 DB #E0,#04,#03,#90,#03,#80,#E0,#00,#C0,#0D,#01,#18,#01,#18,#C0,#0D
  2809.                 DB #C0,#0D,#01,#18,#01,#18,#C0,#0D,#E0,#00,#03,#80,#03,#90,#E0,#04
  2810.                 DB #E0,#06,#03,#30,#07,#E0,#F0,#03,#F8,#00,#0F,#00,#1F,#00,#FC,#00
  2811.  
  2812. BACKPACKSPR     DB #F8,#00,#1F,#00,#0F,#00,#F0,#00,#C0,#07,#03,#E0,#01,#10,#80,#08
  2813.                 DB #00,#33,#00,#CC,#00,#44,#00,#22,#00,#2B,#00,#D4,#01,#28,#80,#14
  2814.                 DB #80,#12,#01,#48,#01,#18,#80,#18,#00,#22,#00,#44,#00,#C4,#00,#23
  2815.                 DB #00,#22,#00,#44,#01,#38,#80,#1C,#C1,#00,#83,#00,#C7,#00,#E3,#00
  2816.  
  2817. EXTRALIFESPRT   DB #00,#00,#00,#00,#00,#FE,#00,#7F,#00,#40,#00,#02,#00,#FA,#00,#5F
  2818.                 DB #00,#40,#00,#02,#00,#D2,#00,#5D,#00,#5A,#00,#52,#00,#52,#00,#54
  2819.                 DB #00,#57,#00,#52,#00,#52,#00,#52,#00,#5A,#00,#52,#00,#42,#00,#52
  2820.                 DB #00,#54,#00,#22,#00,#22,#00,#44,#00,#57,#00,#E2,#00,#02,#00,#40
  2821.                 DB #00,#40,#00,#02,#00,#FE,#00,#7F,#00,#00,#00,#00,#FF,#00,#FF,#00
  2822.  
  2823. ;*******************************************************************************
  2824.  
  2825. GMX             EQU 25
  2826.  
  2827. WEAPONROOM      XOR A:LD (MAPX),A:LD (MAPDIR),A
  2828.                 LD (ONLADDER+1),A
  2829.                 LD A,$FF:LD (SETUD+1),A
  2830.                 LD A,GMX*2-26:LD (RIGHTMAX+1),A
  2831.                 LD A,GMX:LD (MAPXSIZE),A
  2832.                 LD HL,GRCHRS:LD (DMPCHRAD+1),HL
  2833.                 LD HL,GRATRS:LD (DMPATRAD+1),HL
  2834.                 LD HL,GRBLOX:LD (BLOXAD1+1),HL:LD (BLOXAD2+1),HL
  2835.                 LD HL,GRMAP:LD (MAP),HL
  2836.                 LD A,$F0:LD (MAPY),A
  2837.  
  2838.                 LD DE,$0018
  2839. SHOWEPRM        PUSH DE:CALL UPDATEX:POP DE:DEC E:DEC E:JP P,SHOWEPRM
  2840.  
  2841.                 LD HL,500:LD (WEPAMOUNT),HL:LD A,50:LD (PAKAMOUNT),A
  2842.  
  2843.                 LD DE,$6820:LD (HEROX+1),DE
  2844.                 LD A,D:SUB $10:LD D,A:LD (GUNX+1),DE
  2845.                 XOR A:LD (HEROF+1),A:LD (HEROG+1),A
  2846.                 CALL RESETBAD
  2847.  
  2848. WAPINITAD       LD HL,WAPTABLE
  2849.                 LD IX,WAPXYS:LD DE,5:LD BC,$060C
  2850. SETWAPS         LD (IX+00),C:LD A,C:ADD A,6:LD C,A:LD (IX+01),$30
  2851.                 LD A,(HL):INC HL:LD (IX+02),A:LD (IX+03),$80
  2852.                 LD A,(HL):INC HL:LD (IX+04),A:ADD IX,DE:DJNZ SETWAPS
  2853.  
  2854.                 LD A,1:LD (NOSCROLL+1),A
  2855. WEAPONROOMLOOP  XOR A:LD (RETMODE),A
  2856.  
  2857.                 LD A,(LEVEL):PUSH AF:XOR A:LD (LEVEL),A
  2858.                 LD A,1:LD (WEPFLRCOL+1),A:CALL DOALLBACKBITS
  2859.                 CALL READKEYS:CALL DECODE:XOR A:LD (WEPFLRCOL+1),A
  2860.                 POP AF:LD (LEVEL),A
  2861.  
  2862.                 LD A,(RETMODE):OR A:RET NZ
  2863.                 LD A,NXTLEV:LD (RETMODE),A
  2864.                 LD A,(HEROX+1):CP $C8:RET Z
  2865.  
  2866.                 LD A,(FUDLR):AND $40:CALL NZ,PAUSE0
  2867.                 JP WEAPONROOMLOOP
  2868. ;               LD A,BREAK:LD (RETMODE),A
  2869. ;               LD A,1Z7:IN A,(254):RRA :JP C,WEAPONROOMLOOP
  2870. ;               LD A,254:IN A,(254):RRA :JP C,WEAPONROOMLOOP:RET
  2871.  
  2872. ;***************************************
  2873.  
  2874. PRTWAPS         LD A,(POS):AND 3:LD DE,64:LD HL,BARRIERSPR:CALL MULT
  2875.                 LD (BARANI),HL
  2876.                 LD A,(POS):AND 1:LD DE,128:LD HL,SCHARGESPRT1:CALL MULT
  2877.                 LD (SCHANI),HL
  2878.  
  2879.                 LD IX,WAPXYS:LD B,6
  2880. PRTWAPBLP       PUSH BC:LD A,(IX+02):CP $FF:JP Z,NOPWAP:LD D,(IX+01)
  2881.                 LD A,(IX+03):CP $80:JR Z,NOPWAPS
  2882.                 CP 20:JR Z,NOPWAPS
  2883.                 INC A:CP 10:JR Z,NOPWAPZ:LD (IX+03),A
  2884. NOPWAPZ         ADD A,(IX+01):LD D,A
  2885.                 JP P,NOPWAPS:CP $90:JR NC,NOPWAPS
  2886.                 LD (IX+02),$FF:JP NOPWAP
  2887. NOPWAPS
  2888.                 LD E,(IX+00):LD A,(MAPY):CP $F0:JR Z,MASDA
  2889.                 LD A,(LEVEL):CP 7:JR Z,MAZDA
  2890. MASDA           LD HL,(MAPX):LD A,E:SUB L
  2891.                 ADD A,A:ADD A,A:ADD A,A:LD E,A
  2892. MAZDA
  2893.                 LD C,1:CALL TASTEFLOOR:JR NC,NSTFLS
  2894.                 LD (IX+03),20
  2895.  
  2896.                 LD A,(IX+02):SUB 11:JR C,NSTFLS
  2897.                 ADD A,A:ADD A,A:ADD A,A:ADD A,199:LD (SETEE+1),A
  2898.                 DB 62
  2899. SAVORS          DB 0
  2900. SETEE           SET 0,A:LD (SAVORS),A
  2901.                 LD HL,SAVEDPEOPLE+1:INC (HL)
  2902.                 LD A,(RND1):AND 15:CP 11:JR C,ARR:SUB 11
  2903. ARR             LD (IX+02),A
  2904.  
  2905. NSTFLS          LD (IX+01),D:LD A,(MAPY):CP $F0:JR Z,ESRA
  2906.                 LD A,(LEVEL):CP 7:JR Z,EZRA
  2907. ESRA            LD DE,(MAPX):LD A,(IX+00)
  2908.                 SUB E:JP C,NOPWAP:CP 30:JP NC,NOPWAP
  2909.                 ADD A,A:ADD A,A:ADD A,A:LD E,A
  2910. EZRA
  2911.                 LD D,(IX+01)
  2912.                 LD HL,WAPTYPES+3:LD A,(IX+02):ADD A,A:ADD A,A
  2913.                 CALL ADDHLA
  2914.                 LD (HEREXY+1),DE
  2915.                 LD A,D:ADD A,(HL):LD D,A:DEC HL:LD B,(HL):DEC HL
  2916.                 LD A,(HL):DEC HL:LD L,(HL):LD H,A
  2917.                 LD A,D:ADD A,B:ADD A,B:OR A:JP M,NOPWAP
  2918.                 LD C,B:LD B,2:CALL MASKCXB
  2919. HEREXY          LD DE,0
  2920.                 LD A,(IX+3):CP $80:LD B,(IX+4):CALL Z,PRTNUMKEY
  2921.  
  2922.                 LD D,8:LD HL,(HEROX+1):LD H,32:CALL HITA:JR C,NOPWAP
  2923.                 LD E,(IX+01):LD D,32:LD A,(HEROX+2):SUB $10:LD L,A
  2924.                 LD H,32:CALL HITA:JR C,NOPWAP
  2925.  
  2926.                 LD A,(KEYSCOLLECTED+1):SUB (IX+04):JR C,NOPWAP
  2927.                 LD (KEYSCOLLECTED+1),A
  2928.  
  2929.                 LD A,(IX+03):CP $80:JR Z,JUMPWAP
  2930.                 CP 20:JR NZ,NOPWAP
  2931.  
  2932.                 LD DE,0*256+2:CALL ADDSCORE
  2933.  
  2934.                 LD A,(IX+02):ADD A,A:LD E,A:LD D,0:LD HL,FNI
  2935.                 ADD HL,DE:LD E,(HL):INC HL:LD D,(HL):EX DE,HL
  2936.                 CALL JPHL:LD (IX+02),$FF:JR NOPWAP
  2937. JUMPWAP         LD (IX+03),-8:LD (IX+04),0
  2938. NOPWAP          POP BC:LD DE,5:ADD IX,DE:DEC B:JP NZ,PRTWAPBLP:RET
  2939. PRTNUMKEY       DEC B:RET M
  2940.                 PUSH BC:PUSH DE
  2941.                 LD HL,SMOFDE:LD A,B:ADD A,A:ADD A,B:ADD A,L:LD L,A
  2942.                 ADC A,H:SUB L:LD H,A:LD A,D:ADD A,$18:LD D,A:LD B,3
  2943. PRTNUMKEYBLP    LD A,(HL):INC HL:SUB 8:PUSH HL:JR C,NOKEYCH
  2944.                 LD HL,KEYCHRS:CALL ADDHLA
  2945.                 CALL DMPHLCHR
  2946. NOKEYCH         LD A,E:ADD 8:LD E,A:POP HL:DJNZ PRTNUMKEYBLP
  2947. DEK
  2948.                 LD A,(IX+02):ADD A,A:LD HL,WEPNAMESAD:LD E,A:LD D,0
  2949.                 ADD HL,DE:LD E,(HL):INC HL:LD D,(HL):EX DE,HL
  2950.                 POP DE:PUSH DE:LD A,D:SUB $20:LD D,A
  2951.                 LD A,E:SUB 8:LD E,A:LD BC,$0503:CALL BAXIT:POP DE
  2952.  
  2953.                 POP BC:INC B:LD A,(KEYSCOLLECTED+1):CP B:RET C
  2954.  
  2955.                 PUSH DE:LD A,(POS):AND 1:JR Z,NOF
  2956.                 LD D,$18:LD A,(HEROX+1):ADD A,8:LD L,A:LD H,$10
  2957.                 CALL HITA:JR C,NOF:POP DE:PUSH DE:LD A,D:ADD A,$18
  2958.                 LD D,A:LD A,E:SUB 8:LD E,A:CALL BATAD
  2959.                 LD A,#46:LD (HL),A:INC L:LD (HL),A:INC L
  2960.                 LD (HL),A:INC L:LD (HL),A:INC L:LD (HL),A
  2961. NOF             POP DE:RET
  2962.  
  2963. SMOFDE          DB #00,#18,#00
  2964.                 DB #00,#10,#00
  2965.                 DB #08,#10,#00
  2966.                 DB #08,#10,#18
  2967.                 DB #10,#10,#18
  2968.                 DB #10,#10,#10
  2969.  
  2970. KEYCHRS
  2971.                 DB %00000000
  2972.                 DB %11111111
  2973.                 DB %11111000
  2974.                 DB %11111000
  2975.                 DB %11111101
  2976.                 DB %11111101
  2977.                 DB %11111111
  2978.                 DB %00000000
  2979.  
  2980.                 DB %00000000
  2981.                 DB %11111111
  2982.                 DB %10001000
  2983.                 DB %10001000
  2984.                 DB %11011101
  2985.                 DB %11011101
  2986.                 DB %11111111
  2987.                 DB %00000000
  2988.  
  2989.                 DB %00000000
  2990.                 DB %11111111
  2991.                 DB %10001111
  2992.                 DB %10001111
  2993.                 DB %11011111
  2994.                 DB %11011111
  2995.                 DB %11111111
  2996.                 DB %00000000
  2997.  
  2998. WEPNAMESAD      DW WEPNAMES+00*30
  2999.                 DW WEPNAMES+01*30
  3000.                 DW WEPNAMES+02*30
  3001.                 DW WEPNAMES+03*30
  3002.                 DW WEPNAMES+04*30
  3003.                 DW WEPNAMES+05*30
  3004.                 DW WEPNAMES+06*30
  3005.                 DW WEPNAMES+07*30
  3006.                 DW WEPNAMES+08*30
  3007.                 DW WEPNAMES+09*30
  3008.                 DW WEPNAMES+10*30
  3009.                 DW WEPNAMES+11*30
  3010.                 DW WEPNAMES+11*30
  3011.                 DW WEPNAMES+11*30
  3012.                 DW WEPNAMES+11*30
  3013.                 DW WEPNAMES+11*30
  3014.                 DW WEPNAMES+11*30
  3015.  
  3016. WEPNAMES
  3017.                 DB #0E,#A8,#82,#57,#20,#50,#52,#85,#A8,#08,#0C,#A8,#87,#52,#50,#50
  3018.                 DB #52,#85,#A8,#08,#08,#6E,#E5,#32,#20,#00,#00,#00,#00,#00
  3019.                 DB #00,#30,#44,#94,#00,#00,#54,#45,#08,#00,#00,#13,#45,#C8,#00,#00
  3020.                 DB #48,#55,#08,#00,#00,#30,#29,#48,#00,#00,#00,#00,#00,#00
  3021.                 DB #00,#03,#AC,#E0,#00,#00,#80,#2A,#02,#00,#00,#03,#2C,#C0,#00,#00
  3022.                 DB #80,#2A,#02,#00,#00,#02,#2A,#E0,#00,#00,#00,#00,#00,#00
  3023.                 DB #01,#A9,#38,#95,#40,#C0,#55,#91,#2A,#02,#01,#3A,#91,#15,#C0,#C0
  3024.                 DB #55,#91,#AA,#00,#03,#29,#10,#CD,#40,#00,#00,#00,#00,#00
  3025.                 DB #01,#95,#11,#DC,#C0,#00,#09,#11,#55,#01,#01,#95,#11,#88,#80,#40
  3026.                 DB #08,#11,#55,#01,#01,#CD,#DD,#C9,#80,#00,#00,#00,#00,#00
  3027.                 DB #00,#0A,#BB,#10,#00,#00,#A8,#92,#0E,#00,#00,#0E,#93,#28,#00,#00
  3028.                 DB #A8,#92,#0E,#00,#00,#0A,#92,#90,#00,#00,#00,#00,#00,#00
  3029.                 DB #00,#6A,#48,#BB,#00,#80,#A2,#A8,#8A,#00,#00,#4E,#A8,#B3,#00,#80
  3030.                 DB #A2,#AA,#2A,#00,#00,#CA,#45,#3A,#80,#00,#00,#00,#00,#00
  3031.                 DB #00,#52,#29,#52,#00,#00,#75,#55,#55,#00,#00,#75,#45,#74,#00,#00
  3032.                 DB #75,#45,#55,#00,#00,#52,#45,#53,#00,#00,#00,#00,#00,#00
  3033.                 DB #01,#89,#99,#76,#00,#00,#45,#55,#55,#01,#01,#9D,#99,#66,#00,#00
  3034.                 DB #45,#55,#55,#01,#01,#D5,#55,#75,#00,#00,#00,#00,#00,#00
  3035.                 DB #03,#0D,#49,#8D,#C0,#00,#51,#55,#11,#04,#02,#11,#DD,#95,#80,#00
  3036.                 DB #55,#55,#11,#01,#06,#4D,#55,#4D,#C0,#00,#00,#00,#00,#00
  3037.                 DB #00,#00,#42,#B0,#00,#00,#A8,#C2,#00,#00,#00,#00,#42,#B0,#00,#00
  3038.                 DB #A0,#42,#00,#00,#00,#00,#E3,#A0,#00,#00,#00,#00,#00,#00
  3039.                 DB #00,#00,#04,#00,#00,#00,#00,#0A,#00,#00,#00,#00,#02,#00,#00,#00
  3040.                 DB #00,#04,#00,#00,#00,#00,#00,#00,#00,#00,#00,#04,#00,#00
  3041.  
  3042. DMPHLCHR        PUSH DE:PUSH BC:PUSH HL:CALL BIXAD:POP DE:LD BC,32:LD A,7
  3043. AFLP            EX AF,AF:LD A,(DE):LD (HL),A:ADD HL,BC:INC DE
  3044.                 EX AF,AF:DEC A:JP NZ,AFLP:LD A,(DE):LD (HL),A
  3045.                 POP BC:POP DE:RET
  3046.  
  3047. FNI             DW SETSHOT            ; 00
  3048.                 DW SETTHREE           ; 01
  3049.                 DW SETFLAME           ; 02
  3050.                 DW SETFULL            ; 03
  3051.                 DW ADDAMMO            ; 04
  3052.                 DW SETNITRO           ; 05
  3053.                 DW SETSHOWER          ; 06
  3054.                 DW SETHOMING          ; 07
  3055.                 DW SETBARRIER         ; 08
  3056.                 DW SETSUPER           ; 09
  3057.                 DW SET1UP             ; 10
  3058. ;                DW RETURN             ; 11
  3059. ;                DW RETURN             ; 12
  3060. ;                DW RETURN             ; 13
  3061. ;                DW RETURN             ; 14
  3062. ;                DW RETURN             ; 15
  3063. ;                DW RETURN             ; 16
  3064.  
  3065. WEPAMOUNT       DW 500
  3066. PAKAMOUNT       DB 50
  3067.  
  3068. SETSUPER        LD A,(WEPTYPE+1):OR A:RET Z
  3069.                 LD A,1:LD (WEPPOWER),A:RET
  3070.  
  3071. SET1UP          LD A,(LIVES):INC A:LD (LIVES),A:RET
  3072.  
  3073. SETFULL         XOR A:LD (WEPPOWER),A
  3074.                 LD A,4:LD (WEPTYPE+1),A
  3075.                 LD HL,(WEPAMOUNT):LD (AMMOLEFT+1),HL:RET
  3076. SETFLAME        XOR A:LD (WEPPOWER),A
  3077.                 LD A,1:LD (WEPTYPE+1),A
  3078.                 LD HL,(WEPAMOUNT):LD (AMMOLEFT+1),HL:RET
  3079. SETTHREE        XOR A:LD (WEPPOWER),A
  3080.                 LD A,2:LD (WEPTYPE+1),A
  3081.                 LD HL,(WEPAMOUNT):LD (AMMOLEFT+1),HL:RET
  3082. SETSHOT         XOR A:LD (WEPPOWER),A
  3083.                 LD A,3:LD (WEPTYPE+1),A
  3084.                 LD HL,(WEPAMOUNT):LD (AMMOLEFT+1),HL:RET
  3085. ADDAMMO         LD A,(WEPTYPE+1):OR A:RET Z
  3086.                 LD DE,(AMMOLEFT+1):LD HL,499:OR A:SBC HL,DE
  3087.                 JR NC,FJE:LD DE,499
  3088. FJE             LD HL,500:ADD HL,DE:LD (AMMOLEFT+1),HL:RET
  3089.  
  3090. SETNITRO        LD A,1:LD (PAKTYPE+1),A
  3091.                 LD A,(PAKAMOUNT):LD (BACKLEFT+1),A:RET
  3092. SETHOMING       LD A,2:LD (PAKTYPE+1),A
  3093.                 LD A,(PAKAMOUNT):LD (BACKLEFT+1),A:RET
  3094. SETSHOWER       LD A,3:LD (PAKTYPE+1),A
  3095.                 LD A,(PAKAMOUNT):LD (BACKLEFT+1),A:RET
  3096.  
  3097. SETBARRIER      LD HL,500:LD (PRTBARRIER+1),HL:RET
  3098.  
  3099. WAPXYS          DB $FF,$FF,$00,$80,$01
  3100.                 DB $FF,$FF,$01,$80,$02
  3101.                 DB $FF,$FF,$02,$80,$03
  3102.                 DB $FF,$FF,$03,$80,$04
  3103.                 DB $FF,$FF,$04,$80,$05
  3104.                 DB $FF,$FF,$05,$80,$06
  3105.  
  3106. WAPTYPES        DW SHOTGUNSPRT         ; SHOT GUN
  3107.                 DB 4*4,0-16
  3108.                 DW THREEWAYSPRT        ; 3 WAY
  3109.                 DB 4*4,0-16
  3110.                 DW FLAMESPRT           ; FLAME
  3111.                 DB 4*4,0-16
  3112.                 DW FULLAUTOSPRT        ; FULL AUTO
  3113.                 DB 4*4,0-16
  3114.                 DW POWERUPSPRT         ; AMMO
  3115.                 DB 4*4,0-16
  3116.                 DW BACKPACKSPR         ; NITRO
  3117.                 DB 2*4,0-08
  3118.                 DW BACKPACKSPR         ; SHOWER
  3119.                 DB 2*4,0-08
  3120.                 DW BACKPACKSPR         ; HOMING
  3121.                 DB 2*4,0-08
  3122. BARANI          DW BARRIERSPR          ; BARRIER
  3123.                 DB 2*4,0-08
  3124. SCHANI          DW SCHARGESPRT1        ; S.CHARGE
  3125.                 DB 4*4,0-16
  3126.                 DW EXTRALIFESPRT       ; 1 UP
  3127.                 DB 010,0-10
  3128.  
  3129. SP1             DS 6*4,0
  3130.  
  3131. ;****************************************
  3132. ;** GUN ROOM STUFF + ROUTINES          **
  3133. ;****************************************
  3134.  
  3135. GRCHRS          DB #AA,#55,#AA,#55,#AA,#55,#AA,#55,#00,#00,#00,#00,#00,#00,#00,#00
  3136.                 DB #41,#42,#41,#42,#41,#42,#41,#42,#5E,#9E,#5E,#9E,#5E,#9E,#5E,#9E
  3137.                 DB #00,#EF,#D0,#A7,#4F,#5D,#5C,#58,#00,#FF,#00,#FF,#FF,#54,#00,#A9
  3138.                 DB #5D,#58,#5D,#58,#5D,#58,#5C,#59,#53,#A7,#4F,#9E,#3D,#7A,#F5,#EA
  3139.                 DB #02,#F6,#0A,#E4,#F2,#FA,#FA,#FA,#FF,#FF,#F8,#F0,#F0,#F0,#F0,#F8
  3140.                 DB #DA,#BA,#1A,#BA,#1A,#BA,#1A,#BA,#FC,#FC,#F8,#F8,#F8,#F8,#F8,#FC
  3141.                 DB #BD,#42,#89,#9D,#9D,#9D,#4A,#4A,#50,#83,#00,#42,#05,#42,#85,#42
  3142.                 DB #00,#7F,#80,#17,#0F,#17,#0E,#01,#85,#42,#85,#42,#01,#42,#A0,#50
  3143.                 DB #00,#FF,#00,#A0,#5F,#A0,#4F,#47,#00,#FF,#00,#02,#FD,#06,#F3,#FA
  3144.                 DB #44,#40,#20,#9F,#40,#AA,#00,#00,#13,#02,#05,#FA,#05,#AA,#00,#00
  3145.                 DB #03,#FD,#06,#F2,#7A,#FA,#7A,#BA,#5A,#BA,#5A,#AA,#5A,#A6,#0D,#03
  3146.                 DB #41,#42,#41,#42,#41,#42,#41,#00,#5E,#9E,#5E,#9E,#5E,#9E,#5E,#00
  3147.                 DB #5F,#5F,#5F,#4F,#A7,#D0,#EF,#00,#D5,#80,#2A,#FF,#FF,#00,#FF,#00
  3148.                 DB #BF,#40,#8C,#9C,#9C,#8C,#40,#7F,#FF,#00,#FF,#00,#BD,#BD,#00,#FF
  3149.                 DB #1A,#3A,#BA,#F2,#E4,#0A,#F6,#00,#FE,#FC,#F8,#F0,#00,#E8,#00,#00
  3150.                 DB #FA,#04,#3A,#7A,#7A,#3A,#04,#F8,#F0,#F0,#F0,#F0,#00,#E8,#00,#00
  3151.                 DB #00,#07,#37,#37,#27,#17,#27,#40,#00,#FF,#FF,#FF,#FF,#FF,#FF,#00
  3152.                 DB #01,#02,#02,#06,#0A,#12,#2A,#5A,#FF,#00,#00,#00,#00,#00,#FF,#FF
  3153.                 DB #FF,#01,#01,#01,#01,#01,#C1,#C1,#00,#F6,#0A,#E4,#F2,#FA,#FA,#FA
  3154.                 DB #BA,#7A,#7A,#76,#6A,#52,#22,#42,#82,#02,#02,#06,#0A,#12,#2A,#5A
  3155.                 DB #FF,#FF,#FF,#FF,#FF,#FF,#FF,#FF,#C1,#C1,#C1,#C1,#C1,#C1,#C1,#C1
  3156.                 DB #00,#1F,#1F,#1F,#1F,#1F,#1F,#00,#FF,#FF,#FF,#FF,#FF,#FF,#00,#FF
  3157.                 DB #C1,#C1,#C1,#C1,#C1,#C1,#01,#FF,#FD,#FE,#FE,#FE,#00,#54,#A8,#51
  3158.                 DB #FD,#FE,#FE,#FE,#00,#55,#A8,#51,#F0,#F0,#F0,#F8,#FC,#FC,#FC,#00
  3159.                 DB #00,#00,#00,#5C,#1E,#5E,#5E,#00,#03,#07,#0F,#5F,#1F,#5F,#5F,#00
  3160.                 DB #A8,#51,#A8,#00,#88,#88,#88,#88,#00,#00,#E3,#F1,#F8,#FC,#FE,#FF
  3161.                 DB #00,#00,#FF,#FF,#FF,#7F,#3F,#1F,#FF,#FF,#FF,#FF,#00,#00,#55,#AA
  3162.                 DB #8F,#C7,#E3,#F1,#00,#00,#54,#A8,#55,#AA,#00,#00,#00,#AA,#55,#AA
  3163.                 DB #54,#A8,#00,#00,#00,#AA,#55,#AA,#01,#E4,#E2,#E2,#E6,#EA,#E2,#02
  3164.                 DB #42,#82,#02,#06,#0A,#12,#2A,#5A,#82,#FA,#FA,#FA,#FA,#FA,#FA,#04
  3165. GRATRS
  3166.                 DB #05,#47,#05,#47,#45,#05,#45,#05,#05,#07,#05,#07,#56,#07,#4E,#07
  3167.                 DB #4E,#4E,#0E,#0E,#47,#47,#05,#47,#45,#05,#4E,#4E,#05,#07,#4E,#07
  3168.                 DB #45,#45,#46,#47,#47,#05,#46,#46,#47,#47,#45,#47,#47,#47,#47,#07
  3169.                 DB #07,#07,#07,#07,#07,#07,#07,#05,#05,#45,#46,#45
  3170. GRBLOX
  3171.                 DB #00,#01,#00,#01,#02,#03,#02,#03,#04,#05,#06,#07,#08,#09,#0A,#0B
  3172.                 DB #0C,#0D,#0E,#0F,#10,#11,#12,#13,#14,#09,#15,#0B,#02,#03,#16,#17
  3173.                 DB #18,#19,#1A,#1B,#1C,#1D,#1E,#1F,#20,#21,#22,#23,#21,#21,#23,#24
  3174.                 DB #25,#1F,#0A,#1F,#26,#28,#27,#28,#28,#29,#28,#29,#26,#1F,#27,#1F
  3175.                 DB #1C,#1F,#1E,#1F,#26,#2B,#2A,#21,#2B,#2C,#21,#21,#00,#01,#2D,#01
  3176.                 DB #18,#19,#2D,#2E,#1C,#2F,#2D,#2E,#30,#30,#2D,#2E,#31,#2F,#2D,#2E
  3177.                 DB #32,#01,#33,#34,#02,#03,#33,#34,#32,#32,#33,#34,#35,#36,#37,#38
  3178.                 DB #14,#04,#15,#06,#05,#08,#07,#0A,#26,#04,#27,#06,#26,#04,#3B,#06
  3179.                 DB #31,#18,#2D,#2D,#19,#1C,#2E,#2D,#00,#01,#33,#34,#39,#18,#3A,#1A
  3180.                 DB #19,#1C,#1B,#1E,#26,#18,#27,#1A,#39,#1D,#3A,#1F,#26,#1F,#3B,#1F
  3181. GRMAP
  3182.                 DB #00,#01,#02,#03,#04,#05,#06,#04,#05,#06,#04,#05,#06,#04,#05,#06
  3183.                 DB #04,#05,#06,#04,#05,#1C,#1D,#00,#01
  3184.                 DB #00,#07,#08,#09,#0A,#0B,#26,#0A,#0B,#26,#0A,#0B,#26,#0A,#0B,#26
  3185.                 DB #0A,#0B,#26,#0A,#0B,#23,#24,#00,#07
  3186.                 DB #00,#01,#02,#0C,#0D,#0E,#0F,#0D,#0E,#0F,#0D,#0E,#0F,#0D,#0E,#0F
  3187.                 DB #0D,#0E,#0F,#0D,#0E,#1E,#1D,#00,#01
  3188.                 DB #00,#07,#08,#10,#0D,#0E,#0F,#0D,#0E,#0F,#0D,#0E,#0F,#0D,#0E,#0F
  3189.                 DB #0D,#0E,#0F,#0D,#0E,#25,#24,#00,#07
  3190.                 DB #00,#01,#02,#0C,#11,#12,#27,#11,#12,#27,#11,#12,#27,#11,#12,#27
  3191.                 DB #11,#12,#27,#11,#12,#1F,#1D,#00,#01
  3192.                 DB #13,#07,#14,#15,#16,#16,#17,#16,#16,#17,#16,#16,#17,#16,#16,#17
  3193.                 DB #16,#16,#17,#16,#16,#20,#21,#00,#07
  3194.                 DB #18,#19,#1A,#1A,#1A,#1A,#1A,#1A,#1A,#1A,#1A,#1A,#1A,#1A,#1A,#1A
  3195.                 DB #1A,#1A,#1A,#1A,#1A,#1A,#1A,#22,#19
  3196.                 DB #1B,#1B,#1B,#1B,#1B,#1B,#1B,#1B,#1B,#1B,#1B,#1B,#1B,#1B,#1B,#1B
  3197.                 DB #1B,#1B,#1B,#1B,#1B,#1B,#1B,#1B,#1B
  3198.  
  3199. ;***************************************
  3200. ;** SPRITES                           **
  3201. ;***************************************
  3202.  
  3203. HEROARMS        DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3204.                 DB #FF,#00,#F8,#00,#F0,#00,#E0,#07,#C0,#08,#80,#13,#00,#27,#00,#27
  3205.                 DB #00,#23,#80,#10,#00,#2C,#00,#50,#00,#59,#00,#22,#80,#1C,#C1,#00
  3206.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#F3,#00,#C1,#00,#80,#0C
  3207.                 DB #00,#34,#00,#50,#80,#27,#00,#48,#00,#13,#00,#27,#00,#27,#00,#23
  3208.                 DB #80,#10,#C0,#0C,#E0,#02,#F0,#02,#F8,#01,#FC,#00,#F8,#01,#F0,#02
  3209.                 DB #E7,#00,#80,#00,#00,#18,#00,#6B,#80,#25,#00,#42,#80,#20,#00,#4C
  3210.                 DB #00,#21,#80,#17,#00,#28,#80,#13,#00,#27,#00,#27,#00,#23,#80,#10
  3211.                 DB #C0,#0C,#E0,#02,#F0,#01,#F8,#01,#FC,#00,#FE,#00,#FF,#00,#FF,#00
  3212.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#F1,#00,#E0,#00,#C0,#0E
  3213.                 DB #80,#11,#00,#21,#00,#26,#80,#08,#80,#13,#00,#27,#00,#27,#00,#23
  3214.                 DB #80,#10,#C0,#0E,#E0,#01,#F0,#01,#FC,#00,#FE,#00,#FC,#00,#F8,#01
  3215.  
  3216. SPRITES
  3217.  
  3218. HEROWALK1
  3219.                 DB #FF,#00,#83,#00,#CF,#00,#FF,#00,#FF,#00,#87,#00,#01,#00,#FF,#00
  3220.                 DB #FE,#00,#00,#7C,#03,#30,#FF,#00,#FF,#00,#01,#48,#00,#82,#F4,#00
  3221.                 DB #E0,#01,#00,#38,#01,#A8,#FF,#00,#FF,#00,#01,#A8,#00,#40,#C0,#09
  3222.                 DB #80,#16,#00,#0C,#00,#AC,#FF,#00,#7F,#00,#00,#92,#00,#30,#C0,#09
  3223.                 DB #80,#11,#00,#12,#00,#B9,#3F,#00,#1F,#80,#00,#92,#00,#8C,#C0,#0B
  3224.                 DB #E0,#04,#00,#20,#00,#87,#0F,#40,#0F,#40,#00,#A3,#00,#90,#C0,#09
  3225.                 DB #80,#13,#00,#C8,#00,#A8,#1F,#80,#3F,#00,#00,#A1,#00,#C0,#80,#13
  3226.                 DB #80,#11,#00,#A4,#00,#18,#1F,#80,#1F,#80,#00,#7A,#00,#C0,#C0,#08
  3227.                 DB #C0,#0B,#00,#F6,#00,#32,#1F,#80,#1F,#80,#00,#00,#00,#7C,#C0,#09
  3228.                 DB #C0,#08,#00,#C0,#00,#CF,#3F,#00,#7F,#00,#00,#08,#00,#1F,#E0,#04
  3229.                 DB #F0,#03,#00,#E0,#00,#48,#FF,#00,#FF,#00,#00,#84,#00,#00,#F8,#00
  3230.                 DB #FC,#00,#1C,#00,#00,#FC,#FF,#00,#FF,#00,#01,#00,#FE,#00,#FF,#00
  3231. HEROWALK2
  3232.                 DB #FF,#00,#F0,#00,#3F,#00,#FF,#00,#FF,#00,#1F,#80,#E0,#03,#FF,#00
  3233.                 DB #FF,#00,#C0,#0C,#09,#40,#9F,#00,#0F,#00,#00,#A0,#80,#10,#FE,#00
  3234.                 DB #FC,#00,#00,#13,#00,#16,#07,#60,#03,#90,#00,#68,#00,#64,#F8,#01
  3235.                 DB #F0,#02,#00,#92,#00,#95,#03,#50,#07,#A0,#00,#12,#00,#25,#F0,#02
  3236.                 DB #F8,#01,#00,#03,#00,#64,#0F,#40,#0F,#40,#00,#89,#00,#C0,#F8,#01
  3237.                 DB #F0,#02,#00,#18,#00,#13,#0F,#40,#0F,#40,#00,#AB,#00,#CD,#E0,#04
  3238.                 DB #C0,#09,#00,#E5,#00,#54,#1F,#80,#3F,#00,#00,#0B,#00,#CA,#C0,#09
  3239.                 DB #C0,#08,#00,#84,#00,#B0,#7F,#00,#FF,#00,#00,#D0,#00,#01,#E0,#05
  3240.                 DB #C0,#0B,#00,#FD,#01,#A8,#FF,#00,#FF,#00,#01,#08,#00,#E2,#C0,#09
  3241.                 DB #C0,#08,#00,#8D,#03,#90,#FF,#00,#FF,#00,#07,#60,#00,#72,#E0,#04
  3242.                 DB #F0,#03,#00,#94,#0F,#00,#FF,#00,#FF,#00,#9F,#00,#01,#08,#F8,#00
  3243.                 DB #FC,#00,#63,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#F7,#00,#FF,#00
  3244. HEROWALK3
  3245.                 DB #FF,#00,#FE,#00,#0F,#00,#FF,#00,#FF,#00,#07,#00,#FC,#00,#FF,#00
  3246.                 DB #FF,#00,#E0,#01,#03,#F0,#FF,#00,#FF,#00,#01,#08,#C0,#02,#FF,#00
  3247.                 DB #FF,#00,#80,#1C,#00,#04,#FF,#00,#7F,#00,#00,#FA,#00,#22,#FF,#00
  3248.                 DB #FE,#00,#00,#40,#00,#02,#7F,#00,#3F,#00,#00,#AD,#00,#08,#FC,#00
  3249.                 DB #F8,#01,#00,#E1,#00,#52,#7F,#00,#3F,#00,#00,#67,#00,#14,#F0,#02
  3250.                 DB #E0,#04,#00,#C6,#00,#38,#03,#80,#01,#40,#00,#03,#00,#E3,#C0,#09
  3251.                 DB #C0,#09,#00,#E3,#00,#C7,#00,#BC,#00,#02,#00,#00,#00,#D4,#C0,#08
  3252.                 DB #E0,#04,#00,#82,#00,#AD,#00,#7A,#00,#84,#00,#03,#00,#E0,#C0,#09
  3253.                 DB #C0,#08,#00,#FA,#00,#E1,#01,#B8,#03,#40,#00,#CC,#00,#6D,#C0,#09
  3254.                 DB #E0,#04,#00,#10,#00,#13,#07,#80,#3F,#00,#00,#D0,#00,#EE,#F0,#03
  3255.                 DB #F8,#00,#00,#01,#00,#10,#7F,#00,#FF,#00,#07,#E0,#10,#00,#FC,#00
  3256.                 DB #FF,#00,#FE,#00,#0F,#00,#FF,#00,#FF,#00,#1F,#00,#FF,#00,#FF,#00
  3257. HEROWALK4
  3258.                 DB #FF,#00,#FE,#00,#1F,#00,#FF,#00,#FF,#00,#0F,#00,#A8,#00,#FF,#00
  3259.                 DB #FF,#00,#00,#01,#07,#E0,#FF,#00,#FF,#00,#03,#10,#00,#56,#FE,#00
  3260.                 DB #FC,#00,#00,#A8,#01,#48,#FF,#00,#FF,#00,#00,#24,#00,#80,#FC,#00
  3261.                 DB #F8,#01,#00,#C9,#00,#1A,#7F,#00,#7F,#00,#00,#42,#00,#24,#F0,#02
  3262.                 DB #E0,#04,#00,#C9,#00,#54,#FF,#00,#FF,#00,#00,#E0,#00,#E0,#C0,#09
  3263.                 DB #C0,#09,#00,#E4,#00,#9A,#7F,#00,#3F,#00,#00,#41,#00,#CA,#C0,#08
  3264.                 DB #E0,#04,#00,#12,#00,#24,#1F,#80,#1F,#80,#00,#0E,#00,#82,#C0,#09
  3265.                 DB #C0,#08,#00,#C6,#00,#A4,#1F,#80,#1F,#80,#00,#08,#00,#F3,#C0,#08
  3266.                 DB #E0,#04,#00,#51,#00,#E5,#3F,#00,#7F,#00,#00,#92,#00,#08,#F0,#03
  3267.                 DB #F8,#00,#00,#C6,#00,#0A,#7F,#00,#FF,#00,#00,#24,#00,#2F,#FC,#00
  3268.                 DB #FF,#00,#00,#16,#00,#72,#7F,#00,#3F,#00,#00,#B9,#C0,#09,#FF,#00
  3269.                 DB #FF,#00,#E0,#06,#00,#44,#1F,#80,#1F,#80,#84,#3B,#F1,#00,#FF,#00
  3270. HEROWALK5
  3271.                 DB #FF,#00,#95,#00,#FF,#00,#FF,#00,#FF,#00,#1F,#00,#00,#00,#FF,#00
  3272.                 DB #FE,#00,#00,#6A,#0F,#00,#FF,#00,#FF,#00,#07,#E0,#00,#97,#FC,#00
  3273.                 DB #FC,#00,#00,#68,#03,#10,#FF,#00,#FF,#00,#01,#08,#00,#C0,#F8,#01
  3274.                 DB #F0,#02,#00,#20,#01,#08,#FF,#00,#FF,#00,#01,#08,#00,#40,#E0,#04
  3275.                 DB #C0,#09,#00,#E8,#01,#08,#FF,#00,#FF,#00,#00,#10,#00,#E8,#C0,#09
  3276.                 DB #C0,#08,#00,#C4,#00,#24,#7F,#00,#3F,#00,#00,#C7,#00,#13,#E0,#04
  3277.                 DB #C0,#08,#00,#18,#00,#00,#1F,#80,#0F,#40,#00,#06,#00,#AC,#C0,#09
  3278.                 DB #C0,#08,#00,#D4,#00,#6F,#0F,#40,#0F,#40,#00,#26,#00,#49,#E0,#04
  3279.                 DB #F0,#02,#00,#60,#00,#28,#0F,#40,#1F,#80,#00,#24,#00,#31,#F8,#01
  3280.                 DB #FC,#00,#00,#B4,#00,#26,#1F,#80,#1F,#80,#00,#2A,#00,#4E,#FE,#00
  3281.                 DB #FE,#00,#00,#6E,#00,#28,#1F,#80,#3F,#00,#00,#23,#00,#45,#FE,#00
  3282.                 DB #FE,#00,#00,#7A,#00,#CC,#7F,#00,#FF,#00,#00,#70,#00,#00,#FF,#00
  3283.  
  3284. ;********************************************
  3285.  
  3286. HEROCLIMBl
  3287.                 DB #FF,#00,#0F,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#07,#60,#FE,#00
  3288.                 DB #F0,#00,#03,#90,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#01,#A8,#C0,#00
  3289.                 DB #80,#0E,#01,#A8,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#01,#28,#00,#31
  3290.                 DB #00,#40,#00,#88,#7F,#00,#FF,#00,#FF,#00,#3F,#00,#00,#48,#00,#81
  3291.                 DB #00,#81,#00,#4B,#1F,#80,#FF,#00,#FF,#00,#0F,#40,#00,#84,#00,#42
  3292.                 DB #00,#A4,#00,#63,#07,#A0,#FF,#00,#FF,#00,#07,#A0,#00,#1D,#00,#10
  3293.                 DB #00,#A9,#00,#C2,#07,#60,#FF,#00,#FF,#00,#0F,#40,#00,#B9,#00,#6B
  3294.                 DB #00,#F7,#00,#FD,#0F,#40,#FF,#00,#FF,#00,#1F,#80,#00,#FD,#00,#7F
  3295.                 DB #00,#7F,#00,#B8,#0F,#40,#FF,#00,#FF,#00,#0F,#40,#00,#C3,#00,#EE
  3296.                 DB #00,#1F,#00,#07,#0F,#40,#FF,#00,#FF,#00,#1F,#80,#00,#C8,#00,#7F
  3297.                 DB #80,#7F,#00,#C7,#3F,#00,#FF,#00,#FF,#00,#7F,#00,#00,#80,#FE,#3F
  3298.                 DB #FF,#00,#00,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#C7,#00,#FF,#00
  3299. HEROCLIMB2
  3300.                 DB #C0,#00,#7F,#00,#E7,#00,#FF,#00,#FF,#00,#C3,#00,#3F,#00,#80,#0F
  3301.                 DB #00,#30,#1F,#80,#81,#18,#FF,#00,#FF,#00,#00,#24,#0F,#40,#00,#41
  3302.                 DB #00,#8E,#06,#A0,#00,#54,#FF,#00,#FF,#00,#01,#A8,#04,#A0,#00,#90
  3303.                 DB #00,#61,#00,#21,#03,#50,#FF,#00,#FF,#00,#07,#A0,#00,#C2,#00,#A0
  3304.                 DB #00,#28,#00,#38,#0F,#40,#FF,#00,#FF,#00,#07,#A0,#00,#84,#00,#AF
  3305.                 DB #00,#5F,#00,#72,#03,#50,#FF,#00,#FF,#00,#01,#28,#00,#FA,#00,#FF
  3306.                 DB #00,#7F,#00,#FB,#01,#68,#FF,#00,#FF,#00,#01,#28,#00,#70,#00,#7F
  3307.                 DB #00,#ED,#00,#84,#03,#90,#FF,#00,#FF,#00,#01,#68,#00,#0F,#00,#1E
  3308.                 DB #00,#7F,#00,#7E,#03,#90,#FF,#00,#FF,#00,#07,#A0,#00,#9E,#80,#3F
  3309.                 DB #FF,#00,#80,#21,#0F,#00,#FF,#00,#FF,#00,#5F,#00,#C0,#1E,#FF,#00
  3310. HEROCLIMB3
  3311.                 DB #80,#00,#7F,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#3F,#00,#00,#2F
  3312.                 DB #00,#50,#1F,#80,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#0F,#40,#00,#80
  3313.                 DB #00,#AF,#07,#A0,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#07,#20,#00,#80
  3314.                 DB #00,#42,#03,#D0,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#03,#10,#00,#81
  3315.                 DB #00,#60,#03,#70,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#01,#08,#00,#BF
  3316.                 DB #00,#7E,#00,#E4,#00,#00,#1F,#00,#0F,#00,#00,#00,#00,#F4,#00,#FF
  3317.                 DB #00,#7F,#00,#F5,#00,#FF,#07,#E0,#03,#10,#00,#00,#00,#E8,#00,#7E
  3318.                 DB #00,#ED,#00,#15,#00,#5F,#03,#D0,#07,#20,#00,#00,#00,#38,#00,#1E
  3319.                 DB #00,#7E,#00,#FB,#00,#77,#0F,#C0,#1F,#00,#00,#B4,#00,#7F,#80,#3F
  3320.                 DB #FF,#00,#00,#00,#00,#04,#3F,#00,#FF,#00,#00,#B4,#80,#1F,#FF,#00
  3321.                 DB #FF,#00,#C0,#00,#01,#48,#FF,#00,#FF,#00,#03,#00,#E0,#00,#FF,#00
  3322. HEROCLIMB4
  3323.                 DB #00,#00,#7F,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#3F,#00,#00,#6F
  3324.                 DB #00,#90,#1F,#80,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#0F,#40,#00,#AC
  3325.                 DB #00,#83,#07,#A0,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#07,#20,#00,#40
  3326.                 DB #00,#42,#03,#D0,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#03,#90,#00,#81
  3327.                 DB #00,#60,#07,#60,#FF,#00,#FF,#00,#FF,#00,#7F,#00,#02,#10,#00,#BE
  3328.                 DB #00,#7D,#00,#C8,#3F,#00,#FF,#00,#FF,#00,#1F,#80,#00,#E9,#00,#FF
  3329.                 DB #00,#7F,#00,#EA,#0F,#40,#FF,#00,#FF,#00,#07,#20,#00,#D1,#00,#7D
  3330.                 DB #00,#DA,#00,#11,#03,#50,#FF,#00,#FF,#00,#01,#08,#00,#2E,#00,#3C
  3331.                 DB #00,#7D,#00,#F2,#00,#14,#FF,#00,#7F,#00,#00,#0A,#00,#F8,#80,#3C
  3332.                 DB #FF,#00,#00,#3C,#00,#85,#3F,#00,#1F,#80,#00,#42,#00,#0D,#FF,#00
  3333.                 DB #FF,#00,#80,#00,#00,#ED,#0F,#40,#07,#A0,#00,#CA,#80,#1C,#FF,#00
  3334.                 DB #FF,#00,#C0,#02,#00,#91,#07,#20,#07,#E0,#04,#20,#E0,#02,#FF,#00
  3335.                 DB #FF,#00,#F8,#01,#0E,#C0,#0F,#00,#1F,#00,#1F,#00,#FC,#00,#FF,#00
  3336. HEROCLIMB5
  3337.                 DB #08,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#7F,#00,#00,#60
  3338.                 DB #00,#97,#3F,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#1F,#80,#00,#88
  3339.                 DB #00,#46,#0F,#40,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#07,#20,#00,#81
  3340.                 DB #00,#80,#07,#A0,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#03,#50,#00,#41
  3341.                 DB #00,#81,#03,#90,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#07,#60,#00,#60
  3342.                 DB #00,#BC,#07,#20,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#03,#90,#00,#7B
  3343.                 DB #00,#FF,#03,#D0,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#03,#D0,#00,#7F
  3344.                 DB #00,#7B,#07,#A0,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#03,#50,#00,#B4
  3345.                 DB #00,#79,#01,#C8,#1F,#00,#FF,#00,#FF,#00,#0F,#00,#00,#B4,#80,#7C
  3346.                 DB #FC,#00,#00,#74,#07,#E0,#FF,#00,#FF,#00,#03,#10,#00,#3B,#FC,#00
  3347.                 DB #FE,#01,#00,#08,#03,#50,#FF,#00,#FF,#00,#03,#50,#00,#F0,#FE,#00
  3348.                 DB #FF,#00,#00,#12,#03,#10,#FF,#00,#FF,#00,#03,#50,#00,#26,#FF,#00
  3349.                 DB #FF,#00,#80,#2F,#03,#10,#FF,#00,#FF,#00,#03,#50,#80,#26,#FF,#00
  3350.                 DB #FF,#00,#80,#10,#03,#50,#FF,#00,#FF,#00,#03,#50,#C0,#0F,#FF,#00
  3351.                 DB #FF,#00,#E0,#01,#03,#50,#FF,#00,#FF,#00,#03,#50,#F0,#01,#FF,#00
  3352.                 DB #FF,#00,#F8,#01,#03,#50,#FF,#00,#FF,#00,#03,#50,#F8,#01,#FF,#00
  3353.                 DB #FF,#00,#F8,#01,#03,#50,#FF,#00,#FF,#00,#03,#90,#FC,#00,#FF,#00
  3354.                 DB #FF,#00,#FE,#00,#07,#60,#FF,#00,#FF,#00,#0F,#00,#FF,#00,#FF,#00
  3355.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3356.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3357.  
  3358. ;********************************************
  3359.  
  3360. HEROCRAWL1
  3361.                 DB #FF,#00,#FF,#00,#9F,#00,#FF,#00,#FF,#00,#0F,#00,#FF,#00,#FF,#00
  3362.                 DB #FF,#00,#FE,#00,#07,#60,#FF,#00,#FF,#00,#03,#90,#FC,#00,#FF,#00
  3363.                 DB #FF,#00,#F8,#01,#03,#50,#FF,#00,#FF,#00,#01,#50,#F8,#01,#FF,#00
  3364.                 DB #FF,#00,#F8,#01,#00,#50,#FF,#00,#7F,#00,#00,#16,#F8,#01,#FF,#00
  3365.                 DB #FF,#00,#F8,#01,#00,#55,#3F,#00,#1F,#80,#00,#80,#E0,#00,#FF,#00
  3366.                 DB #FF,#00,#80,#01,#00,#70,#1F,#80,#0F,#40,#00,#4A,#00,#1D,#FF,#00
  3367.                 DB #FF,#00,#00,#65,#00,#4A,#0F,#40,#1F,#80,#00,#B4,#00,#A9,#FF,#00
  3368.                 DB #FF,#00,#00,#56,#00,#C0,#1F,#80,#0F,#40,#00,#21,#00,#D6,#FF,#00
  3369.                 DB #FF,#00,#00,#52,#00,#A6,#07,#A0,#03,#A0,#00,#A6,#00,#69,#FF,#00
  3370.                 DB #FF,#00,#00,#29,#00,#16,#01,#B8,#00,#24,#00,#15,#00,#45,#FF,#00
  3371.                 DB #FF,#00,#00,#04,#00,#92,#00,#C2,#00,#52,#00,#14,#00,#14,#FF,#00
  3372.                 DB #FF,#00,#08,#E2,#01,#20,#00,#2C,#81,#00,#0B,#C0,#1C,#01,#FF,#00
  3373. HEROCRAWL2
  3374.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#07,#00,#FF,#00,#FF,#00
  3375.                 DB #FF,#00,#FE,#00,#03,#00,#FF,#00,#E7,#00,#01,#F8,#EC,#00,#FF,#00
  3376.                 DB #FF,#00,#C0,#01,#00,#04,#C3,#00,#01,#18,#00,#3A,#80,#12,#FF,#00
  3377.                 DB #FF,#00,#00,#2A,#00,#C2,#00,#24,#00,#54,#00,#2C,#00,#44,#FF,#00
  3378.                 DB #FF,#00,#80,#20,#00,#10,#01,#A8,#03,#50,#00,#65,#00,#54,#FF,#00
  3379.                 DB #FF,#00,#00,#AB,#00,#1A,#07,#A0,#07,#20,#00,#84,#00,#57,#FF,#00
  3380.                 DB #FF,#00,#00,#D7,#00,#88,#03,#D0,#03,#D0,#00,#01,#00,#53,#FF,#00
  3381.                 DB #FF,#00,#00,#48,#00,#E4,#03,#B0,#01,#08,#00,#EE,#00,#04,#FF,#00
  3382.                 DB #FF,#00,#00,#42,#00,#58,#00,#04,#00,#24,#00,#33,#00,#01,#FF,#00
  3383.                 DB #FF,#00,#00,#10,#00,#84,#01,#D8,#03,#00,#00,#48,#06,#E0,#FF,#00
  3384.                 DB #FF,#00,#0F,#00,#03,#30,#27,#00,#FF,#00,#87,#00,#1F,#00,#FF,#00
  3385. HEROCRAWL3
  3386.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#07,#00,#FF,#00,#FF,#00
  3387.                 DB #FF,#00,#FE,#00,#03,#00,#FF,#00,#FF,#00,#01,#F8,#E4,#00,#FF,#00
  3388.                 DB #FF,#00,#C0,#01,#00,#04,#FF,#00,#7F,#00,#00,#02,#80,#1A,#FF,#00
  3389.                 DB #FF,#00,#00,#25,#00,#7D,#3F,#00,#3F,#00,#00,#01,#00,#20,#FF,#00
  3390.                 DB #FF,#00,#00,#38,#00,#6A,#01,#80,#00,#00,#00,#00,#00,#44,#FF,#00
  3391.                 DB #FF,#00,#00,#AB,#00,#7F,#00,#FE,#00,#02,#00,#80,#00,#57,#FF,#00
  3392.                 DB #FF,#00,#00,#53,#00,#07,#00,#C4,#01,#38,#00,#A0,#00,#68,#FF,#00
  3393.                 DB #FF,#00,#00,#2B,#00,#87,#01,#40,#01,#A8,#00,#76,#00,#52,#FF,#00
  3394.                 DB #FF,#00,#00,#11,#00,#F6,#03,#90,#07,#80,#00,#88,#00,#12,#FF,#00
  3395.                 DB #FF,#00,#00,#E8,#00,#77,#0F,#80,#3F,#00,#00,#90,#00,#07,#FF,#00
  3396. HEROCRAWL4
  3397.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#87,#00,#FF,#00,#FF,#00
  3398.                 DB #FF,#00,#F9,#00,#03,#00,#FF,#00,#FF,#00,#01,#78,#F0,#00,#FF,#00
  3399.                 DB #FF,#00,#E0,#06,#00,#84,#FF,#00,#7F,#00,#00,#02,#C0,#05,#FF,#00
  3400.                 DB #FF,#00,#C0,#08,#00,#21,#3F,#00,#3F,#00,#00,#11,#80,#08,#FF,#00
  3401.                 DB #FF,#00,#00,#34,#00,#8E,#1F,#80,#1F,#80,#00,#30,#00,#48,#FF,#00
  3402.                 DB #FF,#00,#00,#93,#00,#2D,#3F,#00,#7F,#00,#00,#92,#00,#57,#FF,#00
  3403.                 DB #FF,#00,#00,#D7,#00,#A8,#7F,#00,#3F,#00,#00,#00,#00,#53,#FF,#00
  3404.                 DB #FF,#00,#00,#68,#00,#31,#1F,#80,#0F,#40,#00,#B4,#00,#13,#FF,#00
  3405.                 DB #FF,#00,#00,#57,#00,#AA,#07,#20,#07,#20,#00,#01,#00,#13,#FF,#00
  3406.                 DB #FF,#00,#00,#15,#00,#C2,#07,#80,#0F,#40,#00,#F0,#00,#D0,#FF,#00
  3407.                 DB #FF,#00,#00,#08,#00,#36,#07,#A0,#03,#50,#00,#0F,#00,#06,#FF,#00
  3408.                 DB #FF,#00,#F0,#01,#00,#F6,#01,#28,#00,#54,#00,#11,#F8,#00,#FF,#00
  3409.                 DB #FF,#00,#FE,#00,#00,#08,#00,#AA,#00,#12,#E0,#07,#FF,#00,#FF,#00
  3410.                 DB #FF,#00,#FF,#00,#F0,#00,#40,#0E,#E0,#00,#F8,#00,#FF,#00,#FF,#00
  3411.                 DB #FF,#00,#FF,#00,#FF,#00,#F1,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3412. HEROCRAWL5
  3413.                 DB #FF,#00,#FF,#00,#81,#00,#FF,#00,#FF,#00,#00,#00,#FF,#00,#FF,#00
  3414.                 DB #FF,#00,#FE,#00,#00,#7E,#7F,#00,#3F,#00,#00,#81,#FC,#00,#FF,#00
  3415.                 DB #FF,#00,#F0,#01,#00,#02,#1F,#80,#1F,#80,#00,#02,#C0,#01,#FF,#00
  3416.                 DB #FF,#00,#80,#0E,#00,#7C,#0F,#40,#1F,#80,#00,#80,#00,#36,#FF,#00
  3417.                 DB #FF,#00,#00,#48,#00,#56,#0F,#40,#1F,#80,#00,#2C,#00,#93,#FF,#00
  3418.                 DB #FF,#00,#00,#57,#00,#91,#3F,#00,#1F,#00,#00,#A3,#00,#D7,#FF,#00
  3419.                 DB #FF,#00,#00,#53,#00,#77,#0F,#00,#07,#60,#00,#3D,#00,#20,#FF,#00
  3420.                 DB #FF,#00,#00,#27,#00,#3D,#03,#10,#01,#08,#00,#0A,#00,#2F,#FF,#00
  3421.                 DB #FF,#00,#00,#16,#00,#E5,#01,#48,#03,#B0,#00,#10,#00,#15,#FF,#00
  3422.                 DB #FF,#00,#00,#D5,#02,#50,#07,#00,#4F,#00,#03,#10,#00,#09,#FF,#00
  3423.                 DB #FF,#00,#00,#06,#03,#50,#FF,#00,#FF,#00,#03,#10,#C0,#0D,#FF,#00
  3424.                 DB #FF,#00,#E0,#05,#03,#50,#FF,#00,#FF,#00,#03,#50,#E0,#05,#FF,#00
  3425.                 DB #FF,#00,#F0,#01,#03,#50,#FF,#00,#FF,#00,#03,#10,#F8,#01,#FF,#00
  3426.                 DB #FF,#00,#F8,#01,#03,#D0,#FF,#00,#FF,#00,#03,#30,#F8,#01,#FF,#00
  3427.                 DB #FF,#00,#FC,#00,#07,#E0,#FF,#00,#FF,#00,#0F,#00,#FE,#00,#FF,#00
  3428.                 DB #FF,#00,#FF,#00,#1F,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3429. HEROCRAWL6
  3430.                 DB #FF,#00,#FF,#00,#C1,#00,#FF,#00,#FF,#00,#80,#00,#FF,#00,#FF,#00
  3431.                 DB #FF,#00,#FF,#00,#00,#3E,#7F,#00,#1F,#00,#00,#41,#FE,#00,#FF,#00
  3432.                 DB #FF,#00,#F0,#00,#00,#80,#0F,#80,#07,#60,#00,#BE,#C0,#00,#FF,#00
  3433.                 DB #FF,#00,#80,#0C,#00,#80,#03,#50,#03,#10,#00,#24,#00,#33,#FF,#00
  3434.                 DB #FE,#00,#00,#44,#00,#9A,#07,#20,#0F,#C0,#00,#44,#00,#AB,#FC,#00
  3435.                 DB #FC,#00,#00,#D7,#00,#9D,#1F,#00,#1F,#80,#00,#A1,#00,#27,#F8,#01
  3436.                 DB #F0,#02,#00,#A3,#00,#3B,#0F,#40,#07,#00,#00,#3F,#00,#2C,#E0,#04
  3437.                 DB #C0,#09,#00,#47,#00,#3D,#03,#70,#01,#48,#00,#7D,#00,#93,#80,#10
  3438.                 DB #00,#24,#00,#3A,#00,#7A,#00,#04,#00,#A4,#00,#84,#00,#20,#00,#48
  3439.                 DB #00,#52,#00,#80,#00,#B8,#01,#D8,#03,#00,#02,#00,#00,#89,#00,#6C
  3440.                 DB #00,#3A,#00,#DA,#47,#00,#27,#00,#FF,#00,#FF,#00,#00,#20,#80,#01
  3441.                 DB #C0,#01,#05,#20,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#0F,#C0,#F8,#01
  3442.                 DB #FC,#00,#1F,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#3F,#00,#FE,#00
  3443. HEROCRAWL7
  3444.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#C1,#00,#FF,#00,#FF,#00
  3445.                 DB #FF,#00,#FF,#00,#80,#00,#FF,#00,#7F,#00,#00,#3E,#FF,#00,#FF,#00
  3446.                 DB #FF,#00,#FE,#00,#00,#41,#3F,#00,#0F,#80,#00,#BC,#F0,#00,#FF,#00
  3447.                 DB #FF,#00,#C0,#01,#00,#03,#07,#40,#03,#50,#00,#3C,#80,#0D,#FF,#00
  3448.                 DB #E0,#00,#00,#33,#00,#5A,#01,#28,#01,#08,#00,#AC,#00,#44,#C0,#00
  3449.                 DB #80,#1F,#00,#FB,#00,#44,#03,#10,#07,#20,#00,#A8,#00,#05,#00,#20
  3450.                 DB #00,#5F,#00,#55,#00,#A0,#0F,#C0,#07,#20,#00,#3B,#00,#03,#00,#40
  3451.                 DB #00,#3E,#00,#04,#00,#3F,#03,#70,#03,#60,#00,#3D,#00,#0F,#80,#04
  3452.                 DB #C0,#05,#00,#37,#00,#7D,#01,#18,#00,#A4,#00,#5A,#00,#76,#E0,#05
  3453.                 DB #E0,#04,#00,#C0,#00,#C5,#00,#42,#00,#52,#00,#B8,#00,#38,#F0,#03
  3454.                 DB #F8,#00,#00,#07,#02,#00,#00,#2C,#81,#00,#47,#00,#C0,#00,#FC,#00
  3455. HEROCRAWL8
  3456.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#CF,#00
  3457.                 DB #87,#00,#FF,#00,#C1,#00,#FF,#00,#FF,#00,#80,#00,#FF,#00,#03,#30
  3458.                 DB #01,#48,#FF,#00,#00,#3E,#7F,#00,#3F,#00,#00,#41,#FE,#00,#00,#54
  3459.                 DB #00,#4A,#70,#00,#00,#B0,#1F,#80,#0F,#40,#00,#0E,#20,#01,#00,#31
  3460.                 DB #80,#0C,#00,#8D,#00,#50,#0F,#40,#0F,#40,#00,#34,#00,#53,#C0,#00
  3461.                 DB #80,#17,#00,#24,#00,#88,#07,#20,#03,#10,#00,#52,#00,#0B,#80,#1A
  3462.                 DB #C0,#00,#00,#B7,#00,#82,#03,#10,#03,#B0,#00,#99,#00,#27,#80,#11
  3463.                 DB #C0,#0E,#00,#09,#00,#1D,#07,#80,#03,#B0,#00,#3F,#00,#EE,#E0,#00
  3464.                 DB #F0,#01,#00,#76,#00,#7D,#01,#38,#00,#24,#00,#7D,#00,#34,#F8,#01
  3465.                 DB #FC,#00,#00,#88,#00,#BA,#00,#5C,#00,#A2,#00,#85,#00,#41,#FE,#00
  3466.                 DB #FF,#00,#00,#22,#00,#00,#00,#52,#00,#6C,#7A,#00,#80,#1C,#FF,#00
  3467.                 DB #FF,#00,#C1,#00,#FF,#00,#01,#00,#93,#00,#FF,#00,#E3,#00,#FF,#00
  3468.  
  3469. ;********************************************
  3470.  
  3471. HEROFALL        ; 1 FALL $100 256 BYTES
  3472.  
  3473.                 DB #FF,#00,#C9,#00,#FF,#00,#FF,#00,#3F,#00,#FF,#00,#80,#00,#F9,#00
  3474.                 DB #F0,#00,#00,#36,#7E,#00,#0F,#00,#07,#C0,#20,#00,#00,#49,#E0,#06
  3475.                 DB #C0,#09,#00,#82,#00,#81,#03,#30,#01,#48,#00,#5D,#00,#4C,#E0,#05
  3476.                 DB #C0,#08,#00,#11,#00,#A3,#00,#34,#00,#94,#00,#5D,#00,#0A,#E0,#06
  3477.                 DB #C0,#08,#00,#14,#00,#5E,#00,#44,#01,#E8,#00,#BE,#00,#0D,#80,#15
  3478.                 DB #00,#2B,#00,#02,#00,#74,#01,#E8,#03,#50,#00,#E7,#00,#31,#00,#26
  3479.                 DB #00,#2D,#00,#7F,#00,#F3,#03,#D0,#07,#A0,#00,#F0,#00,#DF,#80,#13
  3480.                 DB #80,#17,#00,#EE,#00,#E3,#0F,#40,#1F,#80,#00,#0C,#00,#41,#80,#13
  3481.                 DB #C0,#08,#00,#33,#00,#D0,#0F,#40,#0F,#40,#00,#80,#00,#07,#E0,#06
  3482.                 DB #E0,#04,#00,#00,#00,#00,#0F,#40,#0F,#40,#00,#00,#00,#00,#C0,#08
  3483.                 DB #C0,#08,#00,#21,#00,#88,#0F,#40,#07,#80,#00,#70,#00,#3E,#C0,#08
  3484.                 DB #E0,#04,#00,#10,#00,#08,#03,#80,#01,#98,#80,#08,#01,#20,#F0,#02
  3485.                 DB #F8,#01,#03,#10,#E0,#04,#00,#E4,#00,#44,#E0,#04,#01,#08,#F8,#01
  3486.                 DB #F0,#02,#01,#08,#C0,#08,#01,#08,#03,#30,#C0,#08,#03,#50,#E0,#04
  3487.                 DB #E0,#04,#07,#60,#C0,#0F,#07,#C0,#0F,#00,#E0,#00,#0F,#C0,#E0,#07
  3488.                 DB #F0,#00,#1F,#00,#F0,#00,#3F,#00,#FF,#00,#FF,#00,#3F,#00,#F8,#00
  3489.  
  3490. ;********************************************
  3491.  
  3492. HEROLEG1
  3493.                 DB #FF,#00,#20,#04,#00,#02,#7F,#00,#3F,#00,#00,#01,#00,#08,#FC,#00
  3494.                 DB #F8,#00,#00,#C8,#00,#00,#1F,#80,#0F,#40,#00,#00,#00,#34,#F0,#03
  3495.                 DB #F0,#02,#00,#08,#00,#20,#07,#20,#07,#20,#00,#30,#00,#10,#F0,#02
  3496.                 DB #F0,#02,#00,#30,#00,#48,#07,#20,#07,#20,#00,#44,#00,#58,#E0,#04
  3497.                 DB #E0,#04,#00,#47,#10,#82,#07,#20,#07,#E0,#30,#02,#00,#40,#E0,#04
  3498.                 DB #E0,#04,#18,#80,#78,#01,#03,#20,#01,#20,#F8,#01,#3F,#00,#F0,#03
  3499.                 DB #F8,#00,#7F,#00,#F0,#02,#00,#5C,#00,#22,#F0,#02,#FF,#00,#FC,#00
  3500.                 DB #FF,#00,#FF,#00,#E0,#04,#00,#02,#00,#FE,#E0,#07,#FF,#00,#FF,#00
  3501. HEROLEG2
  3502.                 DB #FF,#00,#80,#10,#03,#10,#FF,#00,#FF,#00,#03,#10,#00,#20,#FF,#00
  3503.                 DB #FF,#00,#00,#20,#03,#10,#FF,#00,#FF,#00,#03,#10,#00,#20,#FF,#00
  3504.                 DB #FF,#00,#00,#10,#01,#08,#FF,#00,#FF,#00,#01,#08,#00,#70,#FE,#00
  3505.                 DB #FC,#00,#00,#80,#01,#08,#FF,#00,#FF,#00,#01,#08,#00,#80,#FC,#00
  3506.                 DB #FC,#00,#00,#86,#03,#10,#FF,#00,#FF,#00,#07,#E0,#00,#09,#F8,#01
  3507.                 DB #F8,#01,#00,#09,#03,#20,#FF,#00,#FF,#00,#01,#20,#00,#12,#F8,#01
  3508.                 DB #FC,#00,#00,#92,#00,#5C,#FF,#00,#7F,#00,#00,#22,#00,#64,#FE,#00
  3509.                 DB #FF,#00,#00,#04,#00,#02,#7F,#00,#7F,#00,#00,#FE,#80,#07,#FF,#00
  3510. HEROLEG3
  3511.                 DB #FF,#00,#00,#20,#07,#20,#FF,#00,#FF,#00,#03,#10,#00,#40,#FE,#00
  3512.                 DB #FE,#00,#00,#40,#01,#08,#FF,#00,#FF,#00,#01,#08,#00,#40,#FE,#00
  3513.                 DB #FE,#00,#00,#40,#03,#10,#FF,#00,#FF,#00,#07,#20,#00,#40,#FE,#00
  3514.                 DB #FF,#00,#00,#20,#0F,#40,#FF,#00,#FF,#00,#1F,#80,#00,#20,#FF,#00
  3515.                 DB #FE,#00,#00,#43,#3F,#00,#FF,#00,#FF,#00,#1F,#80,#00,#E0,#FC,#00
  3516.                 DB #F8,#01,#00,#00,#0F,#40,#FF,#00,#FF,#00,#0F,#40,#00,#00,#F0,#02
  3517.                 DB #F0,#02,#00,#1D,#1F,#80,#FF,#00,#FF,#00,#3F,#00,#00,#22,#E0,#04
  3518.                 DB #E0,#04,#00,#02,#7F,#00,#FF,#00,#FF,#00,#7F,#00,#00,#FE,#E0,#07
  3519. HEROLEG4
  3520.                 DB #FE,#00,#00,#40,#01,#08,#FF,#00,#FF,#00,#00,#04,#00,#80,#FC,#00
  3521.                 DB #FC,#00,#00,#80,#00,#04,#FF,#00,#FF,#00,#01,#08,#00,#00,#F8,#01
  3522.                 DB #F8,#01,#00,#02,#01,#08,#FF,#00,#FF,#00,#03,#10,#00,#05,#F8,#01
  3523.                 DB #F0,#02,#00,#09,#01,#20,#FF,#00,#FF,#00,#00,#1C,#00,#12,#80,#02
  3524.                 DB #00,#0C,#00,#22,#00,#02,#7F,#00,#7F,#00,#00,#82,#08,#C1,#00,#70
  3525.                 DB #00,#43,#1C,#00,#00,#7C,#FF,#00,#FF,#00,#01,#00,#3E,#00,#00,#44
  3526.                 DB #00,#44,#FF,#00,#83,#00,#FF,#00,#FF,#00,#FF,#00,#7F,#00,#00,#42
  3527.                 DB #00,#61,#3F,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#3F,#00,#80,#3F
  3528.  
  3529. ;********************************************
  3530.  
  3531. HEROLEGSTAND
  3532.                 DB #FC,#00,#00,#80,#07,#20,#FF,#00,#FF,#00,#03,#10,#00,#00,#F8,#01
  3533.                 DB #F8,#01,#00,#00,#01,#08,#FF,#00,#FF,#00,#01,#08,#00,#00,#F8,#01
  3534.                 DB #F8,#01,#00,#02,#00,#04,#FF,#00,#FF,#00,#00,#CC,#00,#85,#FC,#00
  3535.                 DB #F8,#01,#00,#1C,#00,#82,#7F,#00,#7F,#00,#00,#82,#00,#08,#F0,#02
  3536.                 DB #F0,#02,#00,#08,#00,#42,#7F,#00,#7F,#00,#00,#2E,#03,#90,#F8,#01
  3537.                 DB #F8,#01,#07,#20,#00,#32,#3F,#00,#1F,#00,#00,#22,#03,#10,#F0,#02
  3538.                 DB #F0,#03,#03,#D0,#00,#25,#0F,#C0,#07,#20,#00,#22,#07,#20,#E0,#04
  3539.                 DB #C0,#08,#02,#10,#00,#40,#07,#20,#07,#E0,#00,#7F,#02,#F0,#C0,#0F
  3540. HEROLEGJUMP
  3541.                 DB #F8,#01,#00,#00,#00,#0C,#FF,#00,#7F,#00,#00,#02,#00,#00,#F0,#02
  3542.                 DB #F0,#02,#00,#00,#00,#01,#3F,#00,#1F,#80,#00,#80,#00,#00,#F8,#01
  3543.                 DB #FC,#00,#00,#E0,#00,#40,#1F,#80,#3F,#00,#00,#21,#00,#20,#FE,#00
  3544.                 DB #FE,#00,#00,#40,#00,#43,#1F,#80,#0F,#40,#00,#8E,#00,#83,#FC,#00
  3545.                 DB #F8,#01,#00,#0C,#00,#40,#0F,#40,#1F,#80,#00,#40,#00,#30,#F0,#02
  3546.                 DB #F0,#02,#00,#1C,#00,#47,#3F,#00,#7F,#00,#00,#38,#00,#02,#F0,#02
  3547.                 DB #F8,#01,#00,#82,#00,#00,#FF,#00,#FF,#00,#C7,#00,#00,#7C,#FC,#00
  3548.                 DB #FE,#00,#01,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#83,#00,#FF,#00
  3549.  
  3550. ;**************************************
  3551.  
  3552. HEROLEGCL1
  3553.                 DB #F8,#00,#00,#17,#07,#A0,#FF,#00,#FF,#00,#07,#20,#00,#00,#F0,#02
  3554.                 DB #F0,#02,#00,#00,#03,#10,#FF,#00,#FF,#00,#03,#10,#00,#44,#F8,#01
  3555.                 DB #F8,#01,#00,#38,#03,#10,#FF,#00,#FF,#00,#07,#20,#00,#88,#F0,#02
  3556.                 DB #F0,#02,#00,#A5,#03,#10,#FF,#00,#FF,#00,#01,#08,#00,#FA,#F0,#03
  3557.                 DB #F8,#00,#00,#02,#01,#08,#FF,#00,#FF,#00,#01,#08,#00,#01,#FC,#00
  3558.                 DB #FF,#00,#FC,#00,#03,#90,#FF,#00,#FF,#00,#03,#50,#FE,#00,#FF,#00
  3559.                 DB #FF,#00,#FC,#00,#01,#D8,#FF,#00,#FF,#00,#00,#54,#F8,#01,#FF,#00
  3560.                 DB #FF,#00,#F8,#01,#00,#54,#FF,#00,#FF,#00,#00,#FC,#F8,#01,#FF,#00
  3561. HEROLEGCL2
  3562.                 DB #FC,#00,#00,#97,#07,#A0,#FF,#00,#FF,#00,#03,#10,#00,#00,#F8,#01
  3563.                 DB #F0,#02,#00,#00,#01,#08,#FF,#00,#FF,#00,#01,#08,#00,#00,#F0,#02
  3564.                 DB #F0,#02,#00,#06,#00,#04,#FF,#00,#FF,#00,#00,#04,#00,#29,#F0,#02
  3565.                 DB #F8,#01,#00,#12,#01,#08,#FF,#00,#FF,#00,#03,#10,#00,#12,#F8,#01
  3566.                 DB #F8,#01,#00,#B1,#07,#20,#FF,#00,#FF,#00,#03,#F0,#00,#A9,#F0,#02
  3567.                 DB #F0,#02,#00,#AA,#01,#28,#FF,#00,#FF,#00,#00,#14,#00,#FA,#F0,#03
  3568.                 DB #F8,#00,#00,#01,#00,#0C,#FF,#00,#FF,#00,#00,#84,#04,#00,#FC,#00
  3569.                 DB #FF,#00,#FE,#00,#01,#78,#FF,#00,#FF,#00,#03,#00,#FF,#00,#FF,#00
  3570. HEROLEGCL3
  3571.                 DB #FE,#00,#00,#57,#01,#80,#FF,#00,#FF,#00,#00,#04,#00,#40,#FE,#00
  3572.                 DB #FC,#00,#00,#80,#01,#08,#FF,#00,#FF,#00,#03,#D0,#00,#83,#FC,#00
  3573.                 DB #FC,#00,#00,#82,#01,#18,#FF,#00,#FF,#00,#00,#54,#00,#44,#FE,#00
  3574.                 DB #FC,#00,#00,#89,#00,#54,#FF,#00,#FF,#00,#00,#FC,#00,#05,#F8,#01
  3575.                 DB #F8,#01,#00,#04,#01,#00,#FF,#00,#FF,#00,#03,#00,#00,#08,#F8,#01
  3576.                 DB #FC,#00,#03,#90,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#07,#A0,#FC,#00
  3577.                 DB #F8,#01,#03,#B0,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#01,#A8,#F0,#02
  3578.                 DB #F0,#02,#01,#A8,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#01,#F8,#F0,#03
  3579. HEROLEGCL4
  3580.                 DB #FE,#00,#00,#57,#03,#90,#FF,#00,#FF,#00,#01,#08,#00,#80,#FC,#00
  3581.                 DB #F8,#01,#00,#00,#00,#04,#FF,#00,#FF,#00,#00,#44,#00,#02,#F0,#02
  3582.                 DB #F0,#02,#00,#05,#00,#84,#FF,#00,#FF,#00,#01,#08,#00,#18,#F8,#01
  3583.                 DB #F8,#01,#00,#08,#01,#88,#FF,#00,#FF,#00,#03,#50,#00,#88,#FC,#00
  3584.                 DB #FE,#00,#00,#48,#01,#D8,#FF,#00,#FF,#00,#00,#54,#00,#65,#FE,#00
  3585.                 DB #FC,#00,#00,#BD,#00,#54,#FF,#00,#FF,#00,#00,#FC,#00,#45,#F8,#01
  3586.                 DB #F0,#02,#00,#84,#01,#00,#FF,#00,#FF,#00,#03,#00,#00,#08,#F0,#03
  3587.                 DB #F0,#02,#03,#10,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#07,#E0,#F8,#01
  3588.  
  3589. ;********************************************
  3590.  
  3591. HEROLEGCR1
  3592.                 DB #FC,#00,#7C,#00,#F0,#00,#FF,#00,#FF,#00,#60,#06,#00,#00,#F8,#00
  3593.                 DB #F0,#03,#00,#83,#00,#09,#FF,#00,#FF,#00,#00,#91,#00,#64,#F0,#02
  3594.                 DB #F0,#02,#00,#04,#00,#E1,#FF,#00,#FF,#00,#00,#20,#00,#08,#F0,#02
  3595.                 DB #E0,#04,#00,#50,#00,#10,#FF,#00,#FF,#00,#00,#00,#00,#A3,#E0,#04
  3596.                 DB #E0,#04,#00,#A2,#00,#80,#FF,#00,#FF,#00,#00,#40,#00,#AC,#E0,#04
  3597.                 DB #F0,#03,#01,#98,#00,#21,#FF,#00,#FF,#00,#80,#12,#03,#00,#F8,#00
  3598.                 DB #FC,#00,#67,#00,#C0,#0C,#FF,#00,#FF,#00,#E1,#00,#FF,#00,#FF,#00
  3599.                 DB #FF,#00,#FF,#00,#F3,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3600. HEROLEGCR2
  3601.                 DB #FF,#00,#87,#00,#F3,#00,#FF,#00,#FF,#00,#E0,#00,#03,#00,#FF,#00
  3602.                 DB #FE,#00,#00,#68,#C0,#0C,#FF,#00,#FF,#00,#00,#13,#00,#94,#FC,#00
  3603.                 DB #FC,#00,#00,#8F,#00,#22,#FF,#00,#FF,#00,#00,#C2,#00,#80,#FC,#00
  3604.                 DB #FC,#00,#00,#80,#00,#40,#FF,#00,#FF,#00,#00,#00,#00,#18,#F8,#01
  3605.                 DB #F8,#01,#00,#24,#00,#00,#FF,#00,#FF,#00,#00,#00,#00,#23,#F8,#01
  3606.                 DB #F8,#01,#00,#C8,#00,#E3,#FF,#00,#FF,#00,#00,#1C,#00,#00,#FC,#00
  3607.                 DB #FE,#00,#37,#00,#00,#00,#FF,#00,#FF,#00,#E3,#00,#FF,#00,#FF,#00
  3608.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3609. HEROLEGCR3
  3610.                 DB #FE,#00,#31,#00,#E0,#00,#FF,#00,#FF,#00,#C0,#0C,#00,#00,#FC,#00
  3611.                 DB #F8,#01,#00,#CE,#00,#13,#FF,#00,#FF,#00,#00,#23,#00,#69,#F8,#01
  3612.                 DB #F8,#01,#00,#1C,#00,#C2,#FF,#00,#FF,#00,#00,#80,#00,#03,#F8,#01
  3613.                 DB #F0,#03,#00,#00,#00,#80,#FF,#00,#FF,#00,#00,#00,#00,#30,#F0,#02
  3614.                 DB #F0,#02,#00,#4C,#00,#00,#FF,#00,#FF,#00,#00,#02,#00,#47,#F0,#02
  3615.                 DB #F0,#03,#10,#80,#00,#FD,#FF,#00,#FF,#00,#00,#00,#38,#00,#F8,#00
  3616.                 DB #FC,#00,#7F,#00,#02,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3617.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3618.  
  3619. ;********************************************
  3620.  
  3621. BADWALK1        ; 5 RUN LEFT $3C0 1152 BYTES
  3622.  
  3623.                 DB #FE,#00,#00,#00,#FF,#00,#FF,#00,#FF,#00,#7F,#00,#00,#FE,#F0,#00
  3624.                 DB #E0,#01,#00,#01,#3F,#00,#FF,#00,#FF,#00,#10,#80,#00,#00,#C0,#0F
  3625.                 DB #80,#10,#00,#80,#00,#80,#7F,#00,#3F,#00,#00,#8F,#00,#B4,#80,#10
  3626.                 DB #00,#21,#00,#41,#00,#70,#1F,#80,#1F,#80,#00,#8E,#00,#01,#00,#22
  3627.                 DB #80,#14,#00,#00,#00,#7F,#0F,#40,#0F,#40,#00,#F7,#00,#26,#80,#14
  3628.                 DB #80,#16,#00,#DE,#00,#F7,#07,#A0,#03,#A0,#00,#E3,#00,#3F,#80,#16
  3629.                 DB #80,#15,#00,#3F,#00,#8D,#01,#A8,#00,#14,#00,#EA,#00,#3F,#80,#15
  3630.                 DB #80,#17,#00,#1F,#00,#D2,#00,#04,#00,#04,#00,#11,#00,#0E,#C0,#08
  3631.                 DB #E0,#07,#00,#E0,#00,#38,#01,#F8,#03,#00,#02,#00,#00,#00,#F0,#00
  3632.                 DB #F8,#00,#1F,#00,#C7,#00,#07,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3633.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3634.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3635. BADWALK2
  3636.                 DB #FF,#00,#80,#00,#FF,#00,#FF,#00,#FF,#00,#7F,#00,#00,#00,#FF,#00
  3637.                 DB #FE,#00,#00,#7F,#3F,#00,#FF,#00,#FF,#00,#1F,#80,#00,#80,#FC,#00
  3638.                 DB #F8,#01,#00,#40,#0F,#40,#FF,#00,#FF,#00,#0F,#40,#00,#00,#F8,#01
  3639.                 DB #F8,#01,#00,#7A,#0F,#40,#FF,#00,#FF,#00,#1F,#80,#00,#60,#F0,#01
  3640.                 DB #E0,#01,#00,#00,#07,#80,#FF,#00,#FF,#00,#01,#60,#00,#00,#C0,#0D
  3641.                 DB #80,#19,#00,#10,#00,#18,#7F,#00,#3F,#00,#00,#E6,#00,#E6,#80,#10
  3642.                 DB #80,#10,#00,#0D,#00,#F9,#1F,#80,#0F,#40,#00,#FE,#00,#1D,#C0,#0E
  3643.                 DB #E0,#04,#00,#5F,#00,#EF,#07,#A0,#07,#A0,#00,#9F,#00,#9F,#E0,#05
  3644.                 DB #E0,#05,#00,#CF,#00,#EF,#0F,#40,#1F,#80,#00,#86,#00,#CF,#F0,#02
  3645.                 DB #F8,#01,#00,#07,#00,#61,#3F,#00,#7F,#00,#00,#46,#00,#F0,#FC,#00
  3646.                 DB #FE,#00,#00,#00,#00,#42,#7F,#00,#7F,#00,#00,#22,#0F,#00,#FF,#00
  3647.                 DB #FF,#00,#FF,#00,#80,#1C,#FF,#00,#FF,#00,#C1,#00,#FF,#00,#FF,#00
  3648. BADWALK3
  3649.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#80,#00,#FF,#00
  3650.                 DB #FF,#00,#00,#00,#7F,#00,#FF,#00,#FF,#00,#3F,#00,#00,#7F,#FE,#00
  3651.                 DB #FC,#00,#00,#80,#1F,#80,#FF,#00,#FF,#00,#0F,#40,#00,#40,#F8,#01
  3652.                 DB #F8,#01,#00,#00,#0F,#40,#FF,#00,#FF,#00,#0F,#40,#00,#7A,#F8,#01
  3653.                 DB #F8,#01,#00,#60,#1F,#80,#FF,#00,#FF,#00,#1F,#80,#00,#00,#F8,#01
  3654.                 DB #F8,#01,#00,#00,#0F,#40,#FF,#00,#FF,#00,#07,#A0,#00,#13,#F8,#01
  3655.                 DB #FC,#00,#00,#EF,#03,#D0,#FF,#00,#FF,#00,#03,#D0,#00,#1F,#FC,#00
  3656.                 DB #F8,#00,#00,#5B,#01,#A8,#FF,#00,#FF,#00,#01,#E8,#00,#AD,#F0,#03
  3657.                 DB #E0,#04,#00,#0D,#00,#F4,#FF,#00,#FF,#00,#00,#74,#00,#36,#E0,#04
  3658.                 DB #F0,#02,#00,#C9,#00,#FA,#FF,#00,#FF,#00,#00,#E4,#00,#23,#F8,#01
  3659.                 DB #F8,#01,#00,#03,#01,#08,#FF,#00,#FF,#00,#03,#00,#00,#8C,#FC,#00
  3660.                 DB #FE,#00,#00,#70,#F7,#00,#FF,#00,#FF,#00,#FF,#00,#03,#00,#FF,#00
  3661. BADWALK4
  3662.                 DB #FF,#00,#80,#00,#FF,#00,#FF,#00,#FF,#00,#7F,#00,#00,#00,#FF,#00
  3663.                 DB #FE,#00,#00,#7F,#3F,#00,#FF,#00,#FF,#00,#1F,#80,#00,#80,#FC,#00
  3664.                 DB #F8,#01,#00,#40,#0F,#40,#FF,#00,#FF,#00,#0F,#40,#00,#00,#F8,#01
  3665.                 DB #F8,#01,#00,#7A,#0F,#40,#FF,#00,#FF,#00,#1F,#80,#00,#60,#F8,#01
  3666.                 DB #F8,#01,#00,#00,#0F,#80,#FF,#00,#FF,#00,#03,#40,#00,#01,#F8,#01
  3667.                 DB #F8,#01,#00,#00,#00,#B0,#FF,#00,#7F,#00,#00,#4C,#00,#D7,#F8,#00
  3668.                 DB #F0,#00,#00,#2F,#00,#E3,#3F,#00,#1F,#80,#00,#E4,#00,#2F,#E0,#07
  3669.                 DB #C0,#08,#00,#A7,#00,#73,#0F,#40,#0F,#40,#00,#F3,#00,#DC,#C0,#08
  3670.                 DB #C0,#09,#00,#3E,#00,#F2,#1F,#80,#3F,#00,#00,#F1,#00,#7C,#C0,#08
  3671.                 DB #E0,#06,#00,#71,#00,#C2,#7F,#00,#FF,#00,#00,#00,#00,#08,#F0,#01
  3672.                 DB #F8,#00,#00,#F0,#3D,#00,#FF,#00,#FF,#00,#FF,#00,#07,#00,#FE,#00
  3673.                 DB #FF,#00,#0F,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3674. BADWALK5
  3675.                 DB #FE,#00,#00,#00,#FF,#00,#FF,#00,#FF,#00,#7F,#00,#00,#FE,#F4,#00
  3676.                 DB #E0,#01,#00,#01,#3F,#00,#FF,#00,#FF,#00,#1F,#80,#00,#80,#C0,#0A
  3677.                 DB #80,#12,#00,#00,#19,#80,#FF,#00,#FF,#00,#00,#80,#00,#F4,#00,#22
  3678.                 DB #00,#22,#00,#C1,#00,#06,#7F,#00,#3F,#00,#00,#19,#00,#01,#00,#22
  3679.                 DB #80,#12,#00,#02,#00,#66,#1F,#80,#0F,#40,#00,#9F,#00,#01,#C0,#0A
  3680.                 DB #C0,#09,#00,#03,#00,#CF,#03,#A0,#01,#D0,#00,#E3,#00,#3B,#C0,#0A
  3681.                 DB #C0,#0B,#00,#7F,#00,#E0,#00,#D4,#00,#0A,#00,#EB,#00,#7F,#C0,#09
  3682.                 DB #C0,#0B,#00,#FB,#00,#F4,#00,#C2,#00,#24,#00,#F4,#00,#C5,#C0,#0B
  3683.                 DB #C0,#09,#00,#DB,#00,#02,#01,#18,#C3,#00,#08,#00,#00,#20,#E0,#04
  3684.                 DB #F0,#03,#04,#C0,#FD,#00,#E7,#00,#FF,#00,#FF,#00,#1F,#00,#F8,#00
  3685.                 DB #FC,#00,#3F,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3686.                 DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00
  3687.  
  3688. ;********************************************
  3689.  
  3690. BAD1FALL        ;1FALL RIGHT $140 320 BYTES
  3691.  
  3692.                 DB #FF,#00,#FC,#00,#1F,#00,#FF,#00,#FF,#00,#0F,#C0,#F8,#01,#FF,#00
  3693.                 DB #FF,#00,#F0,#02,#0F,#40,#FF,#00,#07,#00,#04,#20,#E0,#04,#FF,#00
  3694.                 DB #FF,#00,#E0,#04,#00,#20,#03,#00,#01,#F8,#00,#43,#C0,#0B,#FF,#00
  3695.                 DB #FF,#00,#80,#15,#00,#84,#00,#04,#00,#6A,#00,#08,#00,#2D,#FF,#00
  3696.                 DB #FF,#00,#00,#2E,#00,#48,#00,#62,#00,#22,#00,#B4,#00,#5D,#FE,#00
  3697.                 DB #FC,#00,#00,#0F,#00,#C0,#00,#22,#00,#02,#00,#BE,#00,#A7,#F8,#01
  3698.                 DB #F0,#02,#00,#53,#00,#7F,#00,#02,#00,#02,#00,#FF,#00,#10,#F0,#02
  3699.                 DB #F0,#02,#00,#3D,#00,#FB,#00,#44,#01,#B8,#00,#FA,#00,#3D,#F8,#01
  3700.                 DB #F8,#01,#00,#DD,#00,#F5,#03,#00,#47,#00,#00,#EA,#00,#2F,#FC,#00
  3701.                 DB #F8,#00,#00,#C7,#00,#9A,#7F,#00,#FF,#00,#00,#34,#00,#00,#F0,#03
  3702.                 DB #E0,#04,#00,#00,#00,#14,#FF,#00,#FF,#00,#01,#08,#00,#00,#E0,#04
  3703.                 DB #E0,#04,#00,#00,#01,#08,#FF,#00,#FF,#00,#01,#08,#00,#00,#C0,#04
  3704.                 DB #80,#04,#00,#50,#01,#08,#FF,#00,#FF,#00,#03,#70,#00,#30,#00,#34
  3705.                 DB #00,#4C,#00,#50,#07,#20,#FF,#00,#FF,#00,#0F,#40,#00,#50,#00,#44
  3706.                 DB #00,#44,#00,#90,#0F,#C0,#FF,#00,#FF,#00,#0F,#40,#00,#90,#00,#20
  3707.                 DB #00,#21,#00,#08,#07,#20,#FF,#00,#FF,#00,#03,#10,#60,#04,#80,#12
  3708.                 DB #C0,#0C,#F0,#02,#03,#10,#FF,#00,#FF,#00,#01,#08,#F8,#01,#E1,#00
  3709.                 DB #F3,#00,#FC,#00,#00,#C4,#FF,#00,#7F,#00,#00,#02,#F8,#01,#FF,#00
  3710.                 DB #FF,#00,#F0,#02,#00,#04,#FF,#00,#FF,#00,#01,#08,#F0,#02,#FF,#00
  3711.                 DB #FF,#00,#F8,#01,#03,#F0,#FF,#00,#FF,#00,#07,#00,#FC,#00,#FF,#00
  3712.  
  3713. ;*******************************
  3714.  
  3715. STAR1           DB #FF,#00,#7F,#00,#3F,#00,#FE,#00,#FC,#00,#1F,#80,#3F,#00,#FE,#00
  3716.                 DB #FC,#00,#1F,#80,#0F,#40,#F8,#01,#D0,#01,#05,#40,#00,#30,#80,#06
  3717.                 DB #00,#28,#00,#8A,#00,#30,#80,#06,#D0,#01,#05,#40,#0F,#40,#F8,#01
  3718.                 DB #FC,#00,#1F,#80,#3F,#00,#FE,#00,#FC,#00,#1F,#80,#3F,#00,#FE,#00
  3719. STAR2           DB #FF,#00,#FF,#00,#FF,#00,#FF,#00,#F7,#00,#F7,#00,#C3,#00,#E1,#00
  3720.                 DB #C0,#08,#81,#08,#03,#20,#E0,#02,#E0,#05,#03,#50,#07,#A0,#F0,#02
  3721.                 DB #F8,#01,#0F,#C0,#07,#A0,#F0,#02,#E0,#05,#03,#50,#03,#20,#E0,#02
  3722.                 DB #C0,#08,#81,#08,#C3,#00,#E1,#00,#F7,#00,#F7,#00,#FF,#00,#FF,#00
  3723.  
  3724. ;***************************************
  3725. ;** CODE END LABEL                    **
  3726. ;***************************************
  3727.  
  3728. CODEEND
  3729.  
  3730. ;**************************************************************************
  3731. ;** LEVEL STUFF                                                          **
  3732. ;**************************************************************************
  3733.  
  3734. LEVELDATA
  3735. LEVELEND        EQU LEVELDATA+$2000
  3736.  
  3737. LEVELSTARTUP    DB $FF,$FF         ; HERO X,Y
  3738. MAPXS           DB $FF             ; MAPX
  3739. MAPYS           DB $FF             ; MAPY
  3740. MAPDIRS         DB 0               ; 0=SCROLL L/R - 1=SCR0LL U/D
  3741. WEPROOMX        DB $FF             ; WEAPON ROOM X INIT
  3742. WEPROOMY        DB $FF             ; WEAPON ROOM Y INIT
  3743. DOORXY          DW $FFFF           ; DOOR XY
  3744. RM              DB $FF             ; RIGHTMAX
  3745. RDM             DB $FF             ; DOWNMAX
  3746. UD              DB $FF             ; SETUD
  3747. LR              DB $FF             ; SETLR
  3748. FLOORTESTBYTES  DW $FFFF           ; FLOOR BLOCKS
  3749. FLOORWALLBYTES  DW $FFFF           ; WALL BLOCKS
  3750. LD1             DB $FF             ; LADDER BLOCKS - $FF,$FF
  3751. LD2             DB $FF             ; LADDER BLOCKS - $FF,$FF
  3752. CR1             DB $FF             ; CRAWL ON BLOCK
  3753. SL1             DB $FF             ; SLIDE UP
  3754. SL2             DB $FF             ; SLIDE UP
  3755. SL3             DB $FF             ; SLIDE DOWN
  3756. SL4             DB $FF             ; SLIDE DOWN
  3757. BADDYINITSX     DW $FFFF           ; LEVEL BADDY INITS X
  3758. BADDYINITSX2    DW $FFFF           ; LEVEL BADDY INITS X2
  3759. BADDYINITSY     DW $FFFF           ; LEVEL BADDY INITS Y
  3760. CHRS            DW $FFFF           ; CHRS
  3761. ATRS            DW $FFFF           ; ATRS
  3762. BLOX            DW $FFFF           ; BLOX
  3763. MAP1            DW $FFFF           ; MAPX
  3764. MAP2            DW $FFFF           ; MAPY
  3765. MAXMAP          DB 0               ; MAPXMAXSIZE
  3766.  
  3767. PRTLEVELBACK    LD HL,0:LD HL,0:LD HL,0:RET
  3768. RESETLEVELBAD   JP RETURN
  3769. SMODLEVEL       JP RETURN
  3770. WAPTABLE        DB $00,0,$00,0,$00,0,$00,0,$00,0,$00,0
  3771. KILLBIG         JP RETURN
  3772. INITBIG1        JP RETURN
  3773. INITBIG2        JP RETURN
  3774. INITBIG3        JP RETURN
  3775. INITBIG4        JP RETURN
  3776.  
  3777.                         ENDIF
  3778.  
  3779. ;*****************************************************************************
  3780. ;** END OF FILE                                                             **
  3781. ;*****************************************************************************