Skip to content
Josh Goebel edited this page Feb 23, 2022 · 5 revisions

WASM Support

TIC-80 supports compiled languages via our WASM binary support. Compile a .wasm file using an external compiler toolchain and then import that binary (up to to 256kb) into your TIC-80 cartridge. Many modern languages support compiling to WASM:

  • C/C++
  • D
  • Go
  • NeLua
  • Nim
  • Odin
  • Rust
  • Zig

Unique WASM "hardware" limitations

  • 256kb BINARY chunk size (maximum compiled .wasm size)
  • 256kb addressable memory
    • 112KB base RAM for memory mapped I/O, audio, VRAM, etc.
    • 160kb RAM free for cartridge use

Starting a new compiled from source project

This will vary slighting depending on the compiler and toolchain being used. Copying one of the built-in project templates we provide (that include core TIC-80 library bindings) is the best way to get started.

If you're familiar with one of the languages above and would like to contribute an official library binding for TIC-80, we'd love the help.

Clone this wiki locally