aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-04-15 09:32:42 +0200
committerkdx <kikoodx@paranoici.org>2023-04-15 09:32:42 +0200
commit5b06ad8fc99037c3b3a532155a400853619cd892 (patch)
treeca5c63c9ecc3145fa11aaa967f296f4a8bd08196
parentd2d80b410ae7feb1916135feb5b2650ac763dffe (diff)
downloadorga-5b06ad8fc99037c3b3a532155a400853619cd892.tar.gz
use m4 in run.sh
-rwxr-xr-xrun.sh10
-rw-r--r--samples/clamp.orgaasm20
-rw-r--r--samples/memcpy.orgaasm10
-rw-r--r--samples/move.orgaasm22
-rw-r--r--samples/rom.rombin0 -> 38 bytes
-rw-r--r--samples/std.orgaasm27
6 files changed, 50 insertions, 39 deletions
diff --git a/run.sh b/run.sh
index 19794bd..47dc6d8 100755
--- a/run.sh
+++ b/run.sh
@@ -1,3 +1,9 @@
#!/bin/sh
-./orgaasm "$1" rom.rom || exit 1
-./orgaemu rom.rom
+ORGAPATH="$(pwd)"
+TMPASM="$(mktemp)"
+TMPROM="$(mktemp)"
+cd "$(dirname "$1")" || exit 1
+m4 "$(basename "$1")" >"$TMPASM" || exit 1
+"$ORGAPATH"/orgaasm "$TMPASM" "$TMPROM" || exit 1
+"$ORGAPATH"/orgaemu "$TMPROM" || exit 1
+rm -f "$TMPROM" "$TMPASM"
diff --git a/samples/clamp.orgaasm b/samples/clamp.orgaasm
index ecd2824..dcf5229 100644
--- a/samples/clamp.orgaasm
+++ b/samples/clamp.orgaasm
@@ -1,3 +1,4 @@
+@main
#000f #00f0 #0042 DBG
/clamp DBG POP
#000f #00f0 #0f00 DBG
@@ -6,21 +7,4 @@
/clamp DBG POP
RET
-@clamp ( min max a -- b )
- /min /max RET
-
-@min ( a b -- a < b ? a : b )
- OVR OVR LTH
- JNZ ,min/morethan
- SWP
-@min/morethan
- POP
- RET
-
-@max ( a b -- a > b ? a : b )
- OVR OVR GTH
- JNZ ,max/lessthan
- SWP
-@max/lessthan
- POP
- RET
+include(std.orgaasm)
diff --git a/samples/memcpy.orgaasm b/samples/memcpy.orgaasm
new file mode 100644
index 0000000..def411d
--- /dev/null
+++ b/samples/memcpy.orgaasm
@@ -0,0 +1,10 @@
+@main
+ -stripe -Screen #0008 /memcpy DBG
+@main/infinite
+ SLP
+ JMP ,main/infinite
+
+@stripe
+ ffff ff00 00ff ffff ffff 0ff0 f00f ffff
+
+include(std.orgaasm)
diff --git a/samples/move.orgaasm b/samples/move.orgaasm
index c73e0e7..fed1626 100644
--- a/samples/move.orgaasm
+++ b/samples/move.orgaasm
@@ -1,3 +1,6 @@
+JMP ,main
+include(std.orgaasm)
+
@main
SLP
/input/update
@@ -54,22 +57,3 @@
#0007 LSF ADD -Screen ADD
STA
RET
-
-@clamp ( min max a -- b )
- /min /max RET
-
-@min ( a b -- a < b ? a : b )
- OVR OVR LTH
- JNZ ,min/morethan
- SWP
-@min/morethan
- POP
- RET
-
-@max ( a b -- a > b ? a : b )
- OVR OVR GTH
- JNZ ,max/lessthan
- SWP
-@max/lessthan
- POP
- RET
diff --git a/samples/rom.rom b/samples/rom.rom
new file mode 100644
index 0000000..55a32fc
--- /dev/null
+++ b/samples/rom.rom
Binary files differ
diff --git a/samples/std.orgaasm b/samples/std.orgaasm
new file mode 100644
index 0000000..958e0d3
--- /dev/null
+++ b/samples/std.orgaasm
@@ -0,0 +1,27 @@
+@clamp ( min max a -- b )
+ /min /max RET
+
+@min ( a b -- a < b ? a : b )
+ OVR OVR LTH
+ JNZ ,min/morethan
+ SWP
+@min/morethan
+ POP
+ RET
+
+@max ( a b -- a > b ? a : b )
+ OVR OVR GTH
+ JNZ ,max/lessthan
+ SWP
+@max/lessthan
+ POP
+ RET
+
+@memcpy.n 0000
+@memcpy ( srcaddr dstaddr n -- ) ( !! doesn't work with n=0 )
+ DEC -memcpy.n STA
+ OVR OVR
+ -memcpy.n LDA
+ DUP ROT ADD SWP ROT OVR ADD LDA ROT STA
+ DUP JNZ ,memcpy
+ POP POP POP RET