| Both sides previous revision Previous revision Next revision | Previous revision |
| systems:pico8 [2021/11/25 01:02] – template consistency overhaul atari | systems:pico8 [2023/01/27 03:46] (current) – [Support for official Pico-8 engine] make instructions clearer atari |
|---|
| |
| * **Emulator:** [[#retroarch|RetroArch]] | * **Emulator:** [[#retroarch|RetroArch]] |
| * **Core:** [[#libretro_retro8|libretro/retro8]] | * **Core:** [[#libretro:_retro8|libretro: retro8]] |
| * **Folder:** ''/userdata/roms/pico8'' | * **Folder:** ''/userdata/roms/pico8'' |
| * **Accepted ROM formats:** ''.p8'', ''.png'', ''.m3u'' | * **Accepted ROM formats:** ''.p8'', ''.png'', ''.m3u'' |
| ==== "Cartridges" and games format ==== | ==== "Cartridges" and games format ==== |
| |
| Pico-8 games are distributed as PNG images with the actual code, sprites and sounds embedded in them. Those are actual, real image files, that stands as the cartridge art too. You have to "load" the PNG to run the game. You can download hundreds of carts [[https://www.lexaloffle.com/bbs/?cat=7&carts_tab=1#mode=carts&sub=2|from the official page]], the community is very active! Once you select a game, make sure you click on the "cart" link that downloads a .PNG file. | Pico-8 games are distributed as PNG images with the actual code, sprites and sounds embedded in them. Those are actual, real image files, that stands as the cartridge art too. You have to "load" the PNG to run the game. You can download hundreds of carts [[https://www.lexaloffle.com/bbs/?cat=7&carts_tab=1#mode=carts&sub=2|from the official page]], the community is very active! Once you select a game, make sure you click on the "cart" link that downloads a .PNG file. |
| | |
| | ===== Emulators ===== |
| | |
| | ==== RetroArch ==== |
| | |
| | [[https://docs.libretro.com/|RetroArch]] (formerly SSNES), is a ubiquitous frontend that can run multiple "cores", which are essentially the emulators themselves. The most common cores use the [[https://www.libretro.com/|libretro]] API, so that's why cores run in RetroArch in Batocera are referred to as "libretro: (core name)". RetroArch aims to unify the feature set of all libretro cores and offer a universal, familiar interface independent of platform. |
| | |
| | === RetroArch configuration === |
| | |
| | RetroArch offers a **Quick Menu** accessed by pressing ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}} which can be used to alter various things like [[:advanced_retroarch_settings|RetroArch and core options]], and [[:remapping_controls_per_emulator|controller mapping]]. Most RetroArch related settings can be altered from Batocera's EmulationStation. |
| | |
| | Standardized features available to all libretro cores: ''pico8.videomode'', ''pico8.ratio'', ''pico8.smooth'', ''pico8.shaders'', ''pico8.pixel_perfect'', ''pico8.decoration'', ''pico8.game_translation'' |
| | |
| | ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^ |
| | ^ Settings that apply to all cores of this emulator || |
| | | **GRAPHICS BACKEND ''pico8.gfxbackend''** | Choose your graphics rendering\\ => OpenGL ''opengl'', Vulkan ''vulkan''. | |
| | | **AUDIO LATENCY ''pico8.audio_latency''** | Audio latency in milliseconds, turn it up if you hear crackles\\ => 256 ''256'', 192 ''192'', 128 ''128'', 64 ''64'', 32 ''32'', 16 ''16'', 8 ''8''. | |
| | | **THREADED VIDEO ''pico8.video_threaded''** | Improves performance at the cost of latency and more video stuttering. Use only if full speed cannot be obtained otherwise.\\ => On ''true'', Off ''false''. | |
| | |
| | === libretro: retro8 === |
| | |
| | == libretro: retro8 configuration == |
| | |
| | There is no configuration to set. |
| |
| ===== Support for official Pico-8 engine ===== | ===== Support for official Pico-8 engine ===== |
| Starting with Batocera **v32**, you can add the official commercial Lexaloffle Pico-8 engine to run all Pico-8 games and explore the Splore universe! In order to do so, you need to do a few manual steps: | Starting with Batocera **v32**, you can add the official commercial Lexaloffle Pico-8 engine to run all Pico-8 games and explore the Splore universe! In order to do so, you need to do a few manual steps: |
| |
| - Buy it from [[https://www.lexaloffle.com/games.php?page=updates|the official Lexaloffle website]] | - Buy it from [[https://www.lexaloffle.com/games.php?page=updates|the official Lexaloffle website]]. |
| - Download the corresponding Linux (x86_64/64 bits) or Raspberry Pi binary (32bit ELF, not sure if our Rpi1/2/3 are still on 32bits systems, I could test only the PC x86_64 version at the moment and I put a message on their forum to ask for a ARM 64 bit build, like many others). Extract the files from the zip into the ''/userdata/bios/pico-8/'' directory. The files in the archive are:<code> | - Download the corresponding binary (it's the ZIP file) appropriate to your platform: |
| lexaloffle-pico8.png | * **For PC/any x86_64 board:** The Linux (x86_64/64 bits) ZIP file. |
| license.txt | * **For any ARM-based board, such as RPi, Odroid N2/Go/Super, RockPro64, RK3326, etc.:** the Raspberry Pi ZIP file. |
| pico-8.txt | - Extract the files from the zip into the ''/userdata/bios/pico-8/'' directory on your Batocera machine. |
| pico8 (make sure this one is executable via "chmod +x", I assume nobody uses a filesystem for /userdata/ that would be incompatible with this...) | * **For PC x86_64**, the files in the archive are:<code> |
| pico8.dat | lexaloffle-pico8.png |
| pico8_dyn | license.txt |
| | pico-8.txt |
| | pico8 (make sure this one is executable via "chmod +x", the filesystem itself must support the executable bit) |
| | pico8.dat |
| | pico8_dyn |
| </code> | </code> |
| | * For ARM SBC and handhelds (Raspberry Pi, Odroid, RockPro...), the files are:<code> |
| | lexaloffle-pico8.png |
| | license.txt |
| | pico-8_manual.txt |
| | pico8 (make sure this one is executable via "chmod +x", the filesystem itself must support the executable bit) |
| | pico8.dat |
| | pico8_64 (make sure this one is executable via "chmod +x", the filesystem itself must support the executable bit) |
| | pico8_dyn |
| | pico8_gpio |
| | readme_raspi.txt |
| | </code> <WRAP center round important> |
| | **For ARM64-based boards**, by default the 32-bit executable is named ''pico8''. 64-bit users will want to delete the 32-bit executable and rename ''pico8_64'' as ''pico8''. Make sure it's marked as executable with ''chmod +x pico8''. |
| | </WRAP> |
| - Copy the following ES system addition into ''/userdata/system/configs/emulationstation/es_systems_pico8.cfg'':<code xml> | - Copy the following ES system addition into ''/userdata/system/configs/emulationstation/es_systems_pico8.cfg'':<code xml> |
| <?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> |
| </systemList> | </systemList> |
| </code> | </code> |
| - Restart ES (or reboot). Then you can select **LEXALOFFLE / PICO8 OFFICIAL** as a core for Pico-8 games in ES. | - Restart ES (or reboot). While in the pico8 gamelist, press ''[SELECT]'', go to **ADVANCED SYSTEM OPTIONS** -> **EMULATOR** and then select "LEXALOFFLE: PICO8 OFFICIAL". |
| - If you create a file ''splore.p8'' or ''console.p8'' and launch it from Batocera-ES, you'll get access to Pico-8 splore universe with all the games to play and download from inside Pico-8 (a simple ''touch /userdata/roms/pico8/splore.p8'' is sufficient to get access to splore). | |
| | <WRAP center round tip> |
| | If you create a file ''splore.p8'' or ''console.p8'' and launch it from Batocera-ES, you'll get access to Pico-8 splore universe with all the games to play and download from inside Pico-8 (a simple ''touch /userdata/roms/pico8/splore.p8'' is sufficient to get access to splore). |
| | |
| | Press ''[START]'' to open Pico 8's menu, which can be used to exit the emulator and return to Batocera. |
| | </WRAP> |
| |
| ===== Controls ===== | ===== Controls ===== |