Releases: nesbox/TIC-80
TIC-80 tiny computer 1.1.2837
What's Changed
- Some keys are not working with foreign keyboard (i.e. right parenthesis for azerty layout) by @nesbox #2310
- add build instruction for ubuntu 22.04 by @jackygoule in #2277
- Change janet's withsyms to with-syms by @sogaiu in #2287
- Disable structured editing on non-Emacs editors by @neolight1010 in #2294
- Update zig examples and template to latest Zig by @tupini07 in #2298
- Update "help keys" output to include keycodes for ESC, F1-F12, and numpad keys by @cdwfs in #2299
- Add true, false, nil to FennelKeywords by @neolight1010 in #2303
- bump janet version to 1.31.0 by @AlecTroemel in #2306
- Fix issue 2291 by @Eulenmensch93 in #2309
- Handle Numpad Enter key as regular Enter key by @neolight1010 in #2305
- Add a few more emacs bindings by @non in #2318
- Upgrade Python language bindings to
v1.2.x
by @blueloveTH in #2315 - Janet language bindings for ttri fn, texsrc arg can be int or bool by @AlecTroemel in #2323
- fixed eval command in ruby by @zacx-z in #2326
trace
can log object-type argument in ruby to be consistent with lua by @zacx-z in #2332
New Contributors
- @jackygoule made their first contribution in #2277
- @sogaiu made their first contribution in #2287
- @tupini07 made their first contribution in #2298
- @Eulenmensch93 made their first contribution in #2309
- @non made their first contribution in #2318
- @zacx-z made their first contribution in #2326
Full Changelog: v1.1.2736...v1.1.2837
TIC-80 tiny computer 1.1.2736
What's Changed
- Android: version code stuck #2283 by relan
- Sprite editor touch screen not working properly(Android) #2270 by MateusH7
- [Bug] [QuickJS] Glitches and crashes #2268 by scambier
- Remap signature has changed in JavaScript #2267 by scambier
- Some keys are not working #2265 by Kitsuinox
- [Bug] CRT shader doesn't work on HTML exports with alone=1 #2229 by scambier
- Some Android devices can't access tic files without rooted phone #2222 by rubensoleao
Full Changelog: v1.1.2729...v1.1.2736
v1.1.2729
What's Changed
- Refactor and improve browser versions (tic-html, export stubs, webapp) by @tranxuanthang in #1912
- Adjust scroll of console when a command spills to the next line. by @sakisakira in #1925
- Enable scrolling Code Editor by key-combinations like Ctrl-P and Ctrl-N. by @sakisakira in #1926
- Update fedora build instructions by @rktjmp in #1936
- Building on FreeBSD by @peterhil in #1941
- Add djgpp support by @phcoder in #1942
- Feature: Optional auto-closing of delimiters by @benthor in #1946
- Support OSX PPC, GameCube, Wii and WiiU as libretro core by @phcoder in #1943
- Add credits for PR #1946 by @benthor in #1947
- Fix mget function signature in WASM binding by @soxfox42 in #1951
- Add metainfo and fix case typo in desktop category. by @kevinsmia1939 in #1957
- Fix loading full-size BINARY chunks by @soxfox42 in #1964
- Add smooth line drawing in sprite editor by @solarized-fox in #1967
- Fix WASM font signature by @soxfox42 in #1971
- Improve the Zig template by @soxfox42 in #1974
- Add a Rust WASM template by @soxfox42 in #1977
- Add C template by @Gota7 in #1981
- Add DocumentsProvider for Android. by @sakisakira in #1998
- Add receiving intent of ACTION_SEND for Android. by @sakisakira in #2003
- Support fn+enter alias for insert on mac keyboards by @fiskWasTaken in #2010
- override some scale settings; finer-grained SDL init by @dhorlick in #2007
- (typo) fix name of utility in usage instructions by @joshgoebel in #2044
- (fix) fix
time()
API call - revert theclock()
changes by @joshgoebel in #2047 - (fix) help = by @joshgoebel in #2057
- (fix) help api/cmd/usage is not exclusive by @joshgoebel in #2058
- Fix rare segfault during shutdown by @jezze in #2063
- Fix segfault in player-sdl by @jezze in #2062
- Fix counter and freq for libretro by @jezze in #2072
- Adding png chunk cartridge support by @bztsrc in #2045
- Fixes #2016 by @Podepi in #2070
- Don't show "unknown topic" when help message is displayed by @iacore in #2068
- Skip empty menu option by @iacore in #2067
- Minor fixes by @jezze in #2066
- Fix typo and reduce 2 newlines at end to 1 in
baremetalrpi
instructions by @tylerms887 in #2052 - Add png chunk loading by @bztsrc in #2088
- janet support by @AlecTroemel in #2079
- (docs) <96kb is reserved RAM, not free by @joshgoebel in #2094
- make errBuffer pointer, avoid memory bug by not using janet_buffer_init by @AlecTroemel in #2095
- add function definitions for music args count 4 through 7 by @AlecTroemel in #2096
- Correct dev MacOS app path by @lzap in #2098
- add default waves and SFX for demo janet and fennel carts by @AlecTroemel in #2099
- use different lua class setup to avoid weird field clobbering by @AlecTroemel in #2101
- renamed misspelled tmap to map by @AlecTroemel in #2103
- Improve the Janet demo cart by @soxfox42 in #2106
- Add janet outline function by @AlecTroemel in #2110
- S7 Scheme language support by @sthilaid in #2113
- Update README.md by @sthilaid in #2116
- Code Editor upgrades: structured s-expresion edition and emacs-mode by @sthilaid in #2117
- update janet vendor, sandbox file (and everything else), implement OVR callback by @AlecTroemel in #2118
- Added hotkey option to menu items. Used in Yes/No dialog. by @sthilaid in #2120
- Language specific string delimiters by @sthilaid in #2119
- Scheme defstruct by @sthilaid in #2122
- Delete line improvement by @sthilaid in #2123
- fixed error in scheme SPR api function by @sthilaid in #2125
- Upgrade to Fennel 1.3.0. by @technomancy in #2130
- Remove defaults for sx/sy in WASM map() function by @Madadog in #2132
- Fix strict mode in default fennel cart. by @technomancy in #2136
- Update list of Fennel keywords for version 1.3.0. by @technomancy in #2139
- Bypass checks which disable Fennel friendly compiler errors. by @technomancy in #2140
- Better scheme errors by @sthilaid in #2145
- Clamp input to animEffect() by @Madadog in #2149
- Upgrade janet to 1.27, add mingw workflow build by @AlecTroemel in #2155
- Update README.md by @theKapcioszek in #2167
- fix janet pmem implementation, which was completely broken. by @AlecTroemel in #2171
- n3ds: fix crash on exit due to incorrect free() on screen buffer by @asiekierka in #2180
- Vi mode by @koltenpearson in #2174
- fix implementation of janet sfx function by @AlecTroemel in #2186
- Python language bindings by @koltenpearson in #2184
- Convert
vendor/pocketpy
into a git submodule by @blueloveTH in #2200 - Fix bank parameter for music export by @borbware in #2202
- Update Rust template to remove optimisation issue by @soxfox42 in #2204
- Update macOS build instructions to match included plist file by @jpaquim in #2206
- #2191 focus the canvas on click by @AlecTroemel in #2209
- update pocketpy to v1.0 by @koltenpearson in #2212
- adds editor options for indentation with spaces or tabs by @koltenpearson in #2217
- C API accuracy improvements and better layout by @Gota7 in #2227
- Run key processing even when ctrl key is pressed by @blind in #2234
- fix typos by @kianmeng in #2242
- Add numpad keys to keycodes by @cdwfs in #2245
- Remove whitespaces before colons in pythondemo.py by @sudo-piko in #2236
- Upgrade to Fennel 1.3.1 by @fosskers in #2246
- Fix C template build error by @soxfox42 in #2254
- #2260: Updated Rust template build instructions by @villesundell in #2261
New Contributors
- @tranxuanthang made their first contribution in #1912
- @sakisakira made their first contribution in #1925
- @rktjmp made their first contribution in #1936
- @peterhil made their first contribution in #1941
- @benthor made their first contribution in #1946
- @soxfox42 made their first contribution in #1951
- @kevinsmia1939 made their first contribution in #1957
- @solarized-fox made their first contribution in #1967
- @Gota7 made their first contribution in #1981
- @fiskWasTaken made their first contribution in #2010
- @dhorlick made their first contribution in #2007
- @jezze made their first contribution in #2063
- @bztsrc made their first contribution in #2045
- @Podepi made their first contribution in #2070
- @iacore made their first contribution in #2068
- @tylerms887 made their first contribution in #2052
- @AlecTroemel made their first contribut...
TIC-80 tiny computer 1.0.2164
What's Changed
- Added --version command line argument by @nalquas in #1503
- Handle emacs ^n ^p and ^e keys in the editor by @trufae in #1530
- sdl: Fix comparision warning by @RobLoach in #1537
- Add TIC_UNUSED() to handle unused parameter warnings by @RobLoach in #1538
- Update Fennel to version 0.10.0. by @technomancy in #1539
- fix path problems with baremeta #1541 by @msx80 in #1582
- Improvements for language support by @msx80 in #1590
- Baremetal RPI: added Squirrel language which was previously disabled. by @msx80 in #1596
- Fix eval command by @technomancy in #1633
- Optimize tic api call performance in LUA. by @vsariola in #1628
- #714: fix crackling audio. by @vsariola in #1618
- Activate strict mode in Fennel when strict: true header is found. by @technomancy in #1653
- Poke1 and Peek1 by @SuperPupperDoggo in #1616
- (fix) ignore negative index passed to spr by @joshgoebel in #1665
- (enh) errors when mkdir fails by @joshgoebel in #1667
- (chore) move moonscript into separate C file by @joshgoebel in #1670
- fixup: move moon script and fennel into sep files by @joshgoebel in #1671
- (enh) Music editor: Skip over sharp column when using cursor keys by @joshgoebel in #1672
- Fedora build instructions by @lzap in #1679
- add MacOS application instructions by @lzap in #1680
- suggest pro when trying to open source with standard by @joshgoebel in #1684
- Replace a right single apostrophe in the API help with an apostrophe by @blinry in #1697
- Improvements to README.md by @Tyler887 in #1701
- Add community guidelines by @Tyler887 in #1703
- Update Fennel to version 1.0.0. by @technomancy in #1708
- squirrel: Fix mouse() from returning null values by @RobLoach in #1719
- Add some missing spaces, and reword a few phrases by @blinry in #1722
- sdl: Fix warnings of string.h missing by @RobLoach in #1724
- Fix OpenDingux builds by @RobLoach in #1725
- Ruby scripting support by @remi6397 in #1726
- Small changes to the Ruby bindings by @remi6397 in #1733
- Add Shift+Return shortcut to the code editor that auto-closes a block by @blinry in #1721
- When listing language options in the spec, use "x, y, or z" format by @blinry in #1745
- On Linux, use Ctrl+L to clear the console, per default of other shells by @blinry in #1753
- Add help topics for keys and buttons by @blinry in #1754
- Typo: Correct variable was not getting updated by @joshgoebel in #1783
- Create SECURITY.md by @joshgoebel in #1786
- Console:
cd
with no args returns home by @joshgoebel in #1789 - add default license, version, site tags to demos by @joshgoebel in #1790
- support CTRL-A, CTRL-E console editing keystrokes by @joshgoebel in #1791
- (chore) bring all Demo header into sync with new tags by @joshgoebel in #1793
- fix: prevent cartridges hijacking keyboard events by @joshgoebel in #1787
- Do not default to the first available language for new carts. by @remi6397 in #1792
- (enh) moonscript supports eval now by @joshgoebel in #1800
- faster drawTile, remove repeat clipping checks by @joshgoebel in #1801
- order langauges by alphabetical order by @joshgoebel in #1804
- split out main menu code from studio by @joshgoebel in #1813
- Fix compilation for emscripten libretro by @phcoder in #1821
- mruby: Make Ruby Build Optional by @RobLoach in #1823
- Update SDL2 version by @luizdepra in #1825
- Export without editor in pro version is done. by @Darenn in #1837
- (chore) update Zig source to use new BOOT() by @joshgoebel in #1863
- [WIP] Advanced tab-completion for the console by @blinry in #1840
- fix(zig) fix template compiling and add TextureSource by @joshgoebel in #1850
- D WebAssembly binding by @PierceNg in #1886
- Fix crash when internet is disabled by @OldiLo in #1890
- Improved D template by @PierceNg in #1891
New Contributors
- @trufae made their first contribution in #1530
- @vsariola made their first contribution in #1628
- @lzap made their first contribution in #1679
- @blinry made their first contribution in #1697
- @Tyler887 made their first contribution in #1701
- @remi6397 made their first contribution in #1726
- @luizdepra made their first contribution in #1825
- @Darenn made their first contribution in #1837
- @PierceNg made their first contribution in #1886
- @OldiLo made their first contribution in #1890
Full Changelog: 0.90.1723...v1.0.2164
TIC-80 tiny computer 0.90.1723
CHANGELOG v0.90.1723
CLOSED ISSUES
- #1517 - [0.90] "Cart has changed" dialog does not close
- #1513 - map editor: tile cursor not visible in 0.90
- #1494 - [0.90] Watcher fails when loading multiple carts
- #1510 - Unable to draw to bigger circles in 0.90
- #1499 - TIC-80 keeps stopping (Android)
- #1490 - [0.90] (Win7) getsystemtimepreciseasfiletime error in exported executable
- #1501 - TIC-80 is not opening on linux
- #1493 - Wonky icon [0.90 Bug]
- #1495 - [0.90] TIC-80 does not start
- #1492 - [0.90]No name and author name by pressing Ctrl+S to save cart.png
- #1496 - Won't Start in Firefox
- #1489 - [0.90 bug] ctrl+r returns multiple times
CHANGELOG v0.90.1706
THANKS to all the people who helped release this version, especially the contributors
@cogk
@Voklen
@brickviking
@schraf
@Karethoth
@jminor
@cgrs
@RobLoach
@txgruppi
@tstopak
@phlubby
@joshgoebel
@technomancy
@nalquas
@msx80
@asiekierka
@drako0812
MAIN CHANGES
Added text selection/copy/paste to the console
A cart can be saved and distributes as a PNG image, use save game.png
command.
TIC-80 can work like a compiler without UI with --cli
command line parameter, for example here we load game.tic
cart from current dir (use --fs .
) and export it as game.exe
executable for Windows:
$ ./tic80 --cli --fs . --cmd "load game.tic & export win game.exe & exit"
cart game.tic loaded!
use RUN command to run it
GET /export/0.90/win [100%]
game.exe exported :)
Also, games can be exported without access to the editors with alone=1
flag (PRO feature)
export linux game.exe alone=1
The help
command was redesigned and you can get info about spec/ram/api/command/...
>help
usage: help [<text>|version|welcome|
spec|ram|vram|commands|api|startup|
terms|license]
>help api
API functions:
OVR SCN TIC btn btnp circ circb clip
cls elli ellib exit fget font fset key
keyp line map memcpy memset mget mouse
mset music peek peek4 pix pmem poke
poke4 print rect rectb reset sfx spr
sync textri time trace tri trib tstamp
>help sync
---=== API ===---
sync(mask=0 bank=0 tocart=false)
The pro version of TIC-80 contains 8
memory banks.
To switch between these banks, sync can
be used to either load contents from a
memory bank to runtime, or save
contents from the active runtime to a
bank.
The function can only be called once
per frame.If you have manipulated the
runtime memory (e.g. by using mset),
you can reset the active state by
calling sync(0,0,false).
This resets the whole runtime memory to
the contents of bank 0.Note that sync
is not used to load code from banks;
this is done automatically.
Another useful thing you can export whole help info in Markdown format, use command export help cheatsheet.md
Added mouse capture functionality to receive relative values instead of the current cursor position (useful in first-person 3D games), the cursor is hidden and this mode. To enable this mode pls use poke(0x7FC3F,1,1)
command.
Small example with enabling the relative mode:
function flip(val)return val>0 and 0 or 1 end
function TIC()
if btnp(4)then
poke(0x7FC3F,flip(peek(0x7FC3F,1)),1)
end
cls()
local x,y=mouse()
print(x..":"..y)
end
Added baremetal/rpi/3ds builds to Github Actions and all the Nightly Builds can be downloaded here https://nightly.link/nesbox/TIC-80/workflows/build/master
Now you can change bit mode in the map editor
On Android, you can switch between the system keyboard and TIC-80 internal keyboard
Hardware keyboard now detects automatically.
CLOSED ISSUES
- #1486 - Problems with Jxx and row parameter of the music () function again present. Old lines are being used in src/core/sound.c
- #1482 - Website: Can’t upload Fennel cartridges
- #1480 - Website: Page titles
- #1477 - saveid not working when exporting with alone=1
- #1475 - Add an additional parameter to peek/poke functions for diferent bit resolutions
- #1469 - TIC-80 crash on Windows XP
- #1455 - Move all the icons to the config.lua
- #1454 - TIC throws OOMs when trying to run this cart in browser
- #1447 - Cursor shows over bookmarks tab
- #1446 - M command retriggers note
- #1434 - map editor select appears over show tiles
- #1430 - Horizontal scrolling while shift is held
- #1421 - Navigate palette with [ and ] keys
- #1414 - Please add Git SHA to the build number version in console
- #1405 - Code outline items corruption
- #1398 - TIC-80 Crashes when I stream it in a Discord voice channel.
- #1396 - Buffer Overflow Vulnerability in src/studio/fs.c
- #1395 - Distribute Linux version as zip on itch.io for better itch.io app integration
- #1394 - Incorrect OVR palette
- #1388 - RESUME command doesn't restore screen bug
- #1380 - Update wiki: CHUNK_SCREEN, tic_screen, sync, etc.
- #1372 - Path does not update on console correctly bug
- #1370 - Editor does not update when pressing enter bug
- #1360 - music function crashes in javascript bug
- #1356 - Saving cartridge crashes the dev (Pro) build bug
- #1345 - Crash in editor with 1BPP mode bug
- #1343 - (end) add "Debug" to TIC_VERSION_LABEL for debug builds
- #1338 - TIC80 Freezes When Trying To Run Game After Saving As Lua bug
- #1332 - alt-tab inserts a space in the code editor bug
- #1331 - Little pause at the beginning of the music
- #1326 - current build crashes on 3ds
- #1323 - duktape submodule fetches all duktape versions ever released
- #1319 - Add new & popular filter to the website
- #1315 - Add pagination to the website website
- #1312 - [Request] Please add THEME.CODE.FG to alter foreground text in code editor
- #1308 - Add a chunk to load default palette/waveforms
- #1306 - Game exits to the console if you press ESC twice
- #1290 - Live reload not working bug
- #1282 - Dividing by Zero in line function causes Tic-80 to crash. bug
- #1275 - Please add back ability to name gifs
- #1273 - Distorted sound with 0.80.1345 Pro on Linux
- #1271 - new fennel creates the cart with the old palette
- #1269 - tic80 -h command outputs to nowhere unless redirected
- #1268 - Zlib compression does not seem to work in 0.80+ versions of TIC-80
- #1267 - Command line arguments do not work anymore in the latest commit
- #1264 - Make all the network requests async
- #1255 - CRT effect in mac
- #1254 - better clipboard support
- #1247 - Make TIC work more like a compiler. console
- #1246 - Add benchmark demos for every supported script.
- #1240 - When compiling TIC-80 with GCC Mingw-w64 it (mingw64) adds additional DLL dependencies
- #1239 - Gif export does not automatically add .gif extension
- #1227 - Feature: Add colors to text with control characters (like Commodore 64)
- #1226 - music() parameter changed? bug lang: javascript
- #1225 - Change Bits Per Pixel in the Map Editor editor: map
- #1224 - install target on Linux does not follow CMAKE_INSTALL_PREFIX
- #1220 - In HTML exported games, all unused buttons on Xbox One controller open/close the TIC menu
- #1216 - Please add a export for web platform: html5
- #1213 - Default text color is now a dark grey
- #1210 - Missing Xext.h on Armbian buster
- #1206 - Minor bug when typing "cd "
- #1205 - 0.80 running quite slower than 0.70.6
- #1195 - editor outline command ctrl+o scrolling not possible
- #1193 - Music() function with tempo parameters API
- #1192 - editor command for comment/uncomment for multiple lines bug editor: code
- #1188 - Creating or loading a cartridge resets font setting to default in code editor editor: code enhancement
- #1159 - (0.80 beta) No wave cut/copy/paste anymore in new SFX editor?
- #1111 - tic.c could be split into quasi-independent parts for api, io, core loop, drawing, music...
- #1102 - Add Keyboard Shortcuts for switching banks
- #1084 - Building without GTK dependencies
- #1044 - Error on openig in linux platform: linux
- #1033 - ls/dir fails to sort properly
- #1017 - Build succeeded : TIC-80 for Raspberry Pi (Raspbian Buster)
- #1003 - please add to the music editor the button "play from now on" editor: music
- #1001 - Use cover as raw binary screen buffer instead GIF
- #999 - (0.80-dev suggestion) Allow array of volumes in sfx() for left/right API
- #987 - key()/keyp() codes 66 to 78 don't work bug
- #986 - Suggestion: add a mouse capture functionality
- #979 - Replacement of circ() and circb() functions
- #978 - Add Keyboard Shortcuts to Music Editor
- #957 - CTRL+R doesn't work when launching a tic.computer/play cart SURF
- #923 - Website "store" improvements website
- #921 - Setup CI using Github Actions
- #912 - Integrating Raspberry Baremetal build
- #909 - Small font not working in "player" executable bug
- #901 - Properly name of cart.tic software in website website
- #832 - (0.80.0-dev Pro) Custom system sounds won't play at the correct speed bug
- #823 - corrupted size vs prev_size
- #799 - Native export shows "File not downloaded" bug
- #764 - Map editor: replace tile feature editor: map enhancement
- #755 - [Feature Request] Cartridge embedded in PNG export for easy sharing enhancement
- #749 - Music "joins" ch...
TIC-80 tiny computer 0.80.1344
CHANGELOG v0.80.1344
MAIN CHANGES
First of all, I want to say THANKS to all the people who helped release this version, especially the contributors
@asiekierka
@RobLoach
@ddelemeny
@technomancy
@anatolse
@stefandevai
@gouchi
@phcoder
@michaeldel
@wadetb
@farvardin
@buckle2000
@kawa-yoiko
@cuu
@GrahamClemo
@rudenkoarts
@librorumque
@kostik1337
The new version has a new UI made with the Sweetie16
palette designed by GrafxKid.
Code Editor
- added bookmarks support
toggle [CTRL+F1], next [F1], prev [SHIFT+F1], remove all [CTRL+SHIFT+F1]
- added parentheses matching by @technomancy
- removed code banks and all the code limited by 64K of compressed data now
- added font shadow button
- removed
dofile()
function, but you can save cart in text format and edit in any editor you want, usesave game.lua
andfolder
to locate it
Sprite Editor
- changed default palette to Sweetie16 made by GrafxKid
- added the Advanced Mode button where you can edit sprite flags, scanline/overline palette, switch bits per pixel
- with
4bpp
,2bpp
,1bpp
modes you can store more sprites by lowering the color bit (added by @ddelemeny). Please, read Advanced Drawing Techniques article and look atbpp.tic
demo
Sfx Editor
- added stereo sound support, you can set the volume for left/right channels
- fully redesigned UI, I tried to fit all screens in one and added some wave animation
Music Editor
- added music effects support, you can change master volume, play a chord, jump to frame, pitch bend, vibrato, delay
- added new Piano Mode, where you can edit notes/octaves using mouse
- added waveform animation and follow mode
Console
- added
export sfx/music [index]
command to export.wav
export html
creates.zip
ready for production on itch.io with Web Assembly inside
CLOSED ISSUES
- #1148 - pmem command with html exports?
- #1145 - found bug in 0.80.1278-dev
- #1140 - difference in sfx noise behaviour switching from 0.70.6 to 0.80-dev
- #1139 - surf does not show all games
- #1138 - surf loops around at end only
- #1136 - workaround to load code from multi bank carts
- #1135 - add menu command to show game menu console
- #1130 - saving to a cart extension that isn't .tic doesn't display the overwrite warning
- #1090 - music editor with piano roll editor: music
- #1089 - create a tool to compile text carts to .tic
- #1085 - suggestion: change show/hide grid key in map editor
- #1075 - paren matching in code editor
- #1071 - sprite editor select tool jumbles the selection content when moved
- #1054 - remove all the
duk_is_null_or_undefined
in jsapi.c - #983 - (0.80.0-dev) some carts that poke to sound registers are broken
- #977 - (0.80.0-dev) jxy command in music editor can softlock tic-80
- #973 - (0.80.0-dev) add stereo panning registers to ram layout?
- #972 - sounds not playing in google chrome in exported game
- #962 - loading cartridges with active code banks broken
- #948 - update squirrel
- #940 - tic-80 surf: show the cover image resolution is 480x272 after tic-80 cover image is broken
- #938 - use curl instead sdl2-net
- #931 - [music tracker] can no longer change octave
- #917 - appveyor failing
- #909 - small font not working in "player" executable
- #902 - palette loading bug
- #896 - copy table data directly to ram using memcpy()
- #889 - restore keyconfig command
- #873 - it's time to change default palette
- #870 - deploy all the builds to https://builds.tic80.com
- #850 - pmem with saveid is broken at least in chrome
- #837 - program crashes after random interval (10 min), bringing down xwayland
- #816 - command+k clear console
- #815 - osx: "no mountable file systems"
- #810 - --input: [gamepad/mouse/keyboard] issue
- #807 - display in non-sokol build
- #785 - keyboard on android version
- #783 - get rid of max_carts const
- #782 - extract 16kb vram from 80kb ram
- #777 - emscripten build issues and build instructions
- #747 - keyboard layout broken again! (0.80.0-dev)
- #732 - stereo sound support
- #725 - sound and music exporter
- #693 - add ovr() palette to the sprite editor
- #668 - 0.70.1 pro on android: back button broken bug
- #657 - switching between apps turns tic-80's screen black on android
- #585 - divide by zero crashes tic80
- #557 - "wiki" command does nothing in web build
- #452 - start into surf mode.
- #435 - fold function in code editor
- #382 - music editor: sustaining notes through frames
- #320 - maybe move to cmake or something similar?
- #261 - implement effects column in the music editor
MERGED PULL REQUESTS
- @asiekierka #1122 - 3ds port
- @asiekierka #1120 - surf: add support for using left/right or page up/page down to scroll
- @asiekierka #1119 - minor rendering optimizations
- @RobLoach #1114 - display the stack when there is an error
- @RobLoach #1053 - fix font() breaking when retrieving arguments
- @RobLoach #1045 - add timestamp() function
- @RobLoach #1028 - split up 3rd-party submodule into individual vendor submodules
- @RobLoach #851 - update to duktape 2.3.0
- @ddelemeny #1105 - modify blit segment spec
- @ddelemeny #1099 - variable bit-per-pixel drawing api
- @ddelemeny #1097 - draw studio popup after everything else
- @ddelemeny #1095 - enable chromakey array on map and textri
- @ddelemeny #1094 - fix segmentation fault caused by findmatcheddelim unsafe null pointer
- @ddelemeny #1061 - sort points vertically in ticline
- @technomancy #1101 - allow "export html foo.zip" to provide name non-interactively.
- @technomancy #1091 - wip: upgrade to fennel version 0.4
- @technomancy #1078 - accept and run commands from argv.
- @technomancy #840 - when -code-watch flag is passed, reload all the code upon resume.
- @anatolse #1066 - fixed some warnings from a static analyzer
- @stefandevai #1067 - update generated html
- @stefandevai #1064 - add sustain to notes and effects on frame change
- @stefandevai #1063 - follow cursor on music editor
- @gouchi #1048 - add libretro makefile
- @phcoder #1031 - make merge_static.sh executable
- @phcoder #1030 - allow overriding cmake_position_independent_code from command line
- @phcoder #1024 - fix resulting name for libretro emscripten variant
- @michaeldel #1012 - fix sdl cursors memory leak
- @wadetb #975 - touch keyboard tweaks and fix
- @wadetb #974 - fix android black screen when paused
- @wadetb #968 - map view fixes when wrapping around the edge
- @wadetb #967 - misc code editor additions/fixes
- @farvardin #930 - adding extra keys for the trackers
- @buckle2000 #839 - add using and local as moonscript keywords
- @kawa-yoiko #826 - fix sokol build vertically flipped under linux
- @kawa-yoiko #821 - fix (and simplify) blurry sokol rendering
- @kawa-yoiko #820 - fix colour replacement misses borders
- @kawa-yoiko #819 - workaround for freeze on fullscreen under macos
- @cuu #813 - fix -fullscreen
- @GrahamClemo #759 - add squirrel language support to tic-80
- @rudenkoarts #744 - wren code outline
- @librorumque #739 - respect palette map for sprite colorkey
- @kostik1337 #733 - added single-param pmem function in wren api
TIC-80 tiny computer 0.70.6
CHANGELOG
version 0.70.5 (https://github.com/nesbox/TIC-80/milestone/24?closed=1)
0.70.6
- GL3 shader error bug #678
- Wiki command does nothing on Android bug #659
- Caps Lock not working bug #661
- Keyboard mappings broken! bug #655
- Re-enable tumbler mouse clicks bug #688 (thank you @DB0z)
- Gently clicking the right side on the Code Editor scrolls the entire screen while using the small font bug #682
- Add config flag to make tiny font default editors enhancement #666
- When using Wren, sync() writes data to cart instead of restoring it bug #673
- #673 #684 fix (sync() with no arguments in wren) (thank you @DB0z)
- The file system doesn't work in 0.70.1 bug #664
- Music editor stucks on the last note bug #662
TIC-80 tiny computer 0.70.1
CHANGELOG
version 0.70.1 (https://github.com/nesbox/TIC-80/milestone/23?closed=1)
0.70.1
- added own touch keyboard on Android
- added alternative tiny font, you can use it in the Code Editor or in the API
- added Wren language support http://wren.io (thank you @RudenkoArts)
- added Fennel language support https://fennel-lang.org (thank you @technomancy)
- added
eval
command (thank you @technomancy) - added CRT monitor effect, use F6 to enable/disable it (works on every platform supported OpenGL)
- removed
VSYNC
support, usingdelay
instead, so TIC should work on monitors > 60Hz without sound desync - added stack trace on an error (thank you @jahodfra)
- fixed selection flipping in the Sprite Editor (thank you @frenetic)
- use
CTRL+PGUP/PGDN
to switch modes (thank you @technomancy) - added
Quit TIC-80
to the game menu - added
-uiscale
command line argument (UI_SCALE
in the config) - added menu to
build.sh
script (thank you @matimati433) - added Travis Continuous Integration service
- fixed UV errors, clipping and some improvements in
textri
api (thank you MonstersGoBoom) - fixed error on startup in Firefox
- SDL2 lib extracted as a separated entity
you can review full changelog here https://github.com/nesbox/TIC-80/milestone/23?closed=1
Thanks all for the support and Pull Requests.
PS.
I hope next update will be released earlier than a half year :)
TIC-80 tiny computer 0.60.3
CHANGELOG
version 0.60.3 (https://github.com/nesbox/TIC-80/milestone/22?closed=1)
0.60.3
- Persistent Memory (PMEM) moved from 80K RAM layout and has 1KB now (you can store up to 256 integers). Freed space (28 bytes) used to store data for
4 gamepads + mouse XY and buttons + keyboard
- added keyboard support (use key() / keyp() API)
- you can use mouse / gamepad / keyboard simultaneously, and you can use up to 4 gamepads
- removed
KEYMAP
command, you can configure gamepad mapping in the GAME MENU - you will see
SYNC
label (synchronization error) if your game doesn't fit 60 FPS (only native, doesn't work in web version) - mouse pointer disappears in games that don't support it (in games with declared
-- input: gamepad
or-- input: keyboard
) - mirror/rotate selection in the Sprite Editor
- SDL updated 2.0.7
0.60.0
- added optimisations for main render function and some draw API, like draw
spr
,circ
andtri
, now they > 2x faster (by @jahodfra) - added special Overlap Mode (OVR), it allows you to do things like this:
... here I draw BG in TIC() function and change palette and screen offset in scanline() callback, then I draw Ship sprite in OVR() function as though it will be on a separate layer - added
-skip
command line option to run TIC without startup animation - added
-fullscreen
command line option to run in Fullscreen - added
shadow
variable to the Config to hide shadow in the Code Editor - you can exit infinite loop in Lua and JS by pressing ESC now
- added
reset()
API, to restore your game to initial state - syntax highlighter in the Code Editor was totally rewritten and works 100x faster now
- [PRO feature] added Bank Switching, for people who want to create a really big game, you can switch between 8 banks in Runtime using
sync()
API, you can do it only one time per frame for tiles, sprites, map, sfx, music, info here https://github.com/nesbox/TIC-80/wiki/sync#parameters - fixed keyboard focus on Android
- fixed selected deletion in Sprite Editor (by @frenetic)
- Sprite and Map editors render in OVR mode now (UI is not changed at all if change palette)
- added random generator pre-seeding on every game start
- and other minor fixes...
Thanks for contributions:
@jahodfra
@frenetic
and others, for the bug reports!
TIC-80 tiny computer 0.50.1
CHANGELOG
version 0.50.1 (https://github.com/nesbox/TIC-80/milestone/21?closed=1)
added:
- you can define cart storage directory as first parameter in command line,
tic80 .
will use current directory as storage,tic80 ../path/to/cart.tic
will use../path/to/
as storage and loadcart.tic
- added PRO version of TIC, you can get it here for $5 https://nesbox.itch.io/tic, or build yourself using
make linux-pro
for example - added text version of carts and you can edit it in any editor, use 'save cart.lua' to get text version of your cart [PRO feature]
- optimised
spr()
function performance (got 20000 points in benchmark, 13000 was before) tic
renamed totic80
sync()
api has new direction parameter, true -> sync from RAM to cart, false -> sync from cart to RAM (useful to restore cart data in the RAM)- you can paste sigle color value in the palette editor
- added benchmark.tic cart to demos
- run
tic80 -surf
to start in SURF mode - run
tic80 -nosound
to start in silent mode - run
tic80 -fullscreen
to start in fullscreen mode - makefile flags to build with LTO (link time optimisation)
- added 1px shadow to text in the Code Editor
- updated makefile to build on any version of Linux (Arch/RPi/...)
- added
edit
command to show editors - added
version
command - added RETINA support on MacOSX
fixed:
pix()
api color bounds- warning message emits a tone on unsaved cart
- sprites export with wrong palette
- scanline position and border, all render to one texture 256x144px
- fixed live reload
- fixed some crashes
- removed some compilation warnings
- XYUV's switched to floats in
textri()
, also fixed crash