view tiletest.s16 @ 19:04fc17376999

Sort of working tile rendering and tile test ROM
author Michael Pavone <pavone@retrodev.com>
date Mon, 28 Mar 2016 23:43:31 -0700
parents
children
line wrap: on
line source


	;write palette entries to CRAM
	ldim 0, r0
	ldimh $FF, r0
	outi 14, r0
	ldim colors, r0
	ldim $80, r1
	ldimh $0, r1
	ldim 0, r2
cloop:
	ld16 r0, r2, r3
	outi 15, r3
	addi 2, r2
	cmp r1, r2
	bne cloop
	
	;write tile to VRAM
	ldim 0, r2
	outi 14, r2
	ldim tile, r0
	ldim 32, r1
tloop:
	ld16 r0, r2, r3
	outi 15, r3
	addi 2, r2
	cmp r1, r2
	bne tloop
	
	;write name table entries to VRAM
	ldim 0, r2
	ldimh $60, r2
	outi 14, r2
	;current entry
	ldim 0, r0
	;increment
	ldimh $8, r2
	;counter
	ldim $00, r1
	ldimh $7, r1
nloop:
	outi 15, r0
	add r2, r0, r0
	addi -1, r1
	bne nloop
	
	;write vscroll register
	ldim $0, r0
	ldimh $E6, r0
	outi $C, r0
	;write hscroll register to enable display
	ldimh $80, r0
	outi $D, r0
forever:
	bra forever
tile:
	dc.l $000FFFFF
	dc.l $E111EEEE
	dc.l $DD222DDD
	dc.l $CCC333CC
	dc.l $BBBB444B
	dc.l $AAAAA555
	dc.l $99996669
	dc.l $88877788
colors:
	dc.w $0000, $0001, $0002, $0003
	dc.w $0004, $0005, $0006, $0007
	dc.w $0008, $0009, $000A, $000B
	dc.w $000C, $000D, $000E, $000F
	
	dc.w $0000, $0010, $0020, $0030
	dc.w $0040, $0050, $0060, $0070
	dc.w $0080, $0090, $00A0, $00B0
	dc.w $00C0, $00D0, $00E0, $00F0
	
	dc.w $0000, $0100, $0200, $0300
	dc.w $0400, $0500, $0600, $0700
	dc.w $0800, $0900, $0A00, $0B00
	dc.w $0C00, $0D00, $0E00, $0F00
	
	dc.w $0000, $0111, $0222, $0333
	dc.w $0444, $0555, $0666, $0777
	dc.w $0888, $0999, $0AAA, $0BBB
	dc.w $0CCC, $0DDD, $0EEE, $0FFF