view vint.s16 @ 53:03177ff78094

Update VINT example for hardware changes
author Michael Pavone <pavone@retrodev.com>
date Wed, 31 Aug 2016 20:49:35 -0700
parents 083347ccd508
children
line wrap: on
line source

	ldim vectors, r0
	setvbr r0
	;current color value
	ldim 0, r0
	;color increment
	ldim $41, r3
	ldimh $8, r3
	;color max
	ldim $DF, r5
	ldimh $FF, r5
	;counter
	ldim 1, r4
	;Palette RAM address/length
	ldim 1, r1
	;enable interrupt
	ori 2, sr
	;enable VINT generation
	ldim 0, r2
	ldimh $20, r2
	outi $D, r2
wait
	bra wait
	;shouldn't get here, disable VINT so it's clear something broke
	xori 2, sr
	ldimh $0, r2
	outi $D, r2
	bra wait

vectors:
	dc.w 0
	dc.w vint_handler
	
vint_handler
	addi -1, r4
	bne done
	outi $E, r1
	outi $E, r0
	cmp r0, r5
	beq down
resume
	add r3, r0, r0
	beq up
	ldim 5, r4
done
	reti r13
down
	ldim $BF, r3
	ldimh $F7, r3
	bra resume
up
	ldim $41, r3
	ldimh $8, r3
	ldim 5, r4
	reti r13