?login_element?

Subversion Repositories NedoOS

Rev

Rev 803 | Rev 1626 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

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