Mercurial > repos > simple16
view bgcolor.s16 @ 23:a085f17b79e9
Implement hflip
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 30 Mar 2016 20:31:04 -0700 |
parents | cc885122e9e3 |
children | 6e7bfe83d2b0 |
line wrap: on
line source
;r0 = VDP address ;r1 = current color ;r2 = color increment ;r3 = target line ;r4 = screen bottom ;r5 = scratch ;r6 = right edge ;r7 = counter ;r8 = secondary counter ldim 248, r4 ldimh 0, r4 ;320 == $140 ldim $40, r6 ldimh 1, r6 top ldim 0, r0 ldimh $FF, r0 ldim 0, r1 ldim 1, r2 ldim 8, r3 ldim 16, r7 ldim 0, r8 linestart outi 14, r0 waitline ini $C, r5 cmp r5, r3 bne waitline waithblank ini $D, r5 cmp r5, r6 bgr waithblank outi 15, r1 add r2, r1, r1 addi 2, r3 addi -1, r7 bne normal ldim 16, r7 ldim 0, r1 addi 1, r8 cmpi 3, r8 beq cyan cmpi 5, r8 beq magenta cmpi 6, r8 beq grey ;TODO: replace with lsli once it works in the assembler add r2, r2, r2 add r2, r2, r2 add r2, r2, r2 add r2, r2, r2 normal cmp r3, r4 bcs top bra linestart cyan ldim $11, r2 bra normal magenta ldim $01, r2 ldimh $01, r2 bra normal grey ldim $11, r2 ldimh $01, r2 bra normal