joka.wasm4

The wasm4 module provides variables and functions available in WASM-4.

Functions 14

private fnllvmAttr importName(immutable(char)[] name)
fnvoid blit(const ubyte * data, int x, int y, uint width, uint height, uint flags) @importName("blit")Copies pixels to the framebuffer.
fnvoid 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.
fnvoid line(int x1, int y1, int x2, int y2) @importName("line")Draws a line between two points.
fnvoid hline(int x, int y, uint len) @importName("hline")Draws a horizontal line.
fnvoid vline(int x, int y, uint len) @importName("vline")Draws a vertical line.
fnvoid oval(int x, int y, uint width, uint height) @importName("oval")Draws an oval (or circle).
fnvoid rect(int x, int y, uint width, uint height) @importName("rect")Draws a rectangle.
fnvoid text(const char * text, int x, int y) @importName("text")Draws text using the built-in system font.
fnvoid tone(uint frequency, uint duration, uint volume, uint flags) @importName("tone")Plays a sound tone.
fnuint diskr(void * dest, uint size) @importName("diskr")Reads up to `size` bytes from persistent storage into the pointer `destPtr`.
fnuint diskw(const void * src, uint size) @importName("diskw")Writes up to `size` bytes from the pointer `srcPtr` into persistent storage.
fnvoid trace(const char * str) @importName("trace")Prints a message to the debug console.
fnvoid tracef(const char * fmt, ...) @importName("tracef")Prints a message to the debug console.

Variables 42

enumvarwasm4 = llvmAttr("wasm-import-module", "env")

The WASM-4 import module.

enumvarscreenSize = 160
enumvarfontSize = 8
enumvarpalette = cast(uint *) 0x04
enumvardrawColors = cast(ushort *) 0x14
enumvargamepad1 = cast(const ubyte *) 0x16
enumvargamepad2 = cast(const ubyte *) 0x17
enumvargamepad3 = cast(const ubyte *) 0x18
enumvargamepad4 = cast(const ubyte *) 0x19
enumvarmouseX = cast(const short *) 0x1a
enumvarmouseY = cast(const short *) 0x1c
enumvarmouseButtons = cast(const ubyte *) 0x1e
enumvarsystemFlags = cast(ubyte *) 0x1f
enumvarnetplay = cast(const ubyte *) 0x20
enumvarframebuffer = cast(ubyte *) 0xa0
enumvarbutton1 = 1
enumvarbutton2 = 2
enumvarbuttonLeft = 16
enumvarbuttonRight = 32
enumvarbuttonUp = 64
enumvarbuttonDown = 128
enumvarmouseLeft = 1
enumvarmouseRight = 2
enumvarmouseMiddle = 4
enumvarsystemPreserveFramebuffer = 1
enumvarsystemHideGamepadOverlay = 2
enumvarblit2Bpp = 1
enumvarblit1Bpp = 0
enumvarblitFlipX = 2
enumvarblitFlipY = 4
enumvarblitRotate = 8
enumvartonePulse1 = 0
enumvartonePulse2 = 1
enumvartoneTriangle = 2
enumvartoneNoise = 3
enumvartoneMode1 = 0
enumvartoneMode2 = 4
enumvartoneMode3 = 8
enumvartoneMode4 = 12
enumvartonePanLeft = 16
enumvartonePanRight = 32
enumvartoneNoteMode = 64