?login_element?

Subversion Repositories NedoOS

Rev

Rev 804 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

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