5 ms·
I've long thought it would be interesting to make an education-oriented Game Boy Advance clone to teach low-level programming. I.e: Base it on the expired pate
by corysama 10y ago
I've long thought it would be interesting to make an education-oriented Game Boy Advance clone to teach low-level programming. I.e: Base it on the expired patent, but don't copy the copyrighted BIOS and don't bother being compatible with commercial game ROMs.
The conflict is that it sure looks like sourcing everything but the SoC (case, screen, controls, battery?) will cost more than a RasPi-like SoC capable of emulating a GBA. At that point the question becomes, What's more valuable inspiration-wise: Telling the kids "Your game is really running on the same physical hardware as a GBA" or telling them "in addition to GBA, this device can emulate a bunch of other devices and there's the whole RasPi ecosystem as well" ?
Disclaimer: I know nothing at all about sourcing hardware.
- inyorgroove 10y agoI think that pocket CHIP would fit most of your requirements: https://www.nextthing.co/pages/pocketchip https://www.nextthing.co/pages/pocketchip
- voltagex_ 10y agoThe resolution is low and the touchscreen is a decade old, but it's got promise - we'll see what the community does with it.
- mrob 10y agoIt's not the same because the CPU is much faster than it needs to be for such primitive sound and graphics. A major appeal of fixed hardware is coding close to the metal to get the maximum performance out of it. The PocketCHIP is supposed to be programmed in Lua, which you could do anywhere. With the GBA you're probably going to learn assembly, and because it's ARM the skills will be useful for many other things.
- arm 10y agoThere is the Arduboy¹, which is definitely a lot more primitive. ―――――― ¹ — https://www.arduboy.com/store/products/arduboy https://www.arduboy.com/store/products/arduboy
- corysama 10y agoArduboy sure is cute. But, there tiny then there's really tiny! 2.5k of RAM in the Arduboy is even smaller than I had in mind. I guess I'm thinking of something between that and this http://www.mouser.com/new/embedded-solutions/display-modules/4d-systems-picadillo-35T/n-6m71gZ2cn2ie http://www.mouser.com/new/embedded-solutions/display-modules...
- corysama 10y agoThat is definitely a possibility and the best illustration of what I'm talking about. It's effectively a $10 SoC in a $60 case. Going lower to match the actual GBA hardware specs wouldn't significantly affect the cost of the device even if the SoC was free. I'm being pretty idealistic, but I like the idea of "This is how actual GBA games were made." The GBA is a very beautiful architecture because pretty much all of it's capabilities were memory-mapped structs. You write to addresses and stuff happens. So, it's very simple yet powerful enough to get really good results even though you have a ridiculously low budget in terms of cycles/frame. Writing Lua to call frameworks that maybe write to abstracted "ports" on what's effectively and Android from a couple years ago all to get half the screen-rez results compared to a GBA... That just doesn't seem to accomplish teaching low-level programming. Any embedded programmers in the room? Does this sound actually useful at all? Or, is embedded getting to be more like coding on a RasPi than a GBA these days?
- Arcsech 10y ago"Embedded" is a pretty wide spectrum these days - some is pretty close to an RPi, some is much closer to classic embedded systems. The primary drivers are a) how much processing do you need to do? If it's lots, why not run Linux underneath since you need a relatively beefy processor anyway, and b) how cost-sensitive is the product? If it's not very high volume, the speed of development you can get by developing on top of Linux instead of bare metal or an RTOS is likely to outweigh the COGS difference.
- dTal 10y agoTeacher: "Your game is really running on the same physical hardware as a GBA!" Kids: "A what now?" It might be hard to hear, but the "inspiration" factor of a Game Boy nowadays is minimal - the kids you're targeting have probably never seen one, and would be unimpressed if they did, having been reared on iThingies. However... TI's educational graphing calculator line is the closest thing to ideal I've ever seen. It's nearly the perfect formula, lacking only a backing company committed heart and soul to openness. Graphing calculators are equipped with basically the same hardware as a Game Boy, plus they: are standardised and mandatory in high school math have a massive base of ticklish software and games come with BASIC and support assembly have a link port that enourages peer-to-peer sharing are practically useful without requiring tinkering (The last one is especially important. It's way better to support* tinkering than to require it. To get people to actually buy and play with it, the device should stand alone.) This formula works. An entire generation of low-level programmers was raised on these things. It got me into programming. They are the last surviving relic of the philosophy of the 80s microcomputer.
- dTal 10y agoTeacher: "Your game is really running on the same physical hardware as a GBA!" Kids: "A what now?" It might be hard to hear, but the "inspiration" factor of a Game Boy nowadays is minimal - the kids you're targeting have probably never seen one, and would be unimpressed if they did, having been reared on iThingies. However... TI's educational graphing calculator line is the closest thing to ideal I've ever seen. It's nearly the perfect formula, lacking only a backing company committed heart and soul to openness. Graphing calculators are equipped with basically the same hardware as a Game Boy, plus they: *are standardised and mandatory in high school math *have a massive base of ticklish software and games *come with BASIC and support assembly *have a link port that enourages peer-to-peer sharing *are practically useful without requiring tinkering (The last one is especially important. It's way better to support tinkering than to require it. To get people to actually buy and play with it, the device should stand alone.) This formula works. An entire generation of low-level programmers was raised on these things. It got me into programming. They are the last surviving relic of the philosophy of the 80s microcomputer.
- bane 10y agoBonus, there's a huge community already around them. http://www.ticalc.org/ http://www.ticalc.org/
- pipio21 10y agoThose things are terribly outdated. A modern Nintendo DS with a homebrew card is much much better and powerful, and all the low level you want or more, with better documentation than Graphing calculators(made by open source contributors). If you don't care about low levelness any android smartphone have better capabilities. I have smartphones and tablets with Ubuntu, that is without a doubt the best system for learning if you are serious into programming today.
- pipio21 10y agoKids this days don't care about GBA at all. Why should they? You have to understand that we emotionally connect with our past. You probably played with your friends on the GBA and shared great moments. But kids today will make friends today with current hardware. For them GBA is obsolete. Disclaimer: I volunteer teaching marginalized kids in immigrant and drug places. We do things like this: https://www.raspberrypi.org/magpi/super-gamegirl/ https://www.raspberrypi.org/magpi/super-gamegirl/ That we print ourselves with 3d printers. But the machine is the least important thing of all. The important thing is making those kids feel a great time with each other and teach them other worlds and give them hope. We use machines for our purposes, that is making them not enter drugs, crime and prostitution, but it is just a tool.