Releases: jtothebell/fake-08
Sound and text improvements
All Platforms
- Add support for new
stat
values (46-56) for audio (thanks @fringd ) - Rewrite text rendering to support custom fonts and most remaining P8SCII control codes (audio control codes are parsed, but not played) and speed up text rendering (probably only noticeable on slow platforms like Bittboy and 3ds)
- Add a corssfade between notes to more closely match PICO-8 behavior and fix some audio clipping (thanks @fringd )
- Add custom instrument support (thanks @fringd )
- add
inext
function to z8lua
Libretro platforms
- Add support for analog input to emulate the mouse (thanks for the suggestion and start of implementation @medeirosT)
- Add support for loading carts from memory in addition to the file system (may help with loading carts on Android devices with scoped storage)
Bug Fixes and initial libretro core
All Platforms
- Fix behavior when drawing coordinates beyond sprite sheet bounds
- Fix mget bounds check being off by one on upper bounds (fixes some visual artifacts in map() and tline() calls)
- Fix some text wrapping bugs
- Fix some text coloring bugs
- Fix bugs keeping track of smaller than default character size and line heights
- Fix a bug with music playback where looping sections were cut short (thanks @fringd)
Miyoo Mini (standalone app)
- Add double buffering to fix occasional screen tearing
New Platforms
- Add experimental libretro builds for Miyoo Mini and Android.
- NOTE: when using either libretro core, you may need to also add
fake08_libretro.info
to your cores directory for some features like save states to work. This file should now be included in the release zip. Slightly more detailed instructions in theUsage
section of the readme
New menu and fixes
All Platforms
- Add an alternate cart and settings menu (thanks @DPS2004 ). Access settings through the pause menu, and turn on new cart menu from there.
- Add support for
?
print shorthand in locations other than the start of a line - Add support for
pal
with a single argument for resetting an individual palette (thanks @SamsTheNerd) - Prevent infinite loops caused by aggressive compiler optimizations preventing correct identification of max fix32 value
- Add undocumented
_set_fps
function - stub out
stat(29)
andstat(30)
to prevent erroneous keyboard press detection (fix weapon switching in Poom) - Improve support for suppressing the pause menu (also makes switching weapons easier in Poom)
- Fix memory functions (
peek, poke, memset, memcpy
) at addresses above 0x8000 (thanks @nckstwrt) - Fix
ord
call with very long strings from overflowing (thanks @nckstwrt) - Fix lua parsing when a number is next to a keyword staring with "e" (ie
end
orelse
) (thanks (@nckstwrt) - Fix p8scii control code for background colors not using correct dimensions
- Add support for p8scii control code one off characters
- Improve handling of multiline comments (still needs work, but is improved)
Miyoo Mini
- Fix non 128x128 rendering modes
Bittboy and GCW0
- Ensure cdata directory is created
Poom goes the dynamite
New Platform: OpenDingux
Gcw0, RG350/280/300 devices should be able to use the fake08_gcw0.opk
file. Thanks to @gameblabla for the initial port
3ds:
- improve image quality of non-integer scaled images by using wide mode
- fix loading multi cart games
Miyoo Mini:
- fix cart data saving and loading
Bittboy:
- Add a 240x240 rendering mode
All platforms:
- honor print mode defaults poked into memory
- refactor cartdata serialization and deserialization to work consistently across CPU architectures
- Add
reset
function - Fix regression in
mget
bounds checking - support extra arguments to
poke2
andpoke4
- Fix
map
default values if width has been changed and/or large map is being used - Honor suppress pause menu flag
- Fix tline wrapping
- Fix passing a
param
toload
if there is anil
breadcrumb - Added support for getting key presses via
stat
(currently only supported on debug builds- Thanks @DPS2004)
Notable games that are now playable:
Poom and Terra (Doom and Terraria demakes), plus Jelpi works correctly again
Known issues:
Poom does not work on Bittboy platform. Unsure of root issue, but it would probably be unplayably slow anyway
P8SCII control codes and fixes
Bug Fixes
- Stub out
stat
values 120-122 (fix some crashing carts) - Fix setting map width to 256 (0)
- Fix
cartdata
return value (credit to @DPS2004) - music pattern playback with a non-standard length (credit @DPS2004)
Improvements
- Fix local references of pico 8 api methods (possible small performance boost)
- Add support for optional
peek
andpoke
arguments - Add support for most P8SCII control codes (no audio or decoration characters yet)
- Add support for menu item value changes (credit @DPS2004)
Miyoo Mini
New platform:
- Miyoo MIni (credit for the non-sdl audio implementation to eggs in the Retro Game Handheld discord, as well as shauninman, H9K, and others for various help and testing)
All Platforms:
- fix for audio popping caused by int16 overflow (thanks to eggs for finding this)
More Ram
All Platforms
-
Fix regression in horizontally flipped sspr calls
-
updates to match Pico-8 0.2.4:
- Add support for extended user ram
- Add support for remapping sprite, screen, and map locations
- Add support for specifying map width
- Update z8lua to match Pico-8 changes to tostr, tonum, chr, ord, and sub
Platform Specific Fixes
- Fix race condition leading to intermittent freeze on exit on Bittboy platforms
Faster Shapes
All Platforms:
Add breadcrumb menu items for multi cart games. Games like Pico Arcade and the Christmas carts should work now as long as you provide all the sub carts as well(still no auto downloading)
Optimize shape drawing (rectfill, circfill, are much faster if there is no fill pattern)
Small optimization to sprite blitting (hopefully more to come here)
Bittboy fixes:
Fix sin/cos when parameter is > 1
Sound Improvements and Bittboy platform
Features:
- Add SFX effect support (ported from Zepto8)
- Port noise implementation from PicoLove for better Noise instrument
Fixes:
- Fix a bug in
sspr()
where every other pixel was swapped when flipped horizontally - set
debug
to nil to match pico 8's lua implementation
New Platform- Miyoo CFW for bittboy devices
Vita only release for custom bubbles
The only change is this release is an update to allow for custom bubbles on the vita. Launcher code at https://github.com/jtothebell/fake-08-vita-launcher
A more user friendly bubble builder has been put together by DRok17: https://github.com/DRok17/Fake-08-Builder