-
-
Notifications
You must be signed in to change notification settings - Fork 489
Supported Languages
TIC-80 Supports multiple scripting languages, including:
- Fennel
- Javascript (ES5)
- Lua
- Moonscript
- Ruby (Ruby 2.x compatible mRuby, specifically)
- Squirrel
- Wren
- Janet
- Scheme (s7)
- Python
TIC-80 also supports compiled languages via our WASM support. If your compiled language of choice can compile to Web Assembly there is a good chance you could use it to develop for TIC-80.
You need to specify the language you use by adding one the following to the metadata:
Language | Tag |
---|---|
For Fennel | ;; script: fennel |
For Javascript | // script: js |
For Lua | -- script: lua |
For Moonscript | -- script: moon |
For Ruby | # script: ruby |
For Squirrel | // script: squirrel |
For Wren | // script: wren |
For Janet | # script: janet |
For Scheme | ;; script: scheme |
For Python | # script: python |
- See WASM Support.
To see a demo or start a new project in your scripting language of choice just start up TIC-80 and from the console type new [lang]
, for example for a Wren project just type:
new wren
Type help new
to print arguments for each language.
for some on-screen guidance.
Structured edition is an edition mode, available only for lisp-like languages like Scheme, Janet and Fennel. It helps the user to keep the program well written by automatically balancing the parenthesis and editing code at an S-Expression level. It will be harder to delete parenthesis until the expression is emptied first, to help keep the balance. Here are some key bindings available in structured edition languages:
Key Binding | Functionality |
---|---|
ctl-down or alt-S | S-Expify (add parenthesis around word or s-expression) |
ctl-up | Extirp from S-Expression (remove word or s-expression from enclosing s-expression) |
TIC-80 tiny computer https://tic80.com | Twitter | Telegram | Terms
Built-in Editors
Console
Platform
RAM & VRAM | Display | Palette | Bits per Pixel (BPP) |
.tic
Format | Supported Languages
Other
Tutorials | Code Snippets | Libraries | External Tools | FFT
API
- BDR (0.90)
- BOOT (1.0)
- MENU
- OVR (deprecated)
- SCN (deprecated)
- TIC
- btn & btnp
- circ & circb
- clip
- cls
- elli & ellib (0.90)
- exit
- fget & fset (0.80)
- font
- key & keyp
- line
- map
- memcpy & memset
- mget & mset
- mouse
- music
- peek, peek4
- peek1, peek2 (1.0)
- pix
- pmem
- poke, poke4
- poke1, poke2 (1.0)
- rect & rectb
- reset
- sfx
- spr
- sync
- ttri (1.0)
- time
- trace
- tri & trib (0.90)
- tstamp (0.80)
- vbank (1.0)