	ORG	#8000
	
	CALL	INIT_PLAYER
	CALL	LEVEL_INIT

	CALL	SET_VIDEO5
	LD	B,0
	LD	A,7
	CALL	CLS
	CALL	PRINT_LEVEL
	CALL	COLORIZE_BUF

	CALL	SET_VIDEO7
	LD	B,0
	LD	A,7
	CALL	CLS
	CALL	PRINT_LEVEL
	CALL	COLORIZE_BUF

CYCLE
	CALL	KEY_TEST
	CALL	PRINT_PLAYER
	CALL	SWAP_BUFFER

	LD	A,(FLAG_EXIT)
	CP	0
	JR	Z,CYCLE

	CALL	RESTORE_BANK0

	RET

COORD		DEFW	0
SPR_ADR		DEFW	0
MAS_ADR		DEFW	0
SPR_W		DEFB	0
SPR_H		DEFB	0


W_COORD		DEFW	0
W_SPRADR	DEFW	0
W_SPRW		DEFB	0
W_SPRH		DEFB	0


FLAG_EXIT	DEFB	0

;--------------------------
INIT_PLAYER
	LD	HL,#0000
	LD	(COORD),HL
	LD	A,2
	LD	(SPR_W),A
	LD	A,16
	LD	(SPR_H),A

	LD	HL,T1_U
	LD	(SPR_ADR),HL
	LD      DE,832		;  
	ADD	HL,DE
	LD	(MAS_ADR),HL
	RET

;--------------------------
; 
SWAP_SCREEN
	DI
BUF_MODE
	LD      A,#1D		;%00011101=16+8+5
	XOR	#0A		;%00010111=16+0+7
        LD      (BUF_MODE+1),A
	LD	(#5B5C),A
	LD	BC,#7FFD
        OUT	(C),A
	EI
        RET

;--------------------------
;    5
SET_VIDEO5
	DI
	LD      A,%00010101
	LD	(#5B5C),A
	LD	BC,#7FFD
	OUT	(C),A
	EI
	RET

;--------------------------
;    7
SET_VIDEO7
	DI
	LD      A,%00011111
	LD	(#5B5C),A
	LD	BC,#7FFD
	OUT	(C),A
	EI
	RET


;--------------------------
;  0
RESTORE_STANDARD_VIDEO
	DI
	LD      A,%00010000
	LD	(#5B5C),A
	LD	BC,#7FFD
	OUT	(C),A
	EI
	RET

;--------------------------
PRINT_PLAYER
	; 
	LD	HL,(COORD)
	LD      (W_COORD),HL
	LD	A,(SPR_W)
	LD	(W_SPRW),A
	LD	A,(SPR_H)
	LD	(W_SPRH),A

	; 
	CALL	RESTORE_FON

	;  
	LD	A,MOD_AND
	LD	(MODE),A
	LD	HL,(MAS_ADR)
	LD      (W_SPRADR),HL

	; 
	CALL	PRINT_SPRITE

	;  
	LD	A,MOD_OR
	LD	(MODE),A
	LD	HL,(SPR_ADR)
	LD      (W_SPRADR),HL

	; 
	CALL	PRINT_SPRITE
	RET

;--------------------------
RESTORE_FON

	;     
	LD	HL,(W_COORD)
	SRL	H
	SRL	H
	SRL	H
	SRL	L
	SRL	L
	SRL	L

	LD	A,(W_SPRW)	;2
	INC	A		;3
	ADD	A,H		;23+3=26
	LD	B,A		;26

	LD	A,(W_SPRH)	;16
	SRL	A
	SRL	A
	SRL	A		;2
	INC	A		;3
	ADD	A,L		;+0
	LD	C,A		;3

	XOR	A
	CP	H		;0
	JR	Z,N_DECH
	DEC	H		;23
N_DECH
	CP	L		;0
	JR	Z,N_DECL
	DEC	L
N_DECL				;0
	LD	A,25
	CP	B		;26
	JR	NC,N_DECB
	LD	B,26		;25
N_DECB				
	LD	A,23
	CP	C		;3
	JR	NC,N_DECC
	LD	C,24
N_DECC

	LD	A,C		;3
	SUB	L		;3-0=3
	ADD	A,A		;6
	ADD	A,A		;12
	ADD	A,A		;24
	LD	C,A		;24

	LD	A,B		;25
	SUB	H		;23
	LD	B,A		;2

	CALL	ADR		;C000

RES_DH	PUSH	HL
	PUSH	BC

	LD	E,L		;0
	LD	A,H		;C0
	OR	#20
	LD	D,A		;E0
	
RES_DW	LD	A,(DE)
	LD	(HL),A
	INC	HL		;C001
	INC	DE		;E001
	DJNZ	RES_DW

	POP	BC
	POP	HL
	CALL	DOWN		;C100

	DEC	C
	JR	NZ,RES_DH

	RET

;---------------------
PRINT_SPRITE  
	LD	HL,(W_COORD)
          
	SRL	L
	SRL	L
	SRL	L
	SRL	H
	SRL	H
	SRL	H

	CALL	ADR
	
	LD	A,(W_COORD)
	AND	7
	ADD	A,H
	LD	H,A
	
	LD	DE,(W_SPRADR) 

	LD	A,(W_SPRH)
	LD	B,A		;   
FOR_Y	PUSH	BC
	PUSH	HL		;  

	LD	A,(W_SPRW)
	LD	C,A		;   
FOR_X	LD	A,(DE)		; 
MODE	NOP
	LD	(HL),A		; 
	INC	DE		;  
	INC	HL		;   
	DEC	C		;  
	JR	NZ,FOR_X

	POP	HL		;  
	POP	BC
        CALL	DOWN

	DJNZ	FOR_Y
	RET

MOD_PUT		EQU	#00		;NOP
MOD_OR		EQU	#B6		;OR (HL)
MOD_AND		EQU	#A6		;AND (HL)
MOD_XOR		EQU	#AE		;XOR (HL)

;------------------------------
COLORIZE
          LD   HL,COLORS
          LD   DE,LEVEL

          LD   C,24

CLR_1     PUSH BC
          PUSH HL
          PUSH DE
          LD   B,26
CLR_2     
          LD   A,(DE)
          

          LD   C,%00100010
          CP   1
          JR   Z,CLR_3

          LD   C,%00000111
          CP   2
          JR   Z,CLR_3

          LD   C,%01001111
          CP   3
          JR   Z,CLR_3

          LD   C,%00100110
          CP   4
          JR   Z,CLR_3

          LD   C,%00101111
          CP   5
          JR   Z,CLR_3
          
          LD   C,7

CLR_3     
          LD   (HL),C
          
          INC  HL
          INC  DE
          DJNZ CLR_2
          
          POP  HL
          LD   BC,26
          ADD  HL,BC
          EX   DE,HL

          POP  HL
          LD   BC,26
          ADD  HL,BC

          POP  BC
          DEC  C
          JR   NZ,CLR_1

    ;---------------------------
       LD    HL,#D960
       LD    (TOP_A),HL
       LD    HL,#D980
       LD    (BOT_A),HL
       LD    HL,COLORS+286
       LD    (C_TOP_A),HL
       LD    HL,COLORS+312
       LD    (C_BOT_A),HL

       LD    B,12
CLR_4  PUSH  BC

       LD    HL,(TOP_A)
       PUSH  HL
       POP   DE
       LD    HL,(C_TOP_A)
       LD    BC,26
       LDIR

       LD    HL,(BOT_A)
       PUSH  HL
       POP   DE
       LD    HL,(C_BOT_A)
       LD    BC,26
       LDIR

       LD    BC,3
       CALL  7997

       POP   BC
       LD    DE,32
       LD    HL,(TOP_A)
       AND A ;C?????? ???? C
       SBC   HL,DE
       LD    (TOP_A),HL

       LD    HL,(BOT_A)
       ADD   HL,DE
       LD    (BOT_A),HL

       LD    DE,26
       LD    HL,(C_TOP_A)
       AND A ;C?????? ???? C
       SBC   HL,DE
       LD    (C_TOP_A),HL

       LD    HL,(C_BOT_A)
       ADD   HL,DE
       LD    (C_BOT_A),HL

       DJNZ  CLR_4
       
       RET
C_TOP_A  DEFW  0
C_BOT_A  DEFW  0
TOP_A    DEFW  0
BOT_A    DEFW  0
COLORS   DEFS  624
;---------------------------
CLS
	LD	DE,#C001
	LD	HL,#C000
	LD	(HL),0
	LD	BC,#1800
	LDIR
	LD	(HL),A
	LD	BC,#0300
	LDIR

	LD	A,B
	CALL	8859      ;BORDER

	RET
;----------------------------
LEVEL_INIT

       ;    
       LD    HL,LEVEL1
       LD    DE,LEVEL
       LD    BC,624
       LDIR
       RET

;--------------------------
PRINT_LEVEL
	LD	HL,#0000	;X,Y -  
	LD	DE,LEVEL	; 

P_L3	PUSH	HL		; X,Y        
        CALL	ADR

	LD	C,26		;   
P_L2	PUSH	DE
	PUSH	HL

	LD	A,(DE)		;  
	ADD	A,A		;  8
	ADD	A,A
	ADD	A,A
	LD	H,0
	LD	L,A
	LD	DE,SPR_C0
	ADD	HL,DE
	EX	DE,HL		; 
	POP	HL
        PUSH	HL

	LD	B,8
P_L1	LD	A,(DE)
	LD	(HL),A
	INC	H
	INC	DE
	DJNZ	P_L1

P_L4	POP	HL
	POP	DE
        
	INC	DE
	INC	HL

	DEC	C
	JR	NZ,P_L2
        
	POP	HL
	INC	L
	LD	A,L
	CP	24
	JR	NZ,P_L3

	;      
	LD	HL,#0000
	CALL	ADR
	LD	E,L
	LD	A,H
	OR	#20
	LD	D,A
	LD	BC,#1800
	LDIR

	RET

;--------------------------
DOWN	INC	H
	LD	A,H
	AND	#07
	RET	NZ
	LD	A,L
	ADD	A,#20
	LD	L,A
	RET	C
	LD	A,H
	SUB	#08
	LD	H,A
	RET

;--------------------------
ADR	LD	A,L
	AND	7
	RRCA
	RRCA
	RRCA
	ADD	A,H
	LD	H,L
	LD	L,A
	LD	A,H
	AND	#18
	OR	#C0
	LD	H,A
	RET




;-----------------------------
PRESS_F
    
       RET

;-----------------------------
PRESS_R 
       LD    A,(COORD)    ; ""   8
       AND   248          ;    
       LD    (COORD),A

       LD    A,3
       LD    (SPR_W),A

       LD    A,(COORD+1)
       INC   A
       CP    193
       JR    Z,CLC_SN

       LD    HL,(COORD)
       LD    A,16
       ADD   A,H
       LD    H,A
       PUSH  HL
       CALL  COORD_IS_FILL
       POP   HL
       CP    1
       JR    Z,CLC_SN
       
       LD    A,15
       ADD   A,L
       LD    L,A
       CALL  COORD_IS_FILL
       CP    1
       JR    Z,CLC_SN

       LD    HL,(COORD)
       INC   H
       LD    (COORD),HL

CLC_SN		LD	HL,T1_R
		LD	A,(COORD+1)
		AND	7
		CP	0
		JR	Z,NO_ADDSR
		LD      DE,48
		LD	B,A
ADDSR		ADD	HL,DE
		DJNZ	ADDSR
NO_ADDSR	LD	(SPR_ADR),HL
		LD      DE,832		;  
		ADD	HL,DE
		LD	(MAS_ADR),HL
		RET
;-----------------------------
PRESS_L
       LD    A,(COORD)
       AND   248
       LD    (COORD),A

       LD    A,3
       LD    (SPR_W),A

       LD    A,(COORD+1)
       DEC   A
       CP    255
       JR    Z,CLC_SL

       LD    HL,(COORD)
       DEC   H
       PUSH  HL
       CALL  COORD_IS_FILL
       POP   HL
       CP    1
       JR    Z,CLC_SL
       
       LD    A,15
       ADD   A,L
       LD    L,A
       CALL  COORD_IS_FILL
       CP    1
       JR    Z,CLC_SL

       LD    HL,(COORD)
       DEC   H
       LD    (COORD),HL

CLC_SL	LD	HL,T1_L
	LD	A,(COORD+1)
	AND	7
	CP	0
	JR	Z,NO_ADDSL
	LD      DE,48
	LD	B,A
ADDSL	ADD	HL,DE
	DJNZ	ADDSL
NO_ADDSL
	LD	(SPR_ADR),HL
	LD      DE,832		;  
	ADD	HL,DE
	LD	(MAS_ADR),HL
	RET

;-----------------------------
PRESS_U
       LD    A,(COORD+1)
       AND   248
       LD    (COORD+1),A

       LD    A,2
       LD    (SPR_W),A

       LD    A,(COORD)
       DEC   A
       CP    255
       JR    Z,CLC_SU

       LD    HL,(COORD)
       DEC   L
       PUSH  HL
       CALL  COORD_IS_FILL
       POP   HL
       CP    1
       JR    Z,CLC_SU
       
       LD    A,15
       ADD   A,H
       LD    H,A
       CALL  COORD_IS_FILL
       CP    1
       JR    Z,CLC_SU

       LD    HL,(COORD)
       DEC   L
       LD    (COORD),HL

CLC_SU
	LD	HL,T1_U
	LD	(SPR_ADR),HL
	LD      DE,832		;  
	ADD	HL,DE
	LD	(MAS_ADR),HL
	RET
;-----------------------------
PRESS_D 
       LD    A,(COORD+1)
       AND   248
       LD    (COORD+1),A

       LD    A,2
       LD    (SPR_W),A
       
       LD    A,(COORD)
       INC   A
       CP    177
       JR    Z,CLC_SD

       LD    HL,(COORD)
       LD    A,16
       ADD   A,L
       LD    L,A
       PUSH  HL
       CALL  COORD_IS_FILL
       POP   HL
       CP    1
       JR    Z,CLC_SD
       
       LD    A,15
       ADD   A,H
       LD    H,A
       CALL  COORD_IS_FILL
       CP    1
       JR    Z,CLC_SD

       LD    HL,(COORD)
       INC   L
       LD    (COORD),HL

CLC_SD
	LD	HL,T1_D
	LD	(SPR_ADR),HL
	LD      DE,832		;  
	ADD	HL,DE
	LD	(MAS_ADR),HL

	RET


;------------------------------
KEY_TEST
	XOR	A
	LD	(FLAG_EXIT),A


	LD	A,#FB
	IN	A,(254)
	LD	(KEY_LINE1),A
	LD	A,#FD
	IN	A,(254)
	LD	(KEY_LINE2),A
	LD	A,#BF
	IN	A,(254)
	LD	(KEY_LINE3),A


	LD	A,(KEY_LINE3)
	BIT	0,A
	CALL	Z,PRESS_F
	LD	A,(KEY_LINE2)
	BIT	0,A
	JP	Z,PRESS_L
	LD	A,(KEY_LINE2)
	BIT	1,A
	JP	Z,PRESS_D
	LD	A,(KEY_LINE2)
	BIT	2,A
	JP	Z,PRESS_R
	LD	A,(KEY_LINE1)
	BIT	1,A
	JP	Z,PRESS_U
	LD	A,(KEY_LINE1)
	BIT	3,A
	RET	NZ
	
	LD	A,1
	LD	(FLAG_EXIT),A
	RET

KEY_LINE1	DEFB	0
KEY_LINE2	DEFB	0
KEY_LINE3	DEFB	0

;------------------------------
COORD_IS_FILL
        CALL  CALC_LEVEL_POS
        LD    A,(L_DOP)
        LD    D,A
        LD    A,(HL)
        CP    0
        JR    Z,C_NO_FILL
        CP    4
        JR    Z,C_NO_FILL
        CP    5
        JR    Z,C_NO_FILL
        CP    D
        JR    Z,C_NO_FILL

        LD    A,1
        RET
C_NO_FILL
        XOR   A
        RET
L_DOP   DEFB  0,0

;----------------------------
CALC_LEVEL_POS
        SRL   L
        SRL   L
        SRL   L
        SRL   H
        SRL   H
        SRL   H

        LD    B,L
        LD    C,H
        LD    HL,LEVEL

        LD    A,B
        CP    0
        JR    Z,NO_ADD_Y  ;   

        LD    DE,26
ADD_Y
        ADD   HL,DE       ; 
        DJNZ  ADD_Y

NO_ADD_Y
        LD    D,0
        LD    E,C
        ADD   HL,DE       ;   X
        RET

;---------------------------------
; SPRITE1
;---------------------------------
T1_U
      DEFB 0, 0
      DEFB 0, 0
      DEFB 1, 128
      DEFB 1, 128
      DEFB 113, 142
      DEFB 17, 128
      DEFB 119, 134
      DEFB 31, 224
      DEFB 127, 246
      DEFB 31, 176
      DEFB 127, 182
      DEFB 30, 48
      DEFB 119, 230
      DEFB 16, 0
      DEFB 112, 6
      DEFB 0, 0

T1_D
      DEFB 0, 0
      DEFB 112, 6
      DEFB 16, 0
      DEFB 119, 230
      DEFB 30, 48
      DEFB 127, 182
      DEFB 31, 176
      DEFB 127, 246
      DEFB 31, 224
      DEFB 119, 134
      DEFB 17, 128
      DEFB 113, 142
      DEFB 1, 128
      DEFB 1, 128
      DEFB 0, 0
      DEFB 0, 0
T1_L
      DEFB 0, 0, 0
      DEFB 10, 170, 0
      DEFB 10, 170, 0
      DEFB 15, 254, 0
      DEFB 1, 240, 0
      DEFB 3, 248, 0
      DEFB 3, 248, 0
      DEFB 63, 232, 0
      DEFB 63, 232, 0
      DEFB 1, 136, 0
      DEFB 1, 248, 0
      DEFB 0, 240, 0
      DEFB 8, 0, 0
      DEFB 10, 170, 0
      DEFB 10, 170, 0
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 5, 85, 0
      DEFB 5, 85, 0
      DEFB 7, 255, 0
      DEFB 0, 248, 0
      DEFB 1, 252, 0
      DEFB 1, 252, 0
      DEFB 31, 244, 0
      DEFB 31, 244, 0
      DEFB 0, 196, 0
      DEFB 0, 252, 0
      DEFB 0, 120, 0
      DEFB 4, 0, 0
      DEFB 5, 85, 0
      DEFB 5, 85, 0
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 2, 170, 128
      DEFB 2, 170, 128
      DEFB 3, 255, 128
      DEFB 0, 124, 0
      DEFB 0, 254, 0
      DEFB 0, 254, 0
      DEFB 15, 250, 0
      DEFB 15, 250, 0
      DEFB 0, 98, 0
      DEFB 0, 126, 0
      DEFB 0, 60, 0
      DEFB 2, 0, 0
      DEFB 2, 170, 128
      DEFB 2, 170, 128
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 1, 85, 64
      DEFB 1, 85, 64
      DEFB 1, 255, 192
      DEFB 0, 62, 0
      DEFB 0, 127, 0
      DEFB 0, 127, 0
      DEFB 7, 253, 0
      DEFB 7, 253, 0
      DEFB 0, 49, 0
      DEFB 0, 63, 0
      DEFB 0, 30, 0
      DEFB 1, 0, 0
      DEFB 1, 85, 64
      DEFB 1, 85, 64
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 0, 170, 160
      DEFB 0, 170, 160
      DEFB 0, 255, 224
      DEFB 0, 31, 0
      DEFB 0, 63, 128
      DEFB 0, 63, 128
      DEFB 3, 254, 128
      DEFB 3, 254, 128
      DEFB 0, 24, 128
      DEFB 0, 31, 128
      DEFB 0, 15, 0
      DEFB 0, 128, 0
      DEFB 0, 170, 160
      DEFB 0, 170, 160
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 0, 85, 80
      DEFB 0, 85, 80
      DEFB 0, 127, 240
      DEFB 0, 15, 128
      DEFB 0, 31, 192
      DEFB 0, 31, 192
      DEFB 1, 255, 64
      DEFB 1, 255, 64
      DEFB 0, 12, 64
      DEFB 0, 15, 192
      DEFB 0, 7, 128
      DEFB 0, 64, 0
      DEFB 0, 85, 80
      DEFB 0, 85, 80
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 0, 42, 168
      DEFB 0, 42, 168
      DEFB 0, 63, 248
      DEFB 0, 7, 192
      DEFB 0, 15, 224
      DEFB 0, 15, 224
      DEFB 0, 255, 160
      DEFB 0, 255, 160
      DEFB 0, 6, 32
      DEFB 0, 7, 224
      DEFB 0, 3, 192
      DEFB 0, 32, 0
      DEFB 0, 42, 168
      DEFB 0, 42, 168
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 0, 21, 84
      DEFB 0, 21, 84
      DEFB 0, 31, 252
      DEFB 0, 3, 224
      DEFB 0, 7, 240
      DEFB 0, 7, 240
      DEFB 0, 127, 208
      DEFB 0, 127, 208
      DEFB 0, 3, 16
      DEFB 0, 3, 240
      DEFB 0, 1, 224
      DEFB 0, 16, 0
      DEFB 0, 21, 84
      DEFB 0, 21, 84
      DEFB 0, 0, 0

T1_R
      DEFB 0, 0, 0
      DEFB 85, 80, 0
      DEFB 85, 80, 0
      DEFB 127, 240, 0
      DEFB 15, 128, 0
      DEFB 31, 192, 0
      DEFB 31, 192, 0
      DEFB 23, 252, 0
      DEFB 23, 252, 0
      DEFB 17, 128, 0
      DEFB 31, 128, 0
      DEFB 15, 0, 0
      DEFB 0, 16, 0
      DEFB 85, 80, 0
      DEFB 85, 80, 0
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 42, 168, 0
      DEFB 42, 168, 0
      DEFB 63, 248, 0
      DEFB 7, 192, 0
      DEFB 15, 224, 0
      DEFB 15, 224, 0
      DEFB 11, 254, 0
      DEFB 11, 254, 0
      DEFB 8, 192, 0
      DEFB 15, 192, 0
      DEFB 7, 128, 0
      DEFB 0, 8, 0
      DEFB 42, 168, 0
      DEFB 42, 168, 0
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 21, 84, 0
      DEFB 21, 84, 0
      DEFB 31, 252, 0
      DEFB 3, 224, 0
      DEFB 7, 240, 0
      DEFB 7, 240, 0
      DEFB 5, 255, 0
      DEFB 5, 255, 0
      DEFB 4, 96, 0
      DEFB 7, 224, 0
      DEFB 3, 192, 0
      DEFB 0, 4, 0
      DEFB 21, 84, 0
      DEFB 21, 84, 0
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 10, 170, 0
      DEFB 10, 170, 0
      DEFB 15, 254, 0
      DEFB 1, 240, 0
      DEFB 3, 248, 0
      DEFB 3, 248, 0
      DEFB 2, 255, 128
      DEFB 2, 255, 128
      DEFB 2, 48, 0
      DEFB 3, 240, 0
      DEFB 1, 224, 0
      DEFB 0, 2, 0
      DEFB 10, 170, 0
      DEFB 10, 170, 0
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 5, 85, 0
      DEFB 5, 85, 0
      DEFB 7, 255, 0
      DEFB 0, 248, 0
      DEFB 1, 252, 0
      DEFB 1, 252, 0
      DEFB 1, 127, 192
      DEFB 1, 127, 192
      DEFB 1, 24, 0
      DEFB 1, 248, 0
      DEFB 0, 240, 0
      DEFB 0, 1, 0
      DEFB 5, 85, 0
      DEFB 5, 85, 0
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 2, 170, 128
      DEFB 2, 170, 128
      DEFB 3, 255, 128
      DEFB 0, 124, 0
      DEFB 0, 254, 0
      DEFB 0, 254, 0
      DEFB 0, 191, 224
      DEFB 0, 191, 224
      DEFB 0, 140, 0
      DEFB 0, 252, 0
      DEFB 0, 120, 0
      DEFB 0, 0, 128
      DEFB 2, 170, 128
      DEFB 2, 170, 128
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 1, 85, 64
      DEFB 1, 85, 64
      DEFB 1, 255, 192
      DEFB 0, 62, 0
      DEFB 0, 127, 0
      DEFB 0, 127, 0
      DEFB 0, 95, 240
      DEFB 0, 95, 240
      DEFB 0, 70, 0
      DEFB 0, 126, 0
      DEFB 0, 60, 0
      DEFB 0, 0, 64
      DEFB 1, 85, 64
      DEFB 1, 85, 64
      DEFB 0, 0, 0

      DEFB 0, 0, 0
      DEFB 0, 170, 160
      DEFB 0, 170, 160
      DEFB 0, 255, 224
      DEFB 0, 31, 0
      DEFB 0, 63, 128
      DEFB 0, 63, 128
      DEFB 0, 47, 248
      DEFB 0, 47, 248
      DEFB 0, 35, 0
      DEFB 0, 63, 0
      DEFB 0, 30, 0
      DEFB 0, 0, 32
      DEFB 0, 170, 160
      DEFB 0, 170, 160
      DEFB 0, 0, 0

M1_U
      DEFB 255, 255
      DEFB 252, 63
      DEFB 252, 63
      DEFB 12, 48
      DEFB 12, 48
      DEFB 8, 16
      DEFB 0, 0
      DEFB 0, 0
      DEFB 0, 0
      DEFB 0, 0
      DEFB 0, 0
      DEFB 0, 0
      DEFB 0, 0
      DEFB 0, 0
      DEFB 15, 240
      DEFB 255, 255

M1_D
      DEFB 255, 255
      DEFB 15, 240
      DEFB 0, 0
      DEFB 0, 0
      DEFB 0, 0
      DEFB 0, 0
      DEFB 0, 0
      DEFB 0, 0
      DEFB 0, 0
      DEFB 0, 0
      DEFB 8, 16
      DEFB 12, 48
      DEFB 12, 48
      DEFB 252, 63
      DEFB 252, 63
      DEFB 255, 255

M1_L
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 252, 3, 255
      DEFB 248, 3, 255
      DEFB 128, 3, 255
      DEFB 128, 3, 255
      DEFB 128, 3, 255
      DEFB 128, 3, 255
      DEFB 248, 3, 255
      DEFB 252, 3, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255

      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 254, 1, 255
      DEFB 252, 1, 255
      DEFB 192, 1, 255
      DEFB 192, 1, 255
      DEFB 192, 1, 255
      DEFB 192, 1, 255
      DEFB 252, 1, 255
      DEFB 254, 1, 255
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127

      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 255, 0, 255
      DEFB 254, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 254, 0, 255
      DEFB 255, 0, 255
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63

      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 255, 128, 127
      DEFB 255, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 255, 0, 127
      DEFB 255, 128, 127
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31

      DEFB 254, 0, 15
      DEFB 254, 0, 15
      DEFB 254, 0, 15
      DEFB 254, 0, 15
      DEFB 255, 192, 63
      DEFB 255, 128, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 255, 128, 63
      DEFB 255, 192, 63
      DEFB 254, 0, 15
      DEFB 254, 0, 15
      DEFB 254, 0, 15
      DEFB 254, 0, 15

      DEFB 255, 0, 7
      DEFB 255, 0, 7
      DEFB 255, 0, 7
      DEFB 255, 0, 7
      DEFB 255, 224, 31
      DEFB 255, 192, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 255, 192, 31
      DEFB 255, 224, 31
      DEFB 255, 0, 7
      DEFB 255, 0, 7
      DEFB 255, 0, 7
      DEFB 255, 0, 7

      DEFB 255, 128, 3
      DEFB 255, 128, 3
      DEFB 255, 128, 3
      DEFB 255, 128, 3
      DEFB 255, 240, 15
      DEFB 255, 224, 15
      DEFB 254, 0, 15
      DEFB 254, 0, 15
      DEFB 254, 0, 15
      DEFB 254, 0, 15
      DEFB 255, 224, 15
      DEFB 255, 240, 15
      DEFB 255, 128, 3
      DEFB 255, 128, 3
      DEFB 255, 128, 3
      DEFB 255, 128, 3

      DEFB 255, 192, 1
      DEFB 255, 192, 1
      DEFB 255, 192, 1
      DEFB 255, 192, 1
      DEFB 255, 248, 7
      DEFB 255, 240, 7
      DEFB 255, 0, 7
      DEFB 255, 0, 7
      DEFB 255, 0, 7
      DEFB 255, 0, 7
      DEFB 255, 240, 7
      DEFB 255, 248, 7
      DEFB 255, 192, 1
      DEFB 255, 192, 1
      DEFB 255, 192, 1
      DEFB 255, 192, 1

M1_R
      DEFB 0, 7, 255
      DEFB 0, 7, 255
      DEFB 0, 7, 255
      DEFB 0, 7, 255
      DEFB 192, 63, 255
      DEFB 192, 31, 255
      DEFB 192, 1, 255
      DEFB 192, 1, 255
      DEFB 192, 1, 255
      DEFB 192, 1, 255
      DEFB 192, 31, 255
      DEFB 192, 63, 255
      DEFB 0, 7, 255
      DEFB 0, 7, 255
      DEFB 0, 7, 255
      DEFB 0, 7, 255

      DEFB 128, 3, 255
      DEFB 128, 3, 255
      DEFB 128, 3, 255
      DEFB 128, 3, 255
      DEFB 224, 31, 255
      DEFB 224, 15, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 15, 255
      DEFB 224, 31, 255
      DEFB 128, 3, 255
      DEFB 128, 3, 255
      DEFB 128, 3, 255
      DEFB 128, 3, 255

      DEFB 192, 1, 255
      DEFB 192, 1, 255
      DEFB 192, 1, 255
      DEFB 192, 1, 255
      DEFB 240, 15, 255
      DEFB 240, 7, 255
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 7, 255
      DEFB 240, 15, 255
      DEFB 192, 1, 255
      DEFB 192, 1, 255
      DEFB 192, 1, 255
      DEFB 192, 1, 255

      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 248, 7, 255
      DEFB 248, 3, 255
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 3, 255
      DEFB 248, 7, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255
      DEFB 224, 0, 255

      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 252, 3, 255
      DEFB 252, 1, 255
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 1, 255
      DEFB 252, 3, 255
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127
      DEFB 240, 0, 127

      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 254, 1, 255
      DEFB 254, 0, 255
      DEFB 254, 0, 15
      DEFB 254, 0, 15
      DEFB 254, 0, 15
      DEFB 254, 0, 15
      DEFB 254, 0, 255
      DEFB 254, 1, 255
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63
      DEFB 248, 0, 63

      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 255, 0, 255
      DEFB 255, 0, 127
      DEFB 255, 0, 7
      DEFB 255, 0, 7
      DEFB 255, 0, 7
      DEFB 255, 0, 7
      DEFB 255, 0, 127
      DEFB 255, 0, 255
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31
      DEFB 252, 0, 31

      DEFB 255, 0, 15
      DEFB 255, 0, 15
      DEFB 255, 0, 15
      DEFB 255, 0, 15
      DEFB 255, 128, 127
      DEFB 255, 128, 63
      DEFB 255, 128, 3
      DEFB 255, 128, 3
      DEFB 255, 128, 3
      DEFB 255, 128, 3
      DEFB 255, 128, 63
      DEFB 255, 128, 127
      DEFB 255, 0, 15
      DEFB 255, 0, 15
      DEFB 255, 0, 15
      DEFB 255, 0, 15

; 
SPR_C0   DEFB 0,0,0,0,0,0,0,0
SPR_C1   DEFB 247,247,247,0,127,127,127,0
SPR_C2   DEFB 170,84,188,124,188,124,130,1
SPR_C3   DEFB 4,0,128,72,20,0,64,34
SPR_C4   DEFB 2,21,7,25,46,31,251,110
SPR_C5   DEFB 17,2,4,136,17,34,68,136


LEVELS
LEVEL1
	DEFB 5,5,5,5,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,5,5,5,5
	DEFB 5,5,5,5,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,5,5,5,5
	DEFB 5,5,5,5,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,5,5,5,5
	DEFB 5,5,5,5,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,5,5,5,5
	DEFB 5,5,5,5,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1,0,0,5,5,5,5
	DEFB 5,5,5,5,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1,0,0,5,5,5,5
	DEFB 5,5,5,5,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,5,5,5,5
	DEFB 5,5,5,5,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,5,5,5,5
	DEFB 5,5,5,5,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,5,5,5,5
	DEFB 5,5,5,5,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,5,5,5,5
	DEFB 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
	DEFB 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
	DEFB 0,0,0,0,1,1,1,1,0,0,0,0,2,2,0,0,0,0,1,1,1,1,3,3,0,0
	DEFB 0,0,0,0,0,0,0,0,0,0,1,1,2,2,1,1,0,0,0,0,0,0,0,0,0,0
	DEFB 4,4,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,4,4
	DEFB 4,4,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1,4,4
	DEFB 4,4,1,1,2,2,1,1,2,2,1,1,1,1,1,1,2,2,1,1,2,2,1,1,4,4
	DEFB 4,4,1,1,2,2,1,1,2,2,1,1,1,1,1,1,2,2,1,1,2,2,1,1,4,4
	DEFB 4,4,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,4,4
	DEFB 4,4,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,4,4
	DEFB 4,4,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,4,4
	DEFB 4,4,1,1,0,0,1,1,0,0,0,1,1,1,1,0,0,0,1,1,0,0,1,1,4,4
	DEFB 4,4,4,4,4,4,0,0,0,0,0,1,0,0,1,0,0,0,0,0,4,4,4,4,4,4
	DEFB 4,4,4,4,4,4,0,0,0,0,0,1,0,0,1,0,0,0,0,0,4,4,4,4,4,4


LEVEL DEFS 624 

