Mercurial > repos > simple16
view checker.s16 @ 57:c44170825b16
Implement lsli and lsri in assembler
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 01 Sep 2016 21:52:48 -0700 |
parents | 8e39a877c651 |
children |
line wrap: on
line source
;set both data banks to VRAM ldim $E1, db ldimh $E0, db ;setup palette ldim 2, r0 outi $E, r0 ldim 0, r0 outi $E, r0 ldimh $F8, r0 outi $E, r0 ;pointer to VRAM ldim 0, r0 ;black ldim 0, r1 ;4 pixels of red ldim $11, r2 ldimh $11, r2 ;outer loop counter ldim 8, r4 ;framebuffer offset ldim 0, r5 outer: ;loop counter to do one row of pattern ldim $A0, r3 ldimh 0, r3 blackred: str16 r0, r5, r1 addi 2, r5 str16 r0, r5, r1 addi 2, r5 str16 r0, r5, r1 addi 2, r5 str16 r0, r5, r1 addi 2, r5 str16 r0, r5, r2 addi 2, r5 str16 r0, r5, r2 addi 2, r5 str16 r0, r5, r2 addi 2, r5 str16 r0, r5, r2 addi 2, r5 addi -1, r3 bne blackred ldim $A0, r3 ldimh 0, r3 redblack: str16 r0, r5, r2 addi 2, r5 str16 r0, r5, r2 addi 2, r5 str16 r0, r5, r2 addi 2, r5 str16 r0, r5, r2 addi 2, r5 str16 r0, r5, r1 addi 2, r5 str16 r0, r5, r1 addi 2, r5 str16 r0, r5, r1 addi 2, r5 str16 r0, r5, r1 addi 2, r5 addi -1, r3 bne redblack addi -1, r4 bne outer ldim 1, r4 ldimh $80, r4 outi $D, r4 forever: bra forever