
;	STAI	62,CLOUDEND
;	STAI	51,MTNEND
;	STAI	49,HORIZEND
MAXSCORESIZE = 23  ;/23
MAXCLOUD = 12
MAXMTN = 9
MAXHORIZ = 9
SCOREND = (192/2)-MAXSCORESIZE
;SCOREND = 70
	LDY	#192/2
SCORELOOP:
	WSYNC
	VBLANKON
	WSYNC
	VBLANKOFF
	DEY
	CPY	#SCOREND
	BPL	SCORELOOP
	LDX	#MAXCLOUD	;2;
	LDA	X,CLOUDCOLORBK	;4;5
	STY	TEMP0
	WSYNC
	STA	COLUBK		;3;8
	VBLANKON		;5;5
	LDA	CLOUD0HM	;3;11
	STA	HMP0		;3;14
	AND	#$0F		;2;16
	TAY			;2;18
.CHMLOOP0:
	DEY			;2;20
	BNE	.CHMLOOP0	;2/3;22
	STA	RESP0		;3;25
	WSYNC
	VBLANKOFF		;5;5
	WASTE3			;3;8
	LDA	CLOUD1HM	;3;11
	STA	HMP1		;3;14
	AND	#$0F		;2;16
	TAY			;2;18
.CHMLOOP1:
	DEY			;2;20
	BNE	.CHMLOOP1	;2/3;22
	STA	RESP1		;3;25
	WSYNC
	HMOVE			;3;3
	VBLANKON		;5;8
	DEX			;2;10
	LDA	X,CLOUDCOLORBK	;4;14
	STA	COLUBK		;3;17
	DEX			;2;19
	WASTE3			;3;21
	HMCLR			;3;24
	WSYNC
	VBLANKOFF	
	LDY	TEMP0
	DEY
	DEY
	LDA	CLOUDNUSIZE0
	STA	NUSIZ0
	LDA	CLOUDNUSIZE1
	STA	NUSIZ1

CLOUDLOOP:
	WSYNC
	VBLANKON		;5;5
	LDA	X,CLOUDCOLORBK	;4;9
	STA	COLUBK		;3;12

	LDA	@CLOUD0(Y)	;5;17
	STA	GRP0		;3;20

	LDA	@CLOUD1(Y)	;5;25
	STA	GRP1		;3;28

	LDA	@CLOUD0COLOR(Y) ;5;33
	STA	COLUP0		;3;36

	LDA	@CLOUD1COLOR(Y) ;5;41
	STA	COLUP1		;3;44	

	WSYNC			;3;
	VBLANKOFF		;5;
	DEX			;2;
	DEY			;2;
	CPY	CLOUDEND	;3;
	BPL	CLOUDLOOP	;3;
MTN:
	STAI	0,GRP0
	STA	GRP1
	LDA	X,CLOUDCOLORBK	;4;5
	STY	TEMP0
	WSYNC
	STA	COLUBK		;3;8
	VBLANKON		;5;5
	LDA	OURBIKEHM	;3;11
	STA	HMP0		;3;14
	AND	#$0F		;2;16
	TAY			;2;18
.OBIKEHMLOOP:
	DEY			;2;20
	BNE	.OBIKEHMLOOP	;2/3;22
	STA	RESP0		;3;25
	WSYNC
	VBLANKOFF		;5;5
	WASTE3			;3;8
	LDA	OTHERBIKEHM
		;3;11
	STA	HMP1		;3;14
	AND	#$0F		;2;16
	TAY			;2;18
.OTHERBIKEHMLOOP:
	DEY			;2;20
	BNE	.OTHERBIKEHMLOOP ;2/3;22
	STA	RESP1		;3;25
	WSYNC
	HMOVE			;3;3
	VBLANKON		;5;8
	DEX			;2;10
	LDA	X,CLOUDCOLORBK	;4;14
	STA	COLUBK		;3;17
	WASTE3			;3;21
	HMCLR			;3;24
	WSYNC
	VBLANKOFF	
	LDY	TEMP0
	DEY
	DEY
	LDA	OTHERBIKENUSIZE
	STA	NUSIZ1
	LDA	OURBIKENUSIZE
	STA	NUSIZ0
	LDX	#MAXMTN
MTNLOOP:

	WSYNC
	VBLANKON		;5;
	LDA	X,MTNCOLORPF	;4;
	STA	COLUPF		;3;

	LDA	@OURBIKE(Y)	;5;
	STA	GRP0		;3;

	LDA	@OTHERBIKE(Y)	;5;
	AND	@OTHERBIKEMASK(Y) ;5;
	STA	GRP1		;3;

	LDA	@OURBIKECOLOR(Y) 	;5;
	STA	COLUP0		;3;

	LDA	@OTHERBIKECOLOR(Y) 	;5;
	STA	COLUP1		;3;	


	WSYNC
	VBLANKOFF		;5;5
	LDA	X,MOUTAINCOLORBK ;4;9
	STA	COLUBK		;3;12
	LDA	X,MTNPLAY0A	;4;16
	STA	PF0		;3;19		;<22
	LDA	X,MTNPLAY1A	;4;23
	STA	PF1		;3;26		;<28
	LDA	X,MTNPLAY2A	;4;30
	STA	PF2		;3;33		;<38
	LDA	X,MTNPLAY0B	;4;37
	STA	PF0		;3;40		;28-49
	LDA	X,MTNPLAY1B	;4;44
	STA	PF1		;3;47		;39-54
	LDA	X,MTNPLAY2B	;4;51
	STA	PF2		;3;54		;50-65
	DEX			;2;56
	DEY			;2;58
	CPY	MTNEND		;3;61
	BPL	MTNLOOP	;3;64
HORZ:

	LDX	#MAXHORIZ	;2;
	STAI	0,PF0
	STA	PF1
	STA	PF2
HORIZLOOP:

	WSYNC
	HMOVE			;3;3
	VBLANKON		;5;
	LDA	X,HORIZCOLORBK	;4;
	STA	COLUBK		;3;

	LDA	@OTHERBIKE(Y)	;5;
	AND	@OTHERBIKEMASK(Y) ;5;
	STA	GRP1		;3;
	LDA	@OTHERBIKECOLOR(Y) ;5;
	STA	COLUP1		;3;
	LDA	@OURBIKE(Y)	;5;
	STA	GRP0		;3;
	LDA	@OURBIKECOLOR(Y) ;5
	STA	COLUP0		;3;
	WSYNC			;3;
	VBLANKOFF		;5;
	DEX			;2;
	DEY			;2;
	CPY	HORIZEND		;3;
	BPL	HORIZLOOP	;3;
	JMP	MOTORKER

OURBIKENUSIZE: .DS.B	1
CLOUDNUSIZE0:	.DS.B	1
CLOUDNUSIZE1:	.DS.B	1
OTHERBIKENUSIZE: .DS.B	1
