@moosepr I usually model buttons and d-pads after the SNES controller, just because it's such a classic size. Might start using a similar size and layout to the Gameboy Pocket instead. I'm assuming that you're using a screen similar to this one, but I could be wrong. That's the sizing I used for the mockup. Are there any other screens you've considered using for your next build? The 1.5" diagonal sizing is a little ... well ... little!
Of course, you're the one actually putting in the sweat and tears to build these things, so you absolutely should do whatever you like! Just giving my two cents, in the spirit of conversation.
As for the physical media discussion, I love the idea aesthetically, but production costs and supply issues loom over the horizon.
its not bad dont get me wrong. but if you were to play this on the BBS or on your own PC
then compare it speed wise to it running on a pi0
im just thinking that if we want to go to the trouble of making custom hardware, we should aim high!!
Clearly zepton has a metric tonne of overdraw. We get really high fillrate in terms of PICO-8 CPU cycles, but for a real CPU it's a lot slower to fill memory.
In fact, depending on data cache size, it could be really bad. If you do a lot of lua between draw calls, it'll easily flush a small dcache, since lua memory access patterns tend to be pretty chaotic and thus touch a lot of cache lines.
I wish PICO-8 were open source. If there's anything I can make faster, it's a rasterizer.
@Felice i actually need to re-test now there is a picopie version for my TinyPi. maybe the reduced os load might help. most games tend to run a little bit slower as a general rule. If we could tweak the code, we could also make it write the data straight to the tft rather than the current method which writes to the normal framebuffer for the hdmi, then copies it to the framebuffer for the tft
@eggnog i was thinking the 1.5" oled screen like the one you linked. it is pretty tiny, but there is an issue with the 128x128 resolution and getting it to fit pixel wise into the screen. the most common screen resolution for 2.2-2.8 inch screens is 240x320 which isnt perfect, you can stretch it to fit, but it looks a little bit rubbish and fuzzy
the board i was playing with looks a little like this
it fits in size wise with the peanut design, but i got sidetracked looking into more powerful brains
Okay, I'm not a *nix person so I only recall vague details, but I'd swear there were people a while back talking about getting PICO-8 to write direct to the display and that they figured out a way to do it.
Don't quote me on that, I may be wrong about which exact bit of hardware they were trying to write directly to, but it might be worth some digging into the lexaloffle.com forum history.
@eggnog im loving your designs!! I actually have a base design that fits a 2.2" screen, which would just need better buttons https://hackaday.io/project/20152-gameboy-zero-but-smaller
@Felice i think the early versions might have been able to pipe direct to the tft, but now its on SDL2 as its graphical backend it isnt possible (as far as i know!)
@moosepr For your teensy-gameboy project, are you able to place the buttons wherever you like? Or is their placement based on whichever board you're using?
Probably a noob question, since I know nothing about hardware design, but I'd love to mock up a case for it! If you're cool with that, of course. ;)
The buttons can technically go anywhere on the board, and the boards are my own custom design so it's pretty flexible.
My current stuff has all been designed around constraints. My TinyPi was destined to be as small as physically possible. The GBZ board was designed to have the lowest part count possible. I need to design one as playable as possible 😀
This is the last one for a while, I swear! They're just so fun to make. :P
It's closer in size to your "Gameboy Zero But Smaller" project. Not sure how comfortable this would be to hold, with all the weight up top, but I like the idea of chiclet buttons laid out in alignment with the D-Pad.
I would be tempted to add start and select so it could work for retropie as well as pico-8 we could make use of DS lite buttons so you get the quality feel of the rubber membranes
on a side note, i did a test on picopie which now has the tft code baked in. it boots in 10 seconds which is not too shabby!! it also feels like it runs a little faster, although that could just be me wanting it to run faster!
I love all these handheld designs but to me, the most "nostalgic" PICO-8 console for me would be a box you plug into the TV. Something about the size of the Ouya would be perfect. In fact, if I can find one of those on eBay I might throw my Pi zero in there. Or try to :)
Also, how do these SNES style controllers work with PICO-8? I've yet to get a digital D-pad controller to work with the RPi version. Xbox controller works fine but the direction keys are linked to the left analogue stick. Which is not ideal.
I just want to throw this out there, I found this thing a while back and it looks like it would be perfect for a little PICO-8 handheld. It has 128x128 resolution and is the size of a Raspberry Pi Zero. It has a joystick and 3 buttons. I don't really know how to make something like that work, but maybe it will be useful to someone else here.
@Felice they are the same 5-way joysticks that i use on mt TinyPi. Basically they have 4 directions (up,down,left,right) and then a centre click, giving you the 5 'ways'.
They work as joysticks though, so you can do up and left together without isssue
The prices on bits and bobs for raspi stuff just astound me. I wish I were more interested in the hardware side of things. Seems like a burgeoning field with lots of really cheap toys. :)
I mean, heck, that pad+lcd daughterboard costs less than an entry-level lego set!
So I have that board, but it looks like it uses a controller that's not supported by fbtft...and I'm kinda bashing my head against the wall trying to get it to work correctly...
It's using a ST7735S controller. I can force it to work with the ST7735R driver, but there's some garbage in the bottom and right lines of pixels.
So @moosepr, looks like you're still in the market for the moment :P
i have helped a few folks get that little screen running and you are correct there are some garbage pixels. It is linked to the initialise settings for the screen having a different start position. There was a chap over on the sudomod forum who found a solution. maybe it will help
Here's my dedicated Pico-8 raspberry pi 3. It's just stock raspberry pi OS configured to boot into console mode, auto launching Pico-8. Works great! Note, Pico-8 dumps all typed text to the terminal, so my script dumps all output to dev/null
~/pico-8/pico8 > /dev/null
I just plug it into my TV in the living room. Used with a wireless keyboard and mouse it's really fun to code from the couch. I don't think I'd like a handheld, it'd be too hard to develop as well as play.
The case I chose isn't that great I guess but I like that it had a lot of open holes to help keep the rpi cool.
But the 3D printed pico 8 logo is pretty sweet :)
Nice mock-ups / designs / hardware projects everyone! @moosepr Love that pi-gba!
I've been thinking about this some more. For example the Game cartridges and the square resolution of the pico-8 reminds of a handheld gameboy-type console, while the fact that when you turn on your pico-8 you're immediately presented with the programming view / IDE reminds of old home-/micro-computers (for example the Commodore 128 had a built in sprite editor and abc-music notation in its Basic implementation).
There could (should) really be two versions of the Pico-8 hardware, one handheld version for gaming and one home computer programming "work station" version with tape drive, disk drive etc. 😃
As a side note I've noticed that a lot of Kickstarter and Indiegogo kind of "home made" handheld consoles often seem to have quality issues with buttons and d-pads, which obviously makes you think that it's really hard making a high-quality handheld that pico-8 would deserve.
@Hofnarr - I would love this, especially the "workstation" version :) With a screen that fits the dimensions of the PICO-8 resolution physically too, that would be neat. Jeez, if I ever finish my current game I'm going to try and do something like this. Currently, I have a similar thing to @gradualgames - a dedicated PICO-8 RPi3 with custom case running that dedicated PICO-8 Raspbian OS which I can never remember the name of. And I have a GPD-Win-1 with PICO-8 too :)
I was actually thinking the other day, and I'm starting to think that the Pico-8 is something like the Atari XEGS. It's a game console with a keyboard (and mouse, in Pico's case) port on the side to expand towards being a computer.
Edit: Aaand the BBS banner supports that idea XD
Sorry for reviving a long dead thread but this has been a holy grail for me and I finally found some time to do it recently.
I was adamant for integer scaling, so I made one by using a 128x128 SPI 1.4" screen, pi zero, I2S sound board, power supply, 5v regulator / charge board, and USB NES gamepad which I hardwired internally via the zero's USB test points, and which served as the case for everything (extremely tight squeeze). It was really fun to figure out and build, and I'm looking forward to getting a 3d printer so the case modding isn't such a disaster :)
Interestingly all the parts in the build were pretty cheap! I think the I2S amplifier was most expensive because I got it from Adafruit but I'm looking into other suppliers.
Small thread on twitter: https://twitter.com/partlyhuman/status/1344113214422839298
And a few build photos up on instagram: https://instagram.com/partlyhuman
Photo of the build next to my Game Boy Zero build running with no scaling :)
@partlyhuman. You also seem to be keen on pixel scaling. Have you considered the Funny Playing 4 Pixel in One Screen
That screen can integer scale Game Boy Advance Games 4x or PICO-8 Games 5x. There is a nice video review by mylifeingaming. Because the resolution is so high it can leave one of the 4 pixels black which gives a gridlike appearance like on the original GBA, which would also certainly look cool with PICO-8.
[Please log in to post a comment]