I know there are many of these consoles out there. A few on Kickstarter I’ve seen. The GameShell and now the RetroStone, seem to be running RetroPie. Not sure I actually intend on buying either of these. I like the Pokitto device cause it seems like it would be much simpler to program than a device running retropie. Less expensive, and less complicated. Anyone have a device that runs RetroPie? Would they be kind of a pain to keep updated, and install?
These Retro-Pie devices do run emulators, but I know the RetroStone by 8bcraft would allow users to run user created games as well.
Whether or not the Pokitto is easier to compile and run for, it depends what kind of system they use. Anything able to use an IDE is probably going to be easier to write for than something that uses makefiles.
I must admit out of the RetroStone and GameShell I prefer the GameShell purely because of its modularity and lego compatible shell (a bit like the Pokitto’s neat little limb holes).
That makes it a bit more uniqueand interesting.
Also the RetroStone feels too much like a regular pi board shoved in a GameBoy-like case, ignoring the size it could just have easily been a tiny laptop with an xbox controller attached.
By the way, would you mind editing in some links to either their kickstarters or websites so people don’t have to go searching?
The GameShell is pretty easy to find, but ‘RetroStone’ is actually a popular business name so that one’s a bit harder to find.
I need to say something about how Raspberry Pi works and how Pokitto works.
Raspberry Pi is a single-board computer running a quad-core Broadcom SoC (system-on-chip). Its not actually very different from your mobile phone or even a laptop computer. It has hundreds of millions of transistors. It is - internally - extremely complicated and without signing an NDA (non-disclosure agreement) with Broadcom, you will not learn what’s inside. Not even the transistor count (https://www.raspberrypi.org/forums/viewtopic.php?t=84368).
Programming RPi is like programming any Linux computer. Its a computer, has a powerful GPU and you can use any common tools and languages to do it. That’s great and convenient, and allows you to do pretty much anything you want.
Pokitto, on the other hand, is the other extreme. Pokitto is based on a ARM Cortex-M0+ microcontroller, which is pretty much the simplest ARM processor you can find (https://community.arm.com/processors/f/discussions/5176/arm-cortex-m0-details).
Instead of 270 million (guesstimate by experts) transistors of the RPi Broadcom chip, an ARM Cortex M0 core (Pokitto) has 50k-120k transistors. In terms of complexity, its like comparing a full grown cheetah to an ant. Because this type of microcontrollers are intended to be controlled on hardware level, you can find detailed information about how the microcontroller works and you can control everything about it.
The processor inside Pokitto was never intended to run a game console. It was intended to spend its life running a microwave oven, a washing machine, or some mundane industrial equipment. It has no GPU, no sound processor, nothing. Its doing things it was not intended or equipped to do.
The close relatives of Pokitto are controlling your car (~100 microcontrollers taking care of ABS brakes, engine controls, climate controls). They also control things like wireless door locks, Google Nest thermostat, wireless light bulb etc. Learning to program this kind of gadgets is what Pokitto was intended for.
I have a raspberry pi 3b running retropie. I only update if i need to ( game wont run or something). And that is simple to do. But retropie is a complete shell over the standard os of the raspberry, once installed you only see retropie and its build in emulators. So it limits the use of the Pi.
Ironically the Arduboy forums are where @Beau found out about the Pokitto.
The thread has since been deleted (presumably by Kevin since it was discussing other consoles), but his account is still there.
I’m not a fan of the way people are using the raspberry pi for gaming. Building a shell over an os to run an emulator.
I would rather retropie ran in place of the os. The boot time is incredibly slow for a games console, I don’t know why people don’t have a problem with that aspect alone.
Whereas you see a stripped down os running an emulator directly and the whole thing boots up and you’re in the emulator within 5 seconds, however I have only seen a couple of cases where someone can be bothered to do this.
I think part of the reason is that coding a few levels above the OS is typically easier than building using the OS’s API directly. Have you encountered any Win32 code?
Something as simple as opening a window is surprisingly awkward.
That said I think using a hardware abstraction layer like SDL2 and building on that would be a good option - better structure but minimal overhead. There’s no reason they couldn’t do something like that.
I suspect part of the slowness is because the programmers picked easy options and used naive algorithms (e.g. O(N) stuff and brute forcing) rather than being meticulous with optimisations (e.g. O(log N) tree structures and amortised O(1) hashtables).
There’s probably a lot of unnecessary dynamic allocations going on as well. I’ve seen people use
new to allocate an object at the start of a function and then
delete the same object at the end of the function, oblivious to the fact that could be taking a chunk out of the performance.
The boot may be a little longer but then i can play games from different consoles within seconds. Just about any controller works, i believe it was a tought trough decision to work on top of the raspberry os. This unloads a lot of work for them so they can spend more time on the emulators.
My personal preference for retrogaming goes to http://www.lakka.tv/
It’s a small os that boot fast on my RPI 1 (less then my television OS) it doesn’t suffer of brute power down (no need shout down procedure) based on https://www.libretro.com/
It deserve a look.
Having something I could put together, and not complicated is why I chose the Pokitto. “Friend says what is that??” I tell them I made it.
Now the Gameshell rus the allwinner chipset, which I heard is not good. Lack of support/updates. Yes, the Lego like put together is pretty sick. Are you gunna buy it?
Again, I like something simple. I can learn how to create games, play games you guys create. Is the Pokitto chipset, updateable? Swapable? Or would we just get a Pokitto 2?
As far as I know, the Pokitto doesn’t have a GPU. While GameShell would use a Mali GPU which is cheap and unsupported.
pocketchip uses an allwinner chip, there main deal is they have pico8 port
in terms of game dev on retropi i heurd love2D has a port for it wich is fairly easy to program
but with actual micro consoles (pokitto, arduboy, gamebuino or other arduino/pic devices) your in full control over the hardware, there is no os layer
I always wondered how that works, I’ve consideree a 3b for a home media doohickey and game serving thingamajig for the living room.
theres a lot of people using it like that, if you google it there are numerous setups you could try.
If I do, it won’t be for a long time.
My backlog is scarily long and I haven’t looked into it much anyway.
For now the Arduboy and Pokitto are enough for me.
I’ve never used it for long, but Love2D combines two of my favourite things: Lua and SDL2.
I might see if it’s possible to get Lua going on the Pokitto someday, though the Lua engine source code is absolutely hideous.
last time i checked elua needs more ram to be usefull
there are sacrifices you can make in the lang but i don’t think its worth it, basic will probably be more likely to pull off
I wouldn’t know without testing.
If there is major memory use, it will probably come from building strings on the fly and lots of table allocation.
I’ve looked into the inner workings of Lua before and the bytecode is actually well designed.
(And it was good enough for 90s computers to do stuff like Grim Fnadango and Escape from Monkey Island.)
If anything any excess memory usage will be from scripts that weren’t written with memory consumption in mind. That’s understandable, one of the reasons Lua is popular is because it doesn’t require good technical knowledge or thinking about memory consumption, hence many people will just create hundreds of tables in a loop and have no clue what that’s doing in terms of RAM usage.
im not stoping you from trying, but even in the 90s we had mb of ram not 36kB that you share by the hole system.
maybe the esp32 as an add-on might do the trick making the pokitto chip more like a peripheral manager