


;************************************************************
;	-------------------------
; 	 4x4 oam sub set program
;	-------------------------
;************************************************************
;
; << input >>  Y .... oam pointer
;	 
;------------------------------------------------------------
set_sub	macro	[romtable]
	phx				; >>
	phy				;   >>

	tya				;2
	and	#001100b		;3
	lsr	a			;2
	tax				;2

	tya				;2
	lsr	a			;2
	lsr	a			;2
	lsr	a			;2
	lsr	a			;2
	tay				;2	;(21)

	lda.l	{rom_table},x
	ora	sprites+200h,y
	sta	sprites+200h,y	

	plx				;   <<
	ply				; <<

	endm

;------------------------------------------------------------
set4sub	set_sub	sub_data4
	rts

;------------------------------------------------------------
set2sub	set_sub	sub_data2
	rts

;------------------------------------------------------------
set1sub	set_sub	sub_data1
	rts

;------------------------------------------------------------
sub_data4
	dw	0000000010101010b	;(0)
	dw	0000001010101000b	;(1)
	dw	0000101010100000b	;(2)
	dw	0010101010000000b	;(3)
sub_data2
	dw	0000000000001010b	;(0)
	dw	0000000000101000b	;(1)
	dw	0000000010100000b	;(2)
	dw	0000001010000000b	;(3)
sub_data1
	dw	0000000000000010b	;(0)
	dw	0000000000001000b	;(1)
	dw	0000000000100000b	;(2)
	dw	0000000010000000b	;(3)
;------------------------------------------------------------


