Skip to content

TIC-80 tiny computer 0.90.1723

Compare
Choose a tag to compare
@nesbox nesbox released this 16 Jul 14:59
· 1114 commits to stable since this release

CHANGELOG v0.90.1723

CLOSED ISSUES

  1. #1517 - [0.90] "Cart has changed" dialog does not close
  2. #1513 - map editor: tile cursor not visible in 0.90
  3. #1494 - [0.90] Watcher fails when loading multiple carts
  4. #1510 - Unable to draw to bigger circles in 0.90
  5. #1499 - TIC-80 keeps stopping (Android)
  6. #1490 - [0.90] (Win7) getsystemtimepreciseasfiletime error in exported executable
  7. #1501 - TIC-80 is not opening on linux
  8. #1493 - Wonky icon [0.90 Bug]
  9. #1495 - [0.90] TIC-80 does not start
  10. #1492 - [0.90]No name and author name by pressing Ctrl+S to save cart.png
  11. #1496 - Won't Start in Firefox
  12. #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

image

Added text selection/copy/paste to the console

ezgif-1-3ed349c748d5


A cart can be saved and distributes as a PNG image, use save game.png command.
meat


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
ezgif-1-4c01dcf4fc08


On Android, you can switch between the system keyboard and TIC-80 internal keyboard
image
Hardware keyboard now detects automatically.

CLOSED ISSUES

  1. #1486 - Problems with Jxx and row parameter of the music () function again present. Old lines are being used in src/core/sound.c
  2. #1482 - Website: Can’t upload Fennel cartridges
  3. #1480 - Website: Page titles
  4. #1477 - saveid not working when exporting with alone=1
  5. #1475 - Add an additional parameter to peek/poke functions for diferent bit resolutions
  6. #1469 - TIC-80 crash on Windows XP
  7. #1455 - Move all the icons to the config.lua
  8. #1454 - TIC throws OOMs when trying to run this cart in browser
  9. #1447 - Cursor shows over bookmarks tab
  10. #1446 - M command retriggers note
  11. #1434 - map editor select appears over show tiles
  12. #1430 - Horizontal scrolling while shift is held
  13. #1421 - Navigate palette with [ and ] keys
  14. #1414 - Please add Git SHA to the build number version in console
  15. #1405 - Code outline items corruption
  16. #1398 - TIC-80 Crashes when I stream it in a Discord voice channel.
  17. #1396 - Buffer Overflow Vulnerability in src/studio/fs.c
  18. #1395 - Distribute Linux version as zip on itch.io for better itch.io app integration
  19. #1394 - Incorrect OVR palette
  20. #1388 - RESUME command doesn't restore screen bug
  21. #1380 - Update wiki: CHUNK_SCREEN, tic_screen, sync, etc.
  22. #1372 - Path does not update on console correctly bug
  23. #1370 - Editor does not update when pressing enter bug
  24. #1360 - music function crashes in javascript bug
  25. #1356 - Saving cartridge crashes the dev (Pro) build bug
  26. #1345 - Crash in editor with 1BPP mode bug
  27. #1343 - (end) add "Debug" to TIC_VERSION_LABEL for debug builds
  28. #1338 - TIC80 Freezes When Trying To Run Game After Saving As Lua bug
  29. #1332 - alt-tab inserts a space in the code editor bug
  30. #1331 - Little pause at the beginning of the music
  31. #1326 - current build crashes on 3ds
  32. #1323 - duktape submodule fetches all duktape versions ever released
  33. #1319 - Add new & popular filter to the website
  34. #1315 - Add pagination to the website website
  35. #1312 - [Request] Please add THEME.CODE.FG to alter foreground text in code editor
  36. #1308 - Add a chunk to load default palette/waveforms
  37. #1306 - Game exits to the console if you press ESC twice
  38. #1290 - Live reload not working bug
  39. #1282 - Dividing by Zero in line function causes Tic-80 to crash. bug
  40. #1275 - Please add back ability to name gifs
  41. #1273 - Distorted sound with 0.80.1345 Pro on Linux
  42. #1271 - new fennel creates the cart with the old palette
  43. #1269 - tic80 -h command outputs to nowhere unless redirected
  44. #1268 - Zlib compression does not seem to work in 0.80+ versions of TIC-80
  45. #1267 - Command line arguments do not work anymore in the latest commit
  46. #1264 - Make all the network requests async
  47. #1255 - CRT effect in mac
  48. #1254 - better clipboard support
  49. #1247 - Make TIC work more like a compiler. console
  50. #1246 - Add benchmark demos for every supported script.
  51. #1240 - When compiling TIC-80 with GCC Mingw-w64 it (mingw64) adds additional DLL dependencies
  52. #1239 - Gif export does not automatically add .gif extension
  53. #1227 - Feature: Add colors to text with control characters (like Commodore 64)
  54. #1226 - music() parameter changed? bug lang: javascript
  55. #1225 - Change Bits Per Pixel in the Map Editor editor: map
  56. #1224 - install target on Linux does not follow CMAKE_INSTALL_PREFIX
  57. #1220 - In HTML exported games, all unused buttons on Xbox One controller open/close the TIC menu
  58. #1216 - Please add a export for web platform: html5
  59. #1213 - Default text color is now a dark grey
  60. #1210 - Missing Xext.h on Armbian buster
  61. #1206 - Minor bug when typing "cd "
  62. #1205 - 0.80 running quite slower than 0.70.6
  63. #1195 - editor outline command ctrl+o scrolling not possible
  64. #1193 - Music() function with tempo parameters API
  65. #1192 - editor command for comment/uncomment for multiple lines bug editor: code
  66. #1188 - Creating or loading a cartridge resets font setting to default in code editor editor: code enhancement
  67. #1159 - (0.80 beta) No wave cut/copy/paste anymore in new SFX editor?
  68. #1111 - tic.c could be split into quasi-independent parts for api, io, core loop, drawing, music...
  69. #1102 - Add Keyboard Shortcuts for switching banks
  70. #1084 - Building without GTK dependencies
  71. #1044 - Error on openig in linux platform: linux
  72. #1033 - ls/dir fails to sort properly
  73. #1017 - Build succeeded : TIC-80 for Raspberry Pi (Raspbian Buster)
  74. #1003 - please add to the music editor the button "play from now on" editor: music
  75. #1001 - Use cover as raw binary screen buffer instead GIF
  76. #999 - (0.80-dev suggestion) Allow array of volumes in sfx() for left/right API
  77. #987 - key()/keyp() codes 66 to 78 don't work bug
  78. #986 - Suggestion: add a mouse capture functionality
  79. #979 - Replacement of circ() and circb() functions
  80. #978 - Add Keyboard Shortcuts to Music Editor
  81. #957 - CTRL+R doesn't work when launching a tic.computer/play cart SURF
  82. #923 - Website "store" improvements website
  83. #921 - Setup CI using Github Actions
  84. #912 - Integrating Raspberry Baremetal build
  85. #909 - Small font not working in "player" executable bug
  86. #901 - Properly name of cart.tic software in website website
  87. #832 - (0.80.0-dev Pro) Custom system sounds won't play at the correct speed bug
  88. #823 - corrupted size vs prev_size
  89. #799 - Native export shows "File not downloaded" bug
  90. #764 - Map editor: replace tile feature editor: map enhancement
  91. #755 - [Feature Request] Cartridge embedded in PNG export for easy sharing enhancement
  92. #749 - Music "joins" channels together after pressing "Play" while music / frame is still playing
  93. #726 - it should be possible to save and switch multiple 'sections' of the memory to a different 'bank' using sync (e.g. sprites & map) API bug
  94. #692 - Indent with the same characters as were used for previous line.
  95. #660 - Enable keyboard in landscape mode on Android
  96. #658 - Add CRT-filter option to the game menu enhancement
  97. #640 - Clear Input Text Instantly console enhancement
  98. #639 - Page Up / Page Down console enhancement
  99. #636 - CRT Shader Alternative (Speed, Simplicity)
  100. #559 - mouse() returns x,y outside 0,0-239,135 when mouse pointer is on screen border
  101. #454 - Allow using/pasting palettes with less than 16 colors editor: sprites enhancement
  102. #426 - Import sprite to specific slot enhancement
  103. #415 - input rgb values into palette editor editor: sprites enhancement
  104. #370 - Syntax highlighting bug bug editor: code lang: lua
  105. #312 - if you press up or down very fast it keeps repeating the same selection in SURF SURF bug
  106. #253 - Distribute TIC as package in Linux enhancement platform: linux
  107. #169 - Disable Editors PRO enhancement
  108. #154 - help (api function) command enhancement

MERGED PULL REQUESTS

  1. #1483 - #764: replace tile feature in map editor by @cogk
  2. #1464 - Installing and running instructions by @Voklen
  3. #1463 - Correct spelling of a single word by @brickviking
  4. #1457 - Adding a Progressive Web App build by @schraf
  5. #1456 - Fixes for 2 SIGSEGVs when section is NULL by @Karethoth
  6. #1443 - Enable CRT shader in wasm/WebGL build by @jminor
  7. #1442 - Fix import command. by @jminor
  8. #1435 - Fix CRT shader on macOS. by @jminor
  9. #1427 - fix dapper builds by @cgrs
  10. #1416 - wren: Add as and continue keywords by @RobLoach
  11. #1406 - Update Wren to 0.4.0 by @RobLoach
  12. #1393 - libretro: Add features from jdgleaver by @RobLoach
  13. #1390 - libretro: Fix retro_get_memory_size() by @RobLoach
  14. #1386 - Add "code" to the import usage documentation by @RobLoach
  15. #1385 - Font fix on cart load by @txgruppi
  16. #1369 - Fixed Squirrel's print function fixed flag by @txgruppi
  17. #1368 - Wren TIC.btn fixes by @txgruppi
  18. #1363 - Multiline Comments by @tstopak
  19. #1361 - libretro: Update the memory data slots by @RobLoach
  20. #1358 - Fix MinGW build, do not add msvc specific flag by @tstopak
  21. #1355 - Fix using full path as cart name when loading cart by @phlubby
  22. #1348 - libretro: Update libretro.h and code standards by @RobLoach
  23. #1341 - Show how to build pro version by @joshgoebel
  24. #1336 - Update to Fennel 0.8.1. by @technomancy
  25. #1328 - Update to Duktape 2.6.0, and use a shallow clone by @RobLoach
  26. #1322 - Clip mouse values in SDL and Sokol by @nalquas
  27. #1318 - Make RAM and VRAM a bit more explicit by @joshgoebel
  28. #1316 - (chore) Migrate Raspberry Pi build instructions from wiki by @joshgoebel
  29. #1265 - minor cleaning on RPI baremetal build and Credits by @msx80
  30. #1256 - bare metal rpi build updated to latest TIC-80 and Circle by @msx80
  31. #1234 - SDL Player: Add constants and clean up error reporting by @RobLoach
  32. #1222 - n3ds: add prescale linear filter, wide mode support; close #1219 by @asiekierka
  33. #1221 - Update Lua to 5.3.6. by @asiekierka
  34. #1218 - libretro: Add Mouse Hide Delay option by @RobLoach
  35. #1217 - n3ds: fix crash in async net_httpc access, close #1200 by @asiekierka
  36. #1178 - Update Duktape to 2.5.0 by @RobLoach
  37. #1176 - SDL: Render in the correct aspect ratio by @RobLoach
  38. #1175 - Update Wren to 0.3.0 by @RobLoach
  39. #1165 - fixes #1163 (0.80 beta) time() always returns 0 when built with sokol by @drako0812
  40. #1161 - Update to Fennel version 0.6.0. by @technomancy