Log In  
Follow
pixelpunker
Follow
[New PICO-8 Feature] Enabling more than 16 colors on the screen
by BoneVolt

BBS: can't edit posts anymore. There is just an endless waiting cursor after hitting "publish".

P#95269 2021-07-25 14:10

Comes with a PICO-8 license. 1024*768 10 inch screen for a pixel-perfect 6x scale.

P#92632 2021-05-26 20:11 ( Edited 2021-05-26 20:13)

Ctrl+0 toggles the Keyboard Cursor option on and off. What the heck is this? The manual does not mention it.

P#88097 2021-02-24 12:04

The Quest for the Perfect PICO-8 handheld

Ever since PICO-8 was created people have longed for a physical form of what is still a fantasy console.

On my long quest for the perfect PICO-8 handheld I've owned no less than six handhelds (plus experiments with iPhones and DIY Pi Zero solutions). Until I finally reached the handheld endgame with the Waveshare GPM280. Here's my take on all of them:

Name Pros Cons
PocketChip Officially supported by Zep Terrible keyboard, unplayable game controls
" Screen is pixel-perfect (with a bit of border) Really bulky
" Hacker vibes Unfinished look
" No sound
" Not enough perf for demanding carts
Clockwork Pi Good performance Bulky
" Good controls Low rez plastic screen that scratches easily
" Nice OS Need to assemble
" Video driver issues
GPi Case Great build quality Pi 0 doesn't have enough perf even for 30 fps carts
" Good looks Slow boot times
" Screen has great colors Low resolution, soft picture
" Bulky
RG280V Tiny form factor a good fit for PICO-8 No Wi-Fi
" Great build quality Uneven scaling
" Great controls PICO-8 emulator not 100 % compatible
" Screen has great colors Progress on emulator stalled
" Sound issues
ZPG Pro (OGA Clone) Great performance No Wi-Fi
" Runs real PICO-8 OS is lacking
" Great screen Screen has big borders if you want pixel-perfect
" Good build quality Can't use alternative OS without patching
GPM280 Best screen yet for PICO-8, 286 dpi 2 hour battery life
" Great looks and tiny form factor More expensive than RG280V
" Runs real PICO-8
" Wi-Fi access to splore
" Great performance
" Polished OS
P#88091 2021-02-24 09:03 ( Edited 2021-02-24 11:26)

TL;DR: Do you like your pixels razor-sharp? Do you like PICO-8? Then get this handheld.

Looks

This is the new Game & Watch

This is the Game Boy Micro

And this is the new Waveshare GPM280.

Looks good, don't you think?

And it runs PICO-8 perfectly. The screen, oh, yes the screen. In a word: razor-sharp pixels.

Screen

128x128 is such an oddball resolution. Practically no screens in use can scale that resolution easily, the only exceptions are 1024x768 screens and the iPhone 4's 960x640 retina screen. The solution to this conundrum? A smartphone-like high DPI screen plus an intelligent scaling algorithm. An approach taken by the upcoming Analogue Pocket for example. But that won't run PICO-8.

Take a look. On the bottom is the pixel-perfect iPhone 4 screen (5x integer scale), on the top is the GPM280 screen. Also notice the 45° diagonals, on the RG280V they don't look right because of uneven scaling. Here they are perfect. (Right-click on this picture to enlarge.)

Here is another comparison (Right-click to enlarge). Oh, yeah, razor-sharp pixels. How is this possible? Again, high DPI: 286 DPI to be exact. That's almost iPhone territory.

Controls

A responsive D-Pad with some clickyness and buttons with plenty of travel. All good.

Performance

The Pi 3 (in the compute module variant) handles 60 FPS carts with ease. No complaints here.

Battery

This one is really unfortunate. You get two hours of play time. The select and start buttons also show the battery status with green, blue and red LEDs. If it's close to drained the LED starts blinking. The battery will only charge when the power button is in the off-position. Try turning off the Wi-Fi when not in use. If it weren't for the battery situation I would declare this to be the perfect PICO-8 handheld.

Software

I didn't manage to add PICO-8 to recalbox but I succeeded with Batocera. That OS is much more polished anyway. It does have out of the box support for PICO-8 but it's an PICO-8 emulator with some compatibility issues, not the real deal. Let's fix that.

I created an nifty installer package so you can install PICO-8 with very few steps. That includes extra features like shortcuts, sharp picture scaling and swappable controls.

Pixelpunker's PICO-8 Installer

How to install

Prerequisites

  • Download [Batocera for the CM3] and write it to a MicroSD card using the Raspberry Pi Imager. Use a SD card marked A1 or A2 (Application class).

  • Download GPM280 DTBO and unzip it to the overlays directory. Edit config.txt and add the following lines to the end of the file:
dtparam=spi=off
dtparam=i2c_arm=off
gpio=0-27=a2
dtoverlay=dpi24
enable_dpi_lcd=1
display_default_lcd=1
dpi_group=2
dpi_mode=87
display_rotate=3
dpi_output_format=0x7F217
hdmi_timings=480 0 26 16 10 640 0 25 10 15 0 0 0 60 0 32000000 1
extra_transpose_buffer=2
hdmi_ignore_edid=0xa5000080
dtoverlay=gpm280-pwm-audio

Prepare Batocera

  • Turn on the Game Pi Micro. Once you are on the home screen, access the menu with the menu key and connect to your local Wi-Fi under Network Settings/Hostname
    Turn on security under System Settings/Security

  • Now reboot under Quit/Restart System. Write down your IP address under Network Settings. Now write down your password under System Settings/Security.

Finish Setup

Login to your Lexaloffle-Account and download the PICO-8 zip file for the Raspberry Pi to your downloads folder.

Enter this command in Windows Terminal, Mac Terminal or a Linux Terminal.

scp ~/Downloads/pico-8*_raspi.zip [email protected]_IP:/userdata/

It will ask for your password you noted earlier. Now type (and enter your password again)

ssh [email protected]_IP
cd /userdata/
wget https://github.com/Pixelpunker/Pico-Host/releases/download/0.1/install-pico8.sh
chmod +x install-pico8.sh
./install-pico8.sh

After successful installation the system reboots.

Your new home screen.

Features

PICO-8 is properly installed with the following additional features:

  • Sharp scaling
  • Left and right triggers additionally function as ❎ and ⭕
  • Press select for a screenshot
  • Hold select for 0.5 s for a video

Launch PICO-8 in splore mode by choosing 'console' You can also swap controls between "Xbox style" ❎⭕ (which is the PICO-8 default) or "Nintendo Style" ⭕❎.

Browse screenshots and gifs you took with the select key directly on your Game Pi Micro.

Play PICO racer using the shoulder buttons.

Controls

Have fun. The fantasy console is no longer a fantasy. It's in your hands.

P#86878 2021-02-19 22:46 ( Edited 2021-08-31 20:32)

Low-Rez pixel art is the great equalizer.

Anyone can do low-rez pixel art and make it look at least decent.

There was a high school teacher that taught his students how to code homebrew games on the Game Boy Advance via emulators and a flash cart.

While this teachers deserves applause, ultimately all the student projects looked amateurish next to commercial Game Boy Advance games.

The fuze basic for the Nintendo Switch also appeals to students but it relies on a pre-packaged library of professional 3d assets. Simply reusing professional assets leads to a mish-mash of styles. Your own artwork next to these assets also looks unflattering.

The low rez resolution and reduced color palette of pico-8 makes for more visual consistency. Yes professional pixel artists will still produce better looking games but the beginners art does not look like crap in comparison either.
You can still be a one-man shop like in the days of bedroom coding in the UK of the eighties. Instead of being at least a artist/coder duo.

Experience all game genres in bite-sized chunks.

As today's big games are too time-consuming for many of us in the later stages of adulthood, PICO-8 games take 30 minutes to 2 hours to complete and can always be finished in one evening. What's more, they are so focused because of the size restrictions there is never any filler. Most of them are pure joy. Not a drag, not a grind.

Timeless.

The pico-8 community is vibrant. There are many passing trends, but pico-8 has been around for 6 years now.
In a sense retro computing is timeless because if I read an issue of retro gamer from 2012 it features the same stories it does today. Once old, those simple games don't really get any older. They become classics. And so PICO-8 is timeless too.

PICO-8 vs vintage computing.

Some prefer to work with real hardware constraints and code for the C64, the Game Boy, the NES. But if most players run those games inside emulators anyway what's the point? PICO-8 also has arbitrary constraints, but they are more fun.

P#86074 2021-01-02 13:44 ( Edited 2021-01-02 17:31)

Summary: great hardware, lackluster software.

Intro

Retrododo gave a bit of a rant about the ZPG Pro which I think is a bit unfair because he was talking about the problems with chinese retrohandhelds in general and there are certainly shoddier ones than the ZPG Pro.

Hardware

The case looks very slick, nintendo-ish in quality. The analog stick is great, it is the same as in the Nintendo Switch. Very satisfying and ergonomic to hold with its rounded edges, the plastic feels great to the touch. The glass front of the screen has rounded curves at the edges which looks very premium, like a high-end smartphone. The display is top-notch. Even greater colors and brightness than my funnyplaying IPS mod on the original GBA.

The buttons feel good but not great. The D-Pad has a good size. I hear that the silver metal version has more clicky buttons, but the newer rose gold metal version, the only version yet with built-in wifi, has the same buttons. I'd say they are halfway between mushy and clicky. I wish they had a bit more resistance.

I was disappointed that my yellow plastic version has no wifi although it was originally planned. I hear that the new rose-gold metal version finally has wifi but I find the extra expense for the metal case a bit excessive. And I don't like metal cases anyway.

Software

The hardware is great. What is so-so is the software. First you need to find it. As there is no obvious manufacturer homepage I first found some builds on comments in youtube videos and finally, on rghandhelds.com. That server was so slow that it took more than 24 hours to download. Luckily I'm not on DSL with forced reconnects.

I was also bummed that although the ZPG Pro is based on the same chip as the Odroid Go Advance I couldn't simply use images for that system. As they haven't open-sourced their OS fork yet you can't tell what changes they made. Well, you could manually compare their fork of EmuElec with EmuElec for the OGA if you are very bored.

To get PICO-8 working was another story. The latest version of EmuElec for the ZPG Pro I found was 3.8, but 3.9 has added support for PICO-8 so I compared revisions on Github to find the changes they made in 3.9. Out of the box the image is blurry as hell, you seriously need to fix that if you want pixel-perfect.

Finally out of the box the menu key was not mapped to anything. I fixed that in my config below (which is specific to the ZPG Pro and not other OGA based handhelds):

When you are done you have pixel-perfect PICO-8 goodness with 100 % compatibility and speed. Too bad about the wifi, so splore browses local files only.

These two lines belong in your gamecontrollerdb.txt:

# PICO-8
// add SDL2 game controller mappings to this file
19000000010000000100000001010000,odroidgo2_joypad,a:b1,b:b0,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,dpdown:b7,dpleft:b8,dpright:b9,dpup:b6,leftx:a0,lefty:a1,guide:b10,leftstick:b12,lefttrigger:b11,rightstick:b13,righttrigger:b14,start:b15,platform:Linux,
19000000010000000200000011000000,odroidgo2_joypad_v11",a:b0,b:b1,x:b3,y:b2,leftshoulder:b4,rightshoulder:b5,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,leftx:a0,lefty:a1,guide:b12,leftstick:b14,lefttrigger:b13,rightstick:b15,righttrigger:b16,start:b15,platform:Linux,
P#85111 2020-12-07 12:41 ( Edited 2021-01-26 21:19)

This month a new handheld was released: the Anbernic RG280V. With it's diminuitive form factor and 2.8 inch screen is it the most pico PICO-8 handheld yet?

It's driven by a slightly underpowered 1 Ghz chip, the same as is used in the RG350 or even the GCW Zero from 2013. Not enough for more advanced consoles but for emulating handhelds like Game Boy Color or Neo Geo Pocket it's just right. And with the new Tac08 emulator it can even run PICO-8 games pretty faithfully.

The screen looks great, it has an even greater resolution than the RG350 so scaling issues are almost non-existent. The colors are vibrant. Build quality is top notch. The controls feel very satisfying. Although it's so small compared to a Xbox controller, the actual D-Pad is almost the same size.

The only drawbacks at the moment are some sound issues and compatibility with the PICO-8 library is not at 100 % yet. Still, the emulator is making great progress and it is only a matter of time before these issues will be resolved.

Note: it is recommended to install the pwswdpp extension for the Opendingux OS to enable several shortkeys like screen scaling, brightness and a standby mode. Also download a backup copy of the OS from rghandhelds.com so you can use a brand-name sd card.

P#79817 2020-11-29 21:19 ( Edited 2020-11-30 08:55)

There‘s a great gamer & game developer magazine called wireframe. Issue 12 contains a PICO-8 special.

Wireframe #12 PICO-8 Special

For some reason the PDF is free which is great. It‘s very much in the style of Edge magazine. Very polished & professional. It has great pointers for getting started. Check it out pico-people.

P#80200 2020-08-01 06:41

This is not a bug per se but still has the potential to break PICO-8.

I was surprised to learn that the most recent version of Buildroot has completely removed the WiringPi package. It says:

> ### BR2_PACKAGE_WIRINGPI:

> The author of wiringpi has deprecated the package, and completely removed the git tree that was serving the sources, with this message:

> Please look for alternatives for wiringPi

Apparently the author has had enough: wiringPi – deprecated…. This has obvious implications for PICO-8 as it currently depends on WiringPi. I hope @zep is aware of this.

P#63302 2020-07-20 19:02

The Pocket Popcorn Computer

There's a new kickstarter for the Pocket Popcorn computer, a small linux handheld that builds on designs from the original PocketCHIP. This time the keyboard looks quite useable and it has a high-quality 5 inch display. With it's full HD resolution we could display PICO-8 with a perfect 8x scale. What's more it seems it could be binary compatible with the PocketCHIP build of PICO-8. By the way, the red color below is from the configurable RGB lighting and could be any color you like.

Currently there is a discussion for the right keyboard layout, if some of you could post their suggestions here. I think we need a better cursor key layout that is suitable for gaming.

The device is slated for an August 2020 release. Well. Let's hope.

P#72362 2020-01-28 21:52 ( Edited 2020-01-30 19:07)

After upgrading to Pico-8 0.1.12C I noticed pixels were a bit blurry, even with the explicit option -pixel_perfect 1

Well, it seems the reason is not PICO-8 but a recent Windows 10 update. I have systemwide DPI set to 125 % and Windows therefore tries to scale the PICO-8 window a bit.

I fixed that by right clicking on the PICO-8 shortcut, settings, Compatibility, Button "Change High DPI-Setting".

In the following dialog turn on both checkboxes:

P#68570 2019-10-06 13:53 ( Edited 2019-10-06 13:56)

PICO-8 iPhone Shell

This is a work-in-progress iPhone Shell for PICO-8 featuring

  • sound
  • real gamepad controls (digital and analog)
  • pixel-perfect scaling
  • low latency (run loop reading input runs 60 times a second)

Note: I am abandoning this project because I now use the ClockworkPi Gameshell.

It uses the Gamepad API that was introduced with iOS 11 and was tested with the following MiFI-Controllers:

Controller Working
Kanex GoPlay Sidekick Yes
SteelSeries Stratus Yes after Firmware Update
Logitech PowerShell Controller No

No more touch support at the moment.

On the iPhone SE you have pixel-perfect scaling. Since the iPhone SE's display is 640 pixels wide you can do a 5x integer scale for razor sharp pixels. For a more full-screen experience turn the phone sideways.

Click to start the game (necessary to enable audio).

You can test it out on your phone:

https://pixelpunker.github.io/pico8-iphone/iphone.html

To Change the Game

Load your PICO-8 cart and export it as html with this command

export mygame.html

Keep the mygame.js file and throw away the other files. Change line 66 in iPhone.html to reference your exported cart.

Todo:

  • Use new fullscreen API in iOS 12/13
  • Test other bluetooth controllers in iOS 13
  • Does saving to home screen work now? (Pinning the website to the homescreen used to disable Gamepad functionality)
P#68447 2019-10-04 12:52 ( Edited 2019-10-06 13:46)

At the beginning of their draw cycle some carts use

cls()
rectfill(0,0,127,127,color)

instead of

cls(color)

Is that for performance reasons? Does it perform better if you call rectfill with your background color? Or is it because the color option for cls was introduced in a later version of pico-8?

P#63303 2019-04-07 13:51 ( Edited 2019-04-07 16:10)

Follow Lexaloffle:        
Generated 2021-10-19 20:36:28 | 0.133s | Q:26