aboutsummaryrefslogtreecommitdiff
path: root/samples/move.orgaasm
diff options
context:
space:
mode:
Diffstat (limited to 'samples/move.orgaasm')
-rw-r--r--samples/move.orgaasm46
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