easierfinale

by asmagicianmaks

Game: SMW

Description: Easy Bowser Fight

if read1($00FFD5) == $23		; check if the rom is sa-1
	sa1rom
	!sa1 = 1
	!dp = $3000
	!addr = $6000
	!bank = $000000
	!bank8 = $00
	!SprSize = $16
	!carl_module = $7FFF
	;!carl_module = $41BFE6
	!carl_initialized = $41BFF3
else
	lorom
	!sa1 = 0
	!dp = $0000
	!addr = $0000
	!bank = $800000
	!bank8 = $80
	!SprSize = $0C
	!carl_module = $1FFF
	;!carl_module = $7007E6
	!carl_initialized = $7007F3
endif

macro define_sprite_table(name, addr, addr_sa1)
	if !sa1 == 0
		!<name> = <addr>
	else
		!<name> = <addr_sa1>
	endif
endmacro

%define_sprite_table("7FAB10",$7FAB10,$400040)
%define_sprite_table("7FAB1C",$7FAB1C,$400056)
%define_sprite_table("7FAB28",$7FAB28,$400057)
%define_sprite_table("7FAB34",$7FAB34,$40006D)
%define_sprite_table("7FAB9E",$7FAB9E,$400083)
%define_sprite_table("9E", $9E, $3200)
%define_sprite_table("AA", $AA, $9E)
%define_sprite_table("B6", $B6, $B6)
%define_sprite_table("C2", $C2, $D8)
%define_sprite_table("D8", $D8, $3216)
%define_sprite_table("E4", $E4, $322C)
%define_sprite_table("14C8", $14C8, $3242)
%define_sprite_table("14D4", $14D4, $3258)
%define_sprite_table("14E0", $14E0, $326E)
%define_sprite_table("14EC", $14EC, $74C8)
%define_sprite_table("14F8", $14F8, $74DE)
%define_sprite_table("1504", $1504, $74F4)
%define_sprite_table("1510", $1510, $750A)
%define_sprite_table("151C", $151C, $3284)
%define_sprite_table("1528", $1528, $329A)
%define_sprite_table("1534", $1534, $32B0)
%define_sprite_table("1540", $1540, $32C6)
%define_sprite_table("154C", $154C, $32DC)
%define_sprite_table("1558", $1558, $32F2)
%define_sprite_table("1564", $1564, $3308)
%define_sprite_table("1570", $1570, $331E)
%define_sprite_table("157C", $157C, $3334)
%define_sprite_table("1588", $1588, $334A)
%define_sprite_table("1594", $1594, $3360)
%define_sprite_table("15A0", $15A0, $3376)
%define_sprite_table("15AC", $15AC, $338C)
%define_sprite_table("15B8", $15B8, $7520)
%define_sprite_table("15C4", $15C4, $7536)
%define_sprite_table("15D0", $15D0, $754C)
%define_sprite_table("15DC", $15DC, $7562)
%define_sprite_table("15EA", $15EA, $33A2)
%define_sprite_table("15F6", $15F6, $33B8)
%define_sprite_table("1602", $1602, $33CE)
%define_sprite_table("160E", $160E, $33E4)
%define_sprite_table("161A", $161A, $7578)
%define_sprite_table("1626", $1626, $758E)
%define_sprite_table("1632", $1632, $75A4)
%define_sprite_table("163E", $163E, $33FA)
%define_sprite_table("164A", $164A, $75BA)
%define_sprite_table("1656", $1656, $75D0)
%define_sprite_table("1662", $1662, $75EA)
%define_sprite_table("166E", $166E, $7600)
%define_sprite_table("167A", $167A, $7616)
%define_sprite_table("1686", $1686, $762C)
%define_sprite_table("186C", $186C, $7642)
%define_sprite_table("187B", $187B, $3410)
%define_sprite_table("190F", $190F, $7658)
%define_sprite_table("1938", $1938, $418A00)
%define_sprite_table("1FD6", $1FD6, $766E)
%define_sprite_table("1FE2", $1FE2, $7FD6)

if !sa1
	!SpriteID	= $E0
	!SpriteHijack	= $6003
else
	!SpriteID	= $D5
	!SpriteHijack	= $0FBE+($69*2)	;$1090
endif

CarlModule:
	LDA #$00
	PHA
	PLB
	LDY $0100|!addr
	LDA !carl_initialized
	BMI .checkmode
	CPY #$0C
	BNE ++
	;LDA $7FC7FF
	;CMP #$42
	;BNE ++
	LDA #$80
	STA !carl_initialized
++
	RTL

.checkmode
	CPY #$14
	BNE +
	LDA $010B
	CMP #$01
	BNE +
	LDA #$58
	STA $5C	;OAM allocation
	LDA #$20
	STA $1692|!addr
	LDA $9D
	BNE ++
	LDA $19
	BNE ++
	LDA #$01
	STA $19
++
	RTL
+
	CPY #$0C
	BNE +
	LDA #$8C
	STA !carl_initialized
	LDA $0DD5|!addr
	AND #$7F
	BEQ .ret
	LDA #$DE
	LDX #$C0
	LDY #$DE
	RTL
+
	CPY #$11
	BNE +
	JSR GameMode11
	RTL
+
	CPY #$0E
	BNE +
	LDA $13D9|!addr
	CMP #$05
	BNE +
.lvlname
	LDA $12
	BNE .ret
	PHB
	PHK
	PLB
	REP #$30
	LDY #$0000
	LDA.l $7F837B
	TAX
-
	LDA.w LevelName,y
	STA.l $7F837D,x
	INY
	INY
	INX
	INX
	CMP #$FFFF
	BNE -
	PLB
	SEP #$30
	RTL
+
	CPY #$0D
	BNE +
	CMP #$8C
	BEQ .lvlname
	RTL
+
	CPY #$29
	BNE +
	CMP #$92
	BNE +
	JSR GameMode12
	RTL
+
.ret
	RTL

'!' = $391A : '.' = $391B : '-' = $391C : ',' = $391D
'?' = $391E : '#' = $395A : '(' = $395B : ')' = $395C
'/' = $391F ;space
'`' = $395D ;apostrophe
'%' = $399F ;fish
'A' = $3900 : 'B' = $3901 : 'C' = $3902 : 'D' = $3903 : 'E' = $3904 : 'F' = $3905 : 'G' = $3906 : 'H' = $3907 : 'I' = $3908 : 'J' = $3909 : 'K' = $390A : 'L' = $390B : 'M' = $390C : 'N' = $390D : 'O' = $390E : 'P' = $390F : 'Q' = $3910 : 'R' = $3911 : 'S' = $3912 : 'T' = $3913 : 'U' = $3914 : 'V' = $3915 : 'W' = $3916 : 'X' = $3917 : 'Y' = $3918 : 'Z' = $3919
'a' = $3940 : 'b' = $3941 : 'c' = $3942 : 'd' = $3943 : 'e' = $3944 : 'f' = $3945 : 'g' = $3946 : 'h' = $3947 : 'i' = $3948 : 'j' = $3949 : 'k' = $394A : 'l' = $394B : 'm' = $394C : 'n' = $394D : 'o' = $394E : 'p' = $394F : 'q' = $3950 : 'r' = $3951 : 's' = $3952 : 't' = $3953 : 'u' = $3954 : 'v' = $3955 : 'w' = $3956 : 'x' = $3957 : 'y' = $3958 : 'z' = $3959
'0' = $396B : '1' = $3964 : '2' = $3965 : '3' = $3966 : '4' = $3967 : '5' = $3968 : '6' = $3969 : '7' = $396A : '8' = $392A : '9' = $392B

LevelName:
db $50,$8B,$00,$25
;dw"EighteenCharacters1"
dw "/Easy/Bowser/Fight/"
dw $FFFF
;Game Mode 11
GameMode11:
	LDA #$00
	STA !carl_initialized	;prevent from running twice due to reenabled NMI
	STZ $4200
	STZ $15
	STZ $16
	STZ $17
	STZ $18
	LDA.w $141A|!addr
	BNE +
	LDA.w $141D|!addr
	BEQ +
	JSL $04DC09|!bank
+
	STZ.w $13D5|!addr
	STZ.w $13D9|!addr
	LDA.b #$50
	STA.w $13D6|!addr
	JSL CODE_05D796
	LDX.b #$07
-
	LDA $1A,X
	STA.w $1462|!addr,X
	DEX
	BPL -
	LDA.l $009702|!bank
	CMP #$EA
	BEQ +
	PHK
	PEA.w (+)-1
	PEA.w $84CE
	JML $008134|!bank
+
	PHK
	PEA.w (+)-1
	PEA.w $84CE
	JML $00A635|!bank
+
	LDA.b #$20
	STA $5E
	;STZ $13CD|!addr	;LM3 thing, has flags for left facing entrance and BG height
	PHK
	PEA.w (+)-1
	PEA.w $84CE
	JML $00A796|!bank
+
	INC.w $1404|!addr
	JSL $00F6DB|!bank
	JSL CODE_05801E
	PHK
	PEA.w (+)-1
	PEA.w $84CE
	JML $00971A|!bank	;Run the end as normal
+
	;Change timer,music,etc
	LDA $010B
	BNE ++
	LDA $71
	CMP #$0A
	BEQ +
	LDA #$38
	STA $94
	BRA +
++
	CMP #$01
	BNE +
	LDA #$04
	STA $1DFB
	LDX #!SprSize-2
	REP #$20
	LDA.w #((SpriteCode&$FF)<<8)+$5C
	STA !SpriteHijack
	LDA.w #SpriteCode>>8
	STA !SpriteHijack+2
	SEP #$20
	LDA #!SpriteID
	STA !9E,x
	JSL $07F722|!bank
	LDA #$00	;Prevent bugs from being in state 8 for 1 frame before real init takes place
	STA !1656,x
	LDA #$80
	STA !1662,x
	LDA #$70
	STA !166E,x
	AND #$0F
	STA !15F6,x
	LDA #$A7
	STA !167A,x
	LDA #$A9
	STA !1686,x
	LDA #$42
	STA !190F,x
	LDA #$00
	STA !7FAB9E,x
	LDA #$08
	STA !14C8,x
	LDA #$01
	STA !7FAB28,x
	LDA #$80
	STA !E4,x
	STZ !14E0,x
	LDA #$60
	STA !D8,x
	STZ !14D4,x
	STX $15E9|!addr
	JSL SpriteInitHack
+
	;Finish
	LDX #$29
	LDA $0100|!addr
	STX $0100|!addr
	ORA #$80
	STA !carl_initialized
	RTS

CODE_05801E:
	PHP
	SEP #$20
	REP #$10
	LDX.w #$0000
-
	LDA.b #$25
	STA.l $7EB900,X
	STA.l $7EBB00,X
	INX
	CPX.w #$0200
	BNE -
	STZ.w $1928|!addr
	LDA $6A
	CMP.b #$FF
	BNE +
	REP #$10
	LDY.w #$0000
	LDX $68
	CPX.w #$E8FE
	BCC ++
	LDY.w #$0001
++
	LDX.w #$0000
	TYA
-
	STA.l $7EBD00,X
	STA.l $7EBF00,X
	INX
	CPX.w #$0200
	BNE -
	LDA.b #$0C
	STA $6A
	STZ.w $1932|!addr
	STZ.w $1931|!addr
	LDX.w #$B900
	STX $0D
	REP #$20
	PHK
	PEA.w (+)-1
	PEA.w $8124
	JML $058126|!bank
+
	JML $058074|!bank



CODE_05D796:					;-----------| Primary header loading subroutine. Also handles No-Yoshi and CI2.
	PHB							;$05D796	|
	PHK							;$05D797	|
	PLB							;$05D798	|
	SEP #$30					;$05D799	|
	STZ.w $13CF					;$05D79B	|
	LDA.w $141A					;$05D7AB	|\ 
	BNE CODE_05D7B3				;$05D7AE	|| Jump further down if entering a level for the first time (i.e. not a sublevel).
	JMP CODE_05D83E				;$05D7B0	|/

CODE_05D7B3:					;```````````| Loading a sublevel.
	LDX $95						;$05D7B3	|
	LDA $5B						;$05D7B5	|
	AND.b #$01					;$05D7B7	|
	BEQ CODE_05D7BD				;$05D7B9	|
	LDX $97						;$05D7BB	|
CODE_05D7BD:					;			|
	LDA.w $19B8,X				;$05D7BD	|\ 
	STA.w $17BB					;$05D7C0	|| Get level number to load.
	STA $0E						;$05D7C3	|/
	STZ $0F						;$05D7D2	|
	LDA.w $1B93					;$05D7D4	|\ Branch if this is not a secondary exit.
	BEQ CODE_05D83B				;$05D7D7	|/
	REP #$30					;$05D7D9	|
	LDA.w #$0000				;$05D7DB	|
	SEP #$20					;$05D7DE	|
	LDY $0E						;$05D7E0	|
	LDA.w DATA_05F800,Y			;$05D7E2	|
	STA $0E						;$05D7E5	|
	STA.w $17BB					;$05D7E7	|
	LDA.w DATA_05FA00,Y			;$05D7EA	|
	STA $00						;$05D7ED	|
	AND.b #$0F					;$05D7EF	|
	TAX							;$05D7F1	|
	LDA.l DATA_05D730,X			;$05D7F2	|
	STA $96						;$05D7F6	|
	LDA.l DATA_05D740,X			;$05D7F8	|
	STA $97						;$05D7FC	|
	LDA $00						;$05D7FE	|
	AND.b #$30					;$05D800	|
	LSR							;$05D802	|
	LSR							;$05D803	|
	LSR							;$05D804	|
	LSR							;$05D805	|
	TAX							;$05D806	|
	LDA.l DATA_05D708,X			;$05D807	|
	STA $1C						;$05D80B	|
	LDA $00						;$05D80D	|
	LSR							;$05D80F	|
	LSR							;$05D810	|
	LSR							;$05D811	|
	LSR							;$05D812	|
	LSR							;$05D813	|
	LSR							;$05D814	|
	TAX							;$05D815	|
	LDA.l DATA_05D70C,X			;$05D816	|
	STA $20						;$05D81A	|
	LDA.w DATA_05FC00,Y			;$05D81C	|
	STA $01						;$05D81F	|
	LSR							;$05D821	|
	LSR							;$05D822	|
	LSR							;$05D823	|
	LSR							;$05D824	|
	LSR							;$05D825	|
	TAX							;$05D826	|
	LDA.l DATA_05D750,X			;$05D827	|
	STA $94						;$05D82B	|
	LDA.l DATA_05D758,X			;$05D82D	|
	STA $95						;$05D831	|
	LDA.w DATA_05FE00,Y			;$05D833	|
	AND.b #$07					;$05D836	|
	STA.w $192A					;$05D838	|
CODE_05D83B:					;			|
	JMP CODE_05D8B7				;$05D83B	|



CODE_05D83E:					;-----------| Routine for loading a primary level.
	STZ $0F						;$05D83E	|
	LDY.b #$00					;$05D840	|
	REP #$30					;$05D847	|
	STZ $1A						;$05D849	|
	STZ $1E						;$05D84B	|
	LDX.w $0DD6					;$05D84D	|\ 
	LDA.w $1F1F,X				;$05D850	|| Get location on the map, quadrant format.
	AND.w #$000F				;$05D853	||
	STA $00						;$05D856	|| $00 contains 00000000 0000xxxx...
	LDA.w $1F21,X				;$05D858	||
	AND.w #$000F				;$05D85B	||
	ASL							;$05D85E	||
	ASL							;$05D85F	||
	ASL							;$05D860	||
	ASL							;$05D861	||
	STA $02						;$05D862	|| ...$02 contains 00000000 yyyy0000...
	LDA.w $1F1F,X				;$05D864	||
	AND.w #$0010				;$05D867	||
	ASL							;$05D86A	||
	ASL							;$05D86B	||
	ASL							;$05D86C	||
	ASL							;$05D86D	||
	ORA $00						;$05D86E	||
	STA $00						;$05D870	|| ...$00 now contains 0000000X 0000xxxx...
	LDA.w $1F21,X				;$05D872	||
	AND.w #$0010				;$05D875	||
	ASL							;$05D878	||
	ASL							;$05D879	||
	ASL							;$05D87A	||
	ASL							;$05D87B	||
	ASL							;$05D87C	||
	ORA $02						;$05D87D	|| ...and finally X contains 000000YX yyyyxxxx.
	ORA $00						;$05D87F	||
	TAX							;$05D881	||
	LDA.w $0DD6					;$05D882	||\ 
	AND.w #$00FF				;$05D885	|||
	LSR							;$05D888	|||
	LSR							;$05D889	|||
	TAY							;$05D88A	|||
	LDA.w $1F11,Y				;$05D88B	||| If on submap, change that to 000001YX yyyyxxxx.
	AND.w #$000F				;$05D88E	|||
	BEQ CODE_05D899				;$05D891	|||
	TXA							;$05D893	|||
	CLC							;$05D894	|||
	ADC.w #$0400				;$05D895	|||
	TAX							;$05D898	|//
CODE_05D899:					;			|
	SEP #$20					;$05D899	|
	LDA.l $7ED000,X				;$05D89B	|\ Store level number of the tile Mario is currently on to translevel number.
	STA.w $13BF					;$05D89F	|/
CODE_05D8A2:					;			|
	LDA #$00
	STA $0E						;$05D8AC	||
	STZ $0F						;$05D8B5	|
CODE_05D8B7:					;			|
	REP #$30					;$05D8B7	|
	LDA $0E						;$05D8B9	|\ 
	STA $010B	;levelnum.ips
	ASL							;$05D8BB	||
	CLC							;$05D8BC	|| Get index to level data pointer table (multiply by 3).
	ADC $0E						;$05D8BD	||
	TAY							;$05D8BF	|/
	SEP #$20					;$05D8C0	|
	LDA.w Layer1Ptrs,Y			;$05D8C2	|\ 
	STA $65						;$05D8C5	||
	LDA.w Layer1Ptrs+1,Y		;$05D8C7	|| Store Layer 1 data pointer to RAM.
	STA $66						;$05D8CA	||
	LDA.w Layer1Ptrs+2,Y		;$05D8CC	||
	STA $67						;$05D8CF	|/
	LDA.w Layer2Ptrs,Y			;$05D8D1	|\ 
	STA $68						;$05D8D4	||
	LDA.w Layer2Ptrs+1,Y		;$05D8D6	|| Store Layer 2 data pointer to RAM.
	STA $69						;$05D8D9	||
	LDA.w Layer2Ptrs+2,Y		;$05D8DB	||
	STA $6A						;$05D8DE	|/
	LDA.w SprPtrs,Y		
	STA $CE				
	LDA.w SprPtrs+1,Y	
	STA $CF				
	LDA.w SprPtrs+2,y	
	STA $D0				
	LDA [$CE]			
	AND.b #$3F					;$05D8FB	|| Store sprite memory setting.
	STA.w $1692					;$05D8FD	|/
	LDA [$CE]					;$05D900	|\ 
	AND.b #$C0					;$05D902	|| Store sprite buoyancy settings.
	STA.w $190E					;$05D904	|/
	REP #$10					;$05D907	|
	SEP #$20					;$05D909	|
	LDY $0E						;$05D90B	|
	LDA.w DATA_05F000,Y			;$05D90D	|\ 
	LSR							;$05D910	||
	LSR							;$05D911	|| 
	LSR							;$05D912	||
	LSR							;$05D913	|| Store horizontal and vertical scroll settings for Layer 2.
	TAX							;$05D914	||
	LDA.l DATA_05D720,X			;$05D915	||
	STA.w $1413					;$05D919	||
	LDA.l DATA_05D710,X			;$05D91C	||
	STA.w $1414					;$05D920	|/
	LDA.b #$01					;$05D923	|\ Enable horizontal scrolling.
	STA.w $1411					;$05D925	|/
	LDA.w DATA_05F200,Y			;$05D928	|\ 
	AND.b #$C0					;$05D92B	||
	CLC							;$05D92D	||
	ASL							;$05D92E	|| Store Layer 3 settings.
	ROL							;$05D92F	||
	ROL							;$05D930	||
	STA.w $1BE3					;$05D931	|/
	STZ $1D						;$05D934	|\ Zero Layer 1 and 2 high Y positions.
	STZ $21						;$05D936	|/
	LDA.w DATA_05F600,Y			;$05D938	|\ 
	AND.b #$80					;$05D93B	|| Store No Yoshi flag.
	STA.w $141F					;$05D93D	|/
	LDA.w DATA_05F600,Y			;$05D940	|\ 
	AND.b #$60					;$05D943	||
	LSR							;$05D945	||
	LSR							;$05D946	|| Store vertical level flags.
	LSR							;$05D947	||
	LSR							;$05D948	||
	LSR							;$05D949	||
	STA $5B						;$05D94A	|/
	LDA.w $1B93					;$05D94C	|\ Branch if this is a secondary exit.
	BNE CODE_05D9A1				;$05D94F	|/
	LDA.w DATA_05F000,Y			;$05D951	|\ 
	AND.b #$0F					;$05D954	||
	TAX							;$05D956	||
	LDA.l DATA_05D730,X			;$05D957	|| Store entrance Y position.
	STA $96						;$05D95B	||
	LDA.l DATA_05D740,X			;$05D95D	||
	STA $97						;$05D961	|/
	LDA.w DATA_05F200,Y			;$05D963	|\ 
	STA $02						;$05D966	||
	AND.b #$07					;$05D968	||
	TAX							;$05D96A	|| Store entrance X position.
	LDA.l DATA_05D750,X			;$05D96B	||
	STA $94						;$05D96F	||
	LDA.l DATA_05D758,X			;$05D971	||
	STA $95						;$05D975	|/
	LDA $02						;$05D977	|\ 
	AND.b #$38					;$05D979	||
	LSR							;$05D97B	|| Store Mario entrance action.
	LSR							;$05D97C	||
	LSR							;$05D97D	||
	STA.w $192A					;$05D97E	|/
	LDA.w DATA_05F400,Y			;$05D981	|\ 
	STA $02						;$05D984	||
	AND.b #$03					;$05D986	|| Store BG initial position.
	TAX							;$05D988	||
	LDA.l DATA_05D70C,X			;$05D989	||
	STA $20						;$05D98D	|/
	LDA $02						;$05D98F	|\ 
	AND.b #$0C					;$05D991	||
	LSR							;$05D993	||
	LSR							;$05D994	|| Store FG initial position.
	TAX							;$05D995	||
	LDA.l DATA_05D708,X			;$05D996	||
	STA $1C						;$05D99A	|/
	LDA.w DATA_05F600,Y			;$05D99C	|
	STA $01						;$05D99F	|
CODE_05D9A1:					;			|
	LDA $5B						;$05D9A1	|\ 
	AND.b #$01					;$05D9A3	|| Branch if not a vertical level.
	BEQ CODE_05D9B8				;$05D9A5	|/
	LDY.w #$0000				;$05D9A7	|\ 
	LDA [$65],Y					;$05D9AA	|| Store spawn screen number?
	AND.b #$1F					;$05D9AC	||
	STA $97						;$05D9AE	|/
	INC A						;$05D9B0	|\ Store level length (vertical level)
	STA $5F						;$05D9B1	|/
	LDA.b #$01					;$05D9B3	|\ Enable vertical scrolling.
	STA.w $1412					;$05D9B5	|/
CODE_05D9B8:					;			|
	LDA.w $141A					;$05D9B8	|\ If not the first room of the level, end.
	BNE CODE_05D9EC				;$05D9BB	|/
	LDA $02						;$05D9BD	|\ 
	LSR							;$05D9BF	||
	LSR							;$05D9C0	|| Store midway screen.
	LSR							;$05D9C1	||
	LSR							;$05D9C2	||
	STA.w $13CD					;$05D9C3	|/
	STZ.w $13CE					;$05D9C6	| Reset midway point flag.
	LDX.w $13BF
	LDA.l $05D608|!bank,X			;Store the event the level activates.
	STA.w $1DEA
	SEP #$10					;$05D9D2	|
	LDX.w $13BF					;$05D9D4	|\ 
	LDA.w $1EA2,X				;$05D9D7	|| Check if midway flag has been set.
	AND.b #$40					;$05D9DA	|| Branch if not.
	BEQ CODE_05D9EC				;$05D9DC	|/
	STA.w $13CF					;$05D9DE	| Override the No Yoshi entrance cutscene.
	LDA $02						;$05D9E1	|\ 
	LSR							;$05D9E3	||
	LSR							;$05D9E4	|| Store Mario spawn screen position for midpoint.
	LSR							;$05D9E5	||
	LSR							;$05D9E6	||
	STA $95						;$05D9E7	|/
	JMP CODE_05DA17				;$05D9E9	|

CODE_05D9EC:
	REP #$10					;$05D9EC	|
	LDA $01						;$05D9EE	|\ 
	AND.b #$1F					;$05D9F0	|| $01 = eeeee bits of $05F600
	STA $01						;$05D9F2	|/
	LDA $5B						;$05D9F4	|\ 
	AND.b #$01					;$05D9F6	|| Check if Layer 1 is horizontal.
	BNE CODE_05DA01				;$05D9F8	|/
	LDA $01						;$05D9FA	|\ If horizontal, store Mario's spawn screen number (X).
	STA $95						;$05D9FC	|/
	JMP CODE_05DA17				;$05D9FE	|

CODE_05DA01:
	LDA $01						;$05DA01	|\ If vertical, store Mario's spawn screen number (Y).
	STA $97						;$05DA03	|/
	STA $1D						;$05DA05	| Store Layer 1's Y position screen number.
	SEP #$10					;$05DA07	|
	LDY.w $1414					;$05DA09	|\ 
	CPY.b #$03					;$05DA0C	|| If Layer 2's scroll speed isn't "slow", store its Y position screen number.
	BEQ CODE_05DA12				;$05DA0E	||
	STA $21						;$05DA10	|/
CODE_05DA12:					;			|
	LDA.b #$01					;$05DA12	|\ Enable vertical scrolling (always on in vertical levels)
	STA.w $1412					;$05DA14	|/
CODE_05DA17:					;			|
	SEP #$30					;$05DA17	|

CODE_05DA24:
	LDX.b #$04					;$05DA24	|\ 
	LDY.b #$04					;$05DA26	||
	LDA [$65],Y					;$05DA28	||
	AND.b #$0F					;$05DA2A	|| If the level's tileset doesn't use a No Yoshi intro, skip over the load routine.
CODE_05DA2C:					;			||
	CMP.l DATA_05D760,X			;$05DA2C	||
	BEQ CODE_05DA38				;$05DA30	||
	DEX							;$05DA32	||
	BPL CODE_05DA2C				;$05DA33	|/
CODE_05DA35:					;			|
	JMP CODE_05DAD7				;$05DA35	|

CODE_05DA38:
	LDA.w $141A					;$05DA38	|\ 
	BNE CODE_05DA35				;$05DA3B	|| If not the first levelm
	LDA.w $141D					;$05DA3D	||  Mario Start! is disabled,
	BNE CODE_05DA35				;$05DA40	||  or the No Yoshi entrance is disabled,
	LDA.w $141F					;$05DA42	||  don't show the No Yoshi entrance.
	BNE CODE_05DA35				;$05DA45	|/
	LDA.w $13BF					;$05DA47	|
	CMP.b #$31					;$05DA4A	|\ 
	BEQ CODE_05DA5E				;$05DA4C	||
	CMP.b #$32					;$05DA4E	||
	BEQ CODE_05DA5E				;$05DA50	|| Five levels which will use the
	CMP.b #$34					;$05DA52	||  dark-background castle intro if
	BEQ CODE_05DA5E				;$05DA54	||  the level is set to tileset 1.
	CMP.b #$35					;$05DA56	||
	BEQ CODE_05DA5E				;$05DA58	||
	CMP.b #$40					;$05DA5A	||
	BNE CODE_05DA60				;$05DA5C	|/
CODE_05DA5E:					;			|
	LDX.b #$05					;$05DA5E	|
CODE_05DA60:					;			|
	LDA.w $13CF					;$05DA60	|\ Check if No Yoshi intro has been overriden by midpoint.
	BNE CODE_05DAD0				;$05DA63	|/
	LDA.l DATA_05D790,X			;$05DA65	|\ 
	STA $96						;$05DA69	|| Load the No Yoshi cutscene.
	LDA.b #$01					;$05DA6B	||
	STA $97						;$05DA6D	||
	LDA.b #$30					;$05DA6F	||
	STA $94						;$05DA71	||
	STZ $95						;$05DA73	||
	LDA.b #$C0					;$05DA75	||
	STA $1C						;$05DA77	||
	STA $20						;$05DA79	||
	STZ.w $192A					;$05DA7B	||
	LDA.b #$EE					;$05DA7E	||\ 
	STA $CE						;$05DA80	|||
	LDA.b #$C3					;$05DA82	||| Set sprite data pointer to $07C3EE (no sprites).
	STA $CF						;$05DA84	|||
	LDA.b #$07					;$05DA86	||/
	STA $D0						;$05DA88	||
	LDA [$CE]					;$05DA8A	||
	AND.b #$3F					;$05DA8C	||
	STA.w $1692					;$05DA8E	||
	LDA [$CE]					;$05DA91	||
	AND.b #$C0					;$05DA93	||
	STA.w $190E					;$05DA95	||
	STZ.w $1413					;$05DA98	||
	STZ.w $1414					;$05DA9B	||
	STZ.w $1411					;$05DA9E	||
	STZ $5B						;$05DAA1	||
	LDA.l DATA_05D78A,X			;$05DAA3	||
	STA.w $1BE3					;$05DAA7	||
	STX $00						;$05DAAA	||
	TXA							;$05DAAC	||
	ASL							;$05DAAD	||
	CLC							;$05DAAE	||
	ADC $00						;$05DAAF	||
	TAY							;$05DAB1	||
	LDA.w PtrsLong05D766,Y		;$05DAB2	||
	STA $65						;$05DAB5	||
	LDA.w PtrsLong05D766+1,Y	;$05DAB7	||
	STA $66						;$05DABA	||
	LDA.w PtrsLong05D766+2,Y	;$05DABC	||
	STA $67						;$05DABF	||
	LDA.w PtrsLong05D778,Y		;$05DAC1	||
	STA $68						;$05DAC4	||
	LDA.w PtrsLong05D778+1,Y	;$05DAC6	||
	STA $69						;$05DAC9	||
	LDA.w PtrsLong05D778+2,Y	;$05DACB	||
	STA $6A						;$05DACE	|/
CODE_05DAD0:					;			|
	LDA.l DATA_05D760,X			;$05D7D0	|\ Store tileset settings.
	STA.w $1931					;$05DAD4	|/
CODE_05DAD7:					;			|
	PLB							;$05DAEB	|
	SEP #$30					;$05DAEC	|
	RTL							;$05DAEE	|

DATA_05D708:					;$05D708	| FG initial positions.
	db $00,$60,$C0,$00

DATA_05D70C:					;$05D70C	| BG initial positions.
	db $60,$90,$C0,$00

DATA_05D710:					;$05D710	| Vertical scroll settings for Layer 2.
	db $03,$01,$01,$00,$00,$02,$02,$01
	db $00,$00,$00,$00,$00,$00,$00,$00

DATA_05D720:					;$05D720	| Horizontal scroll settings for Layer 2.
	db $02,$02,$01,$00,$01,$02,$01,$00
	db $00,$00,$00,$00,$00,$00,$00,$00

DATA_05D730:					;$05D730	| Initial Mario Y positions for entrances.
	db $00,$30,$60,$80,$A0,$B0,$C0,$E0
	db $10,$30,$50,$60,$70,$90,$00,$00

DATA_05D740:					;$05D740	| Initial Mario Y subscreen positions.
	db $00,$00,$00,$00,$00,$00,$00,$00
	db $01,$01,$01,$01,$01,$01,$01,$01

DATA_05D750:					;$05D750	| Initial Mario X positions for entrances.
	db $10,$80,$00,$E0,$10,$70,$00,$E0

DATA_05D758:					;$05D758	| Initial Mario X subscreen positions.
	db $00,$00,$00,$00,$01,$01,$01,$01

DATA_05D760:					;$05D760	| The tileset each No Yoshi intro is used with.
	db $05,$01,$02,$06,$08,$01				; The last byte is only used for the 5 associated levels at $05DA4A.

PtrsLong05D766:					;$05D766	| Pointers for the No Yoshi intros (layer 1).
	dl $078000				; Ghouse house entrance
	dl $07801E				; Castle entrance 1
	dl $07804E				; Sign entrance 1
	dl $07809F				; Sign entrance 2
	dl $0780B1				; Sign entrance 3
	dl $078090				; Castle entrance 2

PtrsLong05D778:					;$05D778	| Pointers for the No Yoshi intros (layer 2).
	dl $078018
	dl $FFD900
	dl $FFD900
	dl $FFE684
	dl $FFDF59
	dl $FFE8EE

DATA_05D78A:					;$05D78A	| Layer 3 setting for each of the no-Yoshi entrances (for $1BE3).
	db $03,$00,$00,$00,$00,$00

DATA_05D790:					;$05D790	| Initial X positions for Mario in each of the no-Yoshi entrances.
	db $70,$70,$60,$70,$70,$70

Layer1Ptrs:
dl Level0L1,Level1L1,$068636|!bank
Layer2Ptrs:
dl $FFE103,$FFE684,$FFF45A
SprPtrs:
dl Level0Spr,Level1Spr,$07D152|!bank

DATA_05F000:					;$05F000	| Secondary level header first byte. SSSSYYYY
db $0B,$54,$0B
DATA_05F200:					;$05F200	| Secondary level header second byte. 33AAAXXX.
db $18,$03,$00
DATA_05F400:					;$05F400	| Secondary level header third byte. MMMMFFBB.
db $8A,$03,$00
DATA_05F600:					;$05F600	| Secondary level header fourth byte. IUVEEEEE
db $00,$00,$00

DATA_05F800:					;$05F800	| Secondary exit data first byte. Low byte of destination.
db $00
DATA_05FA00:					;$05FA00	| Secondary exit data second byte. BBFFYYYY; BG, FG, Y positions.
db $00
DATA_05FC00:					;$05FC00	| Secondary exit data third byte. XXXSSSSS; X position, screen number.
db $00
DATA_05FE00:					;$05FE00	| Secondary exit data fourth byte. S---LAAA; slippery, high level byte, mario action.
db $00



Level0L1:
db $A0, $40, $31, $03, $31, $12, $0B, $90
db $38, $40, $27, $12, $D9, $00, $12, $DE
db $00, $6A, $C0, $3F, $16, $F3, $10, $17
db $68, $31, $37, $37, $0B, $36, $38, $0B
db $35, $39, $0B, $35, $4A, $55, $2E, $3F
db $6B, $2E, $30, $9D, $1F, $00, $01, $00
db $00, $00, $01, $FF

Level0Spr:
db $00, $11, $E0, $77, $11, $90, $74, $01
db $70, $E6, $FF

Level1L1:
db $A6, $60, $60, $3F, $36, $01, $00, $01
db $2B, $C0, $00, $00, $00, $01, $0D, $D2
db $22, $0D, $D7, $23, $0D, $DD, $23, $2B
db $CD, $00, $2B, $CA, $00, $2B, $C7, $00
db $2B, $C4, $00, $0C, $D2, $0F, $8D, $D3
db $23, $0D, $D9, $23, $2B, $C3, $00, $0C
db $D2, $03, $0D, $DF, $23, $8D, $D5, $23
db $0D, $DB, $23, $8D, $D1, $23, $0D, $D7
db $23, $0D, $DD, $23, $8D, $D3, $23, $0D
db $D9, $23, $0D, $DF, $23, $8D, $D5, $23
db $0D, $DB, $23, $8D, $D1, $23, $0D, $D7
db $23, $0D, $DD, $22, $FF
Level1Spr:
db $10, $FF

Map16:
db $F8,$28,$93,$29,$F8,$28,$94,$29
db $88,$29,$98,$29,$89,$29,$99,$29

;Game Mode 12
GameMode12:
	LDA #$00
	STA !carl_initialized
	LDA #$12
	STA $0100|!addr
	STZ $4200
	;You can modify Map16 pointers here
	LDA $010B
	CMP #$01
	BNE +
	REP #$20
	LDA #$13AE|!addr
	STA $100A|!addr
	LDA #$13B6|!addr
	STA $121E|!addr
	LDX #$0E
-
	LDA.l Map16,x
	STA $13AE|!addr,x
	DEX
	DEX
	BPL -
	SEP #$20
+
	PHK
	PEA.w (+)-1
	PEA.w $84CE
	JML $00A59C|!bank
+
	;Load custom graphics
	;Load custom palette
	LDA $010B
	CMP #$01
	BNE +
	STZ $4200
	LDA #$80
	STA $2100
	STA $2115
	STZ $2116
	LDA #$18
	STA $2117
	LDY #$24
	PHK
	PEA.w (++)-1
	PEA.w $84CE
	JML $00AA6B|!bank
++
	STZ $2116
	LDA #$68
	STA $2117
	REP #$20
	LDA #$1801
	STA $4320
	LDA.w #GFX
	STA $4322
	LDX.b #GFX>>16
	STX $4324
	LDA #$2000
	STA $4325
	SEP #$20
	LDA #$04
	STA $420B
	LDA #$11
	STA $212C
	LDA #$00
	STA $212D
++
	SEP #$30
	LDA #$81
	STA $4200
+
	;Finish
	LDA #$80
	STA !carl_initialized
	RTS



;Clown Car boss from VIP6 + called subroutines

;db $01,$A0
;db $00,$24,$FC,$82,$19,$40
;dl $AB9A56
;dl $AB9A5E
;db $00,$00


SpriteCode:
	LDA !7FAB28,x
	CMP #$08
	BEQ .main
	CMP #$01
	BEQ .init
	;PHK
	;PEA.w .end-1
	;PEA.w $80CA-1
	;JML $018133|!bank
.init
	PHB
	PHK
	PLB
	LDA #$08
	STA !7FAB28,x
	LDA !7FAB9E,x
	TAY
	LDA.w Sprite1656Vals,y
	STA !1656,x
	LDA.w Sprite1662Vals,y
	STA !1662,x
	LDA.w Sprite166EVals,y
	STA !166E,x
	AND #$0F
	STA !15F6,x
	LDA.w Sprite167AVals,y
	STA !167A,x
	LDA.w Sprite1686Vals,y
	STA !1686,x
	LDA.w Sprite190FVals,y
	STA !190F,x
	LDA.w InitPtr,y
	STA $00
	LDA.w InitPtr+1,y
	BRA +
.main
	PHB
	PHK
	PLB
	LDA !7FAB9E,x
	TAY
	LDA.w MainPtr,y
	STA $00
	LDA.w MainPtr+1,y
+
	STA $01
	PEA.w (+)-1
	JMP (!dp)
+
	PLB
.end
	JML $018762|!bank

;Tweaker Bytes
Sprite1656Vals:
db $00
Sprite1662Vals:
db $24
Sprite166EVals:
db $FC
Sprite167AVals:
db $82
Sprite1686Vals:
db $19
Sprite190FVals:
db $40

;Sprite Pointers:
InitPtr:
dw ClownCarBoss_Init
MainPtr:
dw ClownCarBoss_Main

SpriteInitHack:	;$0187A7
	LDA !9E,x
	CMP #!SpriteID
	BEQ +
	RTL
+
	PHB
	PHK
	PLB
	LDA #$08
	STA !7FAB28,x
	LDA !7FAB9E,x
	TAY
	LDA.w Sprite1656Vals,y
	STA !1656,x
	LDA.w Sprite1662Vals,y
	STA !1662,x
	LDA.w Sprite166EVals,y
	STA !166E,x
	AND #$0F
	STA !15F6,x
	LDA.w Sprite167AVals,y
	STA !167A,x
	LDA.w Sprite1686Vals,y
	STA !1686,x
	LDA.w Sprite190FVals,y
	STA !190F,x
	LDA.w InitPtr,y
	STA $00
	LDA.w InitPtr+1,y
	STA $01
	PEA.w (+)-1
	JMP (!dp)
+
	PLB
	RTL

ClownCarBoss:
.Init
	LDA !1504,X
	BNE +
	CPX #$00
	BEQ +
	LDA $0DC2|!addr
	CMP #$03
	BNE ++
	LDA #$04
	STA $0DC2|!addr
++
	STZ $1FFB|!addr
	LDA #$FF
	STA $1FFC|!addr
	STZ $1FFD|!addr
	STZ !1510
	STA !1570
	STA $5C	;Run IRQ on scanline $00 instead of $24 todo
	LDA #$40
	STA $1462|!addr
	STA $1A
	LDA #$50
	STA $94
	LDA #$08
	STA !14C8
	LDA !7FAB9E,X
	STA !7FAB9E
	LDA #$10
	STA !E4
	LDA #$01
	STA !14E0
	LDA #$80
	STA !D8
	LDA #$FF
	STA !14D4
	LDX #$00
	JSL $07F7D2|!bank
	LDA #!SpriteID
	STA !9E,x
	;JSL $0187A7	;spritetool todo
	LDA #$01
	STA !7FAB28	;spritetool todo
	JSL SpriteInitHack
	INC !157C
	LDX $15E9|!addr
	STZ !14C8,X
+
	RTS

.Main
	LDA $1B89|!addr
	CMP #$E0
	BCC label_2B9ADB
	STZ !14C8,X
	RTS

label_2B9ADB:
	LDA !1504,X
	JSL $0086DF|!bank
dw ClownCar,label_2B9B39,label_2B9B8D,label_2B9B8D
dw label_2B9BDA,label_2B9C93,label_2B9CB3,label_2B9CE3
dw label_2B9D56

	RTS

ClownCar:
	JSR label_2BAFF3
	JSL $03DFCC|!bank	;Handle lightning and clown car palette
	LDA $0682|!addr
	BEQ +
	LDA #$02
	STA $0682|!addr
	STZ $0686|!addr
+
	JSR label_2BB45C	;HDMA
	LDA $9D
	BNE +
	STZ $149F|!addr
	LDA !C2,X
	JSL $0086DF|!bank
dw .State0,label_2B9DBB,label_2B9E0A,label_2B9E50
dw label_2B9E75,label_2B9EAB,label_2B9E50,label_2B9F59
dw label_2B9FD2,label_2BA041,label_2BA0B3,label_2BA118
dw label_2BA18A,label_2BA1FD,label_2BA290,label_2BA333
dw label_2B9E75,label_2BA459,label_2BA4B6,label_2BA4FD
dw label_2BA577,label_2BA59F
+
	RTS

label_2B9B39:
	JSR label_2BB282
	LDA $9D
	BNE label_2B9B8C
	LDA !14D4,X
	CMP #$01
	BNE label_2B9B4A
	STZ !14C8,X
label_2B9B4A:
	LDA !14C8,X
	CMP #$08
	BNE label_2B9B8C
	JSL $01A7DC|!bank
	LDA !C2,X
	BEQ label_2B9B5D
	JSR label_2BAC78
	RTS

label_2B9B5D:
	JSR label_2BAC74
	LDA !1588,X
	AND #$04
	BEQ label_2B9B8C
	LDA #$D0
	STA !AA,X
	LDA #$25
	STA $1DFC|!addr
	LDA #$20
	STA $1887|!addr
	INC !C2,X
	LDA !1FD6
	BEQ label_2B9B8C
	LDA $77
	AND #$04
	BEQ label_2B9B8C
	LDA $18BD|!addr
	BNE label_2B9B8C
	LDA #$10
	STA $18BD|!addr
label_2B9B8C:
	RTS

label_2B9B8D:
	JSR label_2BB2E5
	LDA !14C8,X
	CMP #$08
	BNE label_2B9BD9
	LDA !1540,X
	BEQ label_2B9BB6
	CMP #$01
	BNE label_2B9BA4
	STZ !14C8,X
	RTS

label_2B9BA4:
	LDA !1504,X
	AND #$01
	BEQ label_2B9BB2
	JSR label_2BA9BA
	STZ !14C8,X
	RTS

label_2B9BB2:
	JSR label_2BAEC6
	RTS

label_2B9BB6:
	LDA $9D
	BNE label_2B9BD9
	LDA #$00
	JSL SubOffScreen
	JSL $01A7DC|!bank
	JSL $01802A|!bank
	LDA !1588,X
	AND #$0F
	BEQ label_2B9BD9
	LDA #$40
	STA !1540,X
	LDA #$09
	STA $1DFC|!addr
label_2B9BD9:
	RTS

label_2B9BDA:
	LDA !14D4,X
	CMP #$01
	BNE label_2B9BE5
	STZ !14C8,X
	RTS

label_2B9BE5:
	LDA !14C8,X
	CMP #$02
	BEQ label_2B9BF0
	CMP #$08
	BCC label_2B9C51
label_2B9BF0:
	JSR label_2BB312
	LDA $9D
	BNE label_2B9C51
	LDA !14C8,X
	CMP #$08
	BNE label_2B9C51
	CPX #$09
	BNE label_2B9C52
	LDA !1540,X
	BNE label_2B9C3F
	LDA #$1C
	STA $00
	LDA #$08
	STA $01
	LDA #$06
	STA $02
	LDA #$11
	STA $03
	LDA #$01
	STA $04
	JSR label_2BA655
	LDA #$09
	STA $1DFC|!addr
	JSL $01AB72|!bank
label_2B9C29:
	INY
	LDA #$04
	STA !1504,Y
	LDA !167A,Y
	ORA #$01
	STA !167A,Y
	CPY #$09
	BCC label_2B9C29
	STZ !14C8,X
	RTS

label_2B9C3F:
	JSL $01A7DC|!bank
	LDA !D8,X
	CMP #$30
	BCC label_2B9C51
	LDA #$F0
	STA !AA,X
	JSL $01801A|!bank
label_2B9C51:
	RTS

label_2B9C52:
	JSL $01A7DC|!bank
	LDA !14E0,X
	BNE label_2B9C63
	LDA !E4,X
	CMP #$40
	BCC label_2B9C69
	BRA label_2B9C78
label_2B9C63:
	LDA !E4,X
	CMP #$30
	BCC label_2B9C78
label_2B9C69:
	LDA !B6,X
	EOR #$FF
	INC A
	STA !B6,X
	LDA !157C,X
	EOR #$01
	STA !157C,X
label_2B9C78:
	JSL $018022|!bank
	LDA !14D4,X
	BNE label_2B9C87
	LDA !D8,X
	CMP #$B0
	BCC label_2B9C8E
label_2B9C87:
	LDA !AA,X
	EOR #$FF
	INC A
	STA !AA,X
label_2B9C8E:
	JSL $01801A|!bank
	RTS

label_2B9C93:
	JSR label_2BB354
	LDA $9D
	BNE label_2B9CB2
	LDA #$00
	JSL SubOffScreen
	JSL $01801A|!bank
	JSL $018022|!bank
	JSL $01A7DC|!bank
	BCC label_2B9CB2
	JSL $00F5B7|!bank
label_2B9CB2:
	RTS

label_2B9CB3:
	LDA !14C8,X
	CMP #$08
	BNE label_2B9CE2
	JSL GetDrawInfo
	JSR label_2BB3BE
	LDA $9D
	BNE label_2B9CE2
	JSL $03B69F|!bank
	JSL $03B664|!bank
	JSL $03B72B|!bank
	BCC label_2B9CD7
	JSL $00F5B7|!bank
label_2B9CD7:
	LDA !C2,X
	BNE label_2B9CDF
	JSR label_2BACB4
	RTS

label_2B9CDF:
	JSR label_2BAD16
label_2B9CE2:
	RTS

label_2B9CE3:
	JSR label_2BB3FE
	LDA $9D
	BNE label_2B9D44
	LDA #$00
	JSL SubOffScreen
	JSL $01B44F|!bank
	LDA !1540,X
	BNE label_2B9D44
	LDA !D8,X
	ORA !E4,X
	AND #$0F
	BNE label_2B9D2D
	LDA !D8,X
	STA $98
	LDA !14D4,X
	STA $99
	LDA !E4,X
	STA $9A
	LDA !14E0,X
	STA $9B
	REP #$30
	LDA.w #$0025
	JSL ChangeMap16
	LDA $98
	SEC
	SBC #$0010
	STA $98
	LDA.w #$0025
	JSL ChangeMap16
	SEP #$30
label_2B9D2D:
	LDA !C2,X
	BNE label_2B9D45
	LDA #$E0
	STA !B6,X
	JSL $018022|!bank
	LDA $13
	AND #$03
	BNE label_2B9D44
	LDA #$04	;Addmusic todo
	STA $1DFA|!addr
label_2B9D44:
	RTS

label_2B9D45:
	LDA #$10
	STA !AA,X
	JSL $01801A|!bank
	LDA !14D4,X
	BEQ label_2B9D44
	STZ !14C8,X
	RTS

label_2B9D56:
	JSR label_2BB438
	LDA $9D
	BNE label_2B9D7C
	LDA #$00
	JSL SubOffScreen
	LDY !157C,X
	LDA.w label_2B9D7D,Y
	STA !B6,X
	JSL $01802A|!bank
label_2B9D6F:
	JSL $01A7DC|!bank
	BCC label_2B9D7C
	STZ !14C8,X
	JSL $00F606|!bank
label_2B9D7C:
	RTS

label_2B9D7D:
db $10,$F0

ClownCar_State0:
	LDA !14D4,X
	BNE label_2B9DAD
	LDA !D8,X
	CMP #$10
	BCC label_2B9DAD
	LDA !1540,X
	BNE label_2B9DBA
	INC !C2,X
	LDA #$80
	STA !1540,X
	LDA #$45	;Addmusic todo
	;STA $1DFB|!addr
	LDA $17
	AND #$30
	CMP #$30
	BNE label_2B9DBA
	;JSL $1093A0	;Check VIP Coin completion if holding L+R todo
	;BCC label_2B9DBA
	INC !1FD6
	RTS

label_2B9DAD:
	LDA #$04
	STA !AA,X
	JSL $01801A|!bank
	LDA #$E0
	STA !1540,X
label_2B9DBA:
	RTS

label_2B9DBB:
	LDA !1558,X
	BEQ label_2B9DC3
	JMP label_2BAE70
label_2B9DC3:
	STZ !1602,X
	JSR label_2BADB3
	JSR label_2BAC2A
	JSR label_2BAC53
	LDA !1540,X
	BNE label_2B9E09
	LDA !1594
	CMP #$03
	BCC label_2B9E01
	DEC !1594,X
	STZ $00
	LDY #$01
label_2B9DE2:
	LDA !14C8,Y
	BEQ label_2B9DE9
	INC $00
label_2B9DE9:
	INY
	CPY #$03
	BCC label_2B9DE2
	LDA $00
	CMP #$02
	BCS label_2B9E01
	STZ !1594,X
	LDA #$50
	STA !1540,X
	LDA #$03
	STA !C2,X
	RTS

label_2B9E01:
	INC !C2,X
	INC !1594,X
	STZ !151C,X
label_2B9E09:
	RTS

label_2B9E0A:
	LDA !1558,X
	BEQ label_2B9E12
	JMP label_2BAE70
label_2B9E12:
	LDA #$01
	STA !1602,X
	JSR label_2BADB3
	JSR label_2BAC2A
	LDY !151C,X
	LDA.w label_2B9E4E,Y
	STA $00
	JSR label_2BAC8E
	LDA !151C,X
	BEQ label_2B9E4D
	LDA !14D4,X
	BNE label_2B9E4D
	LDA !D8,X
	CMP #$10
	BCS label_2B9E4D
	JSL $01ACF9|!bank
	ADC $94
	AND #$3F
	CLC
	ADC #$30
	STA !1540,X
	STZ !AA,X
	STZ !151C,X
	DEC !C2,X
label_2B9E4D:
	RTS

label_2B9E4E:
db $38,$D0

label_2B9E50:
	LDA !1558,X
	BEQ label_2B9E58
	JMP label_2BAE70
label_2B9E58:
	STZ !1602,X
	JSR label_2BADB3
	LDA !1540,X
	BEQ label_2B9E6B
	CMP #$30
	BNE label_2B9E74
	JSR label_2BA749
	RTS

label_2B9E6B:
	DEC !C2,X
	DEC !C2,X
	LDA #$50
	STA !1540,X
label_2B9E74:
	RTS

label_2B9E75:
	LDA !1558,X
	BEQ label_2B9E7D
	JMP label_2BAE70
label_2B9E7D:
	JSR label_2BADB3
	STZ !1602,X
	LDA !1540,X
	BNE label_2B9EAA
	LDA #$E0
	STA !AA,X
	JSL $01801A|!bank
	LDA !14D4,X
	BEQ label_2B9EAA
	LDA !D8,X
	CMP #$80
	BCS label_2B9EAA
	LDA !C2,X
	CMP #$04
	BEQ label_2B9EA7
	INC !C2,X
	STZ !1594,X
	RTS

label_2B9EA7:
	JSR label_2BAB3C
label_2B9EAA:
	RTS

label_2B9EAB:
	LDA !1558,X
	BEQ label_2B9EB3
	JMP label_2BAE70
label_2B9EB3:
	LDA !1594,X
	CMP #$05
	BCS label_2B9F0B
	CMP #$04
	BCC label_2B9ED4
	LDA !1540,X
	BNE label_2B9F0A
	LDA $94
	STA !E4,X
	LDA $95
	STA !14E0,X
	LDA #$2B
	STA $1DFC|!addr
	DEC !1594,X
label_2B9ED4:
	LDA #$01
	STA !1602,X
	JSR label_2BADB3
	LDY !151C,X
	LDA.w label_2B9F57,Y
	STA $00
	JSR label_2BAC8E
	LDA !151C,X
	BEQ label_2B9F0A
	LDA !14D4,X
	BNE label_2B9F0A
	LDA !D8,X
	CMP #$10
	BCS label_2B9F0A
	INC !1594,X
	LDA #$50
	STA !1540,X
	INC !C2,X
	RTS

	DEC !C2,X
	STZ !1540,X
	STZ !1594,X
label_2B9F0A:
	RTS

label_2B9F0B:
	LDY !1528,X
	LDA.w label_2B9F55,Y
	STA !B6,X
	JSL $018022|!bank
	LDA !1540,X
	BNE label_2B9F0A
	LDA #$A1
	STA $00
	LDA !1594,X
	STA $01
	LDA #$01
	STA $02
	LDA #$02
	STA $03
	LDA #$01
	STA $04
	JSR label_2BA655
	LDA #$2B
	STA $1DFC|!addr
	INY
	LDA #$01
	STA !1504,Y
	DEC !1594,X
	LDA !1594,X
	CMP #$04
	BNE label_2B9F4F
	LDA #$60
	BRA label_2B9F51
label_2B9F4F:
	LDA #$30
label_2B9F51:
	STA !1540,X
	RTS

label_2B9F55:
db $10,$F0
label_2B9F57:
db $50,$D0

label_2B9F59:
	LDA !1558,X
	BEQ label_2B9F61
	JMP label_2BAE70
label_2B9F61:
	STZ !1602,X
	JSR label_2BADB3
	JSR label_2BAC53
	JSL $018022|!bank
	JSL SubHorzPos
	TYA
	STA !157C,X
	LDA !B6,X
	CMP.w label_2B9FCE,Y
	BEQ label_2B9F83
	CLC
	ADC.w label_2B9FD0,Y
	STA !B6,X
label_2B9F83:
	LDY !1594,X
	CPY #$06
	BCS label_2B9F98
	LDA !1540,X
	BNE label_2B9FCD
	INC !C2,X
	STZ !151C,X
	STZ !1594,X
	RTS

label_2B9F98:
	LDA !1540,X
	BNE label_2B9FCD
	LDY !1594,X
	STY $01
	LDA #$33
	STA $00
	LDA #$01
	STA $02
	LDA #$03
	STA $03
	STZ $04
	JSR label_2BA655
	LDA #$27
	STA $1DFC|!addr
	INY
	LDA.w !C2,Y
	INC A
	STA.w !C2,Y
	LDA #$19
	STA !1686,Y
	DEC !1594,X
	LDA #$20
	STA !1540,X
label_2B9FCD:
	RTS

label_2B9FCE:
db $30,$D0
label_2B9FD0:
db $02,$FE

label_2B9FD2:
	LDA !1558,X
	BEQ label_2B9FDA
	JMP label_2BAE70

label_2B9FDA:
	LDA #$01
	STA !1602,X
	JSR label_2BADB3
	LDA !1594,X
	CMP #$03
	BCC label_2B9FEF
	LDA !D8,X
	CMP #$18
	BCC label_2BA025
label_2B9FEF:
	JSL $01802A|!bank
	JSL SubHorzPos
	TYA
	STA !157C,X
	LDA !B6,X
	CMP.w label_2BA03D,Y
	BEQ label_2BA008
	CLC
	ADC.w label_2BA03F,Y
	STA !B6,X
label_2BA008:
	LDA !14D4,X
	BNE label_2BA03C
	LDA !D8,X
	CMP #$68
	BCC label_2BA03C
	LDA #$20
	STA $1887|!addr
	LDA #$09
	STA $1DFC|!addr
	LDA #$A0
	STA !AA,X
	INC !1594,X
	RTS

label_2BA025:
	INC !1594,X
	LDA #$50
	STA !1540,X
	LDA #$06
	STA !C2,X
	RTS

	LDA #$04
	STA !C2,X
	STZ !1540,X
	STZ !1594,X
label_2BA03C:
	RTS

label_2BA03D:
db $30,$D0
label_2BA03F:
db $02,$FE

label_2BA041:
	LDA !1558,X
	BEQ label_2BA049
	JMP label_2BAE70

label_2BA049:
	STZ !1602,X
	JSR label_2BADB3
	LDA !14D4,X
	BNE label_2BA05A
	LDA !D8,X
	CMP #$40
	BCS label_2BA062
label_2BA05A:
	LDA #$30
	STA !AA,X
	JSL $01801A|!bank
label_2BA062:
	LDA !1540,X
	BNE label_2BA0B2
	LDA !1594,X
	CMP #$03
	BCC label_2BA078
	LDA #$06
	STA !C2,X
	LDA #$60
	STA !1540,X
	RTS

label_2BA078:
	LDA #$3E
	STA $00
	LDA !1594,X
	ASL A
	CLC
	ADC #$04
	STA $01
	LDA #$02
	STA $02
	LDA !1594,X
	ASL A
	CLC
	ADC #$05
	STA $03
	LDA #$01
	STA $04
	JSR label_2BA655
	LDA #$08
	STA $1DFC|!addr
	INY
	LDA #$02
	STA !1504,Y
	INY
	STA !1504,Y
	INC !1594,X
	LDA #$48
	STA !1540,X
label_2BA0B2:
	RTS

label_2BA0B3:
	LDA !1558,X
	BEQ label_2BA0BB
	JMP label_2BAE70

label_2BA0BB:
	STZ !1602,X
	JSR label_2BADB3
	JSR label_2BAC53
	LDY !1528,X
	LDA.w label_2BA111,Y
	STA !B6,X
	JSL $018022|!bank
	LDA !1540,X
	BNE label_2BA110
	LDA !1594,X
	CMP #$05
	BCC label_2BA113
	CMP #$08
	BNE label_2BA0E3
	JSR label_2BA749
label_2BA0E3:
	LDA #$3E
	STA $00
	LDA !1594,X
	STA $01
	LDA #$01
	STA $02
	LDA #$0A
	STA $03
	LDA #$01
	STA $04
	JSR label_2BA655
	LDA #$08
	STA $1DFC|!addr
	INY
	LDA #$03
	STA !1504,Y
	DEC !1594,X
	LDA #$70
	STA !1540,X
label_2BA110:
	RTS

label_2BA111:
db $08,$F8

label_2BA113:
	LDA #$04
	STA !C2,X
	RTS

label_2BA118:
	LDA !1558,X
	BEQ label_2BA120
	JMP label_2BAE70

label_2BA120:
	STZ !1602,X
	JSR label_2BADB3
	LDA !14D4,X
	BNE label_2BA131
	LDA !D8,X
	CMP #$40
	BCC label_2BA139
label_2BA131:
	LDA #$E0
	STA !AA,X
	JSL $01801A|!bank
label_2BA139:
	LDA !1540,X
	BNE label_2BA187
	LDA #$33
	STA $00
	LDA #$09
	STA $01
	LDA #$01
	STA $02
	LDA #$0B
	STA $03
	LDA #$01
	STA $04
	JSR label_2BA655
	LDA #$06
	STA $1DFC|!addr
	INY
	LDA #$04
	STA !1504,Y
	LDA #$40
	STA !1540,Y
	INC !C2,X
	JSL $01ACF9|!bank
	LDY !157C,X
	AND #$0F
	CLC
	ADC.w label_2BA188,Y
	STA !B6,X
	LDA $148E|!addr
	AND #$0F
	CLC
	ADC #$E1
	STA !AA,X
	LDA #$40
	STA !1540,X
label_2BA187:
	RTS

label_2BA188:
db $10,$E1

label_2BA18A:
	LDA !1558,X
	BEQ label_2BA192
	JMP label_2BAE70

label_2BA192:
	STZ !1602,X
	JSR label_2BADB3
	LDA !1540,X
	BNE label_2BA1FC
	LDY #$09
label_2BA19F:
	LDA !14C8,Y
	BNE label_2BA1B3
	DEY
	CPY #$03
	BCS label_2BA19F
	LDA #$50
	STA !1540,X
	LDA #$06
	STA !C2,X
	RTS

label_2BA1B3:
	LDA #$01
	STA !1602,X
	LDA !14E0,X
	BNE label_2BA1C5
	LDA !E4,X
	CMP #$50
	BCC label_2BA1CB
	BRA label_2BA1DA

label_2BA1C5:
	LDA !E4,X
	CMP #$10
	BCC label_2BA1DA
label_2BA1CB:
	LDA !B6,X
	EOR #$FF
	INC A
	STA !B6,X
	LDA !157C,X
	EOR #$01
	STA !157C,X
label_2BA1DA:
	JSL $018022|!bank
	LDA !14D4,X
	BEQ label_2BA1EB
	LDA !D8,X
	CMP #$E0
	BCC label_2BA1F1
	BRA label_2BA1F8

label_2BA1EB:
	LDA !D8,X
	CMP #$60
	BCC label_2BA1F8
label_2BA1F1:
	LDA !AA,X
	EOR #$FF
	INC A
	STA !AA,X
label_2BA1F8:
	JSL $01801A|!bank
label_2BA1FC:
	RTS

label_2BA1FD:
	LDA !1558,X
	BEQ label_2BA205
	JMP label_2BAE70

label_2BA205:
	LDA #$01
	STA !1602,X
	JSR label_2BADB3
	LDA !1594,X
	CMP #$08
	BNE label_2BA21D
	LDA !1540,X
	BEQ label_2BA21D
	CMP #$60
	BCC label_2BA27D
label_2BA21D:
	LDY !157C,X
	LDA.w label_2BA27B,Y
	STA !B6,X
	JSL $018022|!bank
	JSR label_2BAC78
	LDA !AA,X
	BMI label_2BA234
	CMP #$40
	BCS label_2BA23C
label_2BA234:
	CLC
	ADC #$02
	ADC !1FD6
	STA !AA,X
label_2BA23C:
	LDA !14D4,X
	BNE label_2BA27A
	LDA !D8,X
	CMP #$68
	BCC label_2BA27A
	LDA #$90
	STA !AA,X
	LDA #$20
	STA $1887|!addr
	LDA #$09
	STA $1DFC|!addr
	LDA #$70
	STA !1540,X
	LDA !1594,X
	CMP #$0E
	BCS label_2BA26D
	JSL SubHorzPos
	TYA
	STA !157C,X
	INC !1594,X
	RTS

label_2BA26D:
	LDA !14E0,X
	BMI label_2BA288
	BEQ label_2BA27A
	LDA !E4,X
	CMP #$60
	BCS label_2BA288
label_2BA27A:
	RTS

label_2BA27B:
db $10,$F0

label_2BA27D:
	CMP #$40
	BNE label_2BA27A
	JSR label_2BA749
	INC !1594,X
	RTS

label_2BA288:
	LDA #$04
	STA !C2,X
	STZ !1540,X
	RTS

label_2BA290:
	LDA !1558,X
	BEQ label_2BA298
	JMP label_2BAE70

label_2BA298:
	STZ !1602,X
	JSR label_2BADB3
	LDA !14D4,X
	BNE label_2BA2A9
	LDA !D8,X
	CMP #$20
	BCS label_2BA2B2
label_2BA2A9:
	LDA #$30
	STA !AA,X
	JSL $01801A|!bank
	RTS

label_2BA2B2:
	LDA !1540,X
	BNE label_2BA2F6
	LDA !1594,X
	JSL $0086DF|!bank
dw label_2BA2C8,label_2BA2D8,label_2BA2F7,label_2BA301
dw label_2BA326

label_2BA2C8:
	LDA #$19
	STA $03
	JSR label_2BA7C4
	LDA #$10
	STA $1DF9|!addr
	INC !1594,X
	RTS

label_2BA2D8:
	LDA.l !14D4+8
	CMP #$FF
	BNE label_2BA2F6
	LDX #$09
label_2BA2E2:
	STZ !AA,X
	STZ !B6,X
	DEX
	CPX #$06
	BCS label_2BA2E2
	LDX $15E9|!addr
	INC !1594,X
	LDA #$40
	STA !1540,X
label_2BA2F6:
	RTS

label_2BA2F7:
	JSR label_2BA762
	JSR label_2BAB0C
	INC !1594,X
	RTS

label_2BA301:
	LDA.l !14C8+6
	ORA.l !14C8+7
	ORA.l !14C8+8
	ORA.l !14C8+9
	BNE label_2BA2F6
	LDA #$1D
	STA $03
	JSR label_2BA7C4
	JSR label_2BA7F1
	INC !1594,X
	LDA #$60
	STA !1540,X
	RTS

label_2BA326:
	JSR label_2BA749
	LDA #$04
	STA !C2,X
	LDA #$80
	STA !1540,X
	RTS

label_2BA333:
	LDA !1558,X
	BEQ label_2BA33B
	JMP label_2BAE70

label_2BA33B:
	JSR label_2BADB3
	LDA !1540,X
	BNE label_2BA39A
	LDA !1594,X
	JSL $0086DF|!bank
dw label_2BA352,label_2BA37C,label_2BA406,label_2BA434

label_2BA352:
	STZ !1602,X
	LDY #$09
	LDA !14C8,Y
	BNE label_2BA35F
	JSR label_2BA886
label_2BA35F:
	LDA !14D4,X
	BNE label_2BA373
	LDA !D8,X
	CMP #$40
	BCC label_2BA373
	LDA #$10
	STA !1540,X
	INC !1594,X
	RTS

label_2BA373:
	LDA #$20
	STA !AA,X
	JSL $01801A|!bank
	RTS

label_2BA37C:
	LDA #$01
	STA !1602,X
	LDY !157C,X
	LDA.w label_2BA39B,Y
	STA !B6,X
	JSL $018022|!bank
	LDA !14E0,X
	BMI label_2BA39D
	BEQ label_2BA39A
	LDA !E4,X
	CMP #$60
	BCS label_2BA39D
label_2BA39A:
	RTS

label_2BA39B:
db $18, $E8

label_2BA39D:
	INC !1594,X
	LDA #$B0
	STA !E4,X
	STZ !14E0,X
	LDA #$80
	STA !D8,X
	LDA #$FF
	STA !14D4,X
	JSL SubHorzPos
	TYA
	STA !1528,X
	STA !157C,X
	LDA #$01
	STA !157C+8
	STZ !157C+9
	LDX #$09
label_2BA3C5:
	CPX #$08
	BCC label_2BA3DF
	LDY !157C,X
	LDA #$40
	STA !1570,X
	LDA.w label_2BA404,Y
	STA !151C,X
	STZ !1528,X
	LDA #$01
	STA !1534,X
label_2BA3DF:
	LDA !E4
	STA !E4,X
	LDA !D8
	STA !D8,X
	LDA !14E0
	STA !14E0,X
	LDA !14D4
	STA !14D4,X
	DEX
	CPX #$07
	BCS label_2BA3C5
	LDX $15E9|!addr
	JSR label_2BA808
	LDA #$40
	STA !1564,X
	RTS

label_2BA404:
db $01,$00

label_2BA406:
	LDA #$01
	STA !1602,X
	JSR label_2BAB1A
	LDA #$01
	STA.l !C2+8
	STA.l !C2+9
	LDA #$08
	STA !AA,X
	JSL $01801A|!bank
	LDA !14D4,X
	BNE label_2BA458
	LDA !D8,X
	CMP #$50
	BCC label_2BA458
	LDA #$20
	STA !1540,X
	INC !1594,X
	RTS

label_2BA434:
	LDY #$09
label_2BA436:
	LDA !14C8,Y
	BEQ label_2BA445
	LDA #$04
	STA !14C8,Y
	LDA #$20
	STA !1540,Y
label_2BA445:
	DEY
	CPY #$06
	BCS label_2BA436
	LDA #$10
	STA $1DF9|!addr
	LDA #$06
	STA !C2,X
	LDA #$50
	STA !1540,X
label_2BA458:
	RTS

label_2BA459:
	LDA !1594,X
	BNE label_2BA494
	JSR label_2BAA7A
	LDA #$50
	STA !E4,X
	LDA #$01
	STA !14E0,X
	LDA #$B0
	STA !D8,X
	STZ !14D4,X
	LDA #$B1
	STA $00
	LDA #$09
	STA $01
	LDA #$01
	STA $02
	LDA #$1E
	STA $03
	LDA #$01
	STA $04
	JSR label_2BA655
	INY
	LDA #$07
	STA !1504,Y
	INC !1594,X
label_2BA493:
	RTS

label_2BA494:
	LDA.l !14C8+9
	BNE label_2BA493
	INC !C2,X
	LDA #$28
	STA !E4,X
	STZ !14E0,X
	LDA #$80
	STA !D8,X
	LDA #$FF
	STA !14D4,X
	STZ !151C,X
	STZ !157C,X
	STZ !1594,X
	RTS

label_2BA4B6:
	JSR label_2BAAA5
	LDA !1558,X
	BEQ label_2BA4C1
	JMP label_2BAE70

label_2BA4C1:
	LDA #$01
	STA !1602,X
	JSR label_2BADB3
	LDY !151C,X
	LDA.w label_2BA4FB,Y
	STA $00
	JSR label_2BAC8E
	LDA $1DFC|!addr
	CMP #$09
	BNE label_2BA4DE
	JSR label_2BA8D1
label_2BA4DE:
	LDA !151C,X
	BEQ label_2BA4FA
	LDA !14D4,X
	BNE label_2BA4FA
	LDA !D8,X
	CMP #$10
	BCS label_2BA4FA
	INC !C2,X
	LDA #$C0
	STA !1540,X
	STZ !AA,X
	JSR label_2BA941
label_2BA4FA:
	RTS

label_2BA4FB:
db $40,$E0

label_2BA4FD:
	JSR label_2BAAA5
	LDA !14E0,X
	CMP $5E
	BCC label_2BA511
	LDA !E4,X
	CMP #$18
	BCC label_2BA511
	STZ !14C8,X
	RTS

label_2BA511:
	LDA !1558,X
	BEQ label_2BA519
	JMP label_2BAE70

label_2BA519:
	LDA #$01
	STA !1602,X
	JSR label_2BADB3
	LDA $1463|!addr
	INC A
	CMP $5E
	BCS label_2BA55E
	LDA !14E0,X
	BNE label_2BA534
	LDA !E4,X
	CMP #$90
	BCC label_2BA55E
label_2BA534:
	LDA !E4,X
	STA $00
	LDA !14E0,X
	STA $01
	REP #$20
	LDA $00
	SEC
	SBC #$0050
	STA $1462|!addr
	SEP #$20
	LDA $7E
	CMP #$09
	BCS label_2BA556
	LDA #$09
	STA $7B
	BRA label_2BA55E

label_2BA556:
	CMP #$E8
	BCC label_2BA55E
	LDA #$07
	STA $7B
label_2BA55E:
	LDA #$08
	STA !B6,X
	JSL $018022|!bank
	JSR label_2BAC53
	LDA !1540,X
	BNE label_2BA576
	STZ !151C,X
	DEC !C2,X
	JSR label_2BA941
label_2BA576:
	RTS

label_2BA577:
	JSR label_2BAA7A
	LDA #$02
	STA !1602,X
	LDA !1540,X
	BEQ label_2BA58C
	CMP #$30
	BNE label_2BA59E
	JSR label_2BAA19
	RTS

label_2BA58C:
	LDA #$04
	LDY !1510
	CPY #$03
	BCC label_2BA597
	LDA #$10
label_2BA597:
	STA !C2,X
	LDA #$50
	STA !1540,X
label_2BA59E:
	RTS

label_2BA59F:
	LDA $1FFB|!addr
	BNE label_2BA5A9
	LDA #$FF
	STA $1FFC|!addr
label_2BA5A9:
	LDA !1540,X
	BNE label_2BA607
	LDA !1594,X
	JSL $0086DF|!bank
dw label_2BA5C3,label_2BA5D4,label_2BA608,label_2BA608
dw label_2BA626,label_2BA64C,label_2BA607

label_2BA5C3:
	JSR label_2BAA7A
	INC !1594,X
	LDA #$20
	STA !1540,X
	LDA #$40
	STA !1558,X
	RTS

label_2BA5D4:
	LDA !14D4,X
	BMI label_2BA5E9
	BNE label_2BA5E5
	LDA !D8,X
	AND #$F0
	CMP #$10
	BEQ label_2BA5F2
	BCC label_2BA5E9
label_2BA5E5:
	LDA #$F0
	BRA label_2BA5EB

label_2BA5E9:
	LDA #$10
label_2BA5EB:
	STA !AA,X
	JSL $01801A|!bank
	RTS

label_2BA5F2:
	INC !1594,X
	LDA #$1B
	STA $1DFB|!addr	;todo
	LDA #$0B
	STA $71
	LDA #$E0
	STA !AA,X
	LDA #$12
	STA !1564,X
label_2BA607:
	RTS

label_2BA608:
	JSR label_2BB17C
	LDA !1564,X
	BNE label_2BA607
	INC !1594,X
	LDA !1594,X
	CMP #$04
	BEQ label_2BA620
	LDA #$12
	STA !1564,X
	RTS

label_2BA620:
	LDA #$A8
	STA !1540,X
	RTS

label_2BA626:
	LDA !AA,X
	CMP #$40
	BEQ label_2BA62E
	INC !AA,X
label_2BA62E:
	JSL $01801A|!bank
	LDA !14D4,X
	CMP #$02
	BNE label_2BA607
	INC !1594,X
	LDA #$C0
	STA !1540,X
	LDA #$40
	STA $1887|!addr
	LDA #$16
	STA $1DFC|!addr
	RTS

label_2BA64C:
	LDA #$FF
	STA $1493|!addr
	INC $13C6|!addr
	RTS


label_2BA655:
	LDY $01
label_2BA657:
	LDA !14C8,Y
	BNE label_2BA69C
	LDA #$08
	STA !14C8,Y
	LDA $04
	BEQ label_2BA66C
	PHX
	TYX
	LDA #$00
	STA !7FAB9E,X
	PLX
label_2BA66C:
	LDA $00
	STA.w !9E,Y
	JSR label_2BA70D
	PHX
	TYX
	JSL $07F7D2|!bank	;todo
	LDA $04
	BEQ label_2BA684
	LDA #!SpriteID
	STA !9E,x
	LDA #$08
	STA !7FAB28,X

label_2BA684:
	LDX $03
	LDA.l label_2BA6A4,X
	STA.w !B6,Y
	LDA.l label_2BA6C7,X
	STA.w !AA,Y
	LDA.l label_2BA6EA,X
	STA !157C,Y
	PLX
label_2BA69C:
	DEY
	DEC $03
	DEC $02
	BNE label_2BA657
	RTS

label_2BA6A4:
db $08,$F8,$00,$00,$18,$E8,$10,$F0
db $04,$FC,$00,$00,$10,$E8,$18,$F8
db $0C,$E0,$E0,$20,$E8,$18,$D8,$F0
db $10,$28,$D8,$F0,$10,$28,$00,$00
db $00,$00,$10
label_2BA6C7:
db $C0,$C0,$00,$E0,$C0,$C0,$C0,$C0
db $C0,$C0,$C0,$C0,$10,$0C,$E0,$FC
db $20,$D8,$00,$00,$00,$00,$F0,$E8
db $E8,$F0,$E0,$D8,$D8,$E0,$00,$00
db $00,$00,$D0
label_2BA6EA:
db $00,$01,$00,$00,$00,$01,$00,$01
db $00,$01,$00,$00,$00,$01,$00,$01
db $00,$01,$01,$00,$01,$00,$00,$00
db $01,$01,$00,$00,$01,$01,$00,$00
db $00,$00,$00

label_2BA70D:
	CPX #$00
	BNE label_2BA732
	LDA !E4,X
	CLC
	ADC #$08
	STA.w !E4,Y
	LDA !14E0,X
	ADC #$00
	STA !14E0,Y
	LDA !D8,X
	CLC
	ADC #$10
	STA.w !D8,Y
	LDA !14D4,X
	ADC #$00
	STA !14D4,Y
	RTS

label_2BA732:
	LDA !E4,X
	STA.w !E4,Y
	LDA !14E0,X
	STA !14E0,Y
	LDA !D8,X
	STA.w !D8,Y
	LDA !14D4,X
	STA !14D4,Y
	RTS

label_2BA749:
	LDA #$A2
	STA $00
	LDA #$02
	STA $01
	STA $02
	LDA #$01
	STA $03
	STZ $04
	JSR label_2BA655
	LDA #$08
	STA $1DFC|!addr
	RTS

label_2BA762:
	LDA #$34
	STA $00
	LDA #$04
	STA $01
	STA $02
	LDA #$15
	STA $03
	LDA #$01
	STA $04
	JSR label_2BA655
	LDA #$17
	STA $1DFC|!addr
	JSL $01ACF9|!bank
	LDA $148D|!addr
	AND #$03
	STA $00
label_2BA789:
	INY
	LDA #$05
	STA !1504,Y
	LDA.w label_2BA7B2,Y
	STA.w !E4,Y
	LDA.w label_2BA7B7,Y
	STA !14E0,Y
	PHY
	TYA
	CLC
	ADC $00
	TAY
	LDA.w label_2BA7BC,Y
	PLY
	STA.w !D8,Y
	LDA #$00
	STA !14D4,Y
	CPY #$05
	BCC label_2BA789
	RTS

label_2BA7B2:
db $00, $40, $30, $40, $30
label_2BA7B7:
db $00, $01, $00,$01, $00
label_2BA7BC:
db $00, $B0, $A0, $90, $80, $B0,$A0, $90

label_2BA7C4:
	LDA #$34
	STA $00
	LDA #$09
	STA $01
	LDA #$04
	STA $02
	LDA #$01
	STA $04
	JSR label_2BA655
label_2BA7D9:
	INY
	LDA #$05
	STA !1504,Y
	LDA #$01
	STA.w !C2,Y
	LDA !167A,Y
	ORA #$80
	STA !167A,Y
	CPY #$09
	BCC label_2BA7D9
	RTS

label_2BA7F1:
	LDX #$03
label_2BA7F3:
	LDA #$B8
	STA !E4+6,X
	STZ !14E0+6,X
	LDA #$F0
	STA !D8+6,X
	STZ !14D4+6,X
	DEX
	BPL label_2BA7F3
	LDX $15E9|!addr
	RTS

label_2BA808:
	LDA #$34
	STA $00
	LDA #$06
	STA $01
	LDA #$04
	STA $02
	LDA #$19
	STA $03
	LDA #$01
	STA $04
	JSR label_2BA655
label_2BA821:
	INY
	LDA #$05
	STA !1504,Y
	LDA #$01
	STA.w !C2,Y
	LDA !167A,Y
	ORA #$80
	STA !167A,Y
	LDA #$01
	STA $170B|!addr,Y
	LDA.w label_2BA871,Y
	STA.w !E4,Y
	STA $171F|!addr,Y
	LDA.w label_2BA878,Y
	STA !14E0,Y
	STA $1733|!addr,Y
	LDA.w label_2BA87F,Y
	STA.w !D8,Y
	STA $1715|!addr,Y
	LDA #$00
	STA !14D4,Y
	STA $1729|!addr,Y
	STA.w !AA,Y
	STA.w !B6,Y
	LDA #$10
	STA $176F|!addr,Y
	CPY #$06
	BCC label_2BA821
	LDA #$10
	STA $1DF9|!addr
	RTS

label_2BA871:
db $00, $00, $00, $50, $20, $50, $20
label_2BA878:
db $00,$00, $00, $00, $01, $00, $01
label_2BA87F:
db $00, $00,$00, $10, $10, $D0, $D0

label_2BA886:
	LDA #$34
	STA $00
	LDA #$09
	STA $01
	LDA #$02
	CLC
	ADC !1FD6
	ADC !1FD6
	STA $02
	LDA #$1F
	STA $03
	LDA #$01
	STA $04
	JSR label_2BA655
label_2BA8A6:
	INY
	LDA #$06
	STA !1504,Y
	LDA !157C,X
	STA !157C,Y
	LDA !167A,Y
	ORA #$84
	STA !167A,Y
	TYA
	AND #$01
	STA !151C,Y
	CPY #$08
	BCS label_2BA8C9
	LDA #$80
	STA !1602,Y
label_2BA8C9:
	CPY #$09
	BCC label_2BA8A6
	LDX $15E9|!addr
	RTS

label_2BA8D1:
	LDA #$B1
	STA $00
	LDA #$09
	STA $01
	LDA #$04
	STA $02
	LDA #$20
	STA $03
	LDA #$01
	STA $04
	JSR label_2BA655
	INY
	LDA #$07
	STA !1504,Y
	LDA #$01
	STA.w !C2,Y
	LDA !E4,X
	SEC
	SBC #$18
	STA.w !E4,Y
	LDA !14E0,X
	SBC #$00
	STA !14E0,Y
	LDA #$D0
	STA.w !D8,Y
label_2BA90A:
	TYX
	INY
	LDA #$07
	STA.w !1504,Y
	LDA #$01
	STA.w !C2,Y
	LDA !E4,X
	CLC
	ADC #$10
	STA.w !E4,Y
	LDA !14E0,X
	ADC #$00
	STA !14E0,Y
	LDA #$D0
	STA.w !D8,Y
	LDA !1540,X
	CLC
	ADC #$04
	STA !1540,Y
	CPY #$09
	BCC label_2BA90A
	LDX $15E9|!addr
	LDA #$16
	STA $1DFC|!addr
	RTS

label_2BA941:
	INC !1594,X
	LDA !1594,X
	CMP #$05
	BCC label_2BA95D
	STZ !1594,X
	LDA !14C8+1
	BNE label_2BA9B1
	LDA #$A2
	STA $00
	LDA #$01
	STA $01
	BRA label_2BA97B

label_2BA95D:
	JSL $01ACF9|!bank
	AND #$03
	TAY
	LDA.w label_2BA9B2,Y
	STA $00
	LDA.w label_2BA9B6,Y
	STA $01
	TAX
	LDA !14C8,X
	LDX $15E9|!addr
	CMP #$00
	BNE label_2BA9B1
	LDA #$01
label_2BA97B:
	STA $02
	LDA #$22
	STA $03
	STZ $04
	JSR label_2BA655
	INY
	LDA #$08
	STA $1DFC|!addr
	CPY #$02
	BEQ label_2BA99A
	CPY #$05
	BNE label_2BA9B1
	LDA #$80
	STA !1540,Y
	RTS

label_2BA99A:
	LDA #$0A
	STA !14C8,Y
	LDA #$01
	STA !187B,Y
	LDA !166E,Y
	ORA #$30
	STA !166E,Y
	LDA #$01
	STA.w !C2,Y
label_2BA9B1:
	RTS

label_2BA9B2:
db $07, $14, $1D, $0D
label_2BA9B6:
db $02, $03, $04, $05

label_2BA9BA:
	LDA #$05
	CLC
	ADC !1FD6
	TAY
label_2BA9C1:
	LDA #$02
	STA $170B|!addr,Y
	LDA !E4,X
	STA $171F|!addr,Y
	LDA !14E0,X
	STA $1733|!addr,Y
	LDA !D8,X
	STA $1715|!addr,Y
	LDA !14D4,X
	STA $1729|!addr,Y
	LDA !1FD6
	BNE label_2BA9EF
	LDA.w label_2BA9FF,Y
	STA $1747|!addr,Y
	LDA.w label_2BAA05,Y
	STA $173D|!addr,Y
	BRA label_2BA9FB
label_2BA9EF:
	LDA.w label_2BAA0B,Y
	STA $1747|!addr,Y
	LDA.w label_2BAA12,Y
	STA $173D|!addr,Y
label_2BA9FB:
	DEY
	BPL label_2BA9C1
	RTS

label_2BA9FF:
db $B4, $C8, $E8, $18, $38, $4C
label_2BAA05:
db $00, $D8, $B8, $B8, $D8, $00
label_2BAA0B:
db $B4,$C0, $E0, $00, $20, $40, $4C
label_2BAA12:
db $00, $E0,$C0, $B4, $C0,$E0, $00

label_2BAA19:
	LDA.l !14D4+$B
	BEQ label_2BAA22
	STZ !14C8+$B
label_2BAA22:
	LDA #$74
	STA $00
	LDA #$0A
	STA $01
	LDA #$01
	STA $02
	JSL SubHorzPos
	STY.w $0003|!dp
	LDA !1FD6
	BNE label_2BAA5D
	LDA $19
	BEQ label_2BAA49
	LDA.l !14C8+$B
	BNE label_2BAA5D
	LDA $0DC2|!addr
	BNE label_2BAA5D
label_2BAA49:
	STZ $04
	JSR label_2BA655
	INY
	LDA !166E,Y
	ORA #$30
	STA !166E,Y
	LDA #$02
	STA $1DFC|!addr
	RTS

label_2BAA5D:
	LDA #$01
	STA $04
	JSR label_2BA655
	INY
	LDA #$08
	STA !1504,Y
	LDA !166E,Y
	ORA #$30
	STA !166E,Y
	LDA #$02
	STA $1DFC|!addr
	RTS

label_2BAA7A:
	LDY #$02
label_2BAA7C:
	LDA !14C8,Y
	CMP #$08
	BCC label_2BAA98
	LDA $15
	ORA #$40
	STA $15
	LDA #$04
	STA !14C8,Y
	LDA #$20
	STA !1540,Y
	LDA #$08
	STA $1DF9|!addr
label_2BAA98:
	DEY
	BNE label_2BAA7C
	LDA.l !14D4+$B
	BEQ label_2BAAA4
	STZ !14C8+$B
label_2BAAA4:
	RTS

label_2BAAA5:
	LDX #$05
label_2BAAA7:
	LDA !14C8,X
	BEQ label_2BAAB6
	LDA !14D4,X
	CMP #$01
	BNE label_2BAAB6
	STZ !14C8,X
label_2BAAB6:
	DEX
	CPX #$02
	BCS label_2BAAA7
	LDX $15E9|!addr
	RTS

label_2BAABF:
	REP #$20
	LDA $94
	STA $00
	LDA $96
	CLC
	ADC #$0010
	STA $02
	SEP #$20
	LDA !E4,X
	SEC
	SBC $00
	STA $00
	LDA !14E0,X
	SBC $01
	STA $01
	LDA !D8,X
	SEC
	SBC $02
	STA $02
	LDA !14D4,X
	SBC $03
	STA $03
	JSL Trig3
	LDA #$40
	LDY !1FD6
	BEQ label_2BAAF9
	CLC
	ADC #$20
label_2BAAF9:
	STA $00
	JSL Trig1
	JSL Trig2
	LDA $03
	STA !AA,X
	LDA $05
	STA !B6,X
	RTS

label_2BAB0C:
	LDX #$09
label_2BAB0E:
	JSR label_2BAABF
	DEX
	CPX #$06
	BCS label_2BAB0E
	LDX $15E9|!addr
	RTS

label_2BAB1A:
	LDA !1564,X
	BNE label_2BAB3B
	LDX #$03
label_2BAB21:
	LDA !AA,X
	ORA !B6,X
	BEQ label_2BAB30
	INX
	CPX #$07
	BCC label_2BAB21
	LDX $15E9|!addr
	RTS

label_2BAB30:
	JSR label_2BAABF
	LDX $15E9|!addr
	LDA #$40
	STA !1564,X
label_2BAB3B:
	RTS

label_2BAB3C:
	JSR label_2BAA7A
	JSL $01ACF9|!bank
	ADC $94
	AND #$07
	CMP !1570
	BNE label_2BAB54
	LDA $148E|!addr
	ADC !1570
	AND #$07
label_2BAB54:
	TAY
	STY !1570
	LDA.w label_2BAB81,Y
	STA !C2,X
	LDA.w label_2BAB89,Y
	STA !1594,X
	LDA.w label_2BAB91,Y
	STA !1540,X
	STZ !151C,X
	TYA
	JSL $0086DF|!bank
dw label_2BAB99,label_2BABC1,label_2BABD0,label_2BABE3
dw label_2BABF2,label_2BABE3,label_2BABD0,label_2BAB99

label_2BAB81:
db $05, $07, $09, $0A, $0B, $0D, $0E, $0F
label_2BAB89:
db $09, $09, $00, $09, $00, $00, $00, $00
label_2BAB91:
db $00, $40, $30, $70, $80, $00, $00, $00

label_2BAB99:
	LDA $95
	BNE label_2BABB3
	LDA $94
	CMP #$C0
	BCS label_2BABB3
	LDA #$18
	STA !E4,X
	LDA #$01
	STA !14E0,X
	STA !1528,X
	STA !157C,X
	RTS

label_2BABB3:
	LDA #$50
	STA !E4,X
	STZ !14E0,X
	STZ !1528,X
	STZ !157C,X
	RTS

label_2BABC1:
	JSR label_2BAC0C
	LDA #$40
	STA !D8,X
	STZ !14D4,X
	STZ !B6,X
	STZ !AA,X
	RTS

label_2BABD0:
	LDA #$B0
	STA !E4,X
	STZ !14E0,X
	JSL SubHorzPos
	TYA
	STA !1528,X
	STA !157C,X
	RTS

label_2BABE3:
	JSR label_2BAC0C
	LDA #$10
	STA !D8,X
	STZ !14D4,X
	STZ !B6,X
	STZ !AA,X
	RTS

label_2BABF2:
	LDA #$B0
	STA !E4,X
	STZ !14E0,X
	STZ !D8,X
	LDA #$01
	STA !14D4,X
	JSL SubHorzPos
	TYA
	STA !1528,X
	STA !157C,X
	RTS

label_2BAC0C:
	LDA $148E|!addr
	AND #$01
	STA !1528,X
	STA !157C,X
	EOR #$01
	TAY
	LDA.w label_2BAC26,Y
	STA !E4,X
	LDA.w label_2BAC28,Y
	STA !14E0,X
	RTS

label_2BAC26:
db $60, $00
label_2BAC28:
db $01, $00

label_2BAC2A:
	JSL SubHorzPos
	TYA
	STA !157C,X
	JSL $018022|!bank
	LDY !1528,X
	LDA !B6,X
	CLC
	ADC.w label_2BAC51,Y
	STA !B6,X
	CMP.w label_2BAC4F,Y
	BNE label_2BAC4E
	LDA !1528,X
	EOR #$01
	STA !1528,X
label_2BAC4E:
	RTS

label_2BAC4F:
db $C9, $37
label_2BAC51:
db $FF, $01

label_2BAC53:
	JSL $01801A|!bank
	LDY !151C,X
	LDA !AA,X
	CLC
	ADC.w label_2BAC70,Y
	STA !AA,X
	CMP.w label_2BAC72,Y
	BNE label_2BAC6F
	LDA !151C,X
	EOR #$01
	STA !151C,X
label_2BAC6F:
	RTS

label_2BAC70:
db $FF, $01
label_2BAC72:
db $F8, $08

label_2BAC74:
	JSL $019138|!bank
label_2BAC78:
	JSL $01801A|!bank
	LDA !AA,X
	CLC
	ADC #$03
	STA !AA,X
	BMI label_2BAC8D
	CMP #$40
	BCC label_2BAC8D
	LDA #$40
	STA !AA,X
label_2BAC8D:
	RTS

label_2BAC8E:
	LDA $00
	STA !AA,X
	JSL $01801A|!bank
	LDA !151C,X
	BNE label_2BACB3
	LDA !14D4,X
	BNE label_2BACB3
	LDA !D8,X
	CMP #$68
	BCC label_2BACB3
	INC !151C,X
	LDA #$20
	STA $1887|!addr
	LDA #$09
	STA $1DFC|!addr
label_2BACB3:
	RTS

label_2BACB4:
	LDA #$38
	STA $00
	LDY !157C,X
	LDA.w label_2BAD12,Y
	CLC
	ADC !1602,X
	STA !1602,X
	STA $01
	LDA.w label_2BAD14,Y
	ADC !151C,X
	AND #$01
	STA !151C,X
	STA $02
	JSL Trig1
	JSL Trig2
	TYA
	ASL A
	TAY
	REP #$20
	LDA $03
	CLC
	ADC #$0008
	STA $03
	LDA $05
	CLC
	ADC #$0030
	STA $05
	SEP #$20
	LDA !E4
	CLC
	ADC $03
	STA !E4,X
	LDA !14E0
	ADC $04
	STA !14E0,X
	LDA !D8
	CLC
	ADC $05
	STA !D8,X
	LDA !14D4
	ADC $06
	STA !14D4,X
	RTS

label_2BAD12:
db $F8, $08
label_2BAD14:
db $FF, $00

label_2BAD16:
	LDY !157C
	LDA !1570,X
	CLC
	ADC.w label_2BADA7,Y
	STA !1570,X
	LDA !151C,X
	ADC.w label_2BADA9,Y
	AND #$01
	STA !151C,X
	LDA !1528,X
	CLC
	ADC.l label_2BADAB
	STA !1528,X
	LDA !1534,X
	ADC.l label_2BADAD
	AND #$01
	STA !1534,X
	LDA #$40
	STA $00
	LDA !1570,X
	STA $01
	LDA !151C,X
	STA $02
	JSL Trig1
	LDY !157C,X
	LDA $03
	CLC
	ADC.w label_2BADAF,Y
	STA $03
	LDA $04
	ADC.w label_2BADB1,Y
	STA $04
	LDA !E4
	CLC
	ADC $03
	STA !E4,X
	LDA !14E0
	ADC $04
	STA !14E0,X
	LDA #$30
	STA $00
	LDA !1528,X
	STA $01
	LDA !1534,X
	STA $02
	JSL Trig2
	LDA $05
	CLC
	ADC #$30
	STA $05
	LDA $06
	ADC #$00
	STA $06
	LDA !D8
	CLC
	ADC $05
	STA !D8,X
	LDA !14D4
	ADC $06
	STA !14D4,X
	RTS

label_2BADA7:
db $08, $F8
label_2BADA9:
db $00, $FF
label_2BADAB:
db $10, $F0
label_2BADAD:
db $00, $FF
label_2BADAF:
db $38, $D8
label_2BADB1:
db $00, $FF

label_2BADB3:
	LDA $14
	AND #$01
	BNE label_2BADBD
	JSR label_2BADC1
	RTS

label_2BADBD:
	JSR label_2BAE05
	RTS

label_2BADC1:
	LDA !154C,X
	BNE label_2BAE00
	JSL $03B664|!bank
	LDA #$26
	STA !1662,X
	JSL $03B69F|!bank
	JSL $03B72B|!bank
	BCC label_2BADDE
	JSL $00F5B7|!bank
	RTS

label_2BADDE:
	LDA #$24
	STA !1662,X
	JSL $03B69F|!bank
	JSL $03B72B|!bank
	BCC label_2BAE00
	LDA #$01
	STA $1DF9|!addr
	JSL SubHorzPos
	LDA.w label_2BAE01,Y
	STA $7B
	LDA #$20
	STA !154C,X
label_2BAE00:
	RTS

label_2BAE01:
db $40, $C0, $10, $F0

label_2BAE05:
	LDY #$02
label_2BAE07:
	PHX
	TYX
	JSL $03B6E5|!bank
	PLX
	LDA #$26
	STA !1662,X
	JSL $03B69F|!bank
	JSL $03B72B|!bank
	BCS label_2BAE30
label_2BAE1D:
	LDA #$24
	STA !1662,X
	JSL $03B69F|!bank
	JSL $03B72B|!bank
	BCS label_2BAE52
label_2BAE2C:
	DEY
	BNE label_2BAE07
	RTS

label_2BAE30:
	LDA !14C8,Y
	CMP #$09
	BNE label_2BAE1D
	LDA.w !9E,Y
	CMP #$A2
	BNE label_2BAE52
	LDA !15A0,X
	BNE label_2BAE52
	LDA #$28
	STA $1DFC|!addr
	INC !1534,X
	LDA #$40
	STA !1558,X
	BRA label_2BAE59

label_2BAE52:
	LDA !14C8,Y
	CMP #$09
	BNE label_2BAE2C
label_2BAE59:
	LDA #$00
	STA.w !B6,Y
	LDA #$D0
	STA.w !AA,Y
	LDA #$02
	STA !14C8,Y
	PHX
	TYX
	JSL $01AB6F|!bank
	PLX
	RTS

label_2BAE70:
	LDA !1540,X
	BEQ label_2BAE78
	INC !1540,X
label_2BAE78:
	LDA #$02
	STA !1602,X
	LDY !1510
	LDA !1FD6
	BEQ label_2BAE92
	INY
	INY
	INY
	INY
	LDA.w label_2BAEB6,Y
	DEY
	DEY
	DEY
	DEY
	BRA label_2BAE95

label_2BAE92:
	LDA.w label_2BAEB6,Y
label_2BAE95:
	CMP !1534,X
	BNE label_2BAEB5
	LDA !1558,X
	CMP #$01
	BNE label_2BAEB5
	LDA.w label_2BAEBE,Y
	STA !C2,X
	LDA.w label_2BAEC2,Y
	STA !1540,X
	STZ !1594,X
	INC !1510
	STZ !1534,X
label_2BAEB5:
	RTS

label_2BAEB6:
db $02, $08, $08, $05, $02, $0A, $0A, $07
label_2BAEBE:
db $04, $14, $14, $15
label_2BAEC2:
db $60, $60, $60, $00

label_2BAEC6:
	STZ !1656,X
	LDA #$11
	STA !1662,X
	JSL GetDrawInfo
	LDA $9D
	BNE label_2BAED9
	INC !1570,X
label_2BAED9:
	LDA !1540,X
	BNE label_2BAEE2
	STZ !14C8,X
	RTS

label_2BAEE2:
	LDA !1540,X
	LSR A
	AND #$03
	CMP #$03
	BNE label_2BAF04
	LDA !1540,X
	SEC
	SBC #$10
	CMP #$20
	BCS label_2BAF04
	LDA !1FD6
	BEQ label_2BAF00
	JSR label_2BAFB4
	BRA label_2BAF04

label_2BAF00:
	JSL $01A7DC|!bank
label_2BAF04:
	LDY #$04
	STY $0F
	LDA !1FD6
	ASL A
	ASL A
	ORA !1FD6
	ASL A
	STA $03
label_2BAF13:
	LDA !1540,X
	LSR A
	PHA
	AND #$03
	STA $02
	LDA !E4,X
	SEC
	SBC $1A
	CLC
	ADC #$04
	STA $00
	LDA !D8,X
	SEC
	SBC $1C
	CLC
	ADC #$04
	STA $01
	LDY $0F
	PLA
	AND #$04
	BEQ label_2BAF3C
	TYA
	CLC
	ADC #$05
	TAY
label_2BAF3C:
	PHY
	TYA
	CLC
	ADC $03
	TAY
	LDA $00
	CLC
	ADC.w label_2BAF8C,Y
	STA $00
	LDA $01
	CLC
	ADC.w label_2BAFA0,Y
	STA $01
	PLY
	DEC $02
	BPL label_2BAF3C
	LDA $0F
	ASL A
	ASL A
	ADC !15EA,X
	TAY
	LDA $00
	STA $0300|!addr,Y
	LDA $01
	STA $0301|!addr,Y
	LDA #$BC
	STA $0302|!addr,Y
	LDA $13
	LSR A
	LSR A
	AND #$03
	SEC
	ROL A
	ORA $64
	STA $0303|!addr,Y
	TYA
	LSR A
	LSR A
	TAY
	DEC $0F
	BPL label_2BAF13
	LDY #$00
	LDA #$04
	JSR GetDrawInfoEnd
	JSL $01B7B3|!bank
	RTS

label_2BAF8C:
db $00, $08, $06, $FA, $F8, $06, $08, $00
db $F8, $FA, $00, $0C, $09, $F7, $F4, $09
db $0C, $00, $F4, $F7
label_2BAFA0:
db $F8, $FE, $06, $06, $FE, $FA, $02, $08
db $02, $FA, $F4, $FD, $09, $09, $FD, $F7
db $03, $0C, $03, $F7

label_2BAFB4:
	STZ $0F
	LDA #$E0
	BPL label_2BAFBC
	DEC $0F
label_2BAFBC:
	CLC
	ADC !E4,X
	STA $04
	LDA !14E0,X
	ADC $0F
	STA $0A
	LDA #$50
	STA $06
	STZ $0F
	LDA #$E0
	BPL label_2BAFD4
	DEC $0F
label_2BAFD4:
	CLC
	ADC !D8,X
	STA $05
	LDA !14D4,X
	ADC $0F
	STA $0B
	LDA #$50
	STA $07
	JSL $03B664|!bank
	JSL $03B72B|!bank
	BCC label_2BAFF2
	JSL $00F5B7|!bank
label_2BAFF2:
	RTS

label_2BAFF3:
	JSL GetDrawInfo
	JSR label_2BB00C
	JSR label_2BB0F0
	LDX $15E9|!addr
	LDY #$FF
	LDA $09
	CLC
	ADC #$10
	JSR GetDrawInfoEnd
	JSL $01B7B3|!bank
	RTS

label_2BB00C:
	PHY
	LDA !157C,X
	ASL A
	TAY
	ASL A
	ASL A
	ASL A
	ASL A
	ASL A
	EOR #$40
	STA $0B
	REP #$20
	LDA.w label_2BB0B6,Y
	STA $03
	SEP #$20
	PLY
	PHY
	LDA !1602,X
	ASL A
	TYX
	TAY
	REP #$20
	LDA.w label_2BB0EA,Y
	STA $05
	SEP #$20
	PLY
	TYA
	LSR A
	TAY
	LDA #$0F
	STA $09
	TAY
	LDX $15E9|!addr
	LDA !15EA,X
	TAX
label_2BB045:
	LDA $00
	CLC
	ADC ($03),Y
	STA $0300|!addr,X
	LDA $01
	CLC
	ADC.w label_2BB076,Y
	STA $0301|!addr,X
	LDA ($05),Y
	STA $0302|!addr,X
	LDA.w label_2BB086,Y
	EOR $0B
	STA $0303|!addr,X
	PHX
	TXA
	LSR A
	LSR A
	TAX
	LDA #$02
	STA $0460|!addr,X
	PLX
	INX
	INX
	INX
	INX
	DEY
	BPL label_2BB045
	RTS

label_2BB076:
db $18, $18, $18, $18, $28, $28, $28, $28
db $38, $38, $38, $38, $48, $48, $48, $48
label_2BB086:
db $3C, $3C, $3C, $3C, $3C, $3C, $7C, $3C
db $3C, $3C, $3C, $3C, $3C, $3C, $3C, $3C

label_2BB096:
db $20, $10, $00, $F0, $20, $10, $00, $F0
db $20, $10, $00, $F0, $20, $10, $00, $F0
label_2BB0A6:
db $F0, $00, $10, $20, $F0, $00, $10, $20
db $F0, $00, $10, $20, $F0, $00, $10, $20
label_2BB0B6:
dw label_2BB096,label_2BB0A6

label_2BB0BA:
db $80, $C8, $84, $86, $A0, $A2, $A1, $CA
db $C0, $C2, $C4, $CC, $E0, $E2, $A4, $CE
label_2BB0CA:
db $80, $C8, $84, $86, $A8, $AA, $A9, $88
db $C0, $C2, $C4, $CC, $E0, $E2, $A4, $CE
label_2BB0DA:
db $80, $C8, $84, $86, $E4, $E6, $E5, $CA
db $C0, $C2, $EC, $CC, $E0, $E2, $A4, $CE
label_2BB0EA:
dw label_2BB0BA,label_2BB0CA,label_2BB0DA

label_2BB0F0:
	LDA $14
	AND #$06
	TAY
	REP #$20
	LDA.w label_2BB14C,Y
	STA $03
	LDA.w label_2BB160,Y
	STA $05
	LDA.w label_2BB174,Y
	STA $07
	SEP #$20
	TYA
	LSR A
	TAY
	LDA.w label_2BB13C,Y
	STA $09
	TAY
label_2BB111:
	LDA $00
	CLC
	ADC ($03),Y
	STA $0300|!addr,X
	LDA $01
	CLC
	ADC #$58
	STA $0301|!addr,X
	LDA ($05),Y
	STA $0302|!addr,X
	LDA ($07),Y
	STA $0303|!addr,X
	PHX
	TXA
	LSR A
	LSR A
	TAX
	STZ $0460|!addr,X
	PLX
	INX
	INX
	INX
	INX
	DEY
	BPL label_2BB111
	RTS

label_2BB13C:
db $05,$03,$01,$03

label_2BB140:
db $F8,$00,$08,$10,$18,$20
label_2BB146:
db $00,$08,$10,$18
label_2BB14A:
db $08,$10
label_2BB14C:
dw label_2BB140,label_2BB146,label_2BB14A,label_2BB146

label_2BB154:
db $BC,$BD,$BE,$BF,$82,$BC
label_2BB15A:
db $AC,$AD,$AE,$AF
label_2BB15E:
db $92,$93
label_2BB160:
dw label_2BB154,label_2BB15A,label_2BB15E,label_2BB15A

label_2BB168:
db $3C,$3C,$3C,$3C,$3C,$7C
label_2BB16E:
db $3C,$3C,$3C,$3C
label_2BB172:
db $3C,$3C
label_2BB174:
dw label_2BB168,label_2BB16E,label_2BB172,label_2BB16E

label_2BB17C:
	LDA !15EA,X
	PHA
	LDA #$E0
	STA !15EA,X
	TAY
	LDA !E4,X
	SEC
	SBC $1A
	STA $00
	LDA !D8,X
	SEC
	SBC $1C
	STA $01
	LDA !1564,X
	LSR A
	STA $03
	ASL A
	ASL A
	ASL A
	STA $02
	PHX
	LDX #$07
label_2BB1A2:
	PHX
	TXA
	ORA $02
	TAX
	LDA $00
	CLC
	ADC.l label_2BB1E1,X
	STA $0300|!addr,Y
	LDA $01
	CLC
	ADC.l label_2BB229,X
	STA $0301|!addr,Y
	LDX $03
	LDA.l label_2BB271,X
	STA $0302|!addr,Y
	PLX
	LDA.l label_2BB27A,X
	STA $0303|!addr,Y
	INY
	INY
	INY
	INY
	DEX
	BPL label_2BB1A2
	PLX
	LDY #$02
	LDA #$07
	JSL $01B7B3|!bank
	PLA
	STA !15EA,X
	RTS

label_2BB1E1:
db $DD, $E5, $2B, $33, $DD, $E5, $2B, $33
db $DD, $E5, $2B, $33, $DD, $E5, $2B, $33
db $DE, $E6, $2A, $32, $DE, $E6, $2A, $32
db $DF, $E7, $29, $31, $DF, $E7, $29, $31
db $E0, $E8, $28, $30, $E0, $E8, $28, $30
db $E2, $EA, $26, $2E, $E2, $EA, $22, $2E
db $E4, $EC, $24, $2C, $E4, $EC, $24, $2C
db $E8, $F0, $20, $28, $E8, $F0, $20, $28
db $F0, $F8, $18, $20, $F0, $F8, $18, $20
label_2BB229:
db $0D, $05, $05, $0D, $53, $5B, $5B, $53
db $0D, $05, $05, $0D, $53, $5B, $5B, $53
db $0E, $06, $06, $0E, $52, $5A, $5A, $52
db $0F, $07, $07, $0F, $51, $59, $59, $51
db $10, $08, $08, $10, $50, $58, $58, $50
db $12, $0A, $0A, $12, $4E, $56, $56, $4E
db $14, $0C, $0C, $14, $4C, $54, $54, $4C
db $18, $10, $10, $18, $48, $50, $50, $48
db $20, $18, $18, $20, $40, $48, $48, $40
label_2BB271:
db $6E, $4E, $4E, $2E, $2E, $22, $22, $20
db $20
label_2BB27A:
db $81, $41, $01, $C1, $01, $C1, $81,$41

label_2BB282:
	JSL GetDrawInfo
	LDX #$09
label_2BB288:
	LDA $00
	CLC
	ADC.l label_2BB2BD,X
	STA $0300|!addr,Y
	LDA $01
	CLC
	ADC.l label_2BB2C7,X
	STA $0301|!addr,Y
	LDA.l label_2BB2D1,X
	STA $0302|!addr,Y
	LDA.l label_2BB2DB,X
	STA $0303|!addr,Y
	INY
	INY
	INY
	INY
	DEX
	BPL label_2BB288
	LDX $15E9|!addr
	LDY #$02
	LDA #$09
	JSR GetDrawInfoEnd
	JSL $01B7B3|!bank
	RTS

label_2BB2BD:
db $F0, $00, $10, $F0, $00, $10, $F0, $00
db $10, $F8
label_2BB2C7:
db $E2, $E2, $E2, $F2, $F2, $F2, $02, $02
db $02, $EA
label_2BB2D1:
db $45, $47, $45, $65, $66, $65, $45, $47
db $45, $63
label_2BB2DB:
db $3F, $3F, $7F, $3F, $3F, $7F, $BF, $BF
db $FF, $3F

label_2BB2E5:
	JSL GetDrawInfo
	LDA $00
	STA $0300|!addr,Y
	LDA $01
	STA $0301|!addr,Y
	LDA #$C6
	STA $0302|!addr,Y
	LDA !1504,X
	AND #$01
	PHX
	TAX
	LDA.l label_2BB310,X
	PLX
	STA $0303|!addr,Y
	LDY #$02
	LDA #$00
	JSR GetDrawInfoEnd
	JSL $01B7B3|!bank
	RTS

label_2BB310:
db $16, $18

label_2BB312:
	LDY !157C,X
	LDA.w label_2BB34A,Y
	STA $03
	JSL GetDrawInfo
	LDA $00
	STA $0300|!addr,Y
	LDA $01
	STA $0301|!addr,Y
	LDA $14
	LSR A
	LSR A
	AND #$03
	PHX
	TAX
	LDA.l label_2BB34C,X
	STA $0302|!addr,Y
	LDA.l label_2BB350,X
	EOR $03
	STA $0303|!addr,Y
	PLX
	LDY #$02
	LDA #$00
	JSR GetDrawInfoEnd
	JSL $01B7B3|!bank
	RTS

label_2BB34A:
db $40, $00
label_2BB34C:
db $05, $68, $05, $68
label_2BB350:
db $35, $35,$F5, $F5

label_2BB354:
	JSL GetDrawInfo
	LDA !C2,X
	BNE label_2BB3BE
	LDA !157C,X
	ASL A
	STA $02
	LDA $14
	LSR A
	LSR A
	ROR A
	AND #$80
	STA $03
	LDA $14
	LSR A
	AND #$02
	STA $04
	PHX
	LDX #$01
label_2BB375:
	PHX
	TXA
	CLC
	ADC $02
	TAX
	LDA $00
	CLC
	ADC.l label_2BB3B2,X
	STA $0300|!addr,Y
	LDA.l label_2BB3BA,X
	ORA $03
	STA $0303|!addr,Y
	PLX
	LDA $01
	STA $0301|!addr,Y
	PHX
	TXA
	ORA $04
	TAX
	LDA.l label_2BB3B6,X
	STA $0302|!addr,Y
	PLX
	INY
	INY
	INY
	INY
	DEX
	BPL label_2BB375
	PLX
	LDY #$02
	LDA #$01
	JSR GetDrawInfoEnd
	JSL $01B7B3|!bank
	RTS

label_2BB3B2:
db $00, $F0,$00, $10
label_2BB3B6:
db $4A, $4C,$6A, $6C
label_2BB3BA:
db $45, $45, $05, $05

label_2BB3BE:
	LDA $00
	STA $0300|!addr,Y
	LDA $01
	STA $0301|!addr,Y
	LDA !157C,X
	PHX
	TAX
	LDA.l label_2BB3F4,X
	STA $02
	LDA $14
	LSR A
	LSR A
	AND #$03
	TAX
	LDA.l label_2BB3F6,X
	STA $0302|!addr,Y
	LDA.l label_2BB3FA,X
	EOR $02
	STA $0303|!addr,Y
	PLX
	LDY #$02
	LDA #$00
	JSR GetDrawInfoEnd
	JSL $01B7B3|!bank
	RTS

label_2BB3F4:
db $40, $00
label_2BB3F6:
db $24, $26, $24, $26
label_2BB3FA:
db $35, $35,$F5, $F5

label_2BB3FE:
	JSL GetDrawInfo
	LDA !C2,X
	EOR #$01
	PHX
	TAX
label_2BB408:
	LDA $00
	STA $0300|!addr,Y
	LDA $01
	CLC
	ADC.l label_2BB434,X
	STA $0301|!addr,Y
	LDA.l label_2BB436,X
	STA $0302|!addr,Y
	LDA #$3F
	STA $0303|!addr,Y
	INY
	INY
	INY
	INY
	DEX
	BPL label_2BB408
	PLX
	LDY #$02
	LDA #$01
	JSR GetDrawInfoEnd
	JSL $01B7B3|!bank
	RTS

label_2BB434:
db $FF, $EF
label_2BB436:
db $08, $03

label_2BB438:
	JSL GetDrawInfo
	LDA $00
	STA $0300|!addr,Y
	LDA $01
	STA $0301|!addr,Y
	LDA #$A6
	STA $0302|!addr,Y
	LDA !15F6,X
	ORA $64
	STA $0303|!addr,Y
	LDY #$02
	LDA #$00
	JSR GetDrawInfoEnd
	JSL $01B7B3|!bank
	RTS

label_2BB45C:
	;HDMA
	LDA !C2
	CMP #$04
	BCC +
	LDA #$02
	STA $212D
	REP #$20
	LDA #$3200
	STA $4330
	LDA.w #label_2BB477
	STA $4332
	LDY.b #label_2BB477>>16
	STY $4334
	SEP #$20
	LDA #$08
	TSB $0D9F|!addr
+
	RTS

label_2BB477:
db $02, $9F, $03, $9E, $04, $9D, $04, $9C
db $03, $9B, $04, $9A, $03, $99, $04, $98
db $04, $97, $03, $96, $04, $95, $03, $94
db $04, $93, $04, $92, $03, $91, $04, $90
db $04, $8F, $03, $8E, $04, $8D, $03, $8C
db $04, $8B, $04, $8A, $03, $89, $04, $88
db $03, $87, $04, $86, $04, $85, $03, $84
db $04, $83, $04, $82, $03, $81, $07, $80
db $04, $81, $03, $82, $04, $83, $03, $84
db $04, $85, $04, $86, $03, $87, $04, $88
db $03, $89, $04, $8A, $04, $8B, $03, $8C
db $04, $8D, $03, $8E, $04, $8F, $04, $90
db $03, $91, $04, $92, $04, $93, $03, $94
db $04, $95, $03, $96, $04, $97, $04, $98
db $03, $99, $04, $9A, $03, $9B, $04, $9C
db $04, $9D, $02, $9E
db $00


Trig1:
	PHP
	PHX
	TDC
	LDA $01
	REP #$30
	ASL A
	TAX
	LDA.l $07F7DB|!bank,X
	STA $03
	SEP #$30
	LDA $02
	PHA
	LDA $03
	STA $4202	;todo
	LDA $00
	LDX $04
	BNE label_1D806A
	STA $4203
	NOP #4
	ASL $4216
	LDA $4217
	ADC #$00
label_1D806A:
	LSR $02
	BCC label_1D807B
	EOR #$FF
	INC A
	STA $03
	BEQ label_1D807D
	LDA #$FF
	STA $04
	BRA label_1D807F
label_1D807B:
	STA $03
label_1D807D:
	STZ $04
label_1D807F:
	PLA
	STA $02
	PLX
	PLP
	RTL

Trig2:
	PHP
	PHX
	REP #$31
	LDA $01
	ADC #$0080
	AND #$01FF
	STA $07
	AND #$00FF
	ASL A
	TAX
	LDA.l $07F7DB|!bank,X
	STA $05
	SEP #$30
	LDA $05
	STA $4202	;todo
	LDA $00
	LDX $06
	BNE label_1D80B6
	STA $4203
	NOP #4
	ASL $4216
	LDA $4217
	ADC #$00
label_1D80B6:
	LSR $08
	BCC label_1D80C7
	EOR #$FF
	INC A
	STA $05
	BEQ label_1D80C9
	LDA #$FF
	STA $06
	BRA label_1D80CB
label_1D80C7:
	STA $05
label_1D80C9:
	STZ $06
label_1D80CB:
	PLX
	PLP
	RTL

ChangeMap16:
	PHX
	TAX
	JSR label_1D80D8
	PLX
	RTL

label_1D80D5:
	PLX
	PLB
	RTS

label_1D80D8:
	SEP #$20
	PHB
	LDA.b #$00|!bank8
	PHA
	PLB
	REP #$30
	PHX
	LDA $9A
	STA $0C
	LDA $98
	STA $0E
	TDC
	SEP #$20
	LDA $5B
	STA $09
	LDA $1933|!addr
	BEQ label_1D80F8
	LSR $09
label_1D80F8:
	LDY $0E
	LDA $09
	LSR A
	BCC label_1D810D
	LDA $9B
	STA $00
	LDA $99
	STA $9B
	LDA $00
	STA $99
	LDY $0C
label_1D810D:
	CPY #$0200
	BCS label_1D80D5
	LDA $1933|!addr
	ASL A
	TAX
	LDA.w $00BEA8,X
	STA $65
	LDA.w $00BEA9,X
	STA $66
	STZ $67
	LDA $1925|!addr
	ASL A
	TAY
	LDA ($65),Y
	STA $04
	INY
	LDA ($65),Y
	STA $05
	STZ $06
	LDA $9B
	STA $07
	ASL A
	ADC $07
	TAY
	LDA ($04),Y
	STA $6B
	STA $6E
	INY
	LDA ($04),Y
	STA $6C
	STA $6F
	LDA.b #$7E	;SA-1 todo
	STA $6D
	INC A
	STA $70
	LDA $09
	LSR A
	BCC label_1D815D
	LDA $99
	LSR A
	LDA $9B
	AND #$01
	BRA label_1D8162
label_1D815D:
	LDA $9B
	LSR A
	LDA $99
label_1D8162:
	ROL A
	ASL A
	ASL A
	ORA #$20
	STA $04
	CPX #$0000
	BEQ label_1D8172
	ADC #$0F
	STA $04
label_1D8172:
	LDA $98
	AND #$F0
	CLC
	ASL A
	ROL A
	STA $05
	ROL A
	AND #$03
	ORA $04
	STA $06
	LDA $9A
	AND #$F0
	LSR A
	LSR A
	LSR A
	STA $04
	LDA $05
	AND #$C0
	ORA $04
	STA $07
	REP #$20
	LDA $09
	LSR A
	BCS label_1D81B2
	LDA $1A
	SBC #$007F
	TAX
	LDY $1C
	LDA $1933|!addr
	BEQ label_1D81C8
	LDX $1E
	LDA $20
	SEC
	SBC #$0080
	TAY
	BRA label_1D81C8
label_1D81B2:
	LDX $1A
	LDA $1C
	SBC #$0080
	TAY
	LDA $1933
	BEQ label_1D81C8
	LDA $1E
	SEC
	SBC #$0080
	TAX
	LDY $20
label_1D81C8:
	STX $08
	STY $0A
	LDA $98
	AND #$01F0
	STA $04
	LDA $9A
	LSR A
	LSR A
	LSR A
	LSR A
	AND #$000F
	ORA $04
	TAY
	PLA
	SEP #$20
	STA [$6B],Y
	XBA
	STA [$6E],Y
	XBA
	REP #$20
	ASL A
	TAY
	PHK
	PER $0006
	PEA $804C
	JML $00C0FB|!bank
	PLB
	RTS

GetDrawInfo:
	LDY #$00
	LDA !E4,X
	CMP $1A
	LDA !14E0,X
	SBC $1B
	BEQ label_1D821E
	INY
label_1D821E:
	TYA
	STA !15A0,X
	STZ !186C,X
	TXY
	LDX #$00
	LDA !1662,Y
	AND #$20
	BEQ label_1D8231
	LDX #$02
label_1D8231:
	LDA !14D4,Y
	XBA
	LDA.w !D8,Y
	REP #$21
	ADC.l label_1D828B,X
	SEC
	SBC $1C
	SEP #$21
	XBA
	BEQ label_1D8250
	LDA !186C,Y
	ORA.l label_1D828F,X
	STA !186C,Y
label_1D8250:
	DEX
	DEX
	BPL label_1D8231
	TYX
	LDA !14E0,X
	XBA
	LDA !E4,X
	REP #$21
	ADC #$0040
	SEC
	SBC $1A
	CMP #$0180
	SEP #$20
	LDA #$80
	ROL A
	STA !15C4,X
	BNE label_1D8281
	LDA $5C
	STA !15EA,x
	TAY
	LDA !E4,X
	SBC $1A
	STA $00
	LDA !D8,X
	SEC
	SBC $1C
	STA $01
	RTL

label_1D8281:
	REP #$20
	PLA
	PLY
	PLA
	PHY
	PHA
	SEP #$20
	RTL

GetDrawInfoEnd:
	PHA
	INC
	ASL #2
	CLC
	ADC !15EA,x
	STA $5C
	PLA
	RTS

label_1D828B:
dw $000C,$001C
label_1D828F:
dw $0001,$0002

SubOffScreen:
	STA $00
	LDA !15A0,X
	ORA !186C,X
	BEQ label_1D82EA
	LDA !167A,X
	AND #$04
	BNE label_1D82EA
	LDA $5B
	LSR A
	BCS label_1D82EB
	LDA !D8,X
	ADC #$50
	LDA !14D4,X
	ADC #$00
	CMP #$02
	BCS label_1D82D1
	LDY $00
	LDA !14E0,X
	XBA
	LDA !E4,X
	REP #$21
	PHB
	PHK
	PLB
	ADC.w label_1D8313,Y
	SEC
	SBC $1A
	CMP.w label_1D8323,Y
	PLB
label_1D82CD:
	SEP #$20
	BCC label_1D82EA
label_1D82D1:
	LDA !14C8,X
	CMP #$08
	BCC label_1D82E7
	LDY !161A,X
	CPY #$FF
	BEQ label_1D82E7
	LDA !1938,Y	;todo Spritetool/SA-1
	AND #$FE
	STA !1938,Y
label_1D82E7:
	STZ !14C8,X
label_1D82EA:
	RTL

label_1D82EB:
	LDA $13
	LSR A
	BCS label_1D8300
	LDA !14E0,X
	XBA
	LDA !E4,X
	REP #$21
	ADC #$0040
	CMP #$0280
	BRA label_1D82CD
label_1D8300:
	LDA !14D4,X
	XBA
	LDA !D8,X
	REP #$20
	SBC $1C
	CLC
	ADC #$0050
	CMP #$01B0
	BRA label_1D82CD

label_1D8313:
dw $0040,$0040,$0010,$0070,$0090,$0050,$0080,$FFC0
label_1D8323:
dw $0170,$01E0,$01B0,$01D0,$0230,$01B0,$0220,$0160

Trig3:
	REP #$20
	LDY #$00
	LDA $02
	BPL label_1D88B0
	INY
	EOR #$FFFF
	INC A
label_1D88B0:
	STA $02
	LDA $00
	BPL label_1D88BC
	INY
	INY
	EOR #$FFFF
	INC A
label_1D88BC:
	STA $00
	STY $04
	BEQ label_1D8919
	CMP #$0100
	XBA
	ROR A
	XBA
	TAY
	LDA $02
	BEQ label_1D892B
	CMP #$0100
	XBA
	ROR A
	AND #$FF80
	STA $4204	;todo
	STY $4206
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	LDA $4214
	LSR A
	LSR A
	LSR A
	LSR A
	CMP #$0100
	SEP #$20
	BCC label_1D88F3
	LDA #$FF
label_1D88F3:
	PHX
	TAX
	STZ $02
	LDA.l label_1D893D,X
	PLX
	LSR $04
	BCS label_1D8907
	EOR #$FF
	INC A
	BEQ label_1D8907
	INC $02
label_1D8907:
	LSR $04
	BCS label_1D8912
	EOR #$FF
	INC A
	BNE label_1D8912
	INC $02
label_1D8912:
	STA $01
	LDA #$FE
	TRB $02
	RTL

label_1D8919:
	SEP #$20
	LDY #$00
	LSR $04
	BCS label_1D8922
	INY
label_1D8922:
	STY $02
	LDA #$80
	STA $01
	LDY #$FF
	RTL

label_1D892B:
	SEP #$20
	STZ $01
	LDY #$00
	LDA $04
	AND #$02
	BNE label_1D8938
	INY
label_1D8938:
	STY $02
	LDY #$00
	RTL

label_1D893D:
db $00, $05, $0A, $0F, $13, $18, $1D, $21
db $25, $29, $2D, $31, $34, $37, $3A, $3D
db $40, $42, $44, $46, $49, $4A, $4C, $4E
db $50, $51, $53, $54, $55, $56, $58, $59
db $5A, $5B, $5C, $5D, $5D, $5E, $5F, $60
db $60, $61, $62, $62, $63, $64, $64, $65
db $65, $66, $66, $67, $67, $68, $68, $68
db $69, $69, $6A, $6A, $6A, $6B, $6B, $6B
db $6C, $6C, $6C, $6C, $6D, $6D, $6D, $6D
db $6E, $6E, $6E, $6E, $6F, $6F, $6F, $6F
db $6F, $70, $70, $70, $70, $70, $71, $71
db $71, $71, $71, $71, $71, $72, $72, $72
db $72, $72, $72, $72, $73, $73, $73, $73
db $73, $73, $73, $73, $74, $74, $74, $74
db $74, $74, $74, $74, $74, $74, $75, $75
db $75, $75, $75, $75, $75, $75, $75, $75
db $75, $75, $76, $76, $76, $76, $76, $76
db $76, $76, $76, $76, $76, $76, $76, $76
db $76, $77, $77, $77, $77, $77, $77, $77
db $77, $77, $77, $77, $77, $77, $77, $77
db $77, $77, $77, $78, $78, $78, $78, $78
db $78, $78, $78, $78, $78, $78, $78, $78
db $78, $78, $78, $78, $78, $78, $78, $78
db $78, $78, $79, $79, $79, $79, $79, $79
db $79, $79, $79, $79, $79, $79, $79, $79
db $79, $79, $79, $79, $79, $79, $79, $79
db $79, $79, $79, $79, $79, $79, $79, $79
db $79, $7A, $7A, $7A, $7A, $7A, $7A, $7A
db $7A, $7A, $7A, $7A, $7A, $7A, $7A, $7A
db $7A, $7A, $7A, $7A, $7A, $7A, $7A, $7A
db $7A, $7A, $7A, $7A, $7A, $7A, $7A, $7A
db $7A, $7A, $7A, $7A, $7A, $7A, $7A, $7B

SubHorzPos:
	LDY #$00
	LDA $94
	SEC
	SBC !E4,X
	STA $0F
	LDA $95
	SBC !14E0,X
	BPL label_03BE51
	INY
label_03BE51:
	RTL
	
GFX:
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $FF, $FA, $0A, $55, $55, $AA, $AA
db $01, $01, $00, $00, $00, $00, $00, $FF
db $00, $00, $05, $00, $AA, $00, $55, $00
db $FE, $00, $FF, $00, $FF, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $FF, $D7, $3D, $D7, $2B, $39, $D7
db $FF, $0A, $39, $D7, $D7, $2A, $D7, $2D
db $00, $00, $28, $00, $28, $00, $C6, $00
db $00, $00, $C6, $00, $28, $00, $28, $00
db $00, $F0, $E0, $F0, $F0, $F8, $F0, $F8
db $F8, $FC, $F8, $FC, $F8, $FC, $FC, $7E
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $06, $07, $0F, $0C, $17, $10, $17, $30
db $2E, $31, $41, $4E, $40, $51, $DF, $E0
db $00, $00, $00, $00, $09, $00, $0F, $00
db $0E, $00, $31, $00, $2E, $00, $00, $00
db $E0, $E0, $30, $B0, $88, $78, $44, $8C
db $E0, $04, $E0, $02, $C2, $06, $03, $8B
db $00, $00, $40, $00, $80, $00, $70, $00
db $F8, $00, $FC, $00, $F8, $00, $74, $00
db $05, $07, $0B, $0C, $07, $18, $33, $34
db $2D, $22, $6E, $61, $65, $62, $33, $74
db $00, $00, $00, $00, $01, $00, $0B, $00
db $1D, $00, $1E, $00, $1D, $00, $08, $00
db $A0, $E0, $10, $30, $C0, $18, $CC, $2C
db $B4, $44, $76, $86, $A6, $46, $CC, $2E
db $00, $00, $C0, $00, $E0, $00, $D0, $00
db $B8, $00, $78, $00, $B8, $00, $10, $00
db $07, $07, $0B, $0C, $16, $11, $23, $24
db $07, $28, $4F, $50, $47, $68, $A3, $E4
db $00, $00, $00, $00, $08, $00, $1B, $00
db $17, $00, $2F, $00, $17, $00, $1B, $00
db $E0, $E0, $10, $30, $08, $C8, $C4, $24
db $E0, $14, $F2, $0A, $E2, $16, $C5, $27
db $00, $00, $C0, $00, $30, $00, $D8, $00
db $E8, $00, $F4, $00, $E8, $00, $D8, $00
db $00, $0F, $07, $08, $06, $08, $06, $08
db $06, $08, $06, $08, $06, $08, $06, $08
db $00, $00, $00, $00, $07, $00, $07, $00
db $07, $00, $07, $00, $07, $00, $07, $00
db $00, $FF, $FF, $00, $7F, $78, $7F, $78
db $7F, $78, $7F, $78, $7F, $78, $7F, $78
db $00, $00, $00, $00, $80, $00, $80, $00
db $80, $00, $80, $00, $80, $00, $80, $00
db $01, $04, $01, $04, $01, $04, $00, $05
db $01, $07, $07, $0E, $06, $09, $00, $0F
db $03, $00, $03, $00, $03, $00, $02, $00
db $00, $00, $01, $00, $06, $00, $00, $00
db $80, $70, $60, $90, $60, $90, $C0, $20
db $80, $60, $40, $A0, $80, $40, $00, $80
db $80, $00, $20, $00, $20, $00, $40, $00
db $80, $00, $40, $00, $80, $00, $00, $00
db $00, $FF, $FF, $3F, $C0, $C0, $C0, $C0
db $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0
db $00, $00, $00, $00, $3F, $00, $3F, $00
db $3F, $00, $3F, $00, $3F, $00, $3F, $00
db $00, $FF, $FF, $60, $98, $98, $98, $98
db $98, $98, $98, $98, $98, $98, $98, $98
db $00, $00, $00, $00, $67, $00, $67, $00
db $67, $00, $67, $00, $67, $00, $67, $00
db $00, $FF, $FF, $00, $57, $00, $AB, $00
db $57, $00, $AB, $00, $57, $00, $AB, $00
db $00, $00, $00, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $F0, $E0, $10, $E0, $10, $E0, $10
db $E0, $10, $E0, $10, $E0, $10, $E0, $10
db $00, $00, $00, $00, $E0, $00, $E0, $00
db $E0, $00, $E0, $00, $E0, $00, $E0, $00
db $FF, $0A, $FF, $05, $FF, $0A, $FF, $05
db $FF, $0A, $FF, $05, $FF, $0A, $FF, $15
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FC, $FE, $FC, $FE, $FC, $FE, $FE, $7F
db $FE, $FF, $FE, $FF, $FE, $FF, $FE, $7F
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $3F, $C0, $FF, $80, $C0, $3F, $80, $7F
db $40, $3F, $20, $5F, $1F, $20, $00, $1F
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $87, $77, $F6, $1E, $FF, $00, $3F, $C0
db $00, $FF, $7E, $80, $E0, $1C, $00, $E0
db $08, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $47, $78, $BF, $E0, $78, $87, $F0, $0F
db $80, $7F, $30, $4F, $0F, $30, $00, $0F
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $E3, $1F, $FD, $07, $1E, $E1, $0F, $F0
db $01, $FE, $0C, $F2, $F0, $0C, $00, $F0
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $70, $F3, $F8, $1C, $F7, $0F, $3F, $C0
db $0F, $70, $10, $2F, $0F, $10, $00, $0F
db $0C, $00, $03, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $0E, $CF, $1F, $38, $EF, $F0, $FC, $03
db $F0, $0E, $08, $F4, $F0, $08, $00, $F0
db $30, $00, $C0, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $0F, $07, $08, $0F, $10, $0F, $10
db $1F, $20, $1F, $20, $1F, $20, $3F, $40
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $FF, $FF, $00, $FF, $00, $FE, $01
db $FC, $03, $FC, $03, $F8, $07, $F8, $07
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $FF, $FF, $00, $FF, $00, $7F, $80
db $3F, $C0, $3F, $C0, $1F, $E0, $1F, $E0
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $FF, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FF
db $FD, $FF, $FA, $FF, $D4, $FF, $82, $FF
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FC, $00, $C3, $00
db $D4, $FF, $A8, $FF, $D1, $FF, $A2, $FF
db $44, $FF, $88, $FF, $40, $FF, $A0, $FF
db $FE, $00, $FD, $00, $FB, $00, $F7, $00
db $EF, $00, $9F, $00, $7F, $00, $FF, $00
db $00, $07, $07, $1F, $1B, $38, $37, $70
db $2F, $62, $6F, $E6, $4F, $C6, $47, $C0
db $00, $00, $00, $00, $07, $00, $0F, $00
db $1D, $00, $19, $00, $39, $00, $3F, $00
db $00, $E0, $E0, $F8, $D8, $1C, $EC, $0E
db $F4, $46, $F6, $67, $F2, $63, $E2, $03
db $00, $00, $00, $00, $E0, $00, $F0, $00
db $B8, $00, $98, $00, $9C, $00, $FC, $00
db $00, $0F, $07, $08, $0F, $10, $0F, $10
db $1F, $20, $1F, $20, $1F, $20, $3F, $40
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $FF, $FF, $00, $FF, $00, $FF, $70
db $8F, $FC, $93, $FF, $9C, $FF, $9F, $FF
db $00, $00, $00, $00, $00, $00, $40, $00
db $C0, $00, $D0, $00, $DC, $00, $DF, $00
db $00, $FF, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $C0, $3F, $F0
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $FF, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $03, $02, $06, $07, $08
db $07, $08, $03, $04, $00, $03, $00, $00
db $00, $00, $00, $00, $01, $00, $07, $00
db $07, $00, $03, $00, $00, $00, $00, $00
db $01, $E4, $A1, $BC, $E9, $06, $FE, $01
db $FE, $01, $F9, $06, $E0, $1A, $00, $E1
db $03, $00, $43, $00, $F9, $00, $FE, $00
db $FE, $00, $F9, $00, $E1, $00, $00, $00
db $C0, $27, $C6, $3E, $D5, $20, $CA, $20
db $D5, $20, $CA, $20, $85, $58, $00, $87
db $C0, $00, $C1, $00, $DF, $00, $DF, $00
db $DF, $00, $DF, $00, $87, $00, $00, $00
db $00, $00, $00, $C0, $40, $20, $A0, $10
db $40, $10, $80, $20, $00, $C0, $00, $00
db $00, $00, $00, $00, $C0, $00, $E0, $00
db $E0, $00, $C0, $00, $00, $00, $00, $00
db $3F, $40, $3F, $40, $3F, $40, $7F, $80
db $7F, $80, $7F, $80, $7F, $80, $7F, $80
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $98, $67, $08, $F7, $98, $67, $F8, $07
db $F8, $07, $FC, $03, $FC, $03, $FE, $01
db $60, $00, $F0, $00, $60, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $19, $E6, $10, $EF, $19, $E6, $1F, $E0
db $1F, $E0, $3F, $C0, $3F, $C0, $7F, $80
db $06, $00, $0F, $00, $06, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $15, $FF, $AA, $FF, $50, $FF, $80, $FF
db $00, $FF, $00, $FF, $00, $FF, $00, $F8
db $3F, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $F8, $00, $00, $00
db $00, $FF, $00, $FF, $00, $FF, $00, $FF
db $00, $FC, $00, $F0, $00, $80, $00, $00
db $FF, $00, $FF, $00, $FF, $00, $FC, $00
db $F0, $00, $80, $00, $00, $00, $00, $00
db $46, $C0, $60, $E0, $70, $FF, $2B, $74
db $19, $26, $1D, $22, $0F, $10, $00, $0F
db $3F, $00, $1F, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $62, $03, $06, $07, $0E, $FF, $D4, $2E
db $98, $64, $B8, $44, $F0, $08, $00, $F0
db $FC, $00, $F8, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $3F, $40, $3F, $40, $3F, $40, $7F, $80
db $7F, $80, $7F, $80, $7F, $80, $7F, $80
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $CF, $7F, $CF, $7F, $E7, $3F, $F3, $1F
db $F8, $0F, $FC, $07, $FF, $03, $FF, $00
db $6F, $00, $6F, $00, $37, $00, $1B, $00
db $0C, $00, $07, $00, $03, $00, $00, $00
db $CF, $FC, $F3, $FF, $FD, $FE, $FB, $FE
db $E3, $FE, $07, $FC, $1F, $F8, $FF, $E0
db $C0, $00, $F0, $00, $FC, $00, $FA, $00
db $E6, $00, $1C, $00, $F8, $00, $E0, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $03, $01, $05, $06, $09
db $05, $0A, $02, $05, $00, $03, $00, $00
db $00, $00, $00, $00, $02, $00, $06, $00
db $05, $00, $02, $00, $00, $00, $00, $00
db $00, $FF, $EF, $20, $55, $AA, $AA, $55
db $55, $AA, $AA, $55, $55, $AA, $00, $FF
db $00, $00, $1F, $00, $55, $00, $AA, $00
db $55, $00, $AA, $00, $55, $00, $00, $00
db $03, $04, $03, $E4, $E3, $1E, $B9, $44
db $59, $A4, $A1, $5C, $00, $E2, $00, $01
db $01, $00, $01, $00, $E1, $00, $BB, $00
db $5B, $00, $A3, $00, $01, $00, $00, $00
db $C0, $20, $C0, $27, $C7, $3C, $CA, $2A
db $C0, $20, $C0, $38, $80, $47, $00, $80
db $C0, $00, $C0, $00, $C0, $00, $D5, $00
db $DF, $00, $C7, $00, $80, $00, $00, $00
db $78, $87, $77, $8F, $6F, $9F, $5F, $BF
db $5F, $BF, $13, $7F, $37, $7F, $37, $7F
db $00, $00, $07, $00, $0F, $00, $1F, $00
db $1F, $00, $13, $00, $37, $00, $37, $00
db $7F, $80, $9F, $E0, $EF, $F0, $F7, $F8
db $F7, $F8, $FB, $FC, $FB, $FC, $FB, $FC
db $00, $00, $80, $00, $E0, $00, $F0, $00
db $F0, $00, $F8, $00, $F8, $00, $F8, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FC, $03, $F3, $0F, $EF, $1F, $DF, $3F
db $DF, $3F, $BF, $7F, $BF, $7F, $BF, $7F
db $00, $00, $03, $00, $0F, $00, $1F, $00
db $1F, $00, $3F, $00, $3F, $00, $3F, $00
db $00, $00, $18, $18, $1D, $01, $1F, $00
db $0E, $00, $01, $00, $03, $00, $07, $00
db $00, $18, $00, $25, $00, $22, $01, $20
db $02, $11, $01, $0E, $02, $04, $05, $08
db $00, $00, $18, $18, $B8, $80, $F8, $00
db $70, $00, $80, $00, $40, $00, $40, $00
db $00, $18, $00, $A4, $00, $44, $80, $04
db $40, $88, $80, $70, $C0, $20, $E0, $10
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $FF, $FF, $15, $FF, $0B, $FF, $15
db $FF, $0A, $FF, $15, $FF, $0A, $FF, $05
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $F0, $E0, $F0, $F0, $F8, $F0, $F8
db $F8, $FC, $F8, $FC, $F8, $FC, $FC, $7E
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $0F, $FA, $E3, $FD, $D5, $FF, $EA, $FF
db $D4, $FF, $88, $FF, $C4, $FF, $AA, $FF
db $00, $00, $F0, $00, $FC, $00, $FE, $00
db $FF, $00, $CF, $00, $EF, $00, $EF, $00
db $FE, $FF, $FE, $FF, $FE, $FF, $FE, $FF
db $7E, $FF, $7C, $FE, $3C, $FE, $3C, $FE
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $80, $00, $80, $00
db $40, $FF, $80, $FF, $00, $FF, $01, $FF
db $00, $FF, $00, $FE, $00, $FC, $00, $F8
db $FF, $00, $FE, $00, $FE, $00, $FC, $00
db $FC, $00, $F8, $00, $F8, $00, $F0, $00
db $40, $E0, $80, $C0, $80, $C0, $00, $80
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $37, $7F, $1B, $3F, $1B, $3F, $1B, $3F
db $0D, $1F, $0D, $1F, $06, $0F, $06, $0F
db $37, $00, $1B, $00, $1B, $00, $1B, $00
db $0D, $00, $0D, $00, $06, $00, $06, $00
db $FD, $FE, $FD, $FE, $FE, $FF, $FF, $FF
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $FC, $00, $FC, $00, $FE, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $7F, $80
db $9F, $E0, $E3, $FC, $FC, $FF, $FF, $FF
db $00, $00, $00, $00, $00, $00, $00, $00
db $80, $00, $E0, $00, $FC, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $00, $FF, $FF, $FF
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $FF, $00
db $FF, $00, $FF, $00, $FE, $01, $FD, $03
db $F3, $0F, $8F, $7F, $7F, $FF, $FF, $FF
db $00, $00, $00, $00, $00, $00, $01, $00
db $03, $00, $0F, $00, $7F, $00, $FF, $00
db $7F, $FF, $7F, $FF, $FF, $FF, $FE, $FF
db $FD, $FF, $FA, $FF, $FD, $FF, $FA, $FF
db $7F, $00, $7F, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $0B, $00, $09, $00, $09, $00, $09, $00
db $00, $00, $0F, $0D, $07, $07, $00, $00
db $0D, $10, $0F, $10, $0F, $10, $0F, $10
db $00, $1F, $0D, $10, $07, $08, $00, $07
db $40, $00, $40, $00, $40, $00, $40, $00
db $00, $00, $40, $F0, $00, $E0, $00, $00
db $F0, $08, $F0, $08, $F0, $08, $F0, $08
db $00, $F8, $F0, $08, $E0, $10, $00, $E0
db $00, $FF, $FF, $00, $FF, $C0, $FF, $C0
db $FF, $C0, $FF, $C0, $FF, $C0, $FF, $C0
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $FF, $FF, $01, $FE, $FE, $FE, $FE
db $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE
db $00, $00, $00, $00, $01, $00, $01, $00
db $01, $00, $01, $00, $01, $00, $01, $00
db $FF, $0A, $FF, $05, $FF, $0A, $FF, $05
db $FF, $0A, $FF, $05, $FF, $0A, $FF, $15
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FC, $FE, $FC, $FE, $FC, $FE, $FE, $7F
db $FE, $FF, $FE, $FF, $FE, $FF, $FE, $7F
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $44, $FF, $88, $FF, $50, $FF, $88, $FF
db $10, $FF, $A0, $FF, $40, $FF, $20, $FF
db $EF, $00, $DF, $00, $DF, $00, $DF, $00
db $BF, $00, $BF, $00, $7F, $00, $7F, $00
db $3C, $FE, $18, $FC, $18, $FC, $18, $FC
db $10, $F8, $30, $F8, $20, $F0, $60, $F0
db $80, $00, $C0, $00, $C0, $00, $C0, $00
db $C0, $00, $80, $00, $80, $00, $00, $00
db $00, $F0, $00, $E0, $00, $80, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $E0, $00, $80, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $03, $07, $01, $03, $01, $03, $00, $01
db $00, $00, $00, $00, $00, $00, $00, $00
db $03, $00, $01, $00, $01, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $7F, $FF, $BF, $FF, $DF, $FF, $EF, $FF
db $77, $FF, $39, $7F, $1E, $3F, $0F, $1F
db $7F, $00, $BF, $00, $DF, $00, $EF, $00
db $77, $00, $39, $00, $1E, $00, $0F, $00
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $FF, $FF, $FF, $FF, $7F, $FF, $87, $FF
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $7F, $00, $87, $00
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $0F, $07, $08, $0F, $10, $0F, $10
db $1F, $20, $1F, $20, $1F, $20, $3F, $40
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $FF, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $03, $FC, $0F
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $FF, $FF, $00, $FF, $00, $FF, $0E
db $F1, $3F, $C9, $FF, $39, $FF, $F9, $FF
db $00, $00, $00, $00, $00, $00, $02, $00
db $03, $00, $0B, $00, $3B, $00, $FB, $00
db $00, $FF, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $03, $03, $04, $07, $08, $07, $08
db $0F, $10, $0F, $10, $0F, $10, $0F, $10
db $00, $00, $00, $00, $03, $00, $02, $00
db $05, $00, $05, $00, $05, $00, $05, $00
db $00, $C0, $80, $20, $C0, $10, $E0, $30
db $30, $58, $30, $58, $B0, $D8, $B0, $D8
db $00, $00, $40, $00, $E0, $00, $60, $00
db $B0, $00, $B0, $00, $30, $00, $20, $00
db $00, $18, $10, $24, $38, $42, $3C, $46
db $74, $89, $76, $8B, $76, $8B, $76, $8B
db $00, $00, $08, $00, $1C, $00, $1C, $00
db $26, $00, $24, $00, $24, $00, $24, $00
db $3C, $00, $42, $3C, $81, $7E, $81, $7E
db $81, $7E, $81, $7E, $42, $3C, $24, $18
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FF, $00, $FE, $01, $FD, $02, $FB, $06
db $F9, $05, $FC, $02, $FE, $03, $FF, $01
db $00, $00, $00, $00, $00, $00, $00, $00
db $02, $00, $01, $00, $00, $00, $00, $00
db $7C, $83, $B3, $CF, $8F, $3F, $CF, $5F
db $AF, $9F, $4F, $3F, $1F, $FF, $BF, $FF
db $00, $00, $03, $00, $4F, $00, $2F, $00
db $6F, $00, $DF, $00, $3F, $00, $3F, $00
db $00, $67, $6E, $F1, $19, $E6, $1F, $31
db $0F, $3F, $00, $3F, $3D, $42, $00, $7F
db $67, $00, $F1, $00, $E0, $00, $31, $00
db $3F, $00, $0F, $00, $1C, $00, $01, $00
db $08, $00, $08, $00, $7F, $00, $3E, $00
db $1C, $00, $3E, $00, $63, $00, $00, $00
db $08, $00, $08, $00, $7F, $00, $3E, $00
db $1C, $00, $3E, $00, $63, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $05, $0F, $00, $07, $00, $01, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $07, $00, $01, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $78, $FF, $AA, $FF, $55, $FF, $2A, $FF
db $01, $3F, $00, $0F, $00, $01, $00, $00
db $F8, $00, $FF, $00, $FF, $00, $3F, $00
db $0F, $00, $01, $00, $00, $00, $00, $00
db $00, $FF, $AA, $FF, $55, $FF, $AA, $FF
db $55, $FF, $00, $FF, $00, $FF, $00, $1F
db $00, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $1F, $00, $00, $00
db $3F, $40, $3F, $40, $3F, $40, $7F, $80
db $7F, $80, $7F, $80, $7F, $80, $7F, $80
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $F3, $3F, $CF, $FF, $BF, $7F, $DF, $7F
db $C7, $7F, $E0, $3F, $F8, $1F, $FF, $07
db $03, $00, $0F, $00, $3F, $00, $5F, $00
db $67, $00, $38, $00, $1F, $00, $07, $00
db $F3, $FE, $F3, $FE, $E7, $FC, $CF, $F8
db $1F, $F0, $3F, $E0, $FF, $C0, $FF, $00
db $F6, $00, $F6, $00, $EC, $00, $D8, $00
db $30, $00, $E0, $00, $C0, $00, $00, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $0F, $10, $0F, $10, $0E, $10, $0F, $11
db $06, $09, $07, $0C, $03, $07, $00, $03
db $05, $00, $05, $00, $05, $00, $04, $00
db $06, $00, $03, $00, $00, $00, $00, $00
db $B0, $D8, $B0, $D8, $B0, $D8, $90, $D8
db $60, $B0, $A0, $30, $C0, $E0, $00, $C0
db $20, $00, $20, $00, $20, $00, $20, $00
db $40, $00, $C0, $00, $00, $00, $00, $00
db $00, $18, $18, $2C, $18, $3C, $00, $24
db $00, $24, $18, $24, $18, $24, $18, $24
db $00, $00, $00, $00, $00, $00, $18, $00
db $18, $00, $18, $00, $18, $00, $18, $00
db $42, $3C, $42, $3C, $81, $7E, $81, $7E
db $FF, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FF, $00, $FF, $00, $FE, $01, $FD, $03
db $F3, $0F, $8F, $7F, $7F, $FF, $FF, $FF
db $00, $00, $00, $00, $00, $00, $01, $00
db $03, $00, $0F, $00, $7F, $00, $FF, $00
db $7F, $FF, $7F, $FF, $FF, $FF, $FE, $FF
db $FD, $FF, $FA, $FF, $FD, $FF, $FA, $FF
db $7F, $00, $7F, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $0F, $0F, $3F, $30, $7F, $47, $C8
db $00, $FF, $7F, $80, $7F, $80, $00, $FF
db $00, $00, $00, $00, $00, $00, $30, $00
db $00, $00, $50, $00, $50, $00, $00, $00
db $00, $00, $10, $00, $10, $00, $7C, $00
db $10, $00, $10, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $01
db $01, $03, $00, $07, $07, $0F, $0F, $1B
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $07, $00, $0B, $00
db $00, $00, $00, $01, $01, $7F, $7C, $FF
db $FE, $FF, $79, $AF, $37, $FF, $8C, $FB
db $00, $00, $01, $00, $01, $00, $00, $00
db $00, $00, $01, $00, $87, $00, $C8, $00
db $00, $30, $30, $F8, $E0, $9C, $FC, $1E
db $78, $8E, $24, $DE, $86, $F3, $90, $E9
db $30, $00, $F8, $00, $9C, $00, $1E, $00
db $0C, $00, $98, $00, $E8, $00, $C6, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $03, $03, $0F, $0F, $1F, $1E, $3C
db $33, $70, $33, $70, $63, $E0, $6F, $E0
db $03, $00, $0C, $00, $10, $00, $21, $00
db $4C, $00, $4C, $00, $9C, $00, $90, $00
db $00, $C0, $C0, $F0, $F0, $F8, $38, $3C
db $3C, $0E, $FC, $0E, $E6, $07, $C6, $07
db $C0, $00, $30, $00, $08, $00, $C4, $00
db $C2, $00, $02, $00, $19, $00, $39, $00
db $00, $00, $00, $00, $08, $00, $1A, $00
db $1B, $00, $FD, $E0, $FE, $A0, $7E, $40
db $00, $00, $00, $00, $00, $00, $80, $00
db $C0, $00, $00, $00, $00, $00, $80, $00
db $FF, $3F, $FF, $00, $FF, $80, $FF, $80
db $FF, $80, $7F, $80, $00, $80, $00, $FF
db $3F, $00, $7F, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $00, $00
db $F9, $FE, $FE, $00, $FE, $00, $FE, $00
db $FE, $00, $FE, $00, $00, $00, $00, $FF
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $00, $00
db $EA, $1F, $D2, $3F, $22, $FF, $82, $FF
db $06, $FF, $04, $FF, $85, $7E, $0B, $FC
db $0B, $00, $1B, $00, $33, $00, $EA, $00
db $96, $00, $74, $00, $74, $00, $EB, $00
db $10, $E8, $40, $B0, $60, $90, $00, $E0
db $E0, $98, $68, $EC, $9C, $7E, $AC, $1E
db $00, $00, $00, $00, $00, $00, $00, $00
db $20, $00, $10, $00, $00, $00, $40, $00
db $D2, $3F, $22, $FF, $82, $FF, $06, $FF
db $04, $FF, $85, $7E, $0B, $FC, $13, $FF
db $1B, $00, $33, $00, $EA, $00, $96, $00
db $74, $00, $74, $00, $EB, $00, $90, $00
db $40, $B0, $60, $90, $00, $E0, $E0, $98
db $68, $EC, $9C, $7E, $AC, $1E, $46, $2F
db $00, $00, $00, $00, $00, $00, $20, $00
db $10, $00, $00, $00, $40, $00, $90, $00
db $E2, $1F, $D2, $3F, $22, $FF, $82, $FF
db $06, $FF, $04, $FF, $85, $7E, $0B, $FC
db $0B, $00, $1B, $00, $33, $00, $EA, $00
db $96, $00, $74, $00, $74, $00, $EB, $00
db $10, $E8, $40, $B0, $60, $90, $00, $E0
db $E0, $98, $68, $EC, $9C, $7E, $AC, $1E
db $00, $00, $00, $00, $00, $00, $00, $00
db $20, $00, $10, $00, $00, $00, $40, $00
db $0A, $1F, $0F, $1F, $07, $1F, $10, $0F
db $00, $1F, $1F, $3F, $00, $3F, $00, $0F
db $0A, $00, $0F, $00, $0F, $00, $07, $00
db $00, $00, $1F, $00, $0F, $00, $00, $00
db $F3, $FF, $C6, $FF, $04, $FF, $48, $BF
db $30, $FF, $C0, $FF, $1F, $FF, $00, $FF
db $FB, $00, $F7, $00, $F6, $00, $8E, $00
db $3E, $00, $E0, $00, $DF, $00, $00, $00
db $26, $CF, $56, $EF, $E6, $7F, $86, $FF
db $C4, $FE, $C0, $FC, $FC, $FE, $00, $FE
db $10, $00, $40, $00, $60, $00, $A0, $00
db $E0, $00, $E0, $00, $FC, $00, $00, $00
db $FF, $3F, $FF, $00, $FF, $80, $FF, $80
db $FF, $80, $7F, $80, $00, $80, $00, $FF
db $3F, $00, $7F, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $00, $00
db $F9, $FE, $FE, $00, $FE, $00, $FE, $00
db $FE, $00, $FE, $00, $00, $00, $00, $FF
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $00, $00
db $7F, $E0, $63, $E0, $33, $70, $33, $70
db $1E, $3C, $0F, $1F, $03, $0F, $00, $03
db $80, $00, $9C, $00, $4C, $00, $4C, $00
db $21, $00, $10, $00, $0C, $00, $03, $00
db $F6, $07, $FE, $07, $8C, $0E, $0C, $0E
db $38, $3C, $F0, $F8, $C0, $F0, $00, $C0
db $09, $00, $01, $00, $72, $00, $F2, $00
db $C4, $00, $08, $00, $30, $00, $C0, $00
db $7C, $70, $3C, $3C, $28, $2E, $78, $7E
db $48, $4E, $F0, $FE, $E0, $FC, $FC, $FC
db $80, $00, $C0, $00, $D6, $00, $86, $00
db $B6, $00, $0E, $00, $7C, $00, $FA, $00
db $F2, $FD, $FC, $01, $FC, $01, $FC, $01
db $FC, $01, $FC, $01, $00, $01, $00, $FF
db $FE, $00, $FE, $00, $FE, $00, $FE, $00
db $FE, $00, $FE, $00, $FE, $00, $00, $00
db $FF, $3F, $FF, $00, $FF, $80, $FF, $80
db $FF, $80, $7F, $80, $00, $80, $00, $FF
db $3F, $00, $7F, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $00, $00
db $13, $FF, $67, $F8, $83, $E7, $03, $8C
db $05, $0F, $04, $7F, $43, $FF, $00, $FF
db $90, $00, $67, $00, $80, $00, $03, $00
db $04, $00, $04, $00, $7B, $00, $00, $00
db $66, $1F, $D6, $3F, $BA, $DF, $A2, $7F
db $B0, $FE, $30, $FE, $FE, $FF, $00, $FF
db $80, $00, $D0, $00, $18, $00, $A8, $00
db $38, $00, $38, $00, $FE, $00, $00, $00
db $67, $F8, $83, $E7, $03, $84, $01, $07
db $00, $07, $07, $3F, $20, $7F, $00, $7F
db $67, $00, $80, $00, $03, $00, $00, $00
db $00, $00, $07, $00, $30, $00, $00, $00
db $A6, $7F, $76, $BF, $46, $FF, $64, $FE
db $60, $FC, $FC, $FE, $00, $FE, $00, $F0
db $A0, $00, $30, $00, $50, $00, $70, $00
db $70, $00, $FC, $00, $00, $00, $00, $00
db $13, $FF, $67, $F8, $82, $E7, $02, $85
db $00, $03, $00, $1F, $0F, $3F, $00, $3F
db $90, $00, $67, $00, $80, $00, $02, $00
db $00, $00, $00, $00, $0F, $00, $00, $00
db $26, $4F, $56, $EF, $E6, $7F, $86, $FF
db $C4, $FE, $C0, $FC, $FC, $FE, $00, $FE
db $90, $00, $40, $00, $60, $00, $A0, $00
db $E0, $00, $E0, $00, $FC, $00, $00, $00
db $01, $00, $03, $00, $3F, $00, $7F, $00
db $7F, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $98, $00, $FC, $00, $FE, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $19, $00, $3D, $00
db $3F, $00, $7F, $00, $7F, $00, $7F, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $08, $00, $DC, $00, $FE, $00
db $FE, $00, $FE, $00, $FE, $00, $F8, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $03, $00, $0F, $08, $3F, $3C, $7F
db $76, $77, $72, $F2, $60, $E0, $4F, $C0
db $03, $00, $0F, $00, $37, $00, $43, $00
db $09, $00, $8D, $00, $9F, $00, $B8, $00
db $00, $80, $00, $A0, $00, $C8, $00, $A0
db $00, $00, $7C, $80, $FE, $02, $FF, $01
db $80, $00, $A0, $00, $C8, $00, $A0, $00
db $00, $00, $80, $00, $00, $00, $00, $00
db $01, $01, $03, $02, $07, $00, $07, $20
db $07, $00, $07, $50, $07, $20, $03, $F4
db $00, $00, $00, $00, $00, $00, $20, $00
db $00, $00, $50, $00, $20, $00, $F4, $00
db $C0, $80, $F0, $00, $FC, $00, $FE, $00
db $FE, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $40, $00, $20, $00, $79, $00
db $6C, $00, $FE, $00, $FE, $00, $FE, $00
db $FE, $00, $7C, $00, $38, $00, $10, $00
db $6C, $00, $FE, $00, $FE, $00, $FE, $00
db $FE, $00, $7C, $00, $38, $00, $10, $00
db $FE, $7F, $FD, $BF, $FB, $DF, $F7, $EF
db $EF, $F7, $DF, $FB, $BF, $FD, $7F, $FE
db $FE, $00, $FD, $00, $FB, $00, $F7, $00
db $EF, $00, $DF, $00, $BF, $00, $7F, $00
db $00, $01, $00, $10, $00, $31, $11, $3D
db $19, $3D, $12, $0E, $07, $3F, $18, $78
db $01, $00, $10, $00, $31, $00, $2C, $00
db $24, $00, $1C, $00, $38, $00, $67, $00
db $00, $00, $00, $A4, $00, $92, $00, $98
db $88, $9D, $C8, $DF, $6C, $7F, $3E, $3F
db $00, $00, $A4, $00, $92, $00, $98, $00
db $15, $00, $17, $00, $93, $00, $81, $00
db $00, $10, $00, $38, $00, $15, $00, $05
db $00, $24, $01, $2D, $2E, $72, $30, $F0
db $10, $00, $38, $00, $15, $00, $05, $00
db $24, $00, $2E, $00, $5D, $00, $C9, $00
db $00, $90, $00, $C8, $00, $CC, $A0, $EE
db $E0, $F4, $A0, $B8, $D0, $58, $88, $0E
db $90, $00, $C8, $00, $CC, $00, $CE, $00
db $14, $00, $58, $00, $88, $00, $86, $00
db $00, $00, $00, $00, $00, $00, $18, $00
db $1C, $00, $3E, $00, $3C, $00, $3D, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $08, $00, $C8, $00
db $E0, $00, $00, $00, $00, $00, $80, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FF, $00, $FF, $00, $FF, $00, $3F, $00
db $3F, $00, $1F, $00, $1F, $00, $07, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $3F, $00, $07, $00, $0F, $00, $0F, $00
db $0F, $00, $1F, $00, $0F, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $BB, $00, $3F, $00, $BF, $00, $FF, $00
db $FF, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $4F, $C0, $47, $C0, $5F, $C0, $0F, $40
db $27, $60, $0F, $20, $07, $18, $01, $0C
db $B8, $00, $BC, $00, $AC, $00, $77, $00
db $5E, $00, $3C, $00, $1F, $00, $0F, $00
db $FF, $01, $FF, $00, $FE, $00, $FE, $00
db $FC, $00, $FC, $00, $F8, $00, $E0, $00
db $00, $00, $00, $00, $80, $00, $00, $00
db $00, $00, $60, $00, $C0, $00, $80, $00
db $41, $F8, $7D, $FC, $1B, $78, $33, $70
db $10, $30, $18, $38, $0F, $1F, $00, $07
db $BE, $00, $82, $00, $67, $00, $4F, $00
db $2F, $00, $27, $00, $10, $00, $07, $00
db $FF, $00, $FE, $00, $FE, $01, $F4, $03
db $70, $02, $08, $0C, $E0, $F8, $00, $E0
db $6B, $00, $6B, $00, $FF, $00, $FF, $00
db $FE, $00, $F4, $00, $18, $00, $E0, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $3C, $00, $7E, $00, $FF, $00, $FF, $00
db $FF, $00, $FF, $00, $7E, $00, $1C, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $1C, $00, $3E, $00
db $3E, $00, $3E, $00, $1C, $00, $00, $00
db $30, $F0, $63, $E0, $4B, $C0, $8C, $80
db $80, $80, $0C, $00, $3F, $00, $07, $00
db $C3, $00, $93, $00, $AE, $00, $68, $00
db $60, $00, $60, $00, $38, $00, $00, $00
db $1E, $1F, $06, $07, $B2, $03, $E0, $00
db $0C, $00, $DE, $00, $FC, $00, $B8, $00
db $01, $00, $19, $00, $05, $00, $C7, $00
db $0F, $00, $1E, $00, $0C, $00, $18, $00
db $30, $70, $1F, $70, $06, $20, $00, $00
db $00, $00, $00, $00, $0E, $00, $07, $00
db $49, $00, $6F, $00, $32, $00, $10, $00
db $10, $00, $10, $00, $08, $00, $08, $00
db $80, $06, $D0, $00, $60, $00, $00, $00
db $08, $00, $08, $00, $68, $00, $F0, $00
db $8E, $00, $54, $00, $64, $00, $04, $00
db $08, $00, $08, $00, $28, $00, $00, $00
db $00, $00, $01, $00, $01, $00, $07, $00
db $07, $00, $07, $00, $02, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $10, $00, $99, $00, $FC, $00
db $F3, $00, $C7, $00, $67, $00, $F7, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $01, $00, $07
db $02, $0D, $06, $09, $04, $3B, $34, $7B
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $30, $00
db $00, $07, $07, $7F, $63, $FC, $39, $FE
db $51, $BE, $6C, $9F, $EE, $1F, $EA, $1F
db $07, $00, $1F, $00, $00, $00, $00, $00
db $00, $00, $0E, $00, $0F, $00, $0B, $00
db $00, $00, $00, $F0, $F0, $F8, $E0, $30
db $C0, $20, $E0, $3C, $78, $9C, $70, $88
db $00, $00, $F0, $00, $F8, $00, $30, $00
db $20, $00, $3C, $00, $1C, $00, $08, $00
db $00, $00, $00, $00, $00, $01, $01, $07
db $07, $0F, $0F, $1F, $0F, $1F, $1E, $3F
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $FF, $FF, $FF
db $FF, $FF, $FF, $FF, $00, $FF, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $01
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $03, $03, $0F
db $0C, $1F, $13, $3C, $2C, $F0, $D3, $E3
db $00, $00, $00, $00, $00, $00, $03, $00
db $0F, $00, $1F, $00, $3F, $00, $FC, $00
db $00, $0F, $0F, $FF, $F0, $FF, $0F, $F0
db $F0, $00, $0F, $0F, $FF, $FF, $FF, $FF
db $00, $00, $0F, $00, $FF, $00, $FF, $00
db $FF, $00, $F0, $00, $00, $00, $00, $00
db $00, $F0, $F0, $FF, $0F, $FF, $F0, $0F
db $0F, $00, $F0, $F0, $FF, $FF, $FF, $FF
db $00, $00, $F0, $00, $FF, $00, $FF, $00
db $FF, $00, $0F, $00, $00, $00, $00, $00
db $00, $08, $08, $1C, $18, $32, $3C, $6D
db $1A, $59, $04, $22, $00, $1C, $00, $00
db $00, $00, $00, $00, $04, $00, $02, $00
db $26, $00, $1C, $00, $00, $00, $00, $00
db $03, $03, $1D, $1D, $38, $30, $1F, $00
db $1F, $00, $7F, $00, $7F, $00, $FF, $00
db $00, $00, $02, $00, $0F, $00, $3F, $00
db $67, $00, $07, $00, $03, $00, $03, $00
db $00, $F9, $C0, $FF, $30, $3F, $C6, $07
db $F1, $01, $E0, $00, $E0, $00, $F9, $01
db $F9, $00, $3F, $00, $CF, $00, $F9, $00
db $9E, $00, $3F, $00, $FF, $00, $7E, $00
db $00, $00, $00, $C0, $00, $E0, $00, $C0
db $00, $F0, $C0, $FE, $E0, $FE, $F8, $FF
db $00, $00, $C0, $00, $E0, $00, $C0, $00
db $F0, $00, $3E, $00, $1E, $00, $07, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $01, $00, $00, $00, $62
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $01, $00, $00, $00, $62, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $08, $00, $1C, $00, $00, $00, $01, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $08, $00
db $40, $00, $00, $00, $00, $00, $80, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $72, $FD, $78, $DF, $57, $FF, $3E, $FF
db $00, $7F, $40, $3F, $00, $07, $00, $0F
db $78, $00, $5C, $00, $57, $00, $7F, $00
db $3E, $00, $01, $00, $03, $00, $07, $00
db $D2, $3F, $22, $FF, $82, $FF, $06, $FF
db $04, $FF, $85, $7E, $0B, $FC, $13, $FF
db $1B, $00, $33, $00, $EA, $00, $96, $00
db $74, $00, $74, $00, $EB, $00, $90, $00
db $60, $90, $60, $B0, $00, $E0, $E0, $98
db $68, $EC, $9C, $7E, $AC, $1E, $66, $0F
db $10, $00, $30, $00, $00, $00, $20, $00
db $10, $00, $00, $00, $40, $00, $90, $00
db $1C, $3E, $1C, $3E, $1C, $3E, $1C, $3E
db $1C, $3E, $1C, $3E, $1C, $3E, $1C, $3E
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $01, $03, $01, $03, $02, $07, $05, $0E
db $0A, $1C, $0A, $1C, $15, $39, $15, $39
db $01, $00, $01, $00, $03, $00, $07, $00
db $0F, $00, $0F, $00, $1E, $00, $1E, $00
db $2F, $CF, $5F, $9F, $BF, $3F, $7F, $7F
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $F0, $00, $E0, $00, $C0, $00, $80, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $10, $00, $10, $00, $FE, $00, $7C, $00
db $38, $00, $7C, $00, $6C, $00, $82, $00
db $10, $00, $10, $00, $FE, $00, $7C, $00
db $38, $00, $7C, $00, $6C, $00, $82, $00
db $FF, $00, $FF, $00, $7D, $00, $7F, $00
db $1F, $00, $3F, $28, $18, $1F, $00, $05
db $00, $00, $01, $00, $03, $00, $40, $00
db $71, $00, $17, $00, $07, $00, $05, $00
db $FB, $03, $F1, $01, $F8, $00, $F0, $00
db $E3, $03, $9C, $1F, $12, $1E, $08, $98
db $7C, $00, $FE, $00, $FF, $00, $FF, $00
db $FC, $00, $E3, $00, $EC, $00, $D0, $00
db $FC, $FF, $E0, $FF, $70, $7E, $80, $FE
db $00, $F0, $00, $80, $00, $00, $00, $00
db $03, $00, $1F, $00, $8E, $00, $7E, $00
db $F0, $00, $80, $00, $00, $00, $00, $00
db $00, $E0, $00, $70, $00, $20, $00, $00
db $00, $00, $00, $00, $00, $60, $00, $00
db $E0, $00, $70, $00, $20, $00, $00, $00
db $00, $00, $00, $00, $60, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $03, $00
db $03, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $28, $00
db $40, $00, $00, $00, $03, $00, $63, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $08, $1F, $07, $0F, $00, $07, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $08, $00, $07, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $67, $F8, $83, $E7, $03, $84, $01, $3F
db $3E, $7F, $00, $7F, $07, $0F, $00, $0F
db $67, $00, $80, $00, $03, $00, $00, $00
db $3E, $00, $00, $00, $07, $00, $00, $00
db $96, $2F, $A6, $FF, $76, $BF, $44, $FE
db $60, $FC, $60, $FC, $FC, $FE, $00, $FE
db $C0, $00, $20, $00, $30, $00, $50, $00
db $70, $00, $70, $00, $FC, $00, $00, $00
db $00, $00, $01, $00, $03, $00, $07, $00
db $0F, $00, $06, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $E0, $00, $F0, $00, $E0, $00, $80, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $2B, $73, $2B, $73, $2B, $73, $2B, $73
db $57, $E7, $57, $E7, $57, $E7, $57, $E7
db $3C, $00, $3C, $00, $3C, $00, $3C, $00
db $78, $00, $78, $00, $78, $00, $78, $00
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $03, $03, $0F, $0F, $1F, $1C, $3C
db $3C, $70, $3E, $70, $67, $E0, $67, $E0
db $03, $00, $0C, $00, $10, $00, $23, $00
db $43, $00, $41, $00, $98, $00, $98, $00
db $00, $C0, $C0, $F0, $F0, $F8, $78, $3C
db $CC, $0E, $CC, $0E, $C6, $07, $E6, $07
db $C0, $00, $30, $00, $08, $00, $84, $00
db $32, $00, $32, $00, $39, $00, $19, $00
db $00, $00, $03, $03, $00, $00, $1C, $00
db $7F, $00, $FF, $00, $FF, $00, $FF, $00
db $00, $00, $00, $00, $0F, $00, $3F, $00
db $63, $00, $80, $00, $01, $00, $00, $00
db $00, $00, $80, $80, $77, $77, $7F, $7F
db $E0, $00, $F8, $00, $FE, $00, $FF, $00
db $00, $00, $00, $00, $80, $00, $80, $00
db $FF, $00, $E7, $00, $FF, $00, $33, $00
db $00, $00, $00, $40, $00, $13, $F0, $FF
db $78, $7F, $1F, $1F, $0F, $0F, $1F, $1F
db $00, $00, $40, $00, $13, $00, $0F, $00
db $87, $00, $E0, $00, $F0, $00, $E0, $00
db $00, $00, $00, $80, $00, $00, $00, $C0
db $00, $E6, $00, $FF, $80, $F4, $00, $FC
db $00, $00, $80, $00, $00, $00, $C0, $00
db $E6, $00, $FF, $00, $74, $00, $FC, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $08, $00, $00, $00, $01, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $70, $70, $88, $50, $AC, $7C, $82
db $34, $4A, $5C, $A2, $80, $DC, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $38, $10, $6C, $38, $44
db $30, $4C, $40, $B8, $80, $C0, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $18, $10, $28
db $20, $50, $40, $A0, $80, $C0, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $60, $00, $F0, $00, $F0, $00, $60, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $57, $E7, $57, $E7, $57, $E7, $57, $E7
db $2B, $73, $2B, $73, $2B, $73, $2B, $73
db $78, $00, $78, $00, $78, $00, $78, $00
db $3C, $00, $3C, $00, $3C, $00, $3C, $00
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $6F, $E0, $7F, $E0, $31, $70, $31, $70
db $1C, $3C, $0F, $1F, $03, $0F, $00, $03
db $90, $00, $80, $00, $4E, $00, $4E, $00
db $23, $00, $10, $00, $0C, $00, $03, $00
db $F6, $07, $FE, $07, $8C, $0E, $8C, $0E
db $B8, $3C, $F0, $F8, $C0, $F0, $00, $C0
db $09, $00, $01, $00, $72, $00, $72, $00
db $44, $00, $08, $00, $30, $00, $C0, $00
db $FF, $00, $FF, $00, $7F, $00, $37, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $80, $00, $59, $00, $3F, $00
db $07, $00, $00, $00, $00, $00, $00, $00
db $FF, $00, $FE, $00, $F9, $01, $82, $02
db $18, $18, $00, $00, $00, $00, $00, $00
db $1F, $00, $3F, $00, $EE, $00, $FC, $00
db $E0, $00, $00, $00, $00, $00, $00, $00
db $3C, $3F, $60, $7F, $F8, $FE, $00, $00
db $00, $00, $80, $80, $00, $00, $00, $00
db $C3, $00, $9F, $00, $06, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $F9, $00, $82, $00, $00, $00, $46
db $00, $00, $00, $00, $00, $00, $00, $00
db $F9, $00, $82, $00, $00, $00, $46, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $02, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $41, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
back to listings