Skip to content

PICO-8 v0.2.4 compatiblity roadmap #36

@samhocevar

Description

@samhocevar
  • Added: Video and spritesheet memory addresses can be mapped to each other
  • Added: Map memory address can be mapped to 0x8000 // POKE(0x5f56, 0x80)
  • Added: stat(46)..stat(56): higher resolution and more accurate reporting of audio state
  • Added: Print one-off characters with ?"^:447cb67c3e7f0106 hey" (or "^." for binary data)
  • Added: chr() can take multiple arguments to construct an arbitrarily long string
  • Added: sub(str, pos, _) to get a single character at position pos
  • Added: Warning on boot when PICO-8 is running below 30fps
  • Added: Automatic scrolling caused by print() (with no x,y given) can be disabled with POKE(0x5f36,0x40)
  • Added: .p8.rom format can be used by cstore(), reload() and in multicarts
  • Added: EXPORT accepts .p8 .p8.png .p8.rom formats (can be used to save a copy, or convert from commandline)
  • Added: 64-bit RaspberryPi OS Builds and Exporters
  • Added: ASCII .txt version of manual included in archives & on website (synced with new html version)
  • Added: Auto-hide mouse cursor when typing (adjustable in config.txt)
  • Changed: .p8.rom file format can be less than 32k -- is padded with zeros to 32k on load
  • Changed: sub() costs some cpu based on the length of the string
  • Changed: Shorthand if/while no longer needs to be preceeded by a whitespace character or number
  • Changed: load("#") throws a runtime error when cartridge id contains illegal characters
  • Changed: 64k of Base RAM is standard (no need to set the hardware extension bit)
  • Changed: By default, draw colour resets to 6 when program is suspended
  • Changed: map() can take nil parameters for source_w, source_h to indicate default values
  • Changed: pal(n) (a single integer) to reset a single palette 1..3 (draw, display, secondary)
  • Changed: Can turn P8SCII wrap on/off with "^$", "^-$"
  • Changed: config.txt is not saved on exit when changes are made to it while PICO-8 is open
  • Changed: added code editor undo points when changing between identifier and non-identifier characters
  • Changed: sfx(-1, -2) now behaves the same as sfx(-1). sfx(-2) stops looping on all channels.
  • Changed: chip build no longer requires libcurl (calls out to wget)
  • Fixed: (Mac, Linux) load("#echo ohno") is executed // + server-side mitigation for splore
  • Fixed: stat(31) returns 2 parameters (bug introduced in 0.2.3)
  • Fixed: split() and sub() fail on strings containing "\0"
  • Fixed: ctrl-x on song pattern appears to work, but music() plays sfx 1..4
  • Fixed: Text getting cut off after console scrolling when using print with draw_y_offset (0x5f5b)
  • Fixed: camera(0,128) cursor(0,128) print("\n") causes unnecessary console scrolling
  • Fixed: last music pattern not saved when only channel 3 is used and other channels are defaults
  • Fixed: ?"\a12 sup yall" overwrites sfx 12 with a default beep (should just play and continue printing)
  • Fixed: cursed console cpu refund exploit // https://carlc27843.itch.io/cursed-console
  • Fixed: ctrl-r from commandline resets parameter string (stat(6)) -- should be same as the last run
  • Fixed: ord() corrupting Lua stack and crashing when returning more than ~80 results
  • Fixed: large camera() parameters can cause line() clipping to fail and crash
  • Fixed: Crash when saving long gifs (> 90 seconds)
  • Fixed: Unmapped joysticks not responding
  • Fixed: Plugging in > 2 controllers causes other controller to disconnect

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions