Login

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

;*****************************************************************************
;** LEVEL 3 STUFF (DATA, SPRITES AND PROGRAMMING )                          **
;*****************************************************************************

;                IF STARTLEV=3

                PHASE LEVELDATA

LEVEL3DATA
                DB $20,$30+FLOROF      ; HERO X,Y
                DB $00                 ; MAPX
                DB $68                 ; MAPY
                DB 0                   ; 0=SCROLL L/R - l=SCROLL U/D
                DB $86,$00             ; WEAPON ROOM X,Y INIT
                DW $48D8               ; DOOR XY
                DB $86,$68             ; RIGHTMAX,DOWNMAX
                DB $54,$00             ; SETUD,SETLR
                DW FL00R3              ; FLOOR BLOCKS
                DW WALL3               ; WALL BLOCKS
                DB $FF,$FF             ; LADDER BLOCKS - SFF,SFF - $FF,$FF
                DB $FF                 ; CRAWL ON BLOCK
                DB $96,$FF             ; SLIDE UP
                DB $FF,$FF             ; SLIDE DOWN
                DW LEV3BADX,LEV3BADX2  ; LEVEL BADDY INITS X,EXTRA X
                DW LEV3BADY            ; LEVEL BADDY INITS Y
                DW L3CHRS              ; CHRS
                DW L3ATRS              ; ATRS
                DW L3BLOX              ; BLOX
                DW L3MAPX              ; MAPX
                DW L3MAPY              ; MAPY
                DB 80                  ; MAPXMAXSIZE

                CALL PRTLIFTS:CALL PRTLASER:CALL PRTLEV3COGS:RET
                JP RESETLEV3BAD
                JP SMODLIFTS
WAPTABLE3       DB $03,2,$01,2,$07,3,$06,3,$09,3,$0A,2
                JP KILLLASER           ; KILL BIG
                JP INITLASER           ; INIT BIG 1
                JP INITBIGCOG          ; INIT BIG Z
                JP INITTREECOG         ; INIT BIG 3
                JP COLOURBEE3          ; INIT BIG 4

;***************************************

RESETLEV3BAD    XOR A:LD (ISBIGON),A
                LD (PRTBIGCOGS+1),A:LD (PRTLEV3COGS+1),A
                LD (PRTLASER+1),A

                LD HL,BADBEE3:LD (BEE1),HL

                LD HL,L1+1:LD B,4:LD DE,6-1:LD A,$30
RESLIF          LD (HL),A:INC HL:LD (HL),$70:ADD HL,DE:ADD A,$30
                DJNZ RESLIF
                RET

;***************************************

FL00R3          DB 3+4+3+2+1+2+2
                DB #17,#01,#02
                DB #0C,#12,#08,#13
                DB #03,#04,#05
                DB #14,#96
                DB #0C
                DB #09,#0E
                DB #06,#07

WALL3           DB 2+2+2
                DB #11,#10
                DB #0A,#66
                DB #67,#68

;***************************************

LEV3BADX        DB $02,$06              ; BEE
                DB $06,$00,$44,JUMP+KEY ; BADDY
                DB $10,$07              ; BEE
                DB $18,$00,$64,KEY      ; BADDY
                DB $1C,$00,$64,KEY      ; BADDY
                DB $26,$FF              ; LASER GUN
                DB $30,$01,$24,KEY      ; BADDY
                DB $32,$01,$64,KEY      ; BADDY
                DB $38,$01,$24,KEY      ; BADDY
                DB $3A,$01,$64,KEY      ; BADDY
                DB $40,$01,$24,KEY      ; BADDY
                DB $42,$01,$64,KEY      ; BADDY
                DB $48,$01,$24,KEY      ; BADDY
                DB $4A,$01,$64,KEY      ; BADDY
                DB $50,$01,$24,KEY      ; BADDY
                DB $52,$01,$64,KEY      ; BADDY
                DB $FF,$FF              ; END OF DATA
LEV3BADY        DB $60,$06              ; BEE
                DB $5C,$07              ; BEE
                DB $58,$06              ; BEE
                DB $54,$06              ; BEE
                DB $50,$06              ; BEE
                DB $4C,$07              ; BEE
                DB $48,$07              ; BEE
                DB $44,$06              ; BEE
                DB $40,$07              ; BEE
                DB $3E,$07              ; BEE
                DB $3C,$06              ; BEE
                DB $3A,$06              ; BEE
                DB $38,$07              ; BEE
                DB $36,$07              ; BEE
                DB $34,$06              ; BEE
                DB $32,$06              ; BEE
                DB $30,$07              ; BEE
                DB $2E,$07              ; BEE
                DB $2C,$06              ; BEE
                DB $2A,$06              ; BEE
                DB $28,$07              ; BEE
                DB $26,$07              ; BEE
                DB $24,$06              ; BEE
                DB $1C,$FB,$06          ; SCROLL
                DB $16,$FD              ; LITTLE COGS
                DB $00,$FE              ; BIG COGS
                DB $FF,$FF              ; END OF DATA
LEV3BADX2       DB $70,$01,$64,KEY      ; BADDY
                DB $74,$01,$64,KEY      ; BADDY
                DB $78,$01,$64,KEY      ; BADDY
                DB $7C,$01,$64,KEY      ; BADDY
                DB $80,$01,$64,KEY      ; BADDY
                DB $FF,$FF              ; END OF DATA

;*****************************************************************
;** PRT LASER                                                   **
;*****************************************************************

INITLASER       LD A,1:LD (PRTLASER+1),A:LD DE,$20E0:LD (LASERX+1),DE
                LD A,$60:LD (BIGHITS),A:RET

KILLLASER       XOR A:LD (NOSCROLL+1),A:LD (PRTLASER+1),A
                LD (ISBIGON),A:PUSH BC:PUSH IX:LD DE,(LASERX+1)
                PUSH DE:LD A,D:ADD A,$20:LD D,A:CALL INITEXPNORND:POP DE
                PUSH DE:LD A,D:ADD A,$40:LD D,A:CALL INITEXPNORND:POP DE
                CALL INITEXPNORND:POP IX:POP BC:RET

PRTLASER        LD A,1:OR A:RET Z:LD (ISBIGON),A

LASERX          LD DE,$2000:LD A,E:CP $C0:JR NC,FJOE
                LD A,1:LD (NOSCROLL+1),A
FJOE            PUSH DE:LD HL,LASERHOLD:LD BC,$0410:CALL BAXIT:POP DE
                PUSH DE:LD A,D:ADD A,$20:LD D,A
                LD HL,LASERHOLD+$60:LD BC,$0404:CALL BAXIT
                POP DE:PUSH DE:LD A,D:ADD A,$28:LD D,A
                LD HL,LASERHOLD+$60:LD BC,$0404:CALL BAXIT
                POP DE:PUSH DE:LD A,D:ADD A,$30:LD D,A
                LD HL,LASERHOLD+$60:LD BC,$0414:CALL BAXIT
                POP DE:PUSH DE:LD HL,LASERATTR:LD BC,$0458:CALL ATRIT
                POP DE:LD A,E:SUB 8:LD E,A

LASERANI        LD A,$2C
LASERD          ADD A,2:LD (LASERANI+1),A:LD D,A
                CP $2C:JR Z,SWAPLAS:CP $5E:JR NZ,NOSWAPLAS
SWAPLAS         LD A,(LASERD+1):NEG :LD (LASERD+1),A
NOSWAPLAS       LD HL,LASER:PUSH DE:LD BC,$0208:CALL MASKCXB:POP DE

                LD HL,(LASERX+1):LD H,$20:LD (BIGX1),HL
                LD HL,(LASERX+2):LD H,$60:LD (BIGY1),HL

LASERFIRE       LD A,0:INC A:LD (LASERFIRE+1),A:CP 20:RET C
                XOR A:LD (LASERFIRE+1),A
                LD A,(LASERANI+1):ADD A,4:LD D,A
                LD A,E:SUB $10:LD E,A
                LD A,12:LD B,4:JP INITLAS

LASER           DB #F8,#00,#07,#B0,#0F,#A0,#F0,#06,#E0,#08,#07,#B0,#07,#B0,#C0,#14
                DB #80,#2E,#03,#08,#01,#F4,#00,#5D,#00,#BB,#00,#82,#00,#02,#00,#97
                DB #00,#AE,#00,#02,#01,#1C,#00,#A4,#00,#48,#03,#10,#07,#10,#80,#28
                DB #C0,#14,#07,#10,#07,#10,#E0,#0A,#F0,#04,#07,#10,#0F,#E0,#F8,#03

LASERHOLD       DB #FF,#FF,#FF,#FF,#7F,#18,#18,#C0,#99,#C1,#C1,#BF,#DF,#EA,#EA,#AC
                DB #B6,#74,#75,#6F,#B7,#BA,#02,#BB,#BD,#BB,#5D,#5B,#01,#00,#00,#BE
                DB #BE,#FF,#8E,#4D,#AD,#8E,#81,#9E,#AE,#9E,#8D,#5D,#99,#0C,#AF,#96
                DB #8A,#B0,#0C,#3A,#F2,#0F,#B5,#A4,#B2,#12,#80,#05,#75,#00,#C5,#A1
                DB #B0,#40,#20,#B5,#75,#08,#54,#A4,#B2,#4B,#E8,#B5,#75,#28,#54,#A1
                DB #B0,#48,#2C,#F5,#E1,#E7,#4F,#A0,#B0,#40,#10,#0E,#40,#A8,#42,#A4
                DB #B2,#44,#00,#36,#9B,#54,#4E,#A1,#B0,#57,#00,#4D,#25,#FE,#5A,#A0
                DB #B0,#5D,#02,#4D,#9B,#56,#4D,#A0,#B0,#45,#02,#36,#AC,#FE,#41,#A4
                DB #B2,#40,#00,#18,#2C,#FF,#5F,#A1,#B0,#50,#01,#16,#0B,#A1,#52,#A0
                DB #B0,#55,#50,#05,#AD,#A2,#52,#A0,#B0,#55,#50,#01,#02,#A2,#52,#A4
                DB #B2,#55,#50,#0A,#02,#A2,#52,#A1,#B0,#50,#00,#0A,#02,#FA,#5F,#A0
                DB #B0,#40,#00,#0A,#02,#FA,#5F,#A0,#B0,#40,#00,#0A,#02,#32,#56,#A4
                DB #B2,#5B,#18,#0A,#02,#02,#5C,#B5,#BA,#5D,#98,#0A,#02,#9A,#5D,#5D
                DB #2E,#4D,#98,#0A,#02,#9A,#85,#57,#2B,#79,#98,#02,#25,#00,#80,#51
                DB #B0,#40,#00,#71,#2D,#FF,#DF,#98,#8D,#B5,#55,#0D,#0D,#01,#70,#A7
                DB #92,#FF,#FF,#FD,#FD,#FF,#FF,#49,#20,#00,#00,#01,#FF,#FF,#FF,#1F

LASERATTR       DB #46,#45,#45,#45
                DB #46,#4D,#4D,#45
                DB #56,#43,#43,#4C
                DB #56,#0E,#43,#4F
                DB #56,#0E,#43,#4F
                DB #56,#0E,#43,#4F
                DB #56,#0E,#43,#4F
                DB #56,#06,#06,#06
                DB #56,#06,#0E,#45
                DB #46,#45,#4D,#45
                DB #45,#4D,#4D,#45

;*******************************************************************************
;** PRT COGS                                                                  **
;*******************************************************************************

INITTREECOG     LD HL,COGS1XB:LD DE,COGS1X:LD BC,4*5:LDIR
                LD A,1:LD (NOSCROLL+1),A:LD (PRTLEV3COGS+1),A
                LD A,3:LD (COGNUMB+1),A:CALL INCCOGNUM
                LD A,31:LD (LEV3DEL+1),A
                LD A,3:JP PLAYMUSIC

PRTLEV3COGS     LD A,1:PUSH AF:CALL PRTBIGCOGS:POP AF:OR A:RET Z
LEV3DEL         LD A,31:DEC A:JP M,NAL:LD (LEV3DEL+1),A
NAL
COGON           LD A,0:XOR $92:LD (COGON+1),A
                LD HL,COGSPRTREE:CALL ADDHLA
                LD (NAFTER+1),HL
COGNUMB         LD C,0:LD B,4:LD IX,COGS1X
PRTL3COGBLP     PUSH BC:LD A,4:SUB B:LD (HARRY+1),A
                LD A,(IX+04):OR A:JR Z,GONEXTCOG

                PUSH BC
NAFTER          LD HL,0:LD E,(IX+00):LD D,(IX+01):CALL BAXITA
                LD E,(IX+00):LD D,(IX+01):INC IX:INC IX
                LD BC,$2020:CALL ISBULORHERO:DEC IX:DEC IX
                POP BC
                LD A,(IX+04):OR A:JR NZ,GANXTCOG
                LD E,(IX+00):LD D,(IX+01)
                PUSH IX:PUSH BC:CALL INITEXPNORND:POP BC:POP IX

                LD A,(COGNUMB+1)
HARRY           CP 0:JR Z,NACUM

GANXTCOG        LD A,(LEV3DEL+1):OR A:JR NZ,NACUM
                LD A, 4: SUB B:CP C:JR NZ,NDOSWAP
                LD A,(IX+00):ADD A,(IX+02):LD (IX+00),A
                LD A,(IX+01):ADD A,(IX+03):LD (IX+01),A
                JR Z,DOSWAP:CP $40:JR NZ,NDOSWAP
DOSWAP          LD A,(IX+02):NEG:LD (IX+02),A
                LD A,(IX+03):NEG:LD (IX+03),A:JP M,NDOSWAP
NACUM           CALL INCCOGNUM
NDOSWAP

GONEXTCOG       POP BC:LD DE,5:ADD IX,DE:DEC B:JP NZ,PRTL3COGBLP:RET
INCCOGNUM       LD B,4
GONXTCOG        LD A,(COGNUMB+1):INC A:AND 3:LD (COGNUMB+1),A
                PUSH HL:PUSH DE:LD HL,COGS1X+4:LD DE,5:CALL MULT
                LD A,(HL):OR A:JR NZ,NIOSWAP
                POP DE:POP HL:DJNZ GONXTCOG
                LD A,$16:LD (CONTSCROLL+1),A:RET

NIOSWAP         DEC HL:DEC HL:DEC HL:DEC HL
                LD E,(HL):INC HL:INC HL
                LD A,(HEROX+1):SUB E:JR NC,COR
COL             NEG :SRL A:SRL A:SRL A:NEG :LD (HL),A:JR ZAKS
COR             SRL A:SRL A:SRL A:LD (HL),A
ZAKS            POP DE:POP HL:RET

COGS1X          DS 4*5,0
COGS1XB         DW $0020
                DB 0,8             ; XY DIR
                DB 16              ; ENERGY
                DW $0058
                DB 0,8             ; XY DIR
                DB 16              ; ENERGY
                DW $0090
                DB 0,8             ; XY DIR
                DB 16              ; ENERGY
                DW $00C8
                DB 0,8             ; XY DIR
                DB 16              ; ENERGY

COGSPRTREE
                DB 4,4*8
                DB #03,#00,#00,#00,#1C,#E0,#03,#46,#64,#04,#10,#39,#13,#D0,#89,#B1
                DB #C2,#4B,#A1,#C5,#20,#A2,#4B,#45,#4B,#5B,#9D,#D1,#E8,#C3,#27,#0B
                DB #0B,#DF,#FF,#C8,#B0,#FF,#FF,#0B,#05,#F8,#3F,#40,#40,#CF,#E3,#02
                DB #32,#CC,#37,#78,#84,#0B,#90,#4D,#53,#92,#4B,#F2,#FA,#85,#21,#5F
                DB #5F,#21,#85,#FA,#CA,#4B,#92,#4F,#21,#90,#0B,#B2,#4C,#37,#CC,#1E
                DB #02,#E3,#CF,#40,#A0,#3F,#F8,#02,#1D,#FF,#FF,#D0,#D0,#FB,#FF,#23
                DB #2F,#C7,#E5,#D0,#A0,#DA,#BB,#17,#68,#45,#D2,#46,#83,#D1,#85,#C7
                DB #10,#0B,#90,#18,#0D,#20,#08,#34,#66,#07,#C0,#26,#00,#00,#00,#03
                DB #44,#47,#47,#44
                DB #47,#57,#57,#47
                DB #47,#57,#57,#47
                DB #44,#47,#47,#44

                DB 4,4*8
                DB #0C,#00,#00,#30,#78,#18,#18,#06,#26,#64,#26,#64,#08,#59,#9A,#08
                DB #01,#7A,#5E,#86,#82,#BE,#74,#0D,#33,#7B,#B2,#B0,#C8,#78,#BC,#14
                DB #16,#DF,#FB,#28,#F4,#FC,#7F,#2E,#2D,#F8,#3F,#F4,#DA,#CF,#E3,#5F
                DB #5F,#CC,#37,#DA,#A4,#8B,#90,#27,#1B,#90,#0B,#D8,#A0,#85,#2D,#05
                DB #05,#21,#B5,#A0,#D8,#0B,#90,#1D,#25,#91,#0B,#E4,#FA,#37,#CC,#5B
                DB #5F,#E3,#CF,#FA,#B4,#3F,#F8,#2F,#2F,#3F,#FC,#74,#A8,#F8,#1F,#14
                DB #0A,#5F,#7C,#54,#20,#3D,#AE,#A4,#61,#7E,#0E,#84,#9A,#2E,#7D,#01
                DB #2C,#9A,#59,#0C,#62,#46,#62,#9A,#23,#1C,#38,#68,#30,#00,#00,#06
                DB #44,#47,#47,#44
                DB #47,#57,#57,#47
                DB #47,#57,#57,#47
                DB #44,#47,#47,#44

;*******************************************************************************
;** PRT BIG COGS                                                              **
;*******************************************************************************

EYE             LD A,0:OR A:JR NZ,KILLEYE
                LD IX,EYEENG-1:LD DE,$0090:LD BC,$0F0F:CALL ISBULINBOX
EYEENG          LD A,$20:OR A:JR Z,KILEYE
                LD A,(POS):AND 15:RET NZ
                LD A,(HEROX+1):LD DE,$0A90:CP $60:JR C,FILT
                LD DE,$0888:CP $A0:JR C,FILT:LD DE,$0680
FILT            LD A,D:LD D,0:LD B,4:JP INITBAL

KILEYE          LD A,1:LD (EYE+1),A:RET

KILLEYE         INC A:LD (EYE+1),A:CP 26+2:JR NC,DEADEYE
                SUB 2:LD E,A:AND 1:RET NZ
                SRL E:RES 0,E:LD D,0:CALL ZAX
                LD A,24:SUB E:LD E,A:CALL ZAX

ZAX             PUSH DE:CALL UPDATEX:POP DE:PUSH DE
                LD A,E:ADD A,A:ADD A,A:ADD A,A:ADD A,$10:LD E,A
                PUSH DE:CALL INITEXPNORND:POP DE:LD A,D:ADD A,$20:LD D,A
                LD A,E:ADD A,$08:LD E,A

                PUSH DE:CALL INITEXPNORND:POP DE:LD A,D:ADD A,$20:LD D,A
                LD A,E:ADD A,$08:LD E,A
                PUSH DE:CALL INITEXPNORND:POP DE:LD A,D:ADD A,$20:LD D,A
                LD A,E:SUB $08:LD E,A
                CALL INITEXPNORND:POP DE:RET

DEADEYE         XOR A:LD (PRTBIGCOGS+1),A:LD (NOSCROLL+1),A:RET

INITBIGCOG      LD HL,COGINIT1:LD DE,COG1X:LD BC,7*2:LDIR
                XOR A:LD (EYE+1),A
                LD A,$20:LD (EYEENG+1),A
                LD A,1:LD (PRTBIGCOGS+1),A:LD (NOSCROLL+1),A:RET

PRTBIGCOGS      LD A,1:OR A:RET Z
                DEC A:JP NZ,EYE
COGNM           LD A,0:XOR 1:LD (COGNM+1),A
                LD HL,COGATTR1:JR Z,HEAS:LD HL,COGATTR2
HEAS            LD (COGATTR+1),HL
                LD HL,BIGCOG:LD DE,$90:CALL MULT

                PUSH HL:LD IX,COG1X:CALL PRTBIGCOG1
                POP HL:LD IX,COG2X

PRTBIGCOG1      LD A,(IX+02):OR A:RET Z
                LD E,(IX+00):LD D,(IX+01):LD A,D:AND $F8:LD D,A
                PUSH HL:PUSH DE:LD BC,$030C:CALL MASKCXBMIR:POP DE:POP HL
                LD A,E:ADD A,$18:LD E,A
                PUSH HL:PUSH DE:LD BC,$030C:CALL MASKCXB:POP DE:POP HL
                LD A,D:ADD A,$2F:LD D,A
                PUSH HL:PUSH DE:LD BC,$030C:CALL MASKCXBINV:POP DE:POP HL
                LD A,E:SUB $18:LD E,A
                PUSH HL:PUSH DE:LD BC,$030C:CALL MASKCXBMINV:POP DE:POP HL
                LD A,D:SUB $2F:LD D,A

                PUSH DE
                LD A,E:ADD A,$08:LD E,A:LD A,D:ADD A,$08:LD D,A
COGATTR         LD HL,0:LD BC,$0404:CALL BAXATR:POP DE

                PUSH DE:LD A,E:ADD A,8:LD E,A:LD A,D:ADD A,8:LD D,A
                LD BC,$2020:CALL ISBULORHERO:POP DE

                LD A,(IX+02):OR A:JR NZ,NOKILIT
                PUSH IX
                LD A,E:SUB $08:LD E,A:PUSH DE:CALL INITEXPNORND:POP DE
                LD A,E:ADD $20:LD E,A:PUSH DE:CALL INITEXPNORND:POP DE
                LD A,D:ADD $20:LD D,A:PUSH DE:CALL INITEXPNORND:POP DE
                LD A,E:SUB $20:LD E,A:PUSH DE:CALL INITEXPNORND:POP DE
                POP IX

                LD A,(COG1X+2):OR A:JR NZ,NOKILIT
                LD A,(COG2X+2):OR A:JR NZ,NOKILIT

                LD A,2:LD (PRTBIGCOGS+1),A

NOKILIT         LD A,(IX+00):ADD A,(IX+03):LD (IX+00),A
                LD A,(IX+01):ADD A,(IX+04):LD (IX+01),A
                DEC (IX+05):RET NZ

                LD A,(IX+06):CP 8:JR C,CINC
CDEC            SUB 2:AND 6:OR 8:LD (IX+06),A:JR CDEG
CINC            ADD A,2:AND 6:LD (IX+06),A
CDEG            LD DE,COGDIRS:ADD A,E:LD E,A:ADC A,D:SUB E:LD D,A
                LD A,(DE):LD (IX+03),A:INC DE:LD C,A
                LD A,(DE):LD (IX+04),A:LD (IX+05),15
                LD A,C:OR A:RET Z:LD (IX+05),28:RET

COGATTR1        DB #47,#47,#47,#47
                DB #47,#42,#42,#47
                DB #47,#42,#42,#47
                DB #47,#47,#47,#47

COGATTR2        DB #00,#47,#47,#00
                DB #47,#42,#42,#47
                DB #47,#42,#42,#47
                DB #00,#47,#47,#00

COG1X           DS 7,0
COG2X           DS 7,0
COGINIT1        DW $0420
                DB $20
                DW $0400,$000F
                DW $04B0
                DB $20
                DW $0000,$102E

BIGCOG
                DB #7F,#00,#FF,#00,#FF,#00,#FF,#00,#FF,#00,#3F,#00,#1F,#80,#FF,#00
                DB #FF,#00,#FF,#00,#FF,#00,#0F,#40,#0F,#40,#FE,#00,#7F,#00,#3F,#00
                DB #FC,#00,#0F,#40,#07,#20,#F0,#01,#1F,#80,#0F,#40,#E0,#02,#07,#20
                DB #01,#20,#C0,#0C,#0F,#40,#1F,#80,#00,#10,#00,#10,#00,#1E,#00,#20
                DB #1F,#80,#3F,#00,#00,#C1,#00,#03,#00,#00,#00,#02,#7F,#00,#7F,#00
                DB #00,#02,#00,#00,#00,#00,#00,#04,#FF,#00,#FF,#00,#00,#04,#00,#00
                DB #00,#C0,#00,#04,#FF,#00,#7F,#00,#00,#02,#00,#20,#00,#C0,#00,#02
                DB #7F,#00,#1F,#00,#00,#02,#00,#B0,#00,#08,#00,#01,#07,#80,#03,#60
                DB #00,#00,#00,#4A,#00,#E5,#00,#00,#01,#18,#00,#04,#00,#00,#00,#CD
BIGCOG2
                DB #FE,#00,#3F,#00,#FF,#00,#FF,#00,#1F,#80,#FC,#00,#F8,#01,#0F,#40
                DB #FF,#00,#FF,#00,#0F,#40,#F8,#01,#F0,#02,#0F,#40,#FF,#00,#FF,#00
                DB #0F,#40,#F0,#02,#00,#04,#0F,#40,#FF,#00,#FF,#00,#0F,#40,#00,#04
                DB #00,#E8,#0F,#40,#FF,#00,#FF,#00,#0F,#40,#00,#10,#00,#00,#0F,#40
                DB #FF,#00,#FF,#00,#07,#20,#00,#00,#00,#00,#03,#10,#87,#00,#03,#00
                DB #00,#10,#00,#00,#00,#00,#00,#08,#01,#78,#00,#84,#00,#0F,#00,#00
                DB #00,#00,#00,#00,#00,#04,#01,#18,#00,#00,#00,#30,#00,#C8,#00,#00
                DB #03,#60,#07,#80,#00,#01,#00,#34,#00,#3A,#00,#02,#1F,#00,#7F,#00
                DB #00,#02,#00,#9A,#00,#84,#00,#01,#3F,#00,#3F,#00,#00,#01,#00,#E4

COGDIRS
                DW $0400,$0004,$FC00,$00FC
                DW $0004,$FC00,$00FC,$0400
                DW $0000

;****************************************************************************
;** PRT LIFTS                                                              **
;****************************************************************************

SMODLIFTS       LD A,(PRTLASER+1):OR A:JR Z,NOLAS
                LD A,(LASERX+1):ADD A,L:LD (LASERX+1),A
NOLAS
                LD A,(PRTLIFTS+1):OR A:RET Z
                LD IX,L1+1:LD DE,6:LD B,4
SM0DALLXBLP4    LD A,(IX+00):CP $E8:JR NC,NFZ:ADD A,L:LD (IX+00),A
                LD A,(IX+01):ADD A,H:CP $71:JR NC,NFZ:LD (IX+01),A
NFZ             ADD IX,DE:DJNZ SM0DALLXBLP4:RET

PRTLIFTS        LD A,0
                XOR A:LD (PRTLIFTS+1),A
                LD A,(MAPX):CP $54:RET C:LD (PRTLIFTS+1),A

                CALL DOLIF
L1              LD DE,$7030:CALL PRTLIFT   ; DONT CHANGE
L2              LD DE,$7060:CALL PRTLIFT   ; DONT CHANGE
L3              LD DE,$7090:CALL PRTLIFT   ; DONT CHANGE
L4              LD DE,$70C0:JP PRTLIFT     ; DONT CHANGE

DOLIF           LD A,(MAPY):CP $1A:RET C
                LD A,(POS):AND 1:RET NZ
LN              LD A,0
                LD HL,L1+2:CALL ADDHLA
                LD A,(HL):SUB 8:LD (HL),A
                LD A,(POS):AND 7:RET NZ
                LD A,(LN+1):ADD A,6:LD (LN+1),A:CP 24:RET C
                XOR A:LD (LN+1),A:RET

PRTLIFT         LD A,E:CP $E8:RET NC
                LD A,D:AND $F8:LD D,A
                LD A,D:CP $78:RET NC:XOR 127:AND $78:LD B, A
                PUSH BC:PUSH DE:LD HL,BASE2:LD A,E:SUB $10:LD E,A
                LD BC,$0108:CALL MASKCXB:POP DE
                PUSH DE:LD HL,BASE3:LD A,E:ADD A,$18:LD E,A
                LD BC,$0108:CALL MASKCXB:POP DE
                PUSH DE:LD A,E:SUB $08:LD E,A
                LD HL,BASE:CALL BAXITA:POP DE:POP BC

                PUSH DE:LD A,E:SUB $10:LD E,A
                PUSH DE:LD A,(HEROX+1):ADD A,8:LD L,A:LD H,$0F
                LD D,$2F:CALL HITA:POP DE:JR C,NOTONL
                PUSH DE:LD A,(HEROX+2):ADD A,0:LD L,A:LD H,$0F
                LD E,D:LD D,$0F:CALL HITA:POP DE:JR C,NOTONL

                LD A,D:SUB $0C:LD (SHIM+1),A
                XOR A:LD (HEROF+1),A:LD (HEROG+1),A
                INC A:LD (STH+1),A

                LD A,(GUNDIR+1):CP $FF:CALL Z,FEST

                LD A,(HEROP+1):AND 7:OR 16:LD (HEROP+1),A
                LD A,(GUNDIR+1):AND 7:LD (GUNDIR+1),A
                LD A,(FUDLR):AND $0F:JR NZ,NOTONZ
                LD A,(HEROP+1):OR 24:LD (HEROP+1),A
NOTONZ          LD A,(HEROCRAWL+1):OR A:JR Z,NOTONL
                LD A,(GUNDIR+1):AND 7:OR 56:LD (GUNDIR+1),A
                LD A,(HEROP+1):AND 7:OR 40:LD (HEROP+1),A:JR NOTONL

NOTONL          POP DE
                LD A,B:SUB 8:RET C:RET Z:LD B,A
                LD A,D:ADD A,$10:LD D,A
                PUSH DE:PUSH BC:CALL BIXAD:LD IX,LIFTBASE
                LD A,16:LD (CCNT+1),A
                XOR A:LD (IXOF1+2),A:INC A:LD (IXOF2+2),A:LD DE,32-1
IXOF1           LD A,(IX+00):LD (HL),A:INC HL
IXOF2           LD A,(IX+01):LD (HL),A:ADD HL,DE
CCNT            LD A,0:DEC A:LD (CCNT+1),A:JR NZ,NOFS:LD IX,LIFTBASE2
NOFS            LD A,(IXOF1+2):ADD A,2:AND 30:LD (IXOF1+2),A
                INC A:LD (IXOF2+2),A:DJNZ IXOF1:POP BC:POP DE:LD A,B
                RRA :RRA :RRA :AND 31:LD B,A:CALL BATAD:LD DE,32-1
BISD            LD (HL),6:INC HL:LD (HL),#46:ADD HL,DE:DJNZ BISD
                RET

BASE            DB 4,2*8
                DB #00,#00,#00,#00,#DD,#FF,#FF,#FF,#FF,#FF,#FF,#EE,#00,#00,#00,#00
                DB #99,#99,#99,#99,#CC,#CC,#CC,#CC,#00,#00,#00,#00,#FF,#FF,#FF,#EF
                DB #7F,#FF,#FF,#FF,#00,#00,#00,#00,#7F,#FF,#FF,#FF,#88,#88,#88,#48
                DB #48,#88,#88,#88,#CC,#CC,#CC,#6C,#6E,#EE,#EE,#EE,#00,#00,#00,#00
                DB #06,#06,#06,#06
                DB #07,#07,#07,#07

BASE2           DB #00,#00,#00,#7B,#00,#7D,#00,#3E,#00,#51,#00,#68,#00,#64,#00,#63
                DB #00,#65,#80,#26,#C0,#17,#E0,#0F,#F0,#07,#F8,#03,#FC,#01,#FE,#00
BASE3           DB #FF,#00,#7F,#00,#3F,#80,#1F,#40,#0F,#20,#07,#90,#03,#08,#01,#74
                DB #00,#BA,#00,#00,#00,#FE,#00,#8A,#00,#8A,#00,#CA,#00,#FE,#00,#00
LIFTBASE        DB #00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#06,#A0,#7E,#65,#FC
                DB #4B,#F8,#45,#E1,#4B,#84,#44,#0D,#40,#3C,#40,#DD,#41,#7C,#62,#DD
LIFTBASE2       DB #A1,#7C,#A2,#DC,#A1,#7A,#A2,#D2,#A1,#46,#A2,#1E,#A0,#7E,#65,#FC
                DB #4B,#F8,#45,#E1,#4B,#80,#44,#0D,#40,#3C,#40,#DD,#61,#7C,#A2,#DD

BADBEE3         DB #C0,#00,#70,#00,#0F,#00,#FF,#00,#FF,#00,#03,#00,#00,#00,#80,#00
                DB #00,#3F,#00,#8F,#01,#F0,#FF,#00,#FF,#00,#00,#0C,#00,#30,#00,#20
                DB #00,#26,#00,#41,#00,#F2,#7F,#00,#3F,#00,#00,#0D,#00,#86,#00,#20
                DB #00,#24,#00,#88,#00,#02,#1F,#80,#1F,#80,#00,#28,#00,#08,#00,#25
                DB #00,#25,#00,#10,#00,#1C,#0F,#C0,#07,#20,#00,#08,#00,#50,#00,#25
                DB #00,#22,#00,#00,#00,#00,#03,#50,#01,#28,#00,#02,#00,#30,#00,#24
                DB #00,#24,#00,#1A,#00,#0C,#01,#08,#01,#08,#00,#F2,#00,#01,#00,#24
                DB #00,#24,#00,#00,#00,#0B,#00,#24,#00,#0A,#00,#14,#00,#30,#00,#28
                DB #00,#28,#00,#18,#00,#00,#00,#62,#00,#62,#00,#0C,#00,#00,#00,#28
                DB #00,#24,#00,#18,#00,#2C,#00,#44,#00,#3A,#00,#98,#00,#05,#00,#28
                DB #00,#28,#00,#03,#00,#7A,#00,#3A,#00,#12,#00,#7C,#00,#0B,#00,#28
                DB #00,#24,#00,#01,#00,#3A,#00,#46,#00,#BC,#00,#9C,#00,#00,#00,#23
                DB #00,#20,#00,#C0,#00,#00,#01,#40,#03,#A0,#00,#01,#00,#04,#00,#24
                DB #00,#25,#00,#01,#00,#30,#07,#A0,#07,#20,#00,#10,#00,#00,#00,#21
                DB #00,#24,#00,#80,#00,#00,#07,#20,#0F,#40,#00,#00,#00,#60,#00,#38
                DB #83,#00,#00,#10,#00,#02,#1F,#80,#0F,#40,#00,#00,#00,#22,#C7,#00
                DB #FF,#00,#00,#21,#00,#00,#07,#A0,#03,#50,#00,#20,#00,#40,#FE,#00
                DB #FC,#00,#00,#C0,#00,#10,#03,#10,#07,#20,#00,#00,#00,#80,#FC,#00
                DB #FE,#00,#00,#78,#00,#0F,#0F,#C0,#1F,#00,#00,#F0,#00,#07,#FF,#00
                DB #FF,#00,#80,#00,#00,#00,#3F,#00,#FF,#00,#0F,#00,#F8,#00,#FF,#00

BADBEEATR31     DB #43,#05,#45,#00
                DB #43,#05,#45,#00
                DB #43,#05,#46,#07
                DB #03,#05,#45,#00
                DB #00,#05,#45,#00

BADBEEATR32     DB #00,#45,#05,#43
                DB #00,#45,#05,#43
                DB #07,#46,#05,#43
                DB #00,#45,#05,#03
                DB #00,#45,#05,#00

COLOURBEE3      LD A,(IX+PHASE):LD HL,BADBEEATR31:INC A:AND 4:JR Z,PTZ
                LD HL,BADBEEATR32
PTZ             LD E,(IX+XPOS):LD A,(IX+YPOS):SUB $10:AND $F8:LD D,A
                OR A:RET M:LD BC,$0405:CP $60:JP C,BAXATR
                LD A,$80:SUB D:RRA:RRA:RRA:AND 7:LD C,A
                JP BAXATR
LEVEL3END

;******************************************

L3CHRS
                DB #FE,#FF,#FE,#FF,#FE,#FC,#FD,#FE,#00,#00,#00,#00,#00,#00,#00,#00
                DB #FE,#FE,#FC,#F8,#FA,#FC,#FE,#FF,#16,#2D,#51,#28,#14,#2A,#15,#2A
                DB #FE,#FE,#FE,#FE,#FE,#FE,#FE,#FE,#43,#01,#00,#07,#3F,#FF,#FF,#00
                DB #E6,#1F,#FF,#FF,#FF,#FF,#FF,#00,#C1,#CE,#9B,#36,#EB,#F7,#BF,#5D
                DB #3D,#D7,#FF,#FF,#FE,#7F,#FF,#F9,#00,#58,#94,#64,#CA,#94,#28,#54
                DB #18,#27,#5D,#BA,#B7,#BB,#9D,#8F,#0C,#F3,#5F,#EB,#F6,#AD,#DB,#5B
                DB #43,#80,#80,#A0,#41,#40,#40,#40,#ED,#36,#01,#22,#15,#2C,#51,#38
                DB #0F,#E0,#55,#7A,#D7,#A8,#40,#A0,#80,#3D,#57,#EA,#77,#EB,#77,#AE
                DB #D5,#AB,#FE,#01,#16,#8D,#DE,#DD,#F5,#8E,#57,#A8,#9F,#5D,#BE,#7F
                DB #1C,#41,#77,#BB,#5D,#BB,#77,#E0,#0C,#F2,#59,#AC,#D4,#AC,#58,#74
                DB #CB,#DD,#3F,#FD,#EF,#F7,#EB,#F7,#89,#DC,#BA,#FD,#FE,#EB,#F4,#BE
                DB #03,#03,#1E,#2C,#1A,#61,#4C,#D5,#07,#0A,#1D,#4F,#33,#34,#DA,#A9
                DB #42,#F4,#78,#C0,#40,#0A,#8C,#04,#02,#01,#80,#80,#01,#03,#06,#07
                DB #0D,#5A,#A7,#6B,#96,#33,#EE,#DD,#40,#04,#00,#51,#2B,#8F,#17,#AF
                DB #04,#6C,#D6,#FF,#BE,#DB,#E5,#82,#0A,#03,#4D,#9F,#ED,#7F,#97,#0B
                DB #00,#48,#6E,#E7,#75,#57,#77,#A3,#00,#48,#C4,#6F,#2E,#97,#A6,#03
                DB #04,#11,#B8,#DD,#EF,#FF,#FF,#EF,#02,#21,#D8,#6D,#FE,#7F,#FF,#FF
                DB #F1,#44,#88,#04,#48,#00,#55,#00,#C6,#2A,#44,#08,#01,#00,#55,#00
                DB #01,#16,#A3,#B3,#99,#19,#0B,#02,#CB,#9E,#B5,#BE,#5D,#B6,#7D,#BA
                DB #55,#BF,#6A,#D5,#B0,#00,#00,#00,#EA,#42,#C1,#88,#00,#08,#00,#00
                DB #80,#80,#40,#40,#40,#80,#40,#00,#78,#B4,#FD,#FB,#7E,#2D,#96,#3C
                DB #1B,#3C,#56,#3F,#DE,#AC,#D6,#BF,#BB,#D5,#EB,#FF,#F7,#FF,#FF,#DF
                DB #FD,#F8,#F4,#7E,#FC,#EA,#F1,#BD,#FF,#7D,#EE,#DF,#FD,#76,#AB,#54
                DB #95,#CC,#E6,#8A,#05,#8A,#05,#02,#54,#28,#54,#2A,#94,#88,#14,#28
                DB #0C,#18,#00,#30,#61,#48,#10,#00,#00,#00,#10,#20,#00,#0C,#10,#08
                DB #00,#22,#80,#90,#31,#10,#80,#E0,#00,#10,#00,#02,#01,#00,#00,#00
                DB #04,#0E,#24,#00,#09,#06,#84,#00,#00,#80,#02,#40,#00,#20,#C0,#44
                DB #00,#06,#0C,#01,#00,#29,#10,#00,#10,#38,#90,#00,#C0,#40,#09,#98
                DB #81,#10,#02,#50,#20,#80,#C0,#A0,#00,#20,#00,#04,#00,#10,#00,#02
                DB #42,#00,#80,#01,#00,#10,#00,#08,#00,#20,#00,#02,#00,#04,#00,#00
                DB #00,#00,#02,#00,#02,#10,#00,#00,#00,#08,#04,#1C,#0A,#06,#44,#00
                DB #00,#00,#48,#60,#02,#48,#C0,#00,#20,#04,#0E,#04,#01,#1C,#09,#01
                DB #C2,#80,#14,#42,#04,#A8,#80,#10,#90,#10,#2A,#19,#88,#51,#04,#0D
                DB #00,#20,#00,#80,#84,#20,#00,#08,#01,#D2,#22,#01,#04,#00,#00,#00
                DB #22,#40,#AA,#04,#09,#00,#00,#00,#00,#01,#00,#44,#08,#00,#84,#4C
                DB #40,#0A,#21,#1A,#69,#10,#00,#00,#C8,#A2,#54,#20,#00,#00,#00,#00
                DB #00,#90,#38,#10,#04,#90,#40,#00,#21,#00,#42,#81,#00,#88,#01,#00
                DB #08,#22,#00,#02,#10,#00,#04,#00,#13,#06,#00,#02,#20,#01,#08,#00
                DB #00,#00,#00,#40,#C0,#A0,#40,#C0,#20,#14,#88,#05,#28,#1D,#5F,#BF
                DB #20,#40,#AA,#E4,#F9,#FF,#FF,#FF,#FF,#FE,#FC,#F9,#F2,#E5,#E0,#C3
                DB #FF,#FF,#7F,#9F,#EF,#F4,#E8,#71,#00,#00,#85,#0A,#0D,#05,#85,#0C
                DB #00,#00,#00,#04,#41,#A4,#FA,#FF,#16,#06,#09,#05,#0A,#06,#0E,#1C
                DB #FF,#FF,#FF,#FF,#FF,#FF,#FF,#FF,#89,#DC,#BA,#FD,#7E,#AB,#74,#BE
                DB #7D,#38,#74,#7E,#3C,#6A,#71,#3D,#48,#00,#00,#04,#41,#A4,#FA,#FF
                DB #14,#A1,#0A,#5F,#2F,#DF,#FF,#FF,#FF,#FF,#FF,#9F,#2F,#77,#AB,#51
                DB #0D,#8E,#15,#0E,#04,#8A,#05,#09,#8F,#47,#9B,#2D,#1E,#4B,#BF,#FF
                DB #04,#08,#02,#04,#02,#08,#06,#04,#FA,#F4,#E2,#40,#40,#00,#00,#00
                DB #FF,#FF,#5E,#B4,#14,#28,#00,#00,#FC,#58,#A8,#40,#20,#00,#00,#00
                DB #AF,#55,#A2,#00,#00,#00,#00,#00,#E2,#CF,#7E,#FF,#FD,#FB,#F5,#B1
                DB #FF,#FF,#FF,#FF,#FF,#FF,#FF,#FF,#00,#02,#04,#03,#05,#02,#00,#00
                DB #00,#00,#00,#00,#00,#80,#40,#00,#1C,#2B,#9F,#2B,#07,#09,#02,#00
                DB #80,#00,#80,#00,#C0,#6C,#96,#02,#7A,#BD,#DA,#BF,#DE,#6A,#BC,#4B
                DB #FF,#6D,#FF,#4F,#A7,#5D,#FF,#6F,#37,#6B,#97,#62,#B5,#40,#96,#68
                DB #B7,#7B,#D7,#EB,#55,#CD,#DF,#BF,#13,#AB,#31,#98,#12,#BB,#12,#04
                DB #14,#26,#B3,#B3,#99,#19,#0B,#02,#21,#66,#CD,#77,#FF,#FB,#B7,#1A
                DB #8C,#C6,#AF,#FF,#FD,#DF,#FB,#73,#01,#AB,#31,#98,#12,#BB,#12,#04
                DB #7D,#BD,#3D,#1E,#7E,#BC,#70,#00,#00,#0A,#17,#0B,#80,#80,#17,#00
                DB #00,#FE,#FE,#FC,#01,#01,#FE,#04,#81,#1C,#22,#22,#22,#22,#1C,#81
                DB #0B,#27,#0B,#27,#0B,#00,#15,#80,#F6,#F6,#F6,#F6,#F6,#06,#FC,#02
                DB #00,#0E,#16,#0E,#16,#0E,#16,#00,#80,#1F,#37,#28,#30,#33,#37,#36
                DB #00,#FF,#FF,#00,#00,#FF,#88,#22,#00,#FF,#C3,#00,#00,#C3,#E7,#66
                DB #01,#FC,#F6,#0A,#06,#E6,#76,#36,#36,#36,#36,#36,#36,#36,#36,#36
                DB #39,#18,#01,#3E,#5F,#5E,#39,#01,#DD,#80,#0B,#97,#0F,#97,#0F,#96
                DB #DD,#00,#FF,#E0,#CA,#95,#28,#93,#DD,#00,#FF,#03,#29,#54,#0A,#E4
                DB #DD,#01,#F9,#FD,#FD,#FD,#7D,#3D,#DD,#00,#2A,#54,#7E,#02,#38,#18
                DB #38,#18,#38,#18,#38,#18,#38,#18,#0D,#92,#09,#92,#09,#92,#0C,#96
                DB #44,#A8,#50,#90,#50,#88,#24,#53,#10,#09,#34,#15,#04,#08,#12,#E5
                DB #9D,#4D,#AD,#4D,#AD,#4D,#1D,#3D,#0F,#97,#0B,#97,#0A,#80,#00,#80
                DB #28,#95,#CA,#F0,#FF,#00,#00,#00,#0A,#54,#29,#07,#FF,#00,#00,#00
                DB #7D,#FD,#FD,#FD,#F9,#01,#01,#03,#10,#20,#10,#20,#10,#20,#10,#20
                DB #64,#24,#64,#24,#64,#26,#62,#26,#02,#2A,#52,#2A,#52,#2A,#52,#2A
                DB #C0,#80,#80,#C0,#40,#40,#40,#C0,#08,#01,#00,#03,#0B,#07,#0B,#05
                DB #BC,#FA,#ED,#FA,#F4,#BA,#F4,#B8,#0B,#17,#0B,#07,#0B,#05,#03,#07
                DB #7D,#E8,#B4,#58,#F0,#E8,#F0,#68,#5E,#3B,#5E,#3D,#5A,#3D,#7E,#77
                DB #1F,#2D,#1A,#4D,#1E,#2D,#16,#4D,#EE,#B6,#EA,#D6,#E8,#D5,#E9,#94
                DB #6A,#A6,#46,#34,#56,#2A,#7C,#F8,#C0,#40,#60,#40,#C0,#80,#C0,#80
                DB #80,#D0,#60,#B0,#60,#A0,#60,#50,#95,#CC,#E6,#8A,#05,#8A,#05,#02
                DB #02,#01,#00,#01,#0C,#10,#08,#14,#B4,#78,#BC,#5A,#BC,#FA,#BC,#F8
                DB #3E,#5D,#3A,#1C,#3A,#1D,#1A,#2D,#AE,#D2,#EC,#D4,#6E,#D4,#CD,#F4
                DB #80,#C0,#60,#A0,#20,#40,#80,#C0,#E9,#D0,#02,#10,#02,#04,#20,#00
                DB #BF,#64,#10,#05,#AE,#05,#20,#02,#00,#04,#20,#08,#00,#02,#00,#10
                DB #FF,#7F,#FF,#23,#05,#2B,#81,#0A,#5A,#B0,#14,#00,#10,#48,#00,#01
                DB #FF,#FF,#FF,#FA,#F0,#E8,#42,#A0,#08,#00,#60,#80,#09,#30,#02,#00
                DB #E2,#CB,#96,#5B,#FF,#FF,#FA,#DD,#9E,#37,#5E,#36,#7D,#FE,#FE,#F5
                DB #76,#EA,#52,#29,#90,#80,#C0,#F0,#F8,#D0,#84,#40,#80,#00,#00,#01
                DB #B2,#50,#20,#00,#00,#01,#01,#03,#07,#1F,#3F,#7F,#7F,#FF,#FF,#FF
                DB #03,#07,#0F,#1F,#7F,#FF,#FF,#FF,#9E,#FA,#BC,#D9,#A3,#CD,#17,#BF
                DB #FF,#FF,#FF,#FE,#FC,#FA,#F1,#C6,#07,#0F,#0F,#1F,#3F,#7F,#7F,#FF
                DB #26,#68,#34,#55,#CB,#A6,#D6,#C2,#B0,#66,#33,#20,#81,#C2,#A8,#D8
                DB #E1,#E0,#C0,#82,#87,#47,#17,#33,#CB,#C3,#9D,#3E,#3E,#3E,#18,#8C
                DB #81,#00,#04,#20,#23,#37,#DB,#FF,#CE,#C6,#80,#10,#08,#C9,#CD,#9F
                DB #CE,#C6,#80,#10,#08,#01,#00,#00,#C6,#B6,#7A,#62,#40,#24,#EE,#8E
                DB #00,#84,#2E,#6E,#67,#C3,#13,#31,#C6,#0C,#99,#DC,#5C,#18,#30,#84
                DB #78,#79,#73,#27,#97,#C7,#C7,#E3,#38,#9C,#CE,#CE,#8E,#1D,#19,#93
                DB #FC,#E1,#D8,#ED,#F6,#C4,#33,#1B,#46,#88,#9D,#D9,#8A,#67,#33,#B1
                DB #3F,#DF,#9F,#A7,#9A,#0D,#29,#99,#FF,#FF,#F3,#ED,#36,#92,#A6,#4D
                DB #E8,#FC,#F1,#EA,#FF,#F3,#ED,#D2,#40,#82,#81,#C3,#83,#61,#31,#B0
                DB #99,#24,#66,#66,#67,#42,#11,#31,#88,#36,#93,#C4,#4C,#18,#10,#84
                DB #AC,#91,#23,#47,#22,#45,#01,#41,#23,#44,#21,#93,#AE,#D0,#E0,#F0
                DB #01,#00,#04,#20,#23,#37,#DB,#7F,#CE,#C6,#80,#10,#08,#01,#00,#00
                DB #C0,#FE,#FF,#FF,#FF,#FF,#FF,#FF,#99,#18,#24,#00,#00,#00,#00,#00
                DB #00,#00,#F0,#FF,#FF,#FF,#FF,#FF,#00,#00,#00,#00,#C0,#F0,#FC,#FE
                DB #08,#22,#00,#02,#10,#00,#04,#00,#FF,#FF,#FC,#F9,#F4,#C8,#80,#00
                DB #FF,#C0,#2F,#80,#00,#00,#00,#00,#00,#57,#00,#00,#00,#00,#00,#00
                DB #FF,#1F,#43,#15,#02,#00,#00,#00,#36,#36,#36,#36,#36,#00,#81,#00
                DB #64,#24,#64,#24,#64,#24,#64,#24,#36,#37,#33,#30,#28,#37,#1F,#80
                DB #36,#F7,#C1,#00,#00,#C1,#63,#3E,#36,#F5,#E6,#06,#0A,#F6,#FC,#01
                DB #00,#00,#80,#80,#82,#C3,#E5,#E3,#00,#0A,#05,#83,#01,#40,#80,#80
                DB #F0,#E0,#C0,#80,#80,#01,#03,#01,#80,#02,#05,#42,#E7,#42,#80,#00
                DB #00,#C0,#80,#80,#02,#03,#05,#03,#00,#00,#00,#80,#40,#81,#03,#01
                DB #40,#70,#4C,#53,#5C,#5F,#5F,#5F,#8F,#22,#08,#02,#C0,#30,#0C,#30
                DB #5F,#5F,#5F,#5F,#5F,#5F,#5F,#5F,#3F,#3F,#3F,#3F,#3F,#3F,#3F,#3F
                DB #5F,#5F,#5C,#5B,#5A,#58,#5C,#5F,#3F,#3F,#3F,#0F,#67,#47,#07,#0F
                DB #1F,#8F,#53,#A8,#84,#42,#C0,#00,#3F,#3F,#3F,#3F,#3F,#0F,#13,#00
                DB #00,#00,#00,#00,#80,#C0,#F0,#FE,#53,#29,#54,#2A,#14,#09,#15,#29
                DB #00,#11,#03,#27,#87,#C7,#C7,#E3,#00,#80,#C2,#C0,#88,#1D,#19,#93
                DB #81,#00,#04,#20,#00,#00,#00,#00,#00,#FF,#FF,#FF,#FF,#FF,#FF,#00
                DB #3F,#4F,#73,#3C,#4F,#23,#08,#02,#FF,#FF,#FF,#FF,#3F,#CF,#F3,#3C
                DB #00,#48,#06,#93,#45,#00,#42,#81,#00,#48,#80,#20,#00,#80,#04,#00
                DB #00,#10,#00,#40,#04,#10,#20,#00,#00,#08,#40,#02,#00,#02,#00,#88
                DB #10,#28,#00,#88,#00,#00,#02,#04,#00,#20,#00,#00,#04,#80,#08,#00
L3ATRS
                DB #47,#47,#47,#07,#47,#47,#47,#45,#45,#47,#07,#07,#06,#46,#07,#07
                DB #06,#46,#07,#46,#46,#46,#44,#44,#44,#06,#44,#45,#44,#44,#06,#06
                DB #47,#47,#45,#45,#06,#46,#46,#46,#06,#46,#46,#46,#46,#46,#06,#07
                DB #44,#44,#44,#44,#44,#44,#44,#44,#44,#44,#44,#44,#44,#44,#44,#44
                DB #44,#45,#45,#45,#45,#44,#44,#44,#44,#45,#45,#45,#45,#45,#45,#45
                DB #45,#45,#45,#45,#45,#46,#46,#45,#45,#45,#45,#45,#47,#45,#45,#45
                DB #45,#45,#47,#47,#47,#46,#46,#06,#46,#06,#46,#06,#06,#44,#44,#06
                DB #46,#57,#57,#07,#57,#57,#47,#46,#46,#46,#46,#46,#47,#06,#56,#56
                DB #46,#47,#47,#06,#56,#56,#46,#06,#46,#46,#46,#07,#07,#47,#06,#06
                DB #46,#06,#46,#06,#06,#46,#46,#06,#06,#46,#06,#46,#06,#46,#06,#45
                DB #45,#44,#45,#45,#45,#44,#46,#46,#47,#46,#45,#45,#45,#46,#45,#45
                DB #44,#46,#44,#44,#45,#45,#44,#44,#44,#44,#44,#44,#45,#44,#45,#45
                DB #45,#44,#44,#44,#45,#45,#45,#45,#45,#45,#45,#45,#45,#45,#45,#45
                DB #45,#46,#07,#46,#46,#46,#45,#07,#45,#07,#05,#05,#47,#47,#47,#47
                DB #47,#47,#47,#47,#45,#07,#44,#44,#06,#47,#47,#47,#06,#06,#06,#06
                DB #06,#06
L3BLOX
                DB #02,#01,#00,#01,#05,#06,#62,#62,#E9,#09,#62,#E5,#0A,#0B,#0C,#0D
                DB #0E,#0F,#10,#11,#12,#13,#14,#15,#01,#16,#17,#18,#19,#1A,#17,#18
                DB #1C,#1D,#1E,#1F,#20,#21,#22,#23,#19,#25,#26,#27,#EA,#EB,#DC,#DD
                DB #1C,#1D,#EC,#ED,#DE,#DF,#DE,#DF,#E2,#E3,#22,#01,#03,#04,#2F,#04
                DB #62,#E5,#62,#24,#62,#E5,#62,#E5,#1C,#1D,#6B,#6C,#6D,#6E,#6F,#24
                DB #6D,#6E,#70,#24,#7D,#7E,#83,#84,#7F,#80,#85,#86,#00,#01,#62,#62
                DB #4E,#1B,#4F,#50,#51,#52,#53,#54,#0C,#55,#28,#56,#4E,#1B,#54,#54
                DB #51,#57,#53,#54,#58,#54,#54,#54,#54,#54,#54,#54,#58,#54,#4F,#50
                DB #54,#54,#59,#54,#5A,#5B,#5C,#5D,#19,#55,#0C,#55,#54,#54,#5E,#5F
                DB #5A,#54,#5C,#5D,#54,#54,#60,#5D,#07,#08,#5E,#5F,#61,#5B,#60,#5D
                DB #62,#62,#62,#62,#63,#64,#01,#01,#28,#56,#19,#55,#19,#65,#01,#01
                DB #66,#01,#01,#01,#67,#68,#69,#6A,#4B,#4C,#49,#4D,#01,#01,#01,#01
                DB #2E,#25,#01,#70,#3D,#3E,#3F,#40,#01,#01,#4E,#1B,#8F,#90,#91,#92
                DB #93,#2A,#94,#25,#69,#6A,#2E,#25,#2B,#95,#2D,#96,#97,#01,#98,#01
                DB #91,#99,#9A,#9B,#94,#0D,#9C,#29,#10,#11,#67,#68,#14,#95,#2B,#9D
                DB #8E,#01,#9E,#01,#9F,#A0,#01,#A1,#A2,#54,#CC,#A3,#A4,#9F,#A5,#01
                DB #A6,#A7,#A8,#A9,#AA,#AB,#AC,#54,#2B,#95,#2D,#AD,#AE,#A7,#A7,#A9
                DB #AA,#54,#AF,#54,#2B,#B0,#2D,#B1,#B2,#B3,#B4,#B5,#B2,#B3,#B6,#B5
                DB #14,#95,#2B,#B7,#B8,#B9,#BA,#BB,#54,#54,#BC,#BD,#54,#54,#BE,#BF
                DB #54,#54,#54,#C0,#BC,#BD,#B8,#B9,#BE,#BF,#B8,#B9,#54,#C4,#54,#C5
                DB #BA,#BB,#B2,#B3,#B4,#C6,#54,#54,#E4,#C7,#54,#C8,#C9,#C7,#CA,#CB
                DB #CD,#CE,#54,#C8,#CF,#D0,#CA,#CB,#54,#54,#77,#78,#54,#54,#78,#78
                DB #54,#54,#7A,#54,#D1,#54,#7B,#54,#41,#42,#01,#43,#01,#01,#44,#01
                DB #73,#82,#73,#79,#8B,#D1,#8B,#7D,#D1,#77,#80,#8C,#7A,#76,#8D,#73
                DB #54,#81,#76,#82,#8B,#83,#8B,#83,#86,#8C,#86,#8C,#8D,#54,#8D,#76
                DB #D6,#D7,#D8,#D9,#DA,#D7,#DB,#D9,#28,#29,#19,#2A,#2B,#2C,#2B,#15
                DB #2D,#2E,#27,#01,#30,#31,#32,#01,#01,#01,#01,#33,#34,#35,#36,#37
                DB #38,#39,#3A,#01,#54,#54,#71,#72,#01,#45,#46,#47,#48,#49,#49,#4A
                DB #54,#73,#79,#78,#74,#75,#78,#78,#87,#88,#78,#78,#89,#8A,#78,#78
                DB #73,#54,#79,#78,#73,#7C,#76,#7C,#73,#7D,#73,#87,#80,#73,#8A,#73
                DB #81,#7C,#82,#73,#D1,#54,#D3,#78,#D1,#54,#D4,#78,#76,#79,#78,#78
                DB #8B,#87,#78,#78,#8A,#D2,#78,#78,#8D,#76,#78,#78,#D1,#54,#D5,#54
                DB #73,#73,#76,#76,#C3,#B6,#C2,#C1,#E6,#E7,#B2,#B3,#01,#3B,#01,#3C
                DB #C3,#B6,#44,#45,#BA,#BB,#4A,#47,#C3,#B6,#49,#49,#C3,#B6,#4B,#4A
                DB #BA,#BB,#4A,#4B,#44,#49,#49,#4A,#E8,#3B,#4A,#3C,#E8,#3B,#01,#3C
                DB #01,#3B,#E8,#3C,#C1,#34,#01,#3C,#E8,#A1,#A1,#E8,#8F,#49,#91,#B7
                DB #01,#01,#B9,#33,#4A,#4A,#B4,#52,#01,#3B,#4A,#3C,#57,#C6,#54,#54
                DB #DE,#DF,#E0,#E1,#EE,#EF,#F0,#F1,#18,#EF,#EE,#EE
L3MAPX
                DB #00,#0F,#69,#2F,#2F,#6A,#6B,#69,#2F,#2F,#6A,#6B,#69,#2F,#2F,#6A
                DB #6B,#69,#2F,#2F,#6A,#6B,#69,#2F,#2F,#6A,#6B,#69,#2F,#22,#2E,#6B
                DB #69,#2E,#32,#2F,#32,#6E,#6F,#2E,#32,#2F,#32,#6E,#6F,#2E,#3C,#2F
                DB #33,#34,#34,#36,#6E,#6F,#2E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E
                DB #1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#64,#65

                DB #00,#0F,#6C,#2F,#2F,#83,#31,#6C,#2F,#2F,#83,#31,#6C,#2F,#2F,#83
                DB #31,#6C,#2F,#2F,#83,#31,#6C,#2F,#2F,#83,#31,#31,#6C,#2A,#1D,#1B
                DB #1C,#1D,#1E,#1A,#1E,#1B,#1C,#1D,#1E,#1A,#1E,#1B,#1C,#1D,#37,#2F
                DB #38,#39,#3A,#3B,#1B,#1C,#1D,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E
                DB #1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#64,#65

                DB #00,#0F,#5A,#5B,#2F,#6E,#6F,#2E,#32,#2F,#6E,#6F,#2E,#32,#2F,#6E
                DB #6F,#2E,#32,#2F,#6E,#6F,#2E,#32,#2F,#32,#2E,#6E,#6F,#22,#23,#25
                DB #24,#23,#25,#22,#23,#25,#24,#23,#25,#22,#25,#25,#24,#23,#3C,#2F
                DB #33,#34,#35,#36,#25,#24,#25,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E
                DB #1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#64,#65

                DB #00,#0F,#18,#19,#1A,#1B,#1C,#1D,#1E,#1A,#1B,#1C,#1F,#20,#1A,#1B
                DB #1C,#1F,#20,#1A,#1B,#1C,#1D,#1E,#1A,#1E,#1D,#1B,#1C,#1A,#06,#0C
                DB #0C,#0C,#0C,#0C,#0C,#0C,#0C,#0C,#0C,#0C,#0C,#0C,#0C,#0C,#0C,#0C
                DB #0C,#0C,#0C,#0C,#0C,#0C,#0C,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E
                DB #1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#64,#65

                DB #17,#01,#02,#21,#22,#23,#24,#23,#25,#22,#23,#21,#26,#27,#22,#23
                DB #21,#26,#27,#22,#23,#24,#23,#25,#22,#23,#25,#23,#24,#07,#96,#95
                DB #95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95
                DB #95,#95,#95,#95,#95,#95,#95,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E
                DB #1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#64,#0B

                DB #28,#28,#11,#29,#2A,#2F,#29,#2F,#2F,#2A,#2F,#29,#03,#04,#05,#2F
                DB #29,#2F,#2F,#2A,#2F,#29,#2F,#2F,#2A,#2F,#2F,#2F,#06,#96,#95,#95
                DB #95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95
                DB #95,#95,#95,#95,#95,#95,#95,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E
                DB #1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#64,#94

                DB #28,#28,#11,#2F,#2B,#2C,#2F,#2F,#2F,#2B,#2C,#2F,#66,#2D,#67,#2C
                DB #2F,#2F,#2F,#2B,#2C,#2F,#2F,#2F,#2B,#2C,#2F,#06,#96,#95,#95,#95
                DB #95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95
                DB #95,#95,#95,#95,#95,#95,#95,#1E,#1E,#1E,#1E,#80,#80,#80,#80,#80
                DB #80,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#64,#0D

                DB #28,#28,#10,#0C,#0C,#12,#08,#08,#0C,#08,#13,#13,#0A,#30,#68,#14
                DB #08,#0C,#12,#08,#0C,#0C,#12,#08,#08,#0C,#08,#96,#08,#08,#08,#08
                DB #08,#08,#08,#08,#08,#08,#08,#08,#08,#08,#08,#08,#08,#08,#08,#08
                DB #08,#08,#08,#08,#08,#08,#08,#1E,#1E,#1E,#1E,#3C,#2F,#33,#34,#35
                DB #48,#09,#09,#09,#09,#09,#09,#09,#09,#09,#09,#09,#09,#09,#09,#0E
L3MAPY
                DB #1E,#1E,#1E,#1E,#1E,#6D,#15,#16,#6D,#1E,#1E,#1E,#1E,#1E,#1E,#56
                DB #57,#70,#71,#72,#73,#71,#74,#57,#58,#1E,#1E,#1E,#59,#1E,#59,#75
                DB #76,#77,#78,#59,#1E,#59,#1E,#1E,#1E,#59,#1E,#59,#5C,#5D,#5E,#5F
                DB #59,#1E,#59,#1E,#1E,#1E,#59,#1E,#59,#60,#61,#62,#63,#59,#1E,#59
                DB #1E,#1E,#1E,#79,#57,#7A,#7B,#7C,#7D,#7E,#7A,#57,#7F,#1E,#1E,#1E
                DB #1E,#1E,#80,#80,#80,#80,#80,#80,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#3C
                DB #2F,#33,#34,#35,#48,#09,#09,#09,#1E,#1E,#1E,#1E,#3C,#2F,#33,#34
                DB #35,#48,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#3C,#2F,#33,#34,#35,#48,#1E
                DB #1E,#1E,#3D,#3E,#3F,#3E,#3C,#2F,#33,#34,#35,#45,#3F,#3E,#3F,#6E
                DB #31,#81,#31,#6E,#31,#31,#81,#6B,#81,#31,#31,#81,#81,#82,#82,#89
                DB #81,#82,#50,#82,#81,#50,#81,#82,#50,#81,#81,#6B,#89,#81,#50,#81
                DB #50,#50,#50,#82,#81,#81,#88,#88,#81,#8B,#89,#86,#6F,#87,#88,#81
                DB #82,#50,#81,#89,#84,#8A,#89,#8E,#89,#6F,#8E,#84,#8D,#89,#85,#89
                DB #8B,#8C,#8C,#8A,#8B,#8B,#83,#8B,#8C,#8C,#8B,#8C,#8E,#91,#8B,#8B
                DB #8A,#83,#8E,#8F,#6B,#6B,#6F,#91,#92,#6F,#1E,#1B,#93,#1B,#3C,#2F
                DB #33,#34,#35,#36,#1E,#1B,#93,#1E,#1E,#1E,#1E,#3C,#2F,#33,#34,#35
                DB #48,#1E,#1E,#1E,#1E,#1E,#4C,#4D,#8E,#2F,#38,#39,#3A,#45,#1E,#1E
                DB #1E,#1E,#1E,#4F,#50,#69,#2F,#33,#34,#35,#36,#4A,#4B,#4A,#1E,#1E
                DB #1E,#51,#69,#2F,#33,#34,#35,#48,#49,#49,#49,#1E,#1E,#1E,#1E,#3C
                DB #2F,#38,#39,#3A,#45,#46,#47,#46,#1E,#1E,#54,#55,#2F,#2F,#33,#34
                DB #35,#42,#43,#44,#1E,#1E,#1E,#1E,#1E,#3C,#2F,#38,#39,#3A,#40,#41
                DB #1E,#1E,#4C,#4D,#4E,#4D,#3C,#2F,#33,#34,#35,#36,#1E,#1E,#1E,#4F
                DB #50,#50,#50,#90,#2F,#38,#39,#3A,#48,#1E,#1E,#1E,#1E,#51,#52,#53
                DB #69,#2F,#33,#34,#35,#45,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#3C,#2F,#38
                DB #39,#3A,#3B,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#37,#2F,#33,#34,#35,#36
                DB #1E,#1E,#1E,#1E,#1E,#54,#55,#69,#2F,#33,#34,#35,#48,#4B,#4A,#4B
                DB #1E,#1E,#1E,#1E,#37,#2F,#38,#39,#3A,#45,#46,#46,#46,#1E,#1E,#1E
                DB #1E,#37,#2F,#33,#34,#35,#36,#1E,#1E,#1E,#1E,#1E,#4C,#4D,#6C,#2F
                DB #38,#39,#3A,#3B,#1E,#1E,#1E,#1E,#1E,#4F,#50,#6C,#2F,#33,#34,#35
                DB #36,#4A,#4B,#4A,#1E,#1E,#1E,#51,#37,#2F,#33,#34,#35,#48,#49,#49
                DB #49,#1E,#1E,#1E,#1E,#3C,#2F,#38,#39,#3A,#45,#46,#47,#46,#1E,#1E
                DB #54,#55,#2F,#2F,#33,#34,#35,#42,#43,#44,#1E,#1E,#1E,#1E,#1E,#3C
                DB #2F,#38,#39,#3A,#40,#41,#1E,#1E,#1E,#1E,#1E,#1E,#37,#2F,#33,#34
                DB #35,#36,#1E,#1E,#1E,#1E,#1E,#1E,#1E,#3C,#2F,#38,#39,#3A,#3B,#1E
                DB #1E,#1E,#4C,#4D,#4E,#4D,#6C,#2F,#33,#34,#35,#36,#1E,#1E,#1E,#4F
                DB #50,#50,#50,#6B,#2F,#38,#39,#3A,#3B,#4A,#4B,#4A,#1E,#51,#52,#53
                DB #6C,#2F,#33,#34,#35,#48,#49,#49,#49,#1E,#1E,#1E,#1E,#3C,#2F,#38
                DB #39,#3A,#45,#46,#47,#46,#1E,#1E,#1E,#1E,#37,#2F,#33,#34,#35,#42
                DB #43,#44,#1E,#1E,#1E,#1E,#1E,#3C,#2F,#38,#39,#3A,#40,#41,#1E,#1E
                DB #1E,#1E,#1E,#1E,#37,#2F,#33,#34,#35,#36,#1E,#1E,#1E,#3F,#3D,#3E
                DB #3F,#3C,#2F,#38,#39,#3A,#3B,#3E,#3F,#3D,#6B,#83,#31,#83,#37,#2F
                DB #33,#34,#35,#36,#6C,#6B,#83,#69,#6A,#31,#6E,#3C,#2F,#38,#39,#3A
                DB #3B,#69,#6B,#6C,#32,#6E,#6F,#2E,#3C,#2F,#33,#34,#34,#36,#6E,#6F
                DB #2E,#1E,#1B,#1C,#1D,#37,#2F,#38,#39,#3A,#3B,#1B,#1C,#1D,#25,#25
                DB #24,#23,#3C,#2F,#33,#34,#35,#36,#25,#24,#25,#0C,#0C,#0C,#0C,#0C
                DB #0C,#0C,#0C,#0C,#0C,#0C,#0C,#0C,#95,#95,#95,#95,#95,#95,#95,#95
                DB #95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95
                DB #95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#95,#08
                DB #08,#08,#08,#08,#08,#08,#08,#08,#08,#08,#08,#08
L3END
                ;ENDIF

                UNPHASE

;***********************************************************************
;** END OF FILE                                                       **
;***********************************************************************