You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 fftr and fftrs.
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 codeimport updates 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 .tic association 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 add survives 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_ES after tic_key_iso_extra removal.
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_tick callback 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.md no longer pins specific versions.
Build asset directory now follows the build itself; toolbar modularized.
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.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
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
fftrandfftrs.eval; JavaScript also no longer crashes when there is nothing to evaluate.codeimportupdates before running; new TinyGo-based Go starter template; Zig template updated for Zig 0.17.Platform
.ticassociation on Android 12+.addsurvives Emscripten runtime trimming.Bug fixes
sfx()ignoring note/octave/speed from the SFX editor.KEYBOARD_LAYOUT_ESaftertic_key_iso_extraremoval.tic80_tickcallback declarations.Build & infrastructure
SECURITY.mdno longer pins specific versions.Statistics: 62 commits, 54 pull requests, 19 contributors.
On tic80.com
The site moved on too:
profile: hidden at once, recoverable for 30 days, comments and +1s included.
An account can delete itself the same way.
counter in the navigation.
liked first is gone.
cartridge alone: no site chrome, the player fills the screen, and the game
starts as soon as the page opens.
than the universal one, so they start faster.
What's Changed
.ticassociation on Android 12+ by @imsys in AndroidManifest -> Set to Game category, and fix.ticassociation on Android 12+ #2956New Contributors
Full Changelog: v1.2.0...v1.3.0
This discussion was created from the release TIC-80 tiny computer 1.3.0.
All reactions