diff options
Diffstat (limited to 'samples/move.orgaasm')
-rw-r--r-- | samples/move.orgaasm | 46 |
1 files changed, 42 insertions, 4 deletions
diff --git a/samples/move.orgaasm b/samples/move.orgaasm index fed1626..70e85ca 100644 --- a/samples/move.orgaasm +++ b/samples/move.orgaasm @@ -26,13 +26,13 @@ include(std.orgaasm) @player/update ( -- ) @player/update/movex - #0004 #007b + #0001 #0076 -player.x LDA -input.kleft LDA SUB -input.kright LDA ADD /clamp -player.x STA @player/update/movey - #0004 #007b + #0001 #0076 -player.y LDA -input.kup LDA SUB -input.kdown LDA ADD @@ -42,13 +42,15 @@ include(std.orgaasm) @player/erase ( -- ) -player.x LDA -player.y LDA - #0000 /draw/pixel + -blacksquare + /draw/sprite RET @player/draw ( -- ) -player.x LDA -player.y LDA - #ffff /draw/pixel + -player.spr + /draw/sprite RET @draw/pixel ( x y col -- ) @@ -57,3 +59,39 @@ include(std.orgaasm) #0007 LSF ADD -Screen ADD STA RET + +@draw/sprite.oscr 0000 +@draw/sprite ( x y addr -- ) + ROT ROT #0007 LSF ADD -Screen ADD ( spr scr ) + #0008 ( spr scr n ) +@draw/sprite/loop + DEC + OVR OVR #0007 LSF ADD ( spr scr n oscr ) + #0080 ADD ( spr scr n oscr ) + -draw/sprite.oscr STA ( spr scr n ) + ROT SWP OVR OVR #0003 LSF ADD ( scr spr n ospr ) + -draw/sprite.oscr LDA ( scr spr n ospr oscr ) + #0008 /memcpy ( scr spr n ) + SWP ROT ROT ( spr scr n ) + DUP JNZ ,draw/sprite/loop + POP POP POP RET + +@blacksquare + 0000 0000 000f 000f 000f 000f 0000 0000 + 0000 0000 0000 0000 0000 0000 0000 0000 + 000f 0000 000f 000f 000f 000f 0000 000f + 000f 0000 000f 000f 000f 000f 0000 000f + 000f 0000 000f 000f 000f 000f 0000 000f + 000f 0000 000f 000f 000f 000f 0000 000f + 0000 0000 0000 0000 0000 0000 0000 0000 + 0000 0000 000f 000f 000f 000f 0000 0000 + +@player.spr + 0000 ffff ffff ffff ffff ffff ffff 0000 + ffff 0000 ffff ffff ffff ffff 0000 ffff + ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff ffff ffff ffff ffff + ffff ffff ffff ffff ffff ffff 0000 ffff + ffff ffff 0000 0000 0000 0000 ffff ffff + 0000 ffff ffff ffff ffff ffff ffff 0000 |