-
-
Notifications
You must be signed in to change notification settings - Fork 489
Supported Languages
TIC-80 Supports multiple scripting languages, including:
- Fennel
- Javascript (ES2020 as of 1.1)
- Lua
- Moonscript
- Ruby (mRuby 3.0)
- Squirrel
- Wren
- Janet
- Scheme (s7)
- Python (pocketpy)
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 |
Note: If no script tag is added it will be considered as a Lua cart.
- 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.
Python integration is based on pocketpy, the list of available modules can be found in the documentation.
Structured edition is an edition mode, available only for lisp-like languages like Scheme, Janet and Fennel and with the Emacs mode enabled. 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) |
See metadata page.
TODO
Scrambier developped a tool to use typescript in TIC-80 that you can find on the external tools page.
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)