; title screen messages and stuff

print_message
	move.l #SCREEN1+3200,a0
	bsr Print_string
	move.l #SCREEN1+3880,a0
	bsr Print_string
	rts
	
Bumph
	cmp.w #56,timer
	beq bum1
	cmp.w #188,timer
	beq start_clearing

	cmp.w #252,timer
	beq bum2
	cmp.w #380,timer
	beq start_clearing

	cmp.w #444,timer
	beq bum3
	cmp.w #572,timer
	beq start_clearing

	cmp.w #636,timer
	beq bum4
	cmp.w #764,timer
	beq start_clearing

	cmp.w #828,timer
	beq bum5
	cmp.w #956,timer
	beq start_clearing

	cmp.w #1020,timer
	beq bum6
	cmp.w #1148,timer
	beq start_clearing

	cmp.w #1212,timer
	beq bum7

	cmp.w #1404,timer
	beq bum8

	bsr clear_routine
	rts	

start_clearing
	move.w #1,clearing
	rts

bum1
	move.w #0,double
	move.w #$88f,title_word1
	move.w #$88f,title_word2
	move.l #string1,a1
	bsr print_message
	rts
bum2
	move.l #string2,a1
	bsr print_message
	rts
bum3
	move.w #1,double
	move.w #$f42,title_word1
	move.w #$f42,title_word2
	move.l #string3,a1
	bsr print_message
	move.w #0,double
	rts
bum4
	move.w #$88f,title_word1
	move.w #$88f,title_word2
	move.l #string4,a1
	bsr print_message
	rts
bum5
	move.l #string5,a1
	bsr print_message
	rts
bum6
	move.l #string6,a1
	bsr print_message
	rts
bum7
	move.l #string7,a1
	bsr print_message
	rts
bum8
	move.w #14,game_flag
	rts

clear_routine
	tst clearing
	beq c_r
	bsr Scroll_tit_1
	bsr Scroll_tit_2
	add.w #1,clearing
	cmp.w #50,clearing
	bne c_r
	move.w #0,clearing
	bsr Clear_screens
c_r
	rts
	
move_name
	move.l char_add,a0
	lea CUSTOM,a6
	move.w JOY1DAT(a6),d0
	btst #1,d0
	bne name_right
	btst #9,d0
	bne name_left
	move.l $bfe000,d0
	swap d0
	btst #7,d0
	beq name_fire
	move.w #0,clearing
	rts

name_left
	tst clearing
	bne c_r
	move.w #1,clearing
	sub.w #$0101,(a0)
	cmp.w #$4040,(a0)
	beq mn1
	rts
mn1
	move.w #$5a5a,(a0)
	rts

name_right
	tst clearing
	bne c_r
	move.w #1,clearing
	add.w #$0101,(a0)
	cmp.w #$5b5b,(a0)
	beq mn2
	rts
mn2
	move.w #$4141,(a0)
	rts

name_fire
	tst clearing
	bne c_r
	move.w #1,clearing
	add.l #2,char_add
	add.w #1,char_count
	cmp.w #3,char_count
	beq mn3
	rts
mn3
	move.w score,d0
	move d0,newscore
	move.l stringa,d0
	move.l d0,newname
	move.l stringa+2,d0
	move.l d0,newname+2
	move.w #10,game_flag
	cmp.w #$4545,newname
	bne no_cheat
	cmp.w #$4141,newname+2
	bne no_cheat
	cmp.w #$5252,newname+4
	bne no_cheat
	move.w #9,start_lives
no_cheat
	rts

print_table
	move.w #1,double
	move.w #1,shadow
	move.l #string8,a1
	move.l #SCREEN1,a0
	bsr Print_string
	move.w #0,double
	bsr sort_table
	move.l #high_table,a3
	move.w (a3),high
	move.l #SCREEN1+1608,a0
	bsr print_entry
	move.l #SCREEN1+2808,a0
	bsr print_entry
	move.l #SCREEN1+4008,a0
	bsr print_entry
	move.l #SCREEN1+5208,a0
	bsr print_entry
	move.l #SCREEN1+6408,a0
	bsr print_entry
	move.w #0,shadow
	rts

print_entry
	;a0=screen address
	;a3=entry address

	moveq #0,d1
	move.w (a3)+,d1
	bsr printnumber
	add.w #4,a0
	move.l a3,a1
	bsr Print_string
	move.l a1,a3
	rts


sort_table
	move.l #high_table+50,a0
	move.l #4,d3
s_t

	move.w (a0),d0
	cmp.w -10(a0),d0
	ble s_t2
	bsr swap_entries
s_t2
	sub.l #10,a0
	dbf d3,s_t
	rts

swap_entries
	;swap entry pointed to by a0 with the one above it
	move.w -10(a0),d0
	move.l -8(a0),d1
	move.l -4(a0),d2
	move.w (a0),-10(a0)
	move.l 2(a0),-8(a0)
	move.l 6(a0),-4(a0)
	move.w d0,(a0)
	move.l d1,2(a0)
	move.l d2,6(a0)
	rts

high_table
	dc.w 3000
	dc.b "JJKKee**"
	dc.w 2500
	dc.b "DDJJII**"
	dc.w 2000
	dc.b "NNIIKK**"
	dc.w 1500
	dc.b "EERRKK**"
	dc.w 1000
	dc.b "CCOOLL**"
newscore
	dc.w 0
newname
	dc.b "JJTTKK**"

	even
string1
	dc.b "AA  SSKKYYLLIINNEE  SSOOFFTTWWAARREE**"
	dc.b "        PPRROODDUUCCTTIIOONN**"
	even
string2
	dc.b "        WWRRIITTTTEENN  BBYY**"
	dc.b "      JJOOHHNN  KKEENNNNEEDDYY**"
string3
	dc.b "          SSQQUUAAMMBBLLEE**"
	dc.b "  **"
string4
	dc.b "          MMUUSSIICC  BBYY**"
	dc.b "      DDAARRRREENN  IIRRVVIINNEE**"
string5
	dc.b "  MMUUSSIICC  RROOUUTTIINNEE  BBYY**"
	dc.b "    TTEEIIJJOO  KKIINNNNUUNNEENN**"	
string6
	dc.b "        TTHHIISS  VVEERRSSIIOONN**"
	dc.b "FFRREEEELLYY  DDIISSTTRRIIBBUUTTAABBLLEE**"
string7
	dc.b "        SSHHAARREE  AANNDD**"
	dc.b "            EENNJJOOYYee**"
string8
	dc.b "    TTOOPP  SSQQUUAAMMBBLLEERRSS**"
string9
	dc.b "        GGOOOODD  SSCCOORREEee**"
stringa
	dc.b "AAAAAA**"
	even

char_add
	dc.l 0
char_count
	dc.w 0
clearing
	dc.w 0
