Configuration:PICO-8
PICO-8 | ||
---|---|---|
300px | ||
300px | ||
Manufacturer | lexloffle | |
Type | Fantasy Video game console | |
CPU | N/A | |
GPU | 128x128x16 | |
Sound CPU | 4 channels | |
Sound Chip | TBA | |
Memory | TBA | |
Controllers | 2 | |
Year | XXXX |
Platform Information
PICO-8 is a fantasy console for making, sharing and playing tiny games and other computer programs. It feels like a regular console, but runs on Windows / Mac / Linux. When you turn it on, the machine greets you with a commandline, a suite of cartridge creation tools, and an online cartridge browser called SPLORE.
Specifications Display 128x128 16 colours Cartridge Size 32k Sound 4 channel chip blerps Code Lua Sprites 256 8x8 sprites Map 128x32 cels
Media Devices
- Cartridges
Integration
Each exported release of PICO-8 packages the player at the correct version for that release. The player will load a file called data.pod from the current directory when launched.
We can integrate PICO-8 with a frontend by writing a wrapper script to launch copy and launch the pod in place.
You can update the player from any new release providing the developer has exported a version for your platform
For example. POOM used a custom PICO-8 build but the dev didn't export an RPI version, so the RPI version cannot be updated to run POOM currently.
See wrapper script
Wrapper Script
This script will load multiple versions of the player and/or multiple arch based on the the output of uname but requires the following folder structure for the players
. ├── players │ ├── armv7l │ │ └── player_0.2.1B-armv7l │ └── x86_64 │ ├── player_0.2.1B-x86_64 │ └── player_0.2.1C.14-x86_64
```
#!/bin/bash # # PICO-8 Player launcher - sairuk # For use with packaged player and all pod files, player versions must be >= # pod version # # #set -u #set -x IFS=$'\n' function usage { echo "PICO-8 launcher" if [ ! -z $1 ] then echo "Error: $1" sleep 3 fi echo "Usage: $(basename $0) \"/path/to/filename.pod\"" exit 1 } ARCH=$(uname -m) GAME=${1:-} RUN_VER=${2:-0.2.1B} BASEPATH=/home/pi/RetroPie/scripts/pico8player #BASEPATH=$HOME/games/pico-8-player PLAY_STORE=players PLAY_NAME=player PLAY_VER=${BASEPATH}/${PLAY_STORE}/${ARCH}/${PLAY_NAME}_${RUN_VER}-${ARCH} RUN_PATH=${BASEPATH}/_run RUN_POD=${RUN_PATH}/data.pod RUN_PLYR=${RUN_PATH}/${PLAY_NAME} RUN_LOG=${RUN_PATH}/pico8player.log ### check requirements # we have a name passed as first arg [ -z $GAME ] && usage # that game file exists [ ! -f $GAME ] && usage "File does not exist: ${GAME}" # player path exists [ ! -d ${PLAY_STORE} ] && mkdir -p ${PLAY_STORE} # player file exists [ ! -f ${PLAY_VER} ] && usage "Couldn't find player in ${PLAY_VER}" # the expected run dir exists [ ! -d ${RUN_PATH} ] && mkdir -p ${RUN_PATH} # clean up an existing data.pod files [ -e ${RUN_POD} ] && rm ${RUN_POD} # copy the game to run path as data.pod cp "${GAME}" ${RUN_POD} # copy the player to the run path cp ${PLAY_VER} ${RUN_PLYR} # change into our run path cd ${RUN_PATH} # run the game ${RUN_PLYR} &> ${RUN_LOG} # clean up after we are done rm $RUN_POD $RUN_PLYR
Configuration
Platform | Version | Device | Exec | Type | commandline_format |
---|---|---|---|---|---|
Linux | <=0.1.12c2+ | ROM | <path to pico8>/pico8-wrapper | W | [name].pod |
Converting a cart to a pod
You can export a cart to a pod from the PICO-8 command line using -export but you will need the full PICO-8 release to do this
$ ./pico8 -export zoomzoomzoomzoom.bin "~/carts/ZOOMZOOMZOOMZOOM 0.2 - (LJRadio) (18711) (18711).p8.png" EXPORT: zoomzoomzoomzoom.bin zoomzoomzoomzoom.bin zoomzoomzoomzoom.bin/windows zoomzoomzoomzoom.bin/linux zoomzoomzoomzoom.bin/zoomzoomzoomzoom.app zoomzoomzoomzoom.bin/raspi zoomzoomzoomzoom_windows.zip zoomzoomzoomzoom_linux.zip zoomzoomzoomzoom_osx.zip zoomzoomzoomzoom_raspi.zip ok