More actions
FAKE-08 | |
---|---|
General | |
Author | jtothebell |
Type | Computer |
Version | 0.0.2.20 |
License | Mixed |
Last Updated | 2023/03/11 |
Links | |
Download | |
Website | |
Source | |
A Pico 8 player for homebrew consoles. The goal of Fake-08 is to make Pico-8 games playable on platforms that aren't officially supported. Latest release includes releases for Nintendo 3DS, Nintendo Switch, Sony PS Vita, Nintendo Wii U, the Miyoo CFW for bittboy and similar consoles, and the Miyoo Mini.
Originally created by Lexaloffle Software, PICO-8 is a virtual machine and game engine. It is designed to be a fantasy video game console that mimics the limited graphical and sound capabilities of 8-bit systems of the 1980s.
Installation
Download VPK and install with VitaShell on Vita.
Pico 8 cart files go in ux0:/p8carts/.
.p8 text file carts and .p8.png image file carts are supported.
User guide
You can download games from the Pico-8 BBS in .p8.png format. Click on the Cart link in the lower left of the game view, and save it into your p8carts directory. Here are some games that you can try out, simply right click on the image and save it (credit list):
If you are trying to play a multi cart game, it should be noted that you must provide all the carts required by the game as FAKE-08 currently does not have cart downloading capabilities. All carts should be placed in the same directory.
See also FAKE-08 Cart Compatibility.
Controls
Left/Right - Cycle through carts on the SD card
Cross - Choose a cart
Start - Pause menu, Exit the currently running cart
R - Cycle between rendering sizes
L+R or Home - Exit the application
Screenshots
Known issues
Latest Pico 8 version v0.2.2 features (sprite fill patterns, text control codes, custom fonts, etc) not implemented yet.
Games using flip() (like tweetcarts) have intermittent problems exiting back to the menu, and may crash the console. Use with caution.
Sound emulation is not perfect, and the noise implementation is noticeably inaccurate. Most of my sound implementation was ported over from Zepto 8. with the exception of the Noise instrument which was ported from PicoLove. It is not 100% accurate, and some games have noticeable clipping/popping.
See Issues page for more specifics.
Changelog
v0.0.2.20
- 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).
v0.0.2.19
- 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).
v0.0.2.18
- 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) and stat(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 or else) (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)
v0.0.2.17
Bug Fixes:
- Improve image quality of non-integer scaled images by using wide mode.
- Fix loading multi cart games.
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 and poke4.
- 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 to load if there is a nil breadcrumb.
- Added support for getting key presses via stat (currently only supported on debug builds- Thanks @DPS2004).
v0.0.2.16
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 and poke arguments.
- Add support for most P8SCII control codes (no audio or decoration characters yet).
- Add support for menu item value changes (credit @DPS2004).
Credits
- Zep/Lexaloffle software for making pico 8.
- Nintendo Homebrew Community.
- Vita Homebrew Community.
- zepto8 - Probably the best Pico 8 emulator. FAKE-08's audio, tline, and newer png decompression implementations were ported from zepto8, and other parts were heavily influenced. Alsod use a slightly modified z8lua for pico 8 specific features.
- PicoLove - Basis for a previous project - PicoLovePotion - and first learned the basics of Pico 8's API.
- tac08 - A Pico 8 emulator. FAKE-08's sprite rendering and cart parsing is heavily based on tac08, and it uses 0xcafed00d's utf8-util to handle special characters in pico 8 carts.
- LovePotion - An implementation of Love2d for 3DS and switch that served as the runtime for PicoLovePotion, and a great way to make homebrew games for the 3DS and switch. Also use a modified version of their static Logger implementation.
Postcard image from Vita Sprite credits:
- Rabu Rabu Monster by pedroavelar (No License).
- Rainy Day Friends by electricgryphon (CC4-BY-NC-SA License).
- chrysopoeia by benjamin_soule (No License).
- warehouse panic by benjamin_soule (No License).
- Barp the Balldragon by Saffith (CC4-BY-NC-SA).
- Celeste Classic 2 by noel (CC4-BY-NC-SA).
- Solais by DragonXVI (CC4-BY-NC-SA).
- Demon Castle by Mush (CC4-BY-NC-SA).
- Fuz by Jusiv (No License).
- Islander by CarsonK (No License).
- Little Necromancer by Fred_Osterero (CC4-BY-NC-SA).
- Villager by partnano (CC4-BY-NC-SA).
- Pico Driller by johanp (No License).
- pigments by benjamin_soule (CC4-BY-NC-SA).
- Polar Panic by johanp (No License).
- Little Architect by benjamin_soule (No License).
- Scrap Boy by BoneVole (CC4-BY-NC-SA).
- Shelled Shinobi by noppa (No License).
- UFO Swamp Odyssey by paranoidcactus (CC4-BY-NC-SA).
- Harold's Bad Day by biovoid.
- Pico World Race 1.2 by PAK9.
- bondstones by benjamin_soule.
- Tiny Golf Puzzles by beepyeah.
- Pico Tetris v1.0 by Vanessa.