| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| tic80-v1.3-3ds.zip | 2026-10-04 | 2.6 MB | |
| tic80-v1.3-android.apk | 2026-10-04 | 14.2 MB | |
| tic80-v1.3-html.zip | 2026-10-04 | 3.0 MB | |
| tic80-v1.3-learn.md | 2026-10-04 | 31.1 kB | |
| tic80-v1.3-linux-arm64.deb | 2026-10-04 | 4.7 MB | |
| tic80-v1.3-linux-arm64.zip | 2026-10-04 | 5.7 MB | |
| tic80-v1.3-linux.deb | 2026-10-04 | 4.9 MB | |
| tic80-v1.3-linux.zip | 2026-10-04 | 5.9 MB | |
| tic80-v1.3-mac-arm64.app.zip | 2026-10-04 | 4.9 MB | |
| tic80-v1.3-mac-arm64.dmg | 2026-10-04 | 5.6 MB | |
| tic80-v1.3-mac-arm64.zip | 2026-10-04 | 4.9 MB | |
| tic80-v1.3-mac.app.zip | 2026-10-04 | 5.3 MB | |
| tic80-v1.3-mac.dmg | 2026-10-04 | 6.1 MB | |
| tic80-v1.3-mac.zip | 2026-10-04 | 5.2 MB | |
| tic80-v1.3-players.tar.gz | 2026-10-04 | 8.9 MB | |
| tic80-v1.3-stubs.tar.gz | 2026-10-04 | 145.0 MB | |
| tic80-v1.3-switch.zip | 2026-10-04 | 6.2 MB | |
| tic80-v1.3-win.zip | 2026-10-04 | 4.7 MB | |
| README.md | 2026-10-04 | 11.8 kB | |
| TIC-80 tiny computer 1.3.0 source code.tar.gz | 2026-10-04 | 2.8 MB | |
| TIC-80 tiny computer 1.3.0 source code.zip | 2026-10-04 | 3.0 MB | |
| Totals: 21 Items | 243.4 MB | 0 | |
TIC-80 v1.3.0
TIC-80 v1.3.0 adds MiniScript and Forth runtimes, new audio-analysis APIs, native Metal rendering for macOS/iOS, and a wide set of web, editor, controller, and platform fixes since v1.2.0.
What's new
- New runtimes: MiniScript and Forth are now supported, with MiniScript updated to the latest MiniScript 2 main. Help/version docs now name both as post-1.2.0 runtimes.
- Audio APIs: Added VQT audio analysis and spectral whitening APIs, plus raw FFT magnitude APIs
fftrandfftrs. - Script eval: Python and JavaScript now implement
eval; JavaScript also no longer crashes when there is nothing to evaluate. - Editor & templates: Python editor now outlines defs/classes; code from
codeimportupdates before running; new TinyGo-based Go starter template; Zig template updated for Zig 0.17. - Web & export: Added a Surf build option, a sokol web system layer, 4M wasm stack plus a check, and HTML export/site-player improvements. A played cart now returns to the browser on CLOSE GAME, and Surf no longer starves the browser or leaks fetch bodies.
Platform
- Apple: New Metal renderer with native macOS/iOS support; optimized gamepad polling, border rendering, and file-change checks on Metal.
- Linux/ARM: Added Linux ARM GLESv2 support; Linux icons/mimetypes moved to the hicolor theme.
- Android: Manifest now uses the Game category and fixes
.ticassociation on Android 12+. - Controllers: Dynamic controller assignment; SDL right stick moves the cursor and only shows after first movement.
- Web/libretro: WASM libretro core no longer fails at runtime; optional libretro environment calls are non-fatal; console
addsurvives Emscripten runtime trimming. - Console: Improved eval feedback when no cart is loaded; help tables and VRAM docs cleaned up.
Bug fixes
- Fixed bookmark panel crash when a bookmark is on a blank line.
- Fixed Squirrel out-of-bounds array indexing and a scanline/border callback memory leak.
- Fixed Python
sfx()ignoring note/octave/speed from the SFX editor. - Fixed world map preview ignoring the map editor BPP setting.
- Fixed space key with
KEYBOARD_LAYOUT_ESaftertic_key_iso_extraremoval. - Fixed code editor tab width after horizontal scroll.
- Fixed same-platform export preferring an external native template instead of the local one.
- Fixed JavaScript eval crash when there is nothing to evaluate.
- Improved code rendering by adjusting viewport handling.
- Fixed Studio net field declaration and
tic80_tickcallback declarations.
Build & infrastructure
- CI now builds main and pull requests instead of every branch, builds players on every build, and restores stubs to releases.
- Site now consumes per-language HTML pairs on every build.
- Added a PRO linux-arm64 build; removed GCC 14 from the matrix.
- Configure now warns when the build has no network.
- Release tag builds receive Android signing secrets; stub lists include MiniScript and Forth.
- Release notes now lead with this summary before GitHub's PR list;
SECURITY.mdno longer pins specific versions. - Build asset directory now follows the build itself; toolbar modularized.
Statistics: 62 commits, 54 pull requests, 19 contributors.
On tic80.com
The site moved on too:
- Games delete and restore. Your own cartridges, from their page or your profile: hidden at once, recoverable for 30 days, comments and +1s included. An account can delete itself the same way.
- A notifications page — comments and +1s on your cartridges, with a counter in the navigation.
- A liked-games page — everything you have +1'd, in one place.
- +1 is open to everyone: the old gate that required your own games to be liked first is gone.
- Sign in with your e-mail as well as your user name.
- A full-screen player — a game page, and the browser IDE, can open the cartridge alone: no site chrome, the player fills the screen, and the game starts as soon as the page opens.
- Every game states the language it is written in.
- Game pages load a player built for that language — several times smaller than the universal one, so they start faster.
- New games are announced in the community chat again.
What's Changed
- Fix [#2773]: space key broken with KEYBOARD_LAYOUT_ES after tic_key_iso_extra removal by @joshgoebel in https://github.com/nesbox/TIC-80/pull/2962
- Fix [#2920]: Python sfx() ignores note/octave/speed from SFX editor by @joshgoebel in https://github.com/nesbox/TIC-80/pull/2963
- Fix [#1558]: world map preview ignores map editor bpp setting by @joshgoebel in https://github.com/nesbox/TIC-80/pull/2964
- fix: squirrel scanline/border callback memory leak (#2825) by @joshgoebel in https://github.com/nesbox/TIC-80/pull/2965
- Update SECURITY.md to remove specific versions by @pixelbath in https://github.com/nesbox/TIC-80/pull/2948
- libretro: don't treat optional environment calls as fatal by @wescopeland in https://github.com/nesbox/TIC-80/pull/2980
- Declare tic80_tick's callbacks as they are defined and called by @annejan in https://github.com/nesbox/TIC-80/pull/2981
- Declare Studio's net field under the condition it is used by @annejan in https://github.com/nesbox/TIC-80/pull/2982
- Fix WASM libretro core build failing at runtime by @Ferk in https://github.com/nesbox/TIC-80/pull/2983
- Fix attempting to out-of-bounds index Squirrel arrays by @swoolcock in https://github.com/nesbox/TIC-80/pull/2988
- Fix bookmark panel crashing if there is a bookmark on a blank line by @swoolcock in https://github.com/nesbox/TIC-80/pull/2993
- [Fix] [Export] prefer local native template for same-platform export by @RDeckard in https://github.com/nesbox/TIC-80/pull/2916
- Fix code editor tab width after horizontal scroll by @RDeckard in https://github.com/nesbox/TIC-80/pull/2957
- web: 4M of stack for the wasm build, and a check on it by @nesbox in https://github.com/nesbox/TIC-80/pull/3006
- ci: build main and pull requests, not every branch by @nesbox in https://github.com/nesbox/TIC-80/pull/3008
- AndroidManifest -> Set to Game category, and fix
.ticassociation on Android 12+ by @imsys in https://github.com/nesbox/TIC-80/pull/2956 - Optimize code rendering by adjusting viewport handling by @Wang-Yue in https://github.com/nesbox/TIC-80/pull/2974
- [SDL] Uses right stick to move cursor + only shows after first move by @imsys in https://github.com/nesbox/TIC-80/pull/2936
- Dynamic controller assignment by @imsys in https://github.com/nesbox/TIC-80/pull/2958
- Change in the index.html file for html exports by @bettywolfy in https://github.com/nesbox/TIC-80/pull/2998
- Adds support for Linux ARM GLESv2 by @imsys in https://github.com/nesbox/TIC-80/pull/2912
- templates: add Go starter project template using TinyGo by @akhenakh in https://github.com/nesbox/TIC-80/pull/3002
- Add raw FFT magnitude APIs fftr and fftrs by @aliceisjustplaying in https://github.com/nesbox/TIC-80/pull/3000
- Add VQT audio analysis and spectral whitening APIs by @aliceisjustplaying in https://github.com/nesbox/TIC-80/pull/3001
- Add MiniScript support by @MineRobber9000 in https://github.com/nesbox/TIC-80/pull/2992
- Forth by @luginf in https://github.com/nesbox/TIC-80/pull/2947
- release: grow the stub lists with MiniScript and Forth by @nesbox in https://github.com/nesbox/TIC-80/pull/3009
- version: a build's asset directory follows from the build itself by @nesbox in https://github.com/nesbox/TIC-80/pull/3010
- help version: name the two runtimes added after 1.2.0 by @nesbox in https://github.com/nesbox/TIC-80/pull/3011
- console: one definition per help table, and VRAM without angle brackets by @nesbox in https://github.com/nesbox/TIC-80/pull/3013
- ci: a PRO linux-arm64 build, and gcc14 out of the matrix by @nesbox in https://github.com/nesbox/TIC-80/pull/3014
- surf: a played cart returns to the browser on CLOSE GAME by @nesbox in https://github.com/nesbox/TIC-80/pull/3016
- Add Metal Renderer and native macOS/iOS support for TIC-80 by @Wang-Yue in https://github.com/nesbox/TIC-80/pull/2973
- ci: the per-language html pairs on every build the site consumes by @nesbox in https://github.com/nesbox/TIC-80/pull/3027
- html: the site's players keep the editors by @nesbox in https://github.com/nesbox/TIC-80/pull/3030
- ci: the players on every build, the stubs back to releases by @nesbox in https://github.com/nesbox/TIC-80/pull/3031
- python: implement eval by @zayfod in https://github.com/nesbox/TIC-80/pull/3019
- js: implement eval, and stop crashing when there is nothing to eval by @zayfod in https://github.com/nesbox/TIC-80/pull/3020
- console: say when eval has no cart to evaluate against by @zayfod in https://github.com/nesbox/TIC-80/pull/3022
- Update MiniScript 2 to latest main by @MineRobber9000 in https://github.com/nesbox/TIC-80/pull/3012
- Always update code from codeimport before running game by @MartinRykfors in https://github.com/nesbox/TIC-80/pull/3025
- console: the add command survives emscripten's runtime trimming by @zayfod in https://github.com/nesbox/TIC-80/pull/3018
- macOS Metal: optimize gamepad polling, border rendering & rate-limit file change checks by @Wang-Yue in https://github.com/nesbox/TIC-80/pull/3021
- Move Linux Icon to hicolor Theme by @amayer5125 in https://github.com/nesbox/TIC-80/pull/3026
- Add Linux Mimetype Icon by @amayer5125 in https://github.com/nesbox/TIC-80/pull/3029
- python: outline the code editor's defs and classes by @zayfod in https://github.com/nesbox/TIC-80/pull/3023
- [#3033]: warn at configure time when the build has no network by @nesbox in https://github.com/nesbox/TIC-80/pull/3034
- Surf build option by @nesbox in https://github.com/nesbox/TIC-80/pull/3041
- The toolbar becomes a module by @nesbox in https://github.com/nesbox/TIC-80/pull/3046
- sokol: a system layer for the web build by @nesbox in https://github.com/nesbox/TIC-80/pull/3048
- surf: covers stop starving the browser, and a fetch body is freed once by @nesbox in https://github.com/nesbox/TIC-80/pull/3049
- Update Zig template to support Zig 0.17 by @sergeypdev in https://github.com/nesbox/TIC-80/pull/3050
New Contributors
- @pixelbath made their first contribution in https://github.com/nesbox/TIC-80/pull/2948
- @wescopeland made their first contribution in https://github.com/nesbox/TIC-80/pull/2980
- @annejan made their first contribution in https://github.com/nesbox/TIC-80/pull/2981
- @Ferk made their first contribution in https://github.com/nesbox/TIC-80/pull/2983
- @swoolcock made their first contribution in https://github.com/nesbox/TIC-80/pull/2988
- @bettywolfy made their first contribution in https://github.com/nesbox/TIC-80/pull/2998
- @akhenakh made their first contribution in https://github.com/nesbox/TIC-80/pull/3002
- @luginf made their first contribution in https://github.com/nesbox/TIC-80/pull/2947
- @zayfod made their first contribution in https://github.com/nesbox/TIC-80/pull/3019
- @amayer5125 made their first contribution in https://github.com/nesbox/TIC-80/pull/3026
- @sergeypdev made their first contribution in https://github.com/nesbox/TIC-80/pull/3050
Full Changelog: https://github.com/nesbox/TIC-80/compare/v1.2.0...v1.3.0