diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tiletest.s16	Mon Mar 28 23:43:31 2016 -0700
@@ -0,0 +1,84 @@
+
+	;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
+