From 5b06ad8fc99037c3b3a532155a400853619cd892 Mon Sep 17 00:00:00 2001 From: kdx Date: Sat, 15 Apr 2023 09:32:42 +0200 Subject: use m4 in run.sh --- run.sh | 10 ++++++++-- samples/clamp.orgaasm | 20 ++------------------ samples/memcpy.orgaasm | 10 ++++++++++ samples/move.orgaasm | 22 +++------------------- samples/rom.rom | Bin 0 -> 38 bytes samples/std.orgaasm | 27 +++++++++++++++++++++++++++ 6 files changed, 50 insertions(+), 39 deletions(-) create mode 100644 samples/memcpy.orgaasm create mode 100644 samples/rom.rom create mode 100644 samples/std.orgaasm 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 Binary files /dev/null and b/samples/rom.rom 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 -- cgit v1.2.3