A game written in WebAssembly Text for the WASM-4 fantasy console.
Build the cart by running:
make
Then run it with:
w4 run build/cart.wasm
;; memory required to load instructions
;; 1 page of memory loaded (64kB)
(import "env" "memory" (memory 1))
;;-------------------Drawing Functions
;;-------------------
(; Copies pixels to the framebuffer. ;)
(import "env" "blit" (func $blit (param i32 i32 i32 i32 i32 i32)))
(; Copies a subregion within a larger sprite atlas to the framebuffer. ;)
(import "env" "blitSub" (func $blitSub (param i32 i32 i32 i32 i32 i32 i32 i32 i32)))
(; Draws a line between two points. ;)
(import "env" "line" (func $line (param i32 i32 i32 i32)))
(; Draws a horizontal line. ;)
(import "env" "hline" (func $hline (param i32 i32 i32)))
(; Draws a vertical line. ;)
(import "env" "vline" (func $vline (param i32 i32 i32)))
(; Draws an oval (or circle). ;)
(import "env" "oval" (func $oval (param i32 i32 i32 i32)))
(; Draws a rectangle. ;)
(import "env" "rect" (func $rect (param i32 i32 i32 i32)))
(; Draws text using the built-in system font. ;)
(import "env" "text" (func $text (param i32 i32 i32)))
(; Plays a sound tone. ;)
(import "env" "tone" (func $tone (param i32 i32 i32 i32)))
;;------------------Storage Functions
;;------------------
(; Reads up to `size` bytes from persistent storage into the pointer `dest`. ;)
(import "env" "diskr" (func $diskr (param i32 i32)))
(; Writes up to `size` bytes from the pointer `src` into persistent storage. ;)
(import "env" "diskw" (func $diskw (param i32 i32)))
(; Prints a message to the debug console. ;)
(import "env" "trace" (func $trace (param i32)))
(; Prints a message to the debug console. ;)
(import "env" "tracef" (func $tracef (param i32 i32)))