A build of PICO-8 0.1.5 is now available for Raspberry Pi! Check your updates page or look in your Humble library under the Linux downloads section.
It works in fullscreen under either X Windows or directly from the terminal (using directfb). For speed, the default resolution is 280,280; you can set this with the -width and -height switches:
pico8 -width 720 -height 480
- After quitting, keypresses during the session are sometimes dumped to terminal (annoying if you quit by typing shutdown instead of CTRL-Q!)
- Freeze on exit (observed on a zero)
- Some math-heavy cartridges (e.g. /demos/cast.p8) don't run at full speed on first generation models.
There are two builds included in the archive. pico8 is compiled statically (so no need to install SDL2), and pico8_dyn dynamically loads libraries, in case you'd like to supply your own SDL2.
Have fun, and please post pictures if you get pico-8 running on any cute displays!
On a RPi 2 with Ubuntu Mate for Pi 2 i can't type anything with X. The ESC key works to switch modes, the ENTER key works to get a new line, but i can't type "HELP", "LS" etc.
Might be related to Ubuntu Mate? No idea. I don't think i have a normal Raspbian for RPi 2 lying around, although i'm going to try on RPi 1 :)
(Didn't try from console, after two hard reboots it seems that systemd isn't able to boot anymore...)
Edit: (i had to fix the filesystem but anyway.)
it works in console without that problem above :)
Edit part2: i had set up my French/AZERTY keyboard as Macintosh as i sometimes use a Mac keyboard with the Pi, setting it up as PC keyboard, i can now type with PICO on X too. :)
Edit3: Nope, turns out now even Mate set up as PC keyboard the inputs don't work in X anymore... i don't know what's the problem..
Amazing! It works on my Pi (first version). I have played a lot of cartridges with success.
Sadly the numbers keys are not working with an azerty keyboard (french).
So I can only play not edit. It may be the same problem as previously found on the others pico versions (and corrected with success since).
I done a "#pacman -Syu" without any change... :(
Ran on Pi Model B (first gen) and runs very very well! I'm surprised at the minimum (700MHz) it can run cast.p8 with good speed!
EDIT: Also, you might want to chmod 777 the pico8 and pico8_dyn files
@atarimonkey When I'm in the console, I goto the pico-8 folder and do ./pico8
@funzrey, that advice is terribly irresponsible. It cost a client $1k in my time alone, and much more in lost customers, just last week. chmod a+x is all you need. Anyone who says "777" (in basically any context) is giving you dangerous advice. Don't do it.
Woo! Been waiting for it :3
Now to get my raspberry Pi 2 out and see if I can't make a nice two player setup with it.
Gonna need to buy some USB gamepads though hmm.
Wish it was easier to make my own without a 3D printer heh.
Well now I can take Pico-8 games with me with ease.
Just plug in and go :3
Hopefully I can get some multiplayer matches going with friends.
Posted on twitter and irc last night so suppose I should post here too ;)
It's an Adafruit PiTft running on a rev2 Pi B. Just tried the gameboy case on for size but this was exactly one of the things I'd hoped to achieve with this project ;)
My ideal workflow would be something like:
- create/debug pico-8 games on my desktop pc (mac). When tested OK, ...
- transfer to Raspberry PI.
The PI would, when booted, launch a pico-8 carts list from which titles could be selected and launched.
Games would be controlled by hardware (sticks and buttons).
I've got the PI (1st gen) and other h/w, and a Pico-8 license.
Any hints appreciated. I guess my current questions are:
- how would one transfer a cart from PC to PI?
- how do I map button presses to key events for the pico-8?
Usb stick, ftp/scp, network share, linux computer and copy the file directly to the system SD, git clone... Lots of options really...
If the controller is a USB one then Pico8 should detect it. If you're using GPIO buttons then (I think) the buttons map to keys via a driver. I haven't done this yet but will soon. I have seen plenty of guides for it tho.
5" display should be fine.
I'm planning on having a custom menu in retropie/emulation station which picks up a directory of carts and lists them in the main Emulation station menu. I'll report back as I do so
I'm so stoked about this! Putting pixels on old TVs has some magic appeal to me, it used to be so out of reach.
I'll be using this stack for a game jam at the end of the month (http://purplemonkeygamejam.com/) along with an Arduino arcade stick I'd made a ways back. Thanks to the button configuration options, I probably don't need to touch the firmware again. Amazing!
What would a gush-fest like this be without some requests at the end. ;) I'll second alexr's request for the ability to boot into a game. I'd ask for it in the form of:
pico-8 -root-path ~/games -cart mygame.p8
or you might even support eval'ing some commands from the command line, like:
pico-8 -c "cd games; load mygame.p8; run"
My hunch how to make a "kiosk mode" would be to set that to run at runlevel 4, then set that as the default runlevel in bios.
My other request, which I don't think you'll want to do, is to allow for a different aspect ratio that would fill a classic 4x3 TV. I could see a configuration option like "aspect" which defaults to 1, but could be set to 1.33, which would scale the width of the canvas by that amount.
I don't think you'll want to do it since it breaks the web player. If people make a game for a specific aspect ratio for a TV, it will look awful everywhere else.
Regardless, this is all fantastic. Pico-8 is hands-down my development platform of choice. Thanks so much!
I'm having it running on my brand new 3, which is great, but I can't get it to run on the display. In fact, most of the time, the PI just crashes when I try to start pico8. The display is this one: https://github.com/watterott/RPi-Display and the driver seems to work fine, x.org boots on it.
The display resolution is not great at 320x240, could this be a problem?
If I start it within X, nothing happens and I can just interrupt it with CTRL-C. When I start it from the command line, nothing happens and the pi crashes, or so it seems.
What would be a good way to debug this?
Can someone please help. I need a barney style set of instructions to get it running. I cant figure it out. I have a rasperry pi 3 with Raspbian Jessie. I would really appreciate it.
Edit: I figured it out. This is awesome. My only question is how to escape out of the fullscreen mode on the pi, i cant exit without the console freezing.
I know that 777 is dangerous but I don't have my pi hooked up to any public networks (not even connected to the internet, so i usually transfer data through USB) so as long as nobody goes into my house and gets into my Pi, it should be fine.
If you are hooked up to a network, yes, I would use chmod a+x because it's safer, but I've looked back at using 777 with my pi hooked up to the network (older pi I had, i don't use it anymore) and I probably should have went with the a+x advice I got from another person.
PI3 Keyboard Issues with latest jessie (2016-05-27). On June 1 with apt-get update/upgrade keyboard is weird. On main screen (not editor) 'shift' and 'alt' space. alt-enter is impossible. I've tried three keyboard layouts with no discernable change in behavior.
@svnt: That's no concern here. I'm asking because I plan to build Pico-8 handheld and only pizero is cheap enough and small enough to fit the case I plan for it (which is basically roughly the size of a NES controller with slideable 2 inch screen, but bit thicker as it also has to have a battery with a reasonable lifetime). So pico-8 with SPLORE is all I need (games I can either DL from BBS when wifi is available where I am or preload on the SD card).
i've set up a raspberry pi 2 model B as a dedicated pico 8 machine. i've turned off the desktop environment, set it to auto-boot into splore. now I want to tweak the setting to get maximum performance and resolution. I tried to set it at 1920x1080 scale 8, which looks really good but is really slow. The default setting is great performance wise but a bit blurry. Now I'm thinking maybe you can allocate more memory to the gpu to get more performance out of it? Anyone found a good middle ground?
Also has anyone had any luck editing ps3 controllers input so that the d-pad works? it only takes input from the analog stick now.
I am also wondering how to use PS3 controller with PICO-8, via Bluetooth on RPi3 (I would also prefer to use D-pad rather than analogue).
From the Manual, it refers to an SDL2 controller config, but I'm a bit confused how to setup the mapping.
Any ideas? :o/
It is mentioned in another thread but you need to install the SDL tool controllermap and run it with your pad attached to generate the config string. Then you paste that into the Pico 8 SDL controller config file.
There are SDL configuration tools for Windows and Mac but it's not currently known how to translate config strings between platforms.
I did manage to get it pretty much working. I found the following controller string, which seems to work/map quite well to my Sony PS3 (bluetooth) controller:
060000004c0500006802000000010000,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux,
The minor annoyance is that it uses the Analogue stick instead of the D-pad for direction, but I see in other threads, this appears to be a popular common at the moment.
(But heh, at least it's actually PLAYABLE now!) :o)
Alas, the Pi version still always crashes when I try to exit (or use 100% of the CPU, which is kind of scary!).
I am launching it via RetroPie, so I dunno if that's related (had to setup manually as a new console, so perhaps I got something wrong?) :o/
No, as soon as you start Pico from a sh script it will fail to exit.
But the Pi is not dead, just login from the outside, you can kill pico8 and resume everything.
It seems that when exiting, Pico8 expect something that does not happen, hard to tell what :/
Crap, does someone mind helping? When I try booting it from terminal, it says 'failed to open vchiq instance'. If I try loading it from the file explorer it just doesn't open. I've tried looking this up, and it seems to be something to do with user groups, but I still don't understand.
Okay, I've changed some stuff, and fixed the first problem, but now I'm getting 'SDL Error: Could not initialize OpenGL / GLES library'. It may be worth pointing out that I'm Ubuntu Mate, in case that's a problem. I'll go try installing Raspbian.
Installed Pico8 on Ubuntu MATE on a Pi 2, Model B and no matter how I start it (terminal / desktop) there's no reaction to other keys than ESC (switches the mode).
Also didn't discover any way out of the fullscreen mode and quitting is also quirky. But I don't think the OS freezes as I was able to do CTRL+ALT+DEL followed by ENTER and the box shut down.
Only tried the static version "./pico8"
Anyone got around it?
@jbump got that up and running on an Pi2 model B with a dedicated sdcard. Its my boot and play pico8 solution now.
The only thing that took too much time was grabbing and renaming all the .p8.png from the website to get them on the sdcard.
A bit late to the party but i got pico-8 running on a Pi 1 model B (setup with macOS). I'm so happy that we have a version the works with Raspberry pi!
Here is my step by step guide to how I got it going:
Formatted a 16gb SD card with SDFormatter
Installed Raspbian Jessie Lite
I connected the ethernet connection to my mac using an ethernet to usb adapter
I connected the Pi to a Mavnavox B&W TV (model BD3911 SL01) over the video RCA and had to adjust the V and H holds on the side to get a clear image.
Fond the Pi's IP with ipconfig and tried all the IP address that were printed out until I could log in with:
(the default password is 'raspberry')
I used ssh to login and transfer pico-8 to the pi
I got the error:
./pico8: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
When running 'pico8'
So I installed WiringPi
$ sudo apt-get install git-core $ mkdir Libraries $ cd Libraries/ $ git clone git://git.drogon.net/wiringPi $ cd wiringPi $ ./build
Then back on the raspberry pi itself ran pico-8!
$ cd ../pico-8 $ pico8
Hope this helps someone having trouble with pico-8 and raspberry pi
I haven't tested sound yet.
I also used a Rii mini keyboard and sometimes some buttons stopped worked (space and left).
I needed to install "wiringPi" too! Thank you so much for that pointer.
Also: FEATURE SUGGESTION - Soft Exit
Setting up PICO-8 on my Picade... which is now working/playing properly! - it may be a good idea to set a software-exit command that's controller/arcade-stick friendly. Start + Select seems to be the standard for RetroPie/EmulationStation emulators, and is a combination I don't see games often using on purpose for anything except soft-resets anyhow. Exiting PICO-8 simply bumps a player back to the ES menu as it is, so this would work perfectly!
Just noting for posterity that I got a Pi 3 recently and setting up PICO-8 under Raspbian was a cinch and a delight.
I had a little bit of fiddly trouble setting up my cheapo USB gamepad, eventually managed to figure out through a bit of process of elimination what the necessary configuration line was for sdl_controllers.txt, but I'm not sure that's really a PICO-8 thing so much as a general SDL support headache. Still, would be a nice thing to have work a little less painfully in the long run.
I built an arcade mini-cab for Pico-8. The display is 800x480 and when I run it seems to have a frame around the display which makes it smaller. I've tried to change the options, do window mode, change the resolution in the config file but nothing seems to change anything. If I try putting it in window mode, it goes full screen again and the config file is overwritten. Other than that it works great, just want Pico-8 to go the full height of the display. Is this a scaling issue?
[Please log in to post a comment]