Mode 7 Scroll Trainer Menu Source
;
;
;
;           CODE: THE WHITE KNIGHT
;       COMPUTER: AMIGA 4000/030/25Mhz/14Mb RAM
;      ASSEMBLER: SASM: 1.81
;         EDITOR: CygnusEd Professional V3.5
;    OTHER TOOLS: BRILLIANCE, CYBERFONT, BINCON, PICCON, 1084S Monitor
;          MUSIC: Originally from a PARANOIMIA INTRO TUNE converted by
;                 The Doctor
;           FONT: Anthrox FONT collection! given to my by ICE
;           LOGO: DEADLOCK
;
; HARDWARE TOOLS: SUPER MAGICOM from FRONT FAREAST
;                 AMIGA <-> SUPER MAGICOM TRANSFER CABLE
;                 YES! all Hobbyists tools!  No need to pay $8,000.00 or
;                 whatever the other commercial tools cost
;
; for more info, EMAIL: ANTIROX@TNP.COM
;
;
;
;


; ******************************************************
; ******************************************************
; **
; **      logo  - 15296		map - 352
; **      font  - 15232		map - 768
; **      font2 - 2048
; **     circle - 128		map - 256 128lo+128hi
; **   logo col - 64
; **   font col - 64
; **      music - 17642
; ** HDMA list2 - 515
; ** HDMA list3 - 655
; ** HDMA list4 - 650
; **
; ******************************************************
; ******************************************************






	heap	O=512k			;max 128k object buffer
	size	4			;4 32kblocks

	SMC+				;yes, we want a smc header
;	dbug
	lrom				;yes, please split in 32k hunks



; =============================================================
; ==			EQUATES				     ==
; =============================================================
UnpackBuffr	EQU	$7f0000		;Destination Adress for Depacking
logo_gfx	equ	$7f0000
logo_map	equ	logo_gfx+15296
font_gfx	equ	logo_map+352
font_map	equ	font_gfx+15232
font2_gfx	equ	font_map+768
circle_gfx	equ	font2_gfx+2048
circle_map	equ	circle_gfx+128
logo_col	equ	circle_map+256
font_col	equ	logo_col+64
music		equ	font_col+64



const		equ	$70
scroll_base	equ	$80*76+13
temp		equ	$50
tempp		equ	temp+2
mode7_x		equ	$0200
mode7_y		equ	mode7_x+1
offset_x	equ	mode7_y+1
offset_y	equ	offset_x+1
zoom_stat	equ	offset_y+1
work_block	equ	zoom_stat+1
work_temp	equ	work_block+64
bank		equ	work_temp+64
byte_mode	equ	bank+1
scroll_top	equ	byte_mode+1		; TOP VRAM ADDRESS
scroll_bottom	equ	scroll_top+2		; BOTTOM VRAM ADDRESS
scroll_pointer	equ	scroll_bottom+2		; SCROLL TEXT LOCATION
scroll_shake	equ	scroll_pointer+2	; PLANE SHAKE VALUE
scrollf_shake	equ	scroll_shake+2		; scroll 8 pixel count
work_longword	equ	scrollf_shake+2
mode7_sizex	equ	work_longword+84
mode7_sizey	equ	mode7_sizex+2
HDMA_LIST2_AT	equ	mode7_sizey+2
HDMA_LIST3_AT	equ	HDMA_LIST2_AT+660
regA		equ	HDMA_LIST3_AT+850
regB		equ	regA+2
regC		equ	regB+2
regD		equ	regC+2
fld		equ	regD+2
fld2		equ	fld+2
plasma_col	equ	fld2+2
plasma_xs	equ	plasma_col+2
plasma_ys	equ	plasma_xs+2
plasma_xtemp	equ	plasma_ys+2
plasma_ytemp	equ	plasma_xtemp+2
pad_flag	equ	plasma_ytemp+2
toggle		equ	pad_flag+2
sprites_x	equ	toggle+2
sprites_y	equ	sprites_x+130
sprites_lo	equ	sprites_y+130
sprites_hi	equ	sprites_lo+130
sprites_xylohi	equ	sprites_hi+130

HDMA_LIST4_AT	equ	$7e2000
HDMA_LIST5_AT	equ	$7e3000
HDMA_LIST6_AT	equ	$7e5000







; =============================================================
; ==                    CODE				     ==
; =============================================================


	dc.b $a9,$00,$48,$ab,$e9,$f8,$8a,$ca

Start:
; dc.b $AD,$00,$01
; dc.b $C9,$21
; dc.b $D0,$1D
; dc.b $A2,$00
; dc.b $BD,$17,$80
; dc.b $9D,$80,$00
; dc.b $E8
; dc.b $E0,$0D
; dc.b $D0,$F5
; dc.b $4C,$80,$00
; dc.b $A9,$00         
; dc.b $8D,$00,$01       
; dc.b $A9,$FF         
; dc.b $8D,$04,$E0       
; dc.b $6C,$FC,$FF       
; dc.b $A9,$21         
; dc.b $8D,$00,$01       
INTRO:
	phk			; Put current bank on stack
	plb			; make it current programming bank
				; if this program were used as an intro
				; and it was located at bank $20 then an
				; LDA $8000 would actually read from
				; $008000 if it were not changed!
				; JSRs and JMPs work fine, but LDAs do not! 
	clc			; Clear Carry flag
	xce			; Native 16 bit mode  (no 6502 Emulation!)

	jsr Snes_Init
	rep #$30
	sep #$20

	phk
	pla
	sta bank

	jsr depack_data
	jsr screen
	jsr logo_mode7
	jsr logo_mode3
	jsr ANTHROX_IN

	jsr fade_out
	jsr musique
	rep #$30
	sep #$20
	jsr ANTHROX_STAY



	ldx #$00
	stx regA
	stx regB
	stx regC
	stx regD
	stx fld
	stx fld2
	stz bank
	stz plasma_col
	stz plasma_col+1
	stz pad_flag
	jsr never
	jsr never
	jsr fade_in


exit_wait:
	jsr never
	lda pad_flag
	beq exit_wait

	jsr fade_out
	lda #$8f
	sta $2100
	sta $2104
	stz $2121
	stz $2122
	stz $2122
	jsr logo_mode7_exit
	stz $420c
	lda #$01
	sta $212c
	jsr fade_in
	ldx #$0400
	stx $2140
	jsr ANTHROX_OUT
	jmp exit

	rep 	#$30
NewSound_l
	ora	toggle
	sta	$2140
	lda	toggle
	eor	#$0100
	sta	toggle
	rts

	sep #$20

fade_out:
	lda #$0f
fade_l:	sta $2100
	jsr delay
	dec a
	cmp #$ff
	bne fade_l
	rts	

fade_in:
	lda #$00
fadeil:	pha
	sta $2100
;	jsr never
	ldx #$3800
	jsr delayl
	pla
	inc a
	cmp #$10
	bne fadeil
	rts



delay:	ldx #$00
delayl:	inx
	cpx #$4000
	bne delayl
	rts



never:	jsr scroll
	jsr sprites_manipulate
	jsr WaitVb
	jsr scroller_VRAM
	jsr all_sprites
	jsr plasma
	jsr Joypad
	rts






Joypad:
	lda	$4212
	and     #$01  
	bne     Joypad
	lda	$4219
	and	#$10
	sta 	pad_flag
	rts

ANTHROX_IN:
	jsr logo_mode7_active
	lda #$80
	STA mode7_x
	sta mode7_y
	stz offset_x
	stz offset_y
	stz $211b
	stz $211b
	stz $211e
	stz $211e
	lda #$0f
	sta $2100
	stz zoom_stat      
	ldx #$01
	jsr zoomer
	rts

ANTHROX_OUT:
	lda #75
	sta mode7_x
	lda #80
	sta mode7_y
	ldx #$80
	jsr logo_mode7_active
	lda #$01
	sta $212c
	stz $420c
	jsr zoomer
	rts

ANTHROX_STAY:
	lda #$8f
	sta $2100
;	jsr WaitVb
	stz $210d
	stz $210d
	stz $210e
	lda #$01
	sta $210e
	jsr logo_mode3_active
	jsr RAM_SETUP
	jsr WaitVb
	jsr HDMA

	stz byte_mode
	ldx #$00
	stx $2116
	lda #$80
	sta $2115
	ldx #$3d20
	ldy #$3fc0		;1000
;	jsr WaitVb
	jsr gdma

;	ldx #$4d20
;	ldy #$1000
;	jsr WaitVb
;	jsr gdma

;	ldx #$5d20
;	ldy #$1000
;	jsr WaitVb
;	jsr gdma

;	ldx #$6d20
;	ldy #$0fc0
;	jsr WaitVb
;	jsr gdma
	jsr scroll_init

	stz $210d
	stz $210d

;	jsr WaitVb
;	jsr WaitVb
	rts




sinusdata:
 dc.b  0,3,6,9,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,60
 dc.b  63,66,68,71,74,76,79,81,84,86,88,91,93,95,97,99,101,103,105
 dc.b  106,108,110,111,113,114,116,117,118,119,121,122,122,123,124
 dc.b  125,126,126,127,127,127,128,128,128,128,128,128,128,127,127
 dc.b  127,126,126,125,124,123,122,122,121,119,118,117,116,114,113
 dc.b  111,110,108,106,105,103,101,99,97,95,93,91,88,86,84,81,79,76
 dc.b  74,71,68,66,63,60,58,55,52,49,46,43,40,37,34,31,28,25,22,19
 dc.b  16,13,9,6,3,0,-3,-6,-9,-13,-16,-19,-22,-25,-28,-31,-34,-37
 dc.b  -40,-43,-46,-49,-52,-55,-58,-60,-63,-66,-68,-71,-74,-76,-79
 dc.b  -81,-84,-86,-88,-91,-93,-95,-97,-99,-101,-103,-105,-106,-108
 dc.b  -110,-111,-113,-114,-116,-117,-118,-119,-121,-122,-122,-123
 dc.b  -124,-125,-126,-126,-127,-127,-127,-128,-128,-128,-128,-128
 dc.b  -128,-128,-127,-127,-127,-126,-126,-125,-124,-123,-122,-122
 dc.b  -121,-119,-118,-117,-116,-114,-113,-111,-110,-108,-106,-105
 dc.b  -103,-101,-99,-97,-95,-93,-91,-88,-86,-84,-81,-79,-76,-74,-71
 dc.b  -68,-66,-63,-60,-58,-55,-52,-49,-46,-43,-40,-37,-34,-31,-28
 dc.b  -25,-22,-19,-16,-13,-9,-6,-3





mode7_calculate:
	lda mode7_sizex
	sta $211b
	lda mode7_sizex+1
	sta $211b
	lda sinusdata+64+32*7	;+15
	sta $211c
	ldy $2135
	sty regA
	
	lda sinusdata+32*7	;+15
	sta $211c
	ldy $2135
	sty regB

	lda mode7_sizey
	sta $211b
	lda mode7_sizey+1
	sta $211b
	lda sinusdata+128+32*7	;+15
	sta $211c
	ldy $2135
	sty regC

	lda sinusdata+64+32*7	;+15
	sta $211c
	ldy $2135
	sty regD
	rts

	lda regA
	sta $211b
	lda regA+1
	sta $211b

	lda regB
	sta $211c
	lda regB+1
	sta $211c

	lda regC
	sta $211d
	lda regC+1
	sta $211d

	lda regA
	sta $211e
	lda regA+1
	sta $211e
	rts


;SCREEN 1 START  LINE 2 START    '
;	     dc.b 'TEXT 3 START    LAST LINE START.',0

scroll_init:	ldx #scroll_base	;$1680
		stx scroll_top
		ldx #scroll_base+128	;$1700
		stx scroll_bottom
		ldx #00
		stx scroll_pointer
		stx scroll_shake
		stz scrollf_shake


	ldx #$00
cccc	stz work_longword,x
	inx
	cpx #84
	bne cccc


;	lda #$f0
;	sta $211b
;	stz $211b
	lda #$18
	sta $211e
	stz $211e

	lda #$f0
	sta $211f
	lda #$02
	sta $211f
	lda #$70
	sta $2120
	lda #$02
	sta $2120
	rts



scroll:	rep #$30
	lda HDMA_LIST3_AT+13
	dec a
	and #$03ff
	sta HDMA_LIST3_AT+13
	lda HDMA_LIST3_AT+11
	inc a
	and #$03ff
	sta HDMA_LIST3_AT+11
	sep #$20

	lda HDMA_LIST3_AT+11
	cmp #const		;$6b
	bne scr_nd
	jmp scroller
scr_nd:	rts

scroller:	
	ldx #$00
loop64:	lda work_longword+2,x
	sta work_longword,x
	inx
	cpx #82
	bne loop64


	ldx scroll_pointer
	lda scroll_text,x
	clc
	sbc #$1f
	asl a
	asl a
	sep #$30
	tax
	lda font_map,x
	sta work_longword+40
	inx
	lda font_map,x
	sta work_longword+41
	inx
	lda font_map,x
	sta work_longword+82
	inx
	lda font_map,x
	sta work_longword+83
	rep #$30
	sep #$20

	ldx scroll_pointer
	inx
	stx scroll_pointer
	lda scroll_text,x
	cmp #$00
	bne no_prs
	ldx #$00
	stx scroll_pointer
no_prs:	rts


scroller_VRAM:
	lda HDMA_LIST3_AT+11
	cmp #const		;$6b
	bne no_prs
	lda #$60
	sta HDMA_LIST3_AT+11
	lda #$80
	sta HDMA_LIST3_AT+13

	stz $2115

	ldx scroll_top
	stx $2116
	ldx #work_longword
	ldy #40
	jsr gdma2

	ldx scroll_bottom
	stx $2116
	ldx #work_longword+42
	ldy #40
	jsr gdma2
	rts

none:	rts
plasma:	lda bank
	bne none	;_pla
	ldx plasma_col

	lda #$40
	sta $2121
	ldy #$00
plasm:	lda circle_col,x
	sta $2122
	inx
	iny
	cpy #32
	bne plasm

	ldx plasma_col
	inx
	inx
	cpx #512
	bne no_plasmr
	ldx #$00
no_plasmr:
	stx plasma_col

no_pla:
	ldy plasma_xtemp
	phy
	ldx #$00
	stx plasma_xtemp
pla_sh:	lda plasma_x,y
	cmp #$ff
	bne pla_ok
	ldy #$00
	jmp pla_sh

pla_ok:	sta HDMA_LIST6_AT+1,x
	adc sprites_xylohi
	and #$1f
	sta HDMA_LIST6_AT+3,x
	iny
	inx
	inx
	inx
	inx
	inx
	inc plasma_xtemp
	lda plasma_xtemp
	cmp #$60
	bne pla_sh

	ply
	iny
	lda plasma_x,y
	cmp #$ff
	bne no_plarst
	ldy #$00
no_plarst:
	sty plasma_xtemp
	rts






screen:	lda #$8f
	sta $2100

	lda #$80
	sta $2115
	ldx #$00		; CLEAR VIDEO REM
	stx $2116
	lda #$00
cls:	stz $2118
	stz $2119
	inx
	cpx #$8000
	bne cls


	stz $2121		; MODE7 FONT COLORS TO COLOR REGISTERS
	ldx #$00
col_32:	lda font_col,x
	sta $2122
	inx
	cpx #64
	bne col_32

	ldx #$00		; LOGO COLORS TO COLOR REGISTERS
col_64:	lda logo_col,x
	sta $2122
	inx
	cpx #64
	bne col_64

	lda #$80		; SPRITE COLORS to COLOR REGISTERS
	sta $2121
	ldx #$00
col_s:	lda fcol2,x	;$7f0000+15296,x
	sta $2122
	inx
	cpx #256
	bne col_s

all_s_cls:			; ZERO OUT THE ENTIRE SPRITELIST
	ldx #$00
	stx $2102
all_s_lp:
	stz $2104
	stz $2104
	stz $2104
	stz $2104
	inx
	cpx #140
	bne all_s_lp

	ldx #$4000
	stx $2116
	ldx #$00
s_char:	lda font2_gfx,x	;$7f0000+15296+64+16320+64,x
	sta $2118
	inx
	lda font2_gfx,x	;$7f0000+15296+64+16320+64,x
	sta $2119
	inx
	cpx #2560
	bne s_char

	 ldx #$00
s_char2: lda circle_gfx,x
	 sta $2118
	 inx
	 lda circle_gfx,x
	 sta $2119
	 inx
	 cpx #128
	 bne s_char2


	lda #$02
	sta $2101
	rts

x_table:
 dc.b	$20,$28,$30,$38,$40,$48,$50,$58,$60,$68,$70,$78,$80,$88,$90,$98,$a0,$a8
 dc.b	$20,$28,$30,$38,$40,$48,$50,$58,$60,$68,$70,$78,$80,$88,$90,$98,$a0,$a8
 dc.b	$20,$28,$30,$38,$40,$48,$50,$58,$60,$68,$70,$78,$80,$88,$90,$98,$a0,$a8
 dc.b	$20,$28,$30,$38,$40,$48,$50,$58,$60,$68,$70,$78,$80,$88,$90,$98,$a0,$a8
 dc.b	$20,$28,$30,$38,$40,$48,$50,$58,$60,$68,$70,$78,$80,$88,$90,$98,$a0,$a8


 dc.b	$98,$a0,$a8,$b8,$c0,$c8,$d0,$d8,$e0,$e8
 dc.b	$68,$70,$78,$80					;$20,$28,$30,$38
 dc.b	$e8,$e0,$d8,$d0,$c0,$b8,$b0,$a0,$98,$90

 dc.b	$10,$18,$20


y_table:
 dc.b	$62,$62,$62,$62,$62,$62,$62,$62,$62,$62,$62,$62,$62,$62,$62,$62,$62,$62
 dc.b	$5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a,$5a

mycredit:
;	dc.b $CE,$C7,$DA,$DB,$DF,$CB,$A5,$DB,$C5,$CC,$CB,$C9,$C4,$C4,$B1,$BE
;	dc.b $B0,$B1,$B8,$BB,$BE,$B0,$B9,$BF,$DC,$DF,$C3,$28,$28,$28,$29,$2A

	dc.b 'FORSWC-SMD'
	DC.B 'PAGE'
	DC.B '7752962719'		;  7186309869'
	dc.b 'TWK'
	
sprites_ytable:
 dc.b  160,160,160,161,162,163,163,164,166,167,168,168,169,170,170
 dc.b  170,170,170,169,168,168,167,166,164,163,163,162,161,160,160
 dc.b  160,160,160,161,162,163,163,164,166,167,168,168,169,170,170
 dc.b  170,170,170,169,168,168,167,166,164,163,163,162,161,160,160


fldtable:
 dc.b  0,0,0,1,1,1,2,3,3,4,5,6,7,8,9,10,11,12,12,13,14,14,14,15,15
 dc.b  15,15,15,14,14,14,13,12,12,11,10,9,8,7,6,5,4,3,3,2,1,1,1,0
 dc.b  0
 dc.b  0,0,0,1,1,1,2,3,3,4,5,6,7,8,9,10,11,12,12,13,14,14,14,15,15
 dc.b  15,15,15,14,14,14,13,12,12,11,10,9,8,7,6,5,4,3,3,2,1,1,1,0
 dc.b  0

fldtable2:
 dc.b  0,0,0,0,1,1,1,2,2,3,3,4,5,6,6,7,8,9,10,11,12,14,15,16,17,19
 dc.b  20,21,23,24,25,27,28,29,31,32,33,35,36,37,39,40,41,42,44,45
 dc.b  46,47,48,49,50,50,51,52,53,53,54,54,55,55,55,56,56,56,56,56
 dc.b  56,56,55,55,55,54,54,53,53,52,51,50,50,49,48,47,46,45,44,42
 dc.b  41,40,39,37,36,35,33,32,31,29,28,27,25,24,23,21,20,19,17,16
 dc.b  15,14,12,11,10,9,8,7,6,6,5,4,3,3,2,2,1,1,1,0,0,0
 dc.b  0,0,0,0,1,1,1,2,2,3,3,4,5,6,6,7,8,9,10,11,12,14,15,16,17,19
 dc.b  20,21,23,24,25,27,28,29,31,32,33,35,36,37,39,40,41,42,44,45
 dc.b  46,47,48,49,50,50,51,52,53,53,54,54,55,55,55,56,56,56,56,56
 dc.b  56,56,55,55,55,54,54,53,53,52,51,50,50,49,48,47,46,45,44,42
 dc.b  41,40,39,37,36,35,33,32,31,29,28,27,25,24,23,21,20,19,17,16
 dc.b  15,14,12,11,10,9,8,7,6,6,5,4,3,3,2,2,1,1,1,0,0,0




palette_table:
 dc.b $08,$08,$06,$06,$04,$04,$02,$02,$00,$00,$00,$00,$02,$02,$04,$04,$06,$06
 dc.b $08,$08,$06,$06,$04,$04,$02,$02,$00,$00,$00,$00,$02,$02,$04,$04,$06,$06
 dc.b $08,$06,$04,$02,$00,$00,$02,$04,$06,$08,$06,$04,$02,$00,$00,$02,$04,$06
 dc.b $08,$06,$04,$02,$00,$00,$02,$04,$06,$08,$06,$04,$02,$00,$00,$02,$04,$06

 dc.b $00,$02,$04,$06,$08,$08,$06,$04,$02,$00,$02,$04,$06,$08,$08,$06,$04,$02
 dc.b $00,$02,$04,$06,$08,$08,$06,$04,$02,$00,$02,$04,$06,$08,$08,$06,$04,$02



fldit:	lda fldtable,y
	clc
	adc temp
	sta tempp

	lda temp
	clc
	adc #16
	sta temp
	rts

fldyprocess:
	phx

	rep #$30
	lda tempp
	adc #16
	tax
	sep #$20
	lda fldtable2,x
	sta temp
	stx tempp

	plx
	rts

sprites_manipulate:
	inc bank
	lda bank
	cmp #$02
	bne skipd800
	stz bank

	ldx regA
	ldy #$00
	lda palette_table,x
	ora #$10
d800lp:	sta sprites_hi,y
	xba
	lda palette_table,x
	ora #$10
	sta sprites_hi+19,y
	sta sprites_hi+38,y
	sta sprites_hi+57,y
	sta sprites_hi+76,y
	xba
	inx
	iny
	cpy #19
	bne d800lp

	inc regA
	lda regA
	cmp #18
	bne skipd800
	stz regA
skipd800:			; MENU TEXT


	ldy fld
	lda y_table		;sprites_y
	sec
	sbc #$06
	sta temp
	jsr fldit
	lda tempp
	ldx #$00
texty1:	sta sprites_y,x
	inx
	cpx #18
	bne texty1



	iny
	iny
	iny
	iny
	iny
	iny
	iny
	jsr fldit

	lda tempp
texty2:	sta sprites_y,x
	inx
	cpx #36
	bne texty2



	iny
	iny
	iny
	iny
	iny
	iny
	iny
	jsr fldit
	lda tempp

texty3: sta sprites_y,x
	inx
	cpx #54
	bne texty3


	iny
	iny
	iny
	iny
	iny
	iny
	iny
	jsr fldit
	lda tempp

texty4:	sta sprites_y,x
	inx
	cpx #72
	bne texty4

	iny
	iny
	iny
	iny
	iny
	iny
	iny
	jsr fldit
	lda tempp

texty5:	sta sprites_y,x
	inx
	cpx #90
	bne texty5

	inc fld
	lda fld
	cmp #50
	bne nofld
	stz fld
nofld




	ldy regB			; FOR SWC-SMD
	phy
	ldx #$00
d8002:	lda sprites_hi+10
	sta sprites_hi+90,x
	lda #$c6
	sta sprites_y+90,x
	iny
	iny
	iny
	inx
	cpx #10
	bne d8002


	ply
	phy


d8003:	lda sprites_hi+7		; CALL
	sta sprites_hi+90,x
	lda #$ce
	sta sprites_y+90,x
	inx
	cpx #14
	bne d8003
	xba

	ply
	
d8004:	lda sprites_hi+4		; 718 630 9869
	sta sprites_hi+90,x
	lda #$ce
	sta sprites_y+90,x
	inx
	cpx #24
	bne d8004
	lsr a
	lsr a
	clc
	adc #$9f
	xba

	inc regB
	lda regB
	cmp #30		;128
	bne yokay
	stz regB
yokay	


	
d8005:	lda sprites_hi+15			; TWK
	sta sprites_hi+90,x
	clc
	adc #$b7
	sta sprites_y+90,x

	inx
	cpx #27
	bne d8005
	


	ldx #$00
my_crd:	lda mycredit,x
	;eor #$88
	sec
	sbc #$20
	sta sprites_lo+90,x
	inx
	cpx #27
	bne my_crd

	ldx #$00
rltext:	lda menu,x
	sec
	sbc #$20
	sta sprites_lo,x
	inx
	cpx #90
	bne rltext




	inc fld2
	lda fld2
	cmp #128
	bne fld2ok
	stz fld2
fld2ok:	

	ldx fld2
	stx tempp		;fld2
	lda fldtable2,x
	sta temp

	ldx #$00			
	txy
sx_lp:	lda x_table,x
	clc
	adc temp
	sta sprites_xylohi,y
	lda sprites_y,x
	sta sprites_xylohi+1,y
	lda sprites_lo,x
	sta sprites_xylohi+2,y
	lda sprites_hi,x
	sta sprites_xylohi+3,y
	cpx #17
	bne sx_s1
	jsr fldyprocess
sx_s1	cpx #35
	bne sx_s2
	jsr fldyprocess
sx_s2	cpx #53
	bne sx_s3
	jsr fldyprocess
sx_s3	cpx #71
	bne sx_s4
	jsr fldyprocess
sx_s4




	iny
	iny
	iny
	iny
	inx
	cpx #90
	bne sx_lp




sx_lp2:	lda x_table,x
	sta sprites_xylohi,y
	lda sprites_y,x
	sta sprites_xylohi+1,y
	lda sprites_lo,x
	sta sprites_xylohi+2,y
	lda sprites_hi,x
	sta sprites_xylohi+3,y
	iny
	iny
	iny
	iny
	inx
	cpx #117
	bne sx_lp2




	rts


logo_mode7_active:
	lda #$11			; PLAYFILEDS = 1
	sta $212c
	lda #$07			; SCREEN MODE 7
	sta $2105
	rts

logo_mode7_exit:
	ldx #$00
	stx $2116
	lda #$80
	sta $2115
mode7x:	lda $7f0000,x
	sta $2119
	inx
	cpx #15296
	bne mode7x
	jmp logo_mode7_mapper


logo_mode7:
	ldx #$00
	stx $2116
	lda #$80
	sta $2115
palupg:	lda $7f0000,x
	beq noadd
	clc
	adc #$20
	sta $7f0000,x
noadd	sta $2119
	inx
	cpx #15296
	bne palupg

logo_mode7_mapper:
	stz $2115
	ldx #$810
	stx $2116
	ldx #$00
	txy
v_map:	lda logo_map,x
	sta $2118
	inx
	iny
	cpy #$20
	bne v_map
	ldy #$60
v_fil:	stz $2118
	dey
	bne v_fil
	ldy #$00
	cpx #$160
	bne v_map
	rts


; ==========================================================
; ==		MODE 7 -> MODE 3 GFX CONVERTER		  ==
; ==========================================================
depack_data:
	ldx	#data	; CRUNCHED FILE
	stx	$65
	phk		; CURRENT BANK; CRUNCHED FILE BANK
	pla
	sta	$67
	ldx	#UnpackBuffr		; LOW WORD UNPACK BUFFER
	stx	$68
	lda	#^UnpackBuffr		; UNPACK BUFFER BANK
	pha
	plb
	jsr	UNPACK			;Requires A[8] XY[16]
	phk
	plb
	rep #$30
	sep #$20
	rts








; ==========================================================
; ==		MODE 7 -> MODE 3 GFX CONVERTER		  ==
; ==========================================================
logo_mode3_active:
;	lda #$8f
;	sta $2100
	lda #$03		; MODE 3
	sta $2105
	lda #$7c		; SCREEN @ $7c00
	sta $2107
	lda #$78		;   PLUS @ $7800
	sta $2108
	lda #$45		; GFX @ $5000
	sta $210b
	lda #$13		; PLAYFILEDS = 1
	sta $212c
;	lda #$0f
;	sta $2100
	rts

logo_mode3:
	lda #$80
	sta $2115

	lda #$40
	sta $2121
	ldx #$00
map_col: lda circle_col,x
	 sta $2122
	 inx
	 cpx #32
	 bne map_col

	ldx #$7800
	stx $2116
	ldy #$00
map_circle:	ldx #$00		; circle mapping
		lda #$00
map_mode1:	lda circle_map,x
		sta $2118
		lda circle_map+128,x
		ora #$10
		sta $2119
		inx
		cpx #$80	
		bne map_mode1
	iny
	cpy #$04
	bne map_circle

	




	ldx #$7c00
	stx $2116
		ldx #$00
map_mode3:	lda logo_map,x
		sta $2118
		stz $2119
		inx
		cpx #$0160
		bne map_mode3
	stz $210d
	stz $210d

	ldx #$5000
	stx $2116
		ldx #$00
repeater:	ldy #$00
repeater_loop:	lda $7f0000,x
		sta work_temp,y
		inx
		iny
		cpy #64
		bne repeater_loop
	phx
	jsr convert_sub
	plx
	cpx #15296
	bne repeater
	rts

convert_sub:	
	ldx #work_temp
	stx temp
			ldx #$00
convert_main_loop:	ldy #$00
convert_loop:	lda (temp)
	clc
	ror a
	rol work_block,x
	ror a
	rol work_block+1,x
	ror a
	rol work_block+16,x
	ror a
	rol work_block+17,x
	ror a
	rol work_block+32,x
	ror a
	rol work_block+33,x
	ror a
	rol work_block+48,x
	ror a
	rol work_block+49,x
	phy
	ldy temp
	iny
	sty temp
	ply
	iny
	cpy #$08
	bne convert_loop
	inx
	inx
	cpx #$10
	bne convert_main_loop

	jsr mode3_video
	rts


mode3_video:	ldx #$00
mode3_to_VRAM:	lda work_block,x
		sta $2118
		inx
		lda work_block,x
		sta $2119
		inx
		cpx #64
		bne mode3_to_VRAM
		rts




; =====================================================================


zoomer:	 
zoom_out: 
	lda zoom,x
        sta $211b
        stz $211b
        sta $211e
        stz $211e
	lda mode7_x
        sta $211f
        stz $211f
	lda mode7_y
        sta $2120
        stz $2120
	lda offset_x
	sta $210d
	stz $210d
	lda offset_y
	sta $210e
	stz $210e
	jsr WaitVb
	jsr zoom_manipulate
	lda zoom,x
	cmp #$01
	bne zoom_out
	lda zoom_stat
	eor #$ff
	sta zoom_stat
	rts     

zoom_manipulate:
	lda zoom_stat
	cmp #$00
	bne zoom_in

	dec mode7_x
	dec mode7_y
	inc offset_x
	inc offset_y
	inx
	rts
zoom_in:
	inc mode7_x
	inc mode7_y

	dec offset_x
	dec offset_y

	 dex
	 rts	



;==========================================================================
;                        Vertical Blank Wait Routine
;==========================================================================
WaitVb:	
	lda	$4210
	bpl     WaitVb	; is the number higher than #$7f? (#$80-$ff)
			; bpl tests bit #7 ($80) if this bit is set it means
			; the byte is negative (BMI, Branch on Minus)
			; BPL (Branch on Plus) if bit #7 is set in $4210
			; it means that it is at the start of V-Blank
			; if not it will keep testing $4210 until bit #7
			; is on (which would make it a negative (BMI)
	rts


;==========================================================================
;			 GENERAL DMA setups
;==========================================================================
gdma:	stx	$4372		; address
	lda	#$7f
	sta	$4374		; bank address
	lda	byte_mode
	sta	$4370		; 0 = byte  1=word
	lda	#$19
	sta	$4371		; 21xx   this is 2118 (VRAM)
	sty	$4375		; # of bytes to be transferred
	lda	#$80		; turn on bit 4 (%1000=8) of G-DMA channel
	sta	$420b
	rts

gdma2:	stx	$4372		; address
	lda	#$7e
	sta	$4374		; bank address
	stz	$4370		; 0 = byte  1=word
	lda	#$18
	sta	$4371		; 21xx   this is 2118 (VRAM)
	sty	$4375		; # of bytes to be transferred
	lda	#$80		; turn on bit 4 (%1000=8) of G-DMA channel
	sta	$420b
	rts




all_sprites:
	ldx #$00
	stx $2102
sgdma:	stz	$4370		; 0 = byte  1=word
	lda	#$04
	sta	$4371		; 21xx   this is 2104 (SPRITES)
	ldx	#sprites_xylohi
	stx	$4372		; address
	phk
	pla
	sta	$4374		; bank address
	ldx	#117*4
	stx	$4375		; # of bytes to be transferred
	lda	#$80		; turn on bit 4 (%1000=8) of G-DMA channel
	sta	$420b
	rts

;==========================================================================
;				 HDMA setups
;==========================================================================
HDMA:
	ldx #$00
hdm_xf:	lda HDMA_LIST2,x
	sta HDMA_LIST2_AT,x
	lda HDMA_LIST3,x
	sta HDMA_LIST3_AT,x
	lda #$01
	sta HDMA_LIST6_AT,x
	inx
	cpx #$84*5
	bne hdm_xf

;hdm2xf:	lda HDMA_LIST3,x
;	sta HDMA_LIST3_AT,x
;	inx
;	cmp #$81*5
;	bne hdm2xf

	lda #$00
	sta HDMA_LIST6_AT+641
	sta HDMA_LIST6_AT+642
	sta HDMA_LIST6_AT+643
	sta HDMA_LIST6_AT+644
;	lda #$01
	sta HDMA_LIST6_AT+655


	stz	$4300		; 0= 1 byte per register (not a word!)
	lda	#$05
	sta	$4301		; 21xx   this is 2118 (VRAM)
	ldx	#HDMA_LIST1
	stx	$4302
	lda	bank
	sta	$4304		; bank address of data in ram
	
	lda	#$03
	sta	$4310		; LO-HI LO-HI = $2121 & $2122
	lda	#$21
	sta	$4311		; 21xx   this is 2118 (VRAM)
	ldx	#HDMA_LIST2_AT
	stx	$4312
	stz	$4314		; bank address of data in ram
	
	lda	#$03		; 2= 2 byte per register (not a word!)
	sta	$4320
	lda	#$0d		; $210d & $210e
	sta	$4321
	ldx	#HDMA_LIST3_AT
	stx	$4322
	lda	#^HDMA_LIST3_AT
	stz	$4324		; bank 0

	lda	#$03		; LO-HI LO-HI
	sta	$4330		; 2= 2 byte per register (not a word!)
	lda	#$1b		; $211b & $211c
	sta	$4331
	ldx	#HDMA_LIST4_AT
	stx	$4332
	lda 	#^HDMA_LIST4_AT
	sta	$4334

	lda	#$03
	sta	$4340
	lda	#$1d		; $211d & $211e
	sta	$4341
	ldx	#HDMA_LIST5_AT
	stx	$4342
	lda	#^HDMA_LIST4_AT
	sta	$4344
	
	lda	#$03		; 2= 2 byte per register (not a word!)
	sta	$4350
	lda	#$0f		; $210f & $2110
	sta	$4351
	ldx	#HDMA_LIST6_AT
	stx	$4352
	lda	#^HDMA_LIST6_AT
	sta	$4354		; bank 0



	lda	#%00111111
	sta	$420c
	rts

HDMA_LIST1:
	dc.b $01,3
	dc.b $56,3
	dc.b $01,7
	dc.b $7e,7
	dc.b $01,7
	dc.b $50,0
	dc.b $00,0

HDMA_LIST2:
	dc.b $57,$00,$00,$00,$00
	dc.b $01,$00,$00,$ff,$ff
	dc.b $1f,$00,$00,$00,$14

	dc.b $01,$00,$00,$00,$0C
	dc.b $01,$00,$00,$00,$0C
	dc.b $01,$00,$00,$00,$10
	dc.b $01,$00,$00,$00,$10
	dc.b $01,$00,$00,$20,$10
	dc.b $01,$00,$00,$20,$14
	dc.b $01,$00,$00,$20,$14
	dc.b $01,$00,$00,$20,$14
	dc.b $01,$00,$00,$40,$14
	dc.b $01,$00,$00,$40,$18
	dc.b $01,$00,$00,$40,$18
	dc.b $01,$00,$00,$60,$18
	dc.b $01,$00,$00,$60,$1C
	dc.b $01,$00,$00,$60,$1C
	dc.b $01,$00,$00,$60,$1C
	dc.b $01,$00,$00,$80,$20
	dc.b $01,$00,$00,$80,$20
	dc.b $01,$00,$00,$80,$20
	dc.b $01,$00,$00,$80,$20
	dc.b $01,$00,$00,$A0,$24
	dc.b $01,$00,$00,$A0,$24
	dc.b $01,$00,$00,$A0,$24
	dc.b $01,$00,$00,$A0,$28
	dc.b $01,$00,$00,$C0,$28
	dc.b $01,$00,$00,$C0,$28
	dc.b $01,$00,$00,$C0,$2C
	dc.b $01,$00,$00,$E0,$2C
	dc.b $01,$00,$00,$E0,$2C
	dc.b $01,$00,$00,$E0,$2C
	dc.b $01,$00,$00,$E0,$30
	dc.b $01,$00,$00,$00,$31
	dc.b $01,$00,$00,$00,$31
	dc.b $01,$00,$00,$00,$35
	dc.b $01,$00,$00,$00,$35
	dc.b $01,$00,$00,$20,$35
	dc.b $01,$00,$00,$20,$39
	dc.b $01,$00,$00,$20,$39
	dc.b $01,$00,$00,$20,$39
	dc.b $01,$00,$00,$40,$39
	dc.b $01,$00,$00,$40,$3D
	dc.b $01,$00,$00,$40,$3D
	dc.b $01,$00,$00,$60,$3D
	dc.b $01,$00,$00,$60,$41
	dc.b $01,$00,$00,$60,$41
	dc.b $01,$00,$00,$60,$41
	dc.b $01,$00,$00,$80,$45
	dc.b $01,$00,$00,$80,$45
	dc.b $01,$00,$00,$80,$45
	dc.b $01,$00,$00,$80,$45
	dc.b $01,$00,$00,$A0,$49
	dc.b $01,$00,$00,$A0,$49
	dc.b $01,$00,$00,$A0,$49
	dc.b $01,$00,$00,$C0,$4D
	dc.b $01,$00,$00,$C0,$4D
	dc.b $01,$00,$00,$C0,$4D
	dc.b $01,$00,$00,$C0,$4D
	dc.b $01,$00,$00,$E0,$51
	dc.b $01,$00,$00,$E0,$51
	dc.b $01,$00,$00,$E0,$51
	dc.b $01,$00,$00,$E0,$55
	dc.b $01,$00,$00,$00,$56
	dc.b $01,$00,$00,$00,$56
	dc.b $01,$00,$00,$00,$5A
	dc.b $01,$00,$00,$00,$5A
	dc.b $01,$00,$00,$20,$5A
	dc.b $01,$00,$00,$20,$5A
	dc.b $01,$00,$00,$20,$5E
	dc.b $01,$00,$00,$40,$5E
	dc.b $01,$00,$00,$40,$5E
	dc.b $01,$00,$00,$40,$62
	dc.b $01,$00,$00,$40,$62
	dc.b $01,$00,$00,$60,$62
	dc.b $01,$00,$00,$60,$66
	dc.b $01,$00,$00,$60,$66
	dc.b $01,$00,$00,$60,$66
	dc.b $01,$00,$00,$80,$66
	dc.b $01,$00,$00,$80,$6A
	dc.b $01,$00,$00,$80,$6A
	dc.b $01,$00,$00,$80,$6A
	dc.b $01,$00,$00,$A0,$6E
	dc.b $01,$00,$00,$A0,$6E
	dc.b $01,$00,$00,$A0,$6E
	dc.b $01,$00,$00,$C0,$72
	dc.b $01,$00,$00,$C0,$72
	dc.b $01,$00,$00,$C0,$72
	dc.b $01,$00,$00,$C0,$72
	dc.b $01,$00,$00,$E0,$76
	dc.b $01,$00,$00,$E0,$76
	dc.b $01,$00,$00,$E0,$76
	dc.b $01,$00,$00,$E0,$7A
	dc.b $01,$00,$00,$00,$7B
	dc.b $01,$00,$00,$00,$7B
	dc.b $01,$00,$00,$00,$7F
	dc.b $01,$00,$00,$20,$7F
	dc.b $01,$00,$00,$20,$7F
	dc.b $01,$00,$00,$20,$7F





	dc.b $01,$00,$00,$ff,$ff
	dc.b $10,$00,$00,$00,$00
	dc.b $01,$00,$00,$00,$00
	dc.b $00,$00,$00,$00,$00
HDMA_LIST3:
	dc.b $57,$00,$00,$00,$00
	dc.b $01,$00,$00,$00,$00

	dc.b $7f,$00,$00,$00,$04
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$00,$00,$00,$03
	dc.b $7f,$00,$00,$80,$00
	dc.b $00,$00,$00,$00,$00


HDMA_LIST4:
	dc.b $58,$00,$00,$00,$00
	dc.b $01,$00,$00,$00,$03
	dc.b $01,$01,$00,$00,$03
	dc.b $01,$02,$00,$00,$03
	dc.b $01,$03,$00,$00,$03
	dc.b $01,$04,$00,$00,$03
	dc.b $01,$05,$00,$00,$03
	dc.b $02,$06,$00,$00,$03
	dc.b $02,$07,$00,$00,$03
	dc.b $02,$08,$00,$00,$03
	dc.b $02,$09,$00,$00,$03
	dc.b $02,$0a,$00,$00,$03
	dc.b $01,$0b,$00,$00,$03
	dc.b $01,$0c,$00,$00,$03
	dc.b $01,$0d,$00,$00,$03
	dc.b $01,$0e,$00,$00,$03
	dc.b $01,$0f,$00,$00,$03
	dc.b $01,$10,$00,$00,$03
	dc.b $01,$11,$00,$00,$03
	dc.b $01,$12,$00,$00,$03
	dc.b $01,$13,$00,$00,$03
	dc.b $01,$14,$00,$00,$03
	dc.b $01,$15,$00,$00,$03
	dc.b $01,$16,$00,$00,$03
	dc.b $01,$17,$00,$00,$03
	dc.b $01,$18,$00,$00,$03
	dc.b $01,$19,$00,$00,$03
	dc.b $01,$1a,$00,$00,$03
	dc.b $01,$1b,$00,$00,$03
	dc.b $01,$1c,$00,$00,$03
	dc.b $01,$1d,$00,$00,$03
	dc.b $01,$1e,$00,$00,$03
	dc.b $01,$1f,$00,$00,$03
	dc.b $01,$20,$00,$00,$03
	dc.b $01,$21,$00,$00,$03
	dc.b $01,$22,$00,$00,$03
	dc.b $01,$23,$00,$00,$03
	dc.b $01,$24,$00,$00,$03
	dc.b $01,$25,$00,$00,$03
	dc.b $01,$26,$00,$00,$03
	dc.b $01,$27,$00,$00,$03
	dc.b $01,$28,$00,$00,$03
	dc.b $01,$29,$00,$00,$03
	dc.b $01,$2a,$00,$00,$03
	dc.b $01,$2b,$00,$00,$03
	dc.b $01,$2c,$00,$00,$03
	dc.b $01,$2d,$00,$00,$03
	dc.b $01,$2e,$00,$00,$03
	dc.b $01,$2f,$00,$00,$03
	dc.b $01,$30,$00,$00,$03
	dc.b $01,$31,$00,$00,$03
	dc.b $01,$32,$00,$00,$03
	dc.b $01,$33,$00,$00,$03
	dc.b $01,$34,$00,$00,$03
	dc.b $01,$35,$00,$00,$03
	dc.b $01,$36,$00,$00,$03
	dc.b $01,$37,$00,$00,$03
	dc.b $01,$38,$00,$00,$03
	dc.b $01,$39,$00,$00,$03
	dc.b $01,$3b,$00,$00,$03
	dc.b $01,$3d,$00,$00,$03
	dc.b $01,$40,$00,$00,$03
	dc.b $01,$43,$00,$00,$03
	dc.b $01,$45,$00,$00,$03
	dc.b $01,$3f,$00,$00,$03
	dc.b $01,$40,$00,$00,$03
	dc.b $01,$41,$00,$00,$03
	dc.b $01,$42,$00,$00,$03
	dc.b $01,$43,$00,$00,$03
	dc.b $01,$44,$00,$00,$03
	dc.b $01,$45,$00,$00,$03
	dc.b $01,$46,$00,$00,$03
	dc.b $01,$47,$00,$00,$03
	dc.b $01,$48,$00,$00,$03
	dc.b $01,$49,$00,$00,$03
	dc.b $01,$4a,$00,$00,$03
	dc.b $01,$4b,$00,$00,$03
	dc.b $01,$4c,$00,$00,$03
	dc.b $01,$4d,$00,$00,$03
	dc.b $01,$4e,$00,$00,$03
	dc.b $01,$4f,$00,$00,$03
	dc.b $01,$50,$00,$00,$03
	dc.b $01,$51,$00,$00,$03
	dc.b $01,$52,$00,$00,$03
	dc.b $01,$53,$00,$00,$03
	dc.b $01,$54,$00,$00,$03
	dc.b $01,$55,$00,$00,$03
	dc.b $01,$56,$00,$00,$03
	dc.b $01,$57,$00,$00,$03
	dc.b $01,$58,$00,$00,$03
	dc.b $01,$59,$00,$00,$03
	dc.b $01,$5a,$00,$00,$03
	dc.b $01,$5b,$00,$00,$03
	dc.b $01,$5c,$00,$00,$03
	dc.b $01,$5d,$00,$00,$03
	dc.b $01,$5e,$00,$00,$03
	dc.b $01,$5f,$00,$00,$03
	dc.b $01,$60,$00,$00,$03
	dc.b $01,$61,$00,$00,$03
	dc.b $01,$62,$00,$00,$03
	dc.b $01,$63,$00,$00,$03
	dc.b $01,$64,$00,$00,$03
	dc.b $01,$65,$00,$00,$03
	dc.b $01,$66,$00,$00,$03
	dc.b $01,$67,$00,$00,$03
	dc.b $01,$68,$00,$00,$03
	dc.b $01,$69,$00,$00,$03
	dc.b $01,$6a,$00,$00,$03
	dc.b $01,$6b,$00,$00,$03
	dc.b $01,$6c,$00,$00,$03
	dc.b $01,$6d,$00,$00,$03
	dc.b $01,$6e,$00,$00,$03
	dc.b $01,$6f,$00,$00,$03
	dc.b $01,$70,$00,$00,$03
	dc.b $01,$71,$00,$00,$03
	dc.b $01,$72,$00,$00,$03
	dc.b $01,$73,$00,$00,$03
	dc.b $01,$74,$00,$00,$03
	dc.b $01,$75,$00,$00,$03
	dc.b $01,$76,$00,$00,$03
	dc.b $01,$77,$00,$00,$03
	dc.b $01,$78,$00,$00,$03
	dc.b $01,$79,$00,$00,$03
	dc.b $01,$7a,$00,$00,$03
	dc.b $01,$7b,$00,$00,$03
	dc.b $01,$7c,$00,$00,$03
	dc.b $01,$7d,$00,$00,$03
	dc.b $01,$7e,$00,$00,$03
	dc.b $7f,$00,$00,$80,$00
	dc.b $00,$00,$00,$00,$00

RAM_SETUP:
	ldx #$01
	lda #$58
	sta HDMA_LIST4_AT
	sta HDMA_LIST5_AT
RAM_c:	lda HDMA_LIST4,x		;#$01
	sta HDMA_LIST4_AT,x
	sta HDMA_LIST5_AT,x
	inx
	cpx #$28a
	bne RAM_c
	
	ldx #$0200
	stx mode7_sizex
	ldx #$0300
	stx mode7_sizey
	ldx #$00
ram_l:	jsr mode7_calculate
	rep #$30
	lda regA
	sta HDMA_LIST4_AT+11,x
	lda regB
	sta HDMA_LIST4_AT+13,x
	lda regC
	sta HDMA_LIST5_AT+11,x
	lda regD
	sta HDMA_LIST5_AT+13,x
	lda mode7_sizey
	clc
	sbc #$04
	sta mode7_sizey
	
	lda mode7_sizex
;	dec a
	sta mode7_sizex
	



	sep #$20
	inx
	inx
	inx
	inx
	inx
	cpx #$7f*5
	bne ram_l

	rts



;==========================================================================
;                   SNES Register Initialization routine
;==========================================================================
Snes_Init:
	sep 	#$30    ; X,Y,A are 8 bit numbers
	lda 	#$8F    ; screen off, full brightness
	sta 	$2100   ; brightness + screen enable register
	stz 	$2101   ; Sprite register (size + address in VRAM)
	stz 	$2102   ; Sprite registers (address of sprite memory [OAM])
	stz 	$2103   ;    ""                       ""
	stz 	$2105   ; Mode 0, = Graphic mode register
	stz 	$2106   ; noplanes, no mosaic, = Mosaic register
	stz 	$2107   ; Plane 0 map VRAM location
	stz 	$2108   ; Plane 1 map VRAM location
	stz 	$2109   ; Plane 2 map VRAM location
	stz 	$210A   ; Plane 3 map VRAM location
	stz 	$210B   ; Plane 0+1 Tile data location
	stz 	$210C   ; Plane 2+3 Tile data location
	stz 	$210D   ; Plane 0 scroll x (first 8 bits)
	stz 	$210D   ; Plane 0 scroll x (last 3 bits) #$0 - #$07ff
	stz 	$210E   ; Plane 0 scroll y (first 8 bits)
	stz 	$210E   ; Plane 0 scroll y (last 3 bits) #$0 - #$07ff
	stz 	$210F   ; Plane 1 scroll x (first 8 bits)
	stz 	$210F   ; Plane 1 scroll x (last 3 bits) #$0 - #$07ff
	stz 	$2110   ; Plane 1 scroll y (first 8 bits)
	stz 	$2110   ; Plane 1 scroll y (last 3 bits) #$0 - #$07ff
	stz 	$2111   ; Plane 2 scroll x (first 8 bits)
	stz 	$2111   ; Plane 2 scroll x (last 3 bits) #$0 - #$07ff
	stz 	$2112   ; Plane 2 scroll y (first 8 bits)
	stz 	$2112   ; Plane 2 scroll y (last 3 bits) #$0 - #$07ff
	stz 	$2113   ; Plane 3 scroll x (first 8 bits)
	stz 	$2113   ; Plane 3 scroll x (last 3 bits) #$0 - #$07ff
	stz 	$2114   ; Plane 3 scroll y (first 8 bits)
	stz 	$2114   ; Plane 3 scroll y (last 3 bits) #$0 - #$07ff
	lda 	#$80    ; increase VRAM address after writing to $2119
	sta 	$2115   ; VRAM address increment register
	stz 	$2116   ; VRAM address low
	stz 	$2117   ; VRAM address high
	stz 	$211A   ; Initial Mode 7 setting register
	stz 	$211B   ; Mode 7 matrix parameter A register (low)
	lda 	#$01
	sta 	$211B   ; Mode 7 matrix parameter A register (high)
	stz 	$211C   ; Mode 7 matrix parameter B register (low)
	stz 	$211C   ; Mode 7 matrix parameter B register (high)
	stz 	$211D   ; Mode 7 matrix parameter C register (low)
	stz 	$211D   ; Mode 7 matrix parameter C register (high)
	stz 	$211E   ; Mode 7 matrix parameter D register (low)
	sta 	$211E   ; Mode 7 matrix parameter D register (high)
	stz 	$211F   ; Mode 7 center position X register (low)
	stz 	$211F   ; Mode 7 center position X register (high)
	stz 	$2120   ; Mode 7 center position Y register (low)
	stz 	$2120   ; Mode 7 center position Y register (high)
	stz 	$2121   ; Color number register ($0-ff)
	stz 	$2123   ; BG1 & BG2 Window mask setting register
	stz 	$2124   ; BG3 & BG4 Window mask setting register
	stz 	$2125   ; OBJ & Color Window mask setting register
	stz 	$2126   ; Window 1 left position register
	stz 	$2127   ; Window 2 left position register
	stz 	$2128   ; Window 3 left position register
	stz 	$2129   ; Window 4 left position register
	stz 	$212A   ; BG1, BG2, BG3, BG4 Window Logic register
	stz 	$212B   ; OBJ, Color Window Logic Register (or,and,xor,xnor)
	sta 	$212C   ; Main Screen designation (planes, sprites enable)
	stz 	$212D   ; Sub Screen designation
	stz 	$212E   ; Window mask for Main Screen
	stz 	$212F   ; Window mask for Sub Screen
	lda 	#$30
	sta 	$2130   ; Color addition & screen addition init setting
	stz 	$2131   ; Add/Sub sub designation for screen, sprite, color
	lda 	#$E0
	sta 	$2132   ; color data for addition/subtraction
	stz 	$2133   ; Screen setting (interlace x,y/enable SFXdata)
	lda #$01
	sta 	$4200   ; Enable V-blank, interrupt, Joypad register
	lda 	#$FF
	sta 	$4201   ; Programmable I/O port
	stz 	$4202   ; Multiplicand A
	stz 	$4203   ; Multiplier B
	stz 	$4204   ; Multiplier C
	stz 	$4205   ; Multiplicand C
	stz 	$4206   ; Divisor B
	stz 	$4207   ; Horizontal Count Timer
	stz 	$4208   ; Horizontal Count Timer MSB (most significant bit)
	stz 	$4209   ; Vertical Count Timer
	stz 	$420A   ; Vertical Count Timer MSB
	stz 	$420B   ; General DMA enable (bits 0-7)
	stz 	$420C   ; Horizontal DMA (HDMA) enable (bits 0-7)
	stz 	$420D	; Access cycle designation (slow/fast rom)
	rts

zoom:
 dc.b  1
 dc.b  0,3,6,9,13,16,19,22,25,28,31,34,37,41,44,47,50,53,56,59,62
 dc.b  65,68,71,74,77,80,83,86,89,92,95,98,100,103,106,109,112,115
 dc.b  117,120,123,126,128,131,134,136,139,142,144,147,149,152,154
 dc.b  157,159,162,164,167,169,171,174,176,178,180,183,185,187,189
 dc.b  191,193,195,197,199,201,203,205,207,208,210,212,214,215,217
 dc.b  219,220,222,223,225,226,228,229,231,232,233,234,236,237,238
 dc.b  239,240,241,242,243,244,245,246,247,247,248,249,249,250,251
 dc.b  251,252,252,253,253,253,254,254,254,255,255,255,255,255
 dc.b 1

plasma_x:
 dc.b  0,0,0,1,2,2,3,4,6,7,8,9,10,12,13,14,14,15,16,16,16,16,16,15
 dc.b  14,14,13,12,10,9,8,7,6,4,3,2,2,1,0,0
 dc.b  0,0,1,2,3,5,7,8,9,10,10,10,9,8,7,5,3,2,1,0
 dc.b  0,0,1,2,3,5,7,9,11,13,15,17,18,19,20,20
 dc.b  20,20,20,20,21,21,21,22,22,23,24,24,25,26,27,28,28,29,30,31
 dc.b  31,32,33,33,34,34,34,35,35,35
 dc.b  35,35,35,35,34,34,33,32,32,31,30,29,28,27,25,24,23,22,20,19
 dc.b  18,16,15,13,12,11,10,8,7,6,5,4,3,3,2,1,1,0,0,0







 dc.b  $ff



fcol2:	dcr.w	$0000,$03FF,$035F,$02BF,$01FD,$0158,$0092,$000D 
 	dc.w	0,0,0,0,0,0,0,0
	dcr.w	$0000,$039C,$02FC,$025C,$01B9,$0135,$0090,$000C 
 	dc.w	0,0,0,0,0,0,0,0
	dcr.w	$0000,$0318,$0278,$01F8,$0175,$00F2,$006E,$000A 
 	dc.w	0,0,0,0,0,0,0,0
	dcr.w	$0000,$0294,$0214,$01B4,$0132,$00CF,$006C,$0008 
  	dc.w	0,0,0,0,0,0,0,0
	dcr.w	$0000,$0210,$01B0,$0150,$00EE,$00AC,$0049,$0006 
  	dc.w	0,0,0,0,0,0,0,0

	dcr.w	$0000,$033F,$02BC,$0238,$01B4,$0130,$00AC,$0028 
	dcr.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dcr.w	$0000,$0B3F,$0ABB,$0A37,$05B3,$052F,$00AB,$0027 
	dcr.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dcr.w	$0000,$1B3E,$16BA,$1236,$0DB2,$092E,$04AB,$0027 
	dcr.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dcr.w	$0000,$333C,$2AB8,$2234,$19B1,$152D,$0CC9,$0445 
	dcr.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dcr.w	$0000,$3F3B,$36B7,$2A34,$21B0,$192C,$10C9,$0845 
	dcr.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dcr.w	$0000,$4B1A,$3EB6,$3633,$29AF,$1D4B,$14C8,$0844 
	dcr.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dcr.w	$0000,$5719,$4AB6,$3E32,$31AE,$254B,$14C7,$0864 
	dcr.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dcr.w	$0000,$6318,$56B5,$4631,$35AD,$294A,$18C6,$0C63 
	dcr.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000


exit:
        jsr Snes_Init
	rep #$30
	sep #$20
	lda #$00
	pha
	plb
	lda #$8f
	sta $2100
	lda #$0c
	clc
	adc #$50
	sta $1000
	lda #$00
	sta $1001
	stz $1003
	lda #$80
	sta $1002
	jmp $1000

circle_col:

 dcr.w	$7400,$7C00,$7C40,$7C80,$7CC0,$7D20,$7D60,$7DA0
 dcr.w	$7DE0,$7E40,$7E80,$7EC0,$7F00,$7F60,$7FA0,$7FE0
 dcr.w  $7fe0,$7fa0,$7f60,$7f00,$7ec0,$7e80,$7e40,$7de0
 dcr.w	$7da0,$7d60,$7d20,$7cc0,$7c80,$7c40,$7c00,$7400

 dcr.w	$01E0,$0200,$0A21,$1243,$1A65,$2686,$2EA8,$36EA
 dcr.w	$430B,$4B2D,$534F,$5B70,$6792,$6FB4,$77D5,$7FF7
 dcr.w	$7ff7,$77d5,$6fb4,$6792,$5b70,$534f,$4b2d,$430b
 dcr.w	$36ea,$2ea8,$2686,$1a65,$1243,$0a21,$0200,$01e0

 dcr.w	$001E,$001F,$085F,$109F,$18DE,$253E,$2D7E,$35BD
 dcr.w	$421D,$4A5D,$529C,$5ADC,$673C,$6F7B,$77BB,$7FFA
 dcr.w	$7ffa,$77bb,$6f7b,$673c,$5adc,$529c,$4a5d,$421d
 dcr.w	$35bd,$2d7e,$253e,$18de,$109f,$085f,$001f,$001e

 dcr.w	$4C14,$5055,$5096,$54D6,$5917,$5D58,$6199,$65D9
 dcr.w	$663A,$6A7B,$6EBC,$72FC,$773D,$7B7E,$7FBF,$7FFF
 dcr.w	$7fff,$7fbf,$7b7e,$773d,$72fc,$6ebc,$6a7b,$663a
 dcr.w	$65d9,$6199,$5d58,$5917,$54d6,$5096,$5055,$4c14

 dcr.w	$0000,$0042,$0084,$00c6,$0108,$014a,$018c,$01ce
 dcr.w	$0231,$0273,$02b5,$02f7,$0339,$037b,$03bd,$03ff
 dcr.w	$03FF,$03BD,$037B,$0339,$02F7,$02B5,$0273,$0231
 dcr.w	$01CE,$018C,$014A,$0108,$00C6,$0084,$0042,$0000

 dcr.w	$0000,$0002,$0004,$0006,$0008,$000a,$000c,$000e
 dcr.w	$0011,$0013,$0015,$0017,$0019,$001b,$001d,$001f
 dcr.w	$001F,$001D,$001B,$0019,$0017,$0015,$0013,$0011
 dcr.w	$000E,$000C,$000A,$0008,$0006,$0004,$0002,$0000

 dcr.w	$0000,$0040,$0080,$00c0,$0100,$0140,$0180,$01c0
 dcr.w	$0220,$0260,$02a0,$02e0,$0320,$0360,$03a0,$03e0
 dcr.w	$03E0,$03A0,$0360,$0320,$02E0,$02A0,$0260,$0220
 dcr.w	$01C0,$0180,$0140,$0100,$00C0,$0080,$0040,$0000

 dcr.w	$0000,$0800,$1000,$1800,$2000,$2800,$3000,$3800
 dcr.w	$4400,$4c00,$5400,$5c00,$6400,$6c00,$7400,$7c00
 dcr.w	$7C00,$7400,$6C00,$6400,$5C00,$5400,$4C00,$4400
 dcr.w	$3800,$3000,$2800,$2000,$1800,$1000,$0800,$0000

 dcr.w	$0000,$0840,$1080,$18c0,$2100,$2940,$3180,$39c0
 dcr.w	$4620,$46e0,$56a0,$5ee0,$6720,$6f60,$77a0,$7fe0
 dcr.w	$7FE0,$77A0,$6F60,$6720,$5EE0,$56A0,$4E60,$4620
 dcr.w	$39C0,$3180,$2940,$2100,$18C0,$1080,$0840,$0000

 dcr.w	$0000,$0802,$1004,$1806,$2008,$280a,$300c,$380e
 dcr.w	$4411,$4c13,$5415,$5c17,$6419,$6c1b,$741d,$7c1f
 dcr.w	$7C1F,$741D,$6C1B,$6419,$5C17,$5415,$4C13,$4411
 dcr.w	$380E,$300C,$280A,$2008,$1806,$1004,$0802,$0000

 dcr.w	$03ff,$0bff,$13ff,$1bff,$23ff,$2bff,$33ff,$3bff
 dcr.w	$47ff,$4fff,$57ff,$5fff,$67ff,$6fff,$77ff,$7fff
 dcr.w	$7FFF,$77FF,$6FFF,$67FF,$5FFF,$57FF,$4FFF,$47FF
 dcr.w	$3BFF,$33FF,$2BFF,$23FF,$1BFF,$13FF,$0BFF,$03FF


 dcr.w	$0000,$0842,$1084,$18c6,$2108,$294a,$318c,$39ce
 dcr.w	$4631,$4e73,$56b5,$5ef7,$6739,$6f7b,$77bd,$7fff
 dcr.w	$7FFF,$77BD,$6F7B,$6739,$5EF7,$56B5,$4E73,$4631
 dcr.w	$39CE,$318C,$294A,$2108,$18C6,$1084,$0842,$0000


 dcr.w	$39DF,$3A3F,$3ABF,$3AFF,$3B3F,$3B7F,$3BFF,$3BFD
 dcr.w	$3BFB,$3BF7,$3BF5,$3BF3,$3BF1,$47EE,$4FEE,$57EE
 dcr.w	$57ee,$4fee,$47ee,$3bf1,$3fb3,$3bf5,$3bf7,$3bfb
 dcr.w	$3bfd,$3bff,$3b7f,$3b3f,$3aff,$3abf,$3a3f,$39df

 dcr.w	$67EE,$6FEE,$77EE,$7FAE,$7F6E,$7F2E,$7EEE,$7E6E
 dcr.w	$7E2E,$7DCE,$7DD3,$7DD5,$7DD7,$7DD9,$7DDD,$7DDF
 dcr.w	$7ddf,$7ddd,$7dd9,$7dd7,$7dd5,$7dd3,$7dce,$7e2e
 dcr.w	$7e6e,$7eee,$7f2e,$7f6e,$7fae,$77ee,$6fee,$67ee

 dcr.w	$001F,$009F,$015F,$01DF,$02BF,$033F,$03BF,$03FB
 dcr.w	$03F7,$03F1,$03EC,$03E6,$03E2,$0BE0,$23E0,$33E0
 dcr.w	$33e0,$23e0,$0be0,$03e2,$03e6,$03ec,$03f1,$03f7
 dcr.w	$03fb,$03bf,$033f,$02bf,$01df,$015f,$009f,$001f

 dcr.w	$4FE0,$5FE0,$6FE0,$7FA0,$7EE0,$7E60,$7DC0,$7D00
 dcr.w	$7C80,$7C00,$7C06,$7C0A,$7C11,$7C15,$7C19,$7C1F 
 dcr.w	$7c1f,$7c19,$7c15,$7c11,$7c0a,$7c06,$7c00,$7c80
 dcr.w	$7d00,$7dc0,$7e60,$7ee0,$7fa0,$6fe0,$5fe0,$4fe0



 dcr.w	$7400,$7C00,$7C40,$7C80,$7CC0,$7D20,$7D60,$7DA0
 dcr.w	$7DE0,$7E40,$7E80,$7EC0,$7F00,$7F60,$7FA0,$7FE0
 dcr.w  $7fe0,$7fa0,$7f60,$7f00,$7ec0,$7e80,$7e40,$7de0
 dcr.w	$7da0,$7d60,$7d20,$7cc0,$7c80,$7c40,$7c00,$7400




musique:
 	sep	#$20
	lda #^music
	sta $a5 
	lda #>music 
	sta $a4 
	lda #<music
	sta $a3 
 
	php       
	rep     #$30  
	ldy     #$0000  
	lda     #$bbaa  
L00f7b6 cmp     $2140 
	bne     L00f7b6  
	sep     #$20  
	lda     #$cc  
	bra     L00f7f5 
L00f7c1 lda     [$a3],y  
	iny       
	bpl     L00f7cb		; check for bank overflow
	ldy     #$0000 		; if so, zero y 
	inc     $a5		; and inc work reg bank 
L00f7cb xba       
	lda     #$00  
	bra     L00f7e2 
L00f7d0 xba       
	lda     [$a3],y  
	iny       
	bpl     L00f7db    	; check for bank overflow 
	ldy     #$0000		; if so, zero y 
	inc     $a5 		; and inc work reg bank 
L00f7db xba       
L00f7dc cmp     $2140 
	bne     L00f7dc  
	inc     a  
L00f7e2 rep     #$20  
	sta     $2140 
	sep     #$20  
	dex       
	bne     L00f7d0  
L00f7ec cmp     $2140 
	bne     L00f7ec  
L00f7f1 adc     #$03  
	beq     L00f7f1  
L00f7f5 pha       
	rep     #$20  
	lda     [$a3],y  
	iny       
	iny       
	tax
	lda     [$a3],y  
	iny       
	iny       
	sta     $2142 
	sep     #$20  
	cpx     #$0001  
	lda     #$00  
	rol     a  
	sta     $2141 
	adc     #$7f  
	pla       
	sta     $2140 
L00f815 cmp     $2140 
	bne     L00f815  
	bvs     L00f7c1  
	plp       
	sep     #$30  
	rts       
 
data:	.bin data.rnc
	.include RNC_11.S



	     ;123456789012345678
	dc.b '           BOUNCE STARTS HERE ---->'
menu:	dc.b '     ANTHROX      '
	dc.b 'BRINGS YOU ANOTHER'
	dc.b '   FINE PRODUCT.  '
	dc.b 'ON NOVEMBER 1 1995'
	dc.b '------------------'


	dc.b 0,0,0,0,0,0
	dc.b '   SCROLL TEXT STARTS HERE ---->'
		  ;12345678901234566543210987654321
scroll_text: dc.b 'ANTHROX  '
	     DC.B 'BRINGS YOU ANOTHER FINE PRODUCT '
             dc.b 'TO BUY COPIERS, PAGE 917-269-2577 '
             dc.b '             '
	     dc.b 'INTRO CODED BY: THE WHITE KNIGHT.      '
	     dc.b 'MUSIC CONVERTED FRON AN AMIGA TUNE BY: THE DOCTOR     '
	     dc.b 'LOGO BY: DEADLOCK                          '
	     DC.B 0



	org	$fffc	;reset vector in 6502 mode
	dcr.w	Start
	.pad

