joka.wasm4
The wasm4 module provides variables and functions available in WASM-4.
var blit1Bpp blit2Bpp blitFlipX blitFlipY blitRotate button1 button2 buttonDown buttonLeft buttonRight buttonUp drawColors fontSize framebuffer gamepad1 gamepad2 gamepad3 gamepad4 mouseButtons mouseLeft mouseMiddle mouseRight mouseX mouseY netplay palette screenSize systemFlags systemHideGamepadOverlay systemPreserveFramebuffer toneMode1 toneMode2 toneMode3 toneMode4 toneNoise toneNoteMode tonePanLeft tonePanRight tonePulse1 tonePulse2 toneTriangle wasm4
Functions 14
fn
void blit(const ubyte * data, int x, int y, uint width, uint height, uint flags) @importName("blit")Copies pixels to the framebuffer.fn
void blitSub(
const ubyte * data, int x, int y, uint width, uint height,
uint srcX, uint srcY, uint stride, uint flags,
) @importName("blitSub")Copies a subregion within a larger sprite atlas to the framebuffer.fn
void text(const char * text, int x, int y) @importName("text")Draws text using the built-in system font.fn
void tone(uint frequency, uint duration, uint volume, uint flags) @importName("tone")Plays a sound tone.fn
uint diskr(void * dest, uint size) @importName("diskr")Reads up to `size` bytes from persistent storage into the pointer `destPtr`.fn
uint diskw(const void * src, uint size) @importName("diskw")Writes up to `size` bytes from the pointer `srcPtr` into persistent storage.Variables 42
enumvar
wasm4 = llvmAttr("wasm-import-module", "env")The WASM-4 import module.
enumvar
screenSize = 160enumvar
fontSize = 8enumvar
palette = cast(uint *) 0x04enumvar
drawColors = cast(ushort *) 0x14enumvar
gamepad1 = cast(const ubyte *) 0x16enumvar
gamepad2 = cast(const ubyte *) 0x17enumvar
gamepad3 = cast(const ubyte *) 0x18enumvar
gamepad4 = cast(const ubyte *) 0x19enumvar
mouseX = cast(const short *) 0x1aenumvar
mouseY = cast(const short *) 0x1cenumvar
mouseButtons = cast(const ubyte *) 0x1eenumvar
systemFlags = cast(ubyte *) 0x1fenumvar
netplay = cast(const ubyte *) 0x20enumvar
framebuffer = cast(ubyte *) 0xa0enumvar
button1 = 1enumvar
button2 = 2enumvar
buttonLeft = 16enumvar
buttonRight = 32enumvar
buttonUp = 64enumvar
buttonDown = 128enumvar
mouseLeft = 1enumvar
mouseRight = 2enumvar
mouseMiddle = 4enumvar
systemPreserveFramebuffer = 1enumvar
systemHideGamepadOverlay = 2enumvar
blit2Bpp = 1enumvar
blit1Bpp = 0enumvar
blitFlipX = 2enumvar
blitFlipY = 4enumvar
blitRotate = 8enumvar
tonePulse1 = 0enumvar
tonePulse2 = 1enumvar
toneTriangle = 2enumvar
toneNoise = 3enumvar
toneMode1 = 0enumvar
toneMode2 = 4enumvar
toneMode3 = 8enumvar
toneMode4 = 12enumvar
tonePanLeft = 16enumvar
tonePanRight = 32enumvar
toneNoteMode = 64