Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Switch P8: Difference between revisions

From GameBrew
No edit summary
m Text replacement - "ForTheUsers - " to "Homebrew App Store - "
 
(2 intermediate revisions by 2 users not shown)
Line 4: Line 4:
|description=Pico-8 emulator.
|description=Pico-8 emulator.
|author=voliva
|author=voliva
|lastupdated=2025/07/05
|lastupdated=2025/10/25
|type=Computer
|type=Computer
|version=0.4.1
|version=0.5.0
|license=MIT
|license=MIT
|download=https://dlhb.gamebrew.org/switchhomebrews/switchp8.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/switchp8.7z
Line 32: Line 32:
* 16-bit fixed point decimal arithemtic just like pico8.
* 16-bit fixed point decimal arithemtic just like pico8.
* Save states (at the moment simplistic, one save state per cartridge).
* Save states (at the moment simplistic, one save state per cartridge).
* The most used predefined pico8 functions are implemented: 90 functions implemented out of 105
* The most used predefined pico8 functions are implemented: 90 functions implemented out of 105.
* Console options:
** CRT/DOT matrix filters.
** Volume control.
** Invert controls.


== Installation ==
== Installation ==
Line 44: Line 48:


== Changelog ==
== Changelog ==
'''v0.5.0'''
* Features
** New options menu
** CRT/DOT matrix filters
** Volume control
** Invert O/X button controls
* Compatibility fixes
** math functions (ceil, sqrt, sin, cos) can take optional parameters
'''v0.4.1'''
'''v0.4.1'''
*Features
*Features
Line 89: Line 101:
== External links ==
== External links ==
* GitHub - https://github.com/voliva/ps4-p8/
* GitHub - https://github.com/voliva/ps4-p8/
* ForTheUsers - https://hb-app.store/switch/SwitchP8
* Homebrew App Store - https://hb-app.store/switch/SwitchP8

Latest revision as of 11:59, 23 November 2025

Switch P8
General
Authorvoliva
TypeComputer
Version0.5.0
LicenseMIT License
Last Updated2025/10/25
Links
Download
Website
Source

An emulator to run pico-8 cartridges on a Switch built on devkitPro.

Pico-8 is a Fantasy Programmable Console made by Lexaloffle Games. This emulator is compatible with built pico-8 cartridges in PNG format, to build your own games you will need the original Pico-8 console

Project status:

  • This is a work-in-progress. Compatibility is still limited, but there are many cartridges it can run already.
  • print: It prints text on the screen, but it's missing some P8SCII control codes, non-ascii characters.
  • Sprites: Done
  • Sfx: Playable. Room of improvement for sound quality, and sound filters are missing (damp, buzz, reverb, etc.)
  • Music: Playable.
  • Menu: WIP.
  • Memory manipulation: Almost complete.
  • Maps: Done.
  • Custom P8-Lua: Some edge cases missing.

Features

  • Modified lua interpreter compatible with pico8's lua.
  • 16-bit fixed point decimal arithemtic just like pico8.
  • Save states (at the moment simplistic, one save state per cartridge).
  • The most used predefined pico8 functions are implemented: 90 functions implemented out of 105.
  • Console options:
    • CRT/DOT matrix filters.
    • Volume control.
    • Invert controls.

Installation

Copy the .nro to sdmc:/switch/SwitchP8/.

Release comes with a set of bundled games which have been used to improve the compatibility.

More .p8.png cartridges can be bundled with the .pkg file by adding them into /assets/misc folder, or they will be loaded in runtime from console's /data/p8-cartridges folder.

A list of some playable cartridges can be found here

Changelog

v0.5.0

  • Features
    • New options menu
    • CRT/DOT matrix filters
    • Volume control
    • Invert O/X button controls
  • Compatibility fixes
    • math functions (ceil, sqrt, sin, cos) can take optional parameters

v0.4.1

  • Features
    • Custom font compatibility
    • Support games with their own rendering loop through "flip". Save states for these games will not work yet.
  • Compatibility fixes
    • stat(table) should behave like stat(0)
    • printing backspaces
    • stop looping SFX after length mark
    • tonum("") should return empty instead of 0
    • time() should go in exact intervals based on frame rate instead of the actual time.

v0.4.0

    • switch: Move all application data (cartridges, savestates, etc.) to /switch/switch-p8 to reduce clutter.
    • enable pico-8 saves without needing a specific folder setup.
    • splore: add a context menu accessible with "pause" (button +) to save a BBS cartridge to the local SD.
    • local cartridges: add a context menu to delete cartridges from the local SD.
    • add animation to splore cartridges
  • Fixes
    • implement pico-8 load() function, a function that loads external cartridges.
    • avoid skipping too many frames

v0.3.2

v0.3.1

  • Switch version.
  • Fix crash on exit, set metadata, update readme, adjust resolution.

External links

Advertising: