Making The Worst Linux PC Useful

AVR

After seeing [Dimitry] build the most minimal Linux computer ever, [Kyle] decided he needed one for himself. In true hacker fashion, he decided to take this build for the worst Linux PC one step further: he would add I2C to his version, making it somewhat useful, considering the number of I2C peripherals out there.

This build is based on [Dmitry]‘s ARM Linux computer emulated on an 8-bit AVR. It’s a full-blown Linux computer with 16 MB of RAM courtesy of a 30-pin SIMM, a lot of storage provided by an SD card, all running on an emulated ARM processor inside a lowly ATMega1284p. [Kyle] built this clone over the course of a few months, but from the outset decided he wanted to implement an I2C protocol on this terribly under specced computer.

After booting his computer, [Kyle] eventually got an I2C module loaded by the kernel. With an I2C module and a few spare GPIO pins, he set out to create something to attach to this terribly slow computer – an ancient LED dot matrix display. With a real-time clock, this display became a clock  with the help of a homebrew program written in C. Considering the speed of the emulated processor, the program takes nearly three seconds to read the RTC and display the current time to the display. We’re thinking it was a wise choice to only implement hours and minutes in this clock.

If having a useful computer running at about 10 kilohertz isn’t enough, [Kyle] also compiled the classic text-based adventure Zork. It actually runs, proving you don’t need Megahertz of power to do something useful and fun.

Linux on a Leapster for Classic Video Game Emulation

leapster

Christmas is coming, and if you have nieces, nephews, or ankle biters of your own roaming your house, you’re probably wondering how you’ll be subsidizing Santa this year. it looks like Toys R Us will be selling the Leapfrog LeapsterGS for $30 on Black Friday this year. It’s a Linux device running on a 550 MHz ARM 9, with 128 MB of RAM and 2 GB of Flash. Overpowered for a children’s toy, but perfect for when the kids forget about it in a month, because now you can replace the firmware with a proper Linux install and run classic emulators.

Putting Linux on these cheap handhelds made for children isn’t anything new; we’ve seen it done with the Leapfrog DIDJ and the Leapfrog Explorer. Those consoles, however, had rather anemic CPUs and not a whole lot of RAM. Moore’s Law finally kicked in for stocking stuffers, it seems, and the Leapster GS is powerful enough to play all those Nintendo, Game Boy and even MAME games.

All that’s needed to flash the new firmware is soldering a few wires onto the LeapsterGS’ board for a serial connection. The new LeapsterGS firmware even has an MP3 and movie player, so even if the recipient of one of these machines grows tired of it in a week, there’s still a lot of life left in it.

Video of the LeapsterGS playing the greatest arcade game below.

[Read more...]

The Bitbox Console: an Open Source Gaming Rig

Bitbox Console

A simple resistive DAC is all you need to drive a VGA display. Combining that with an on-chip DAC for audio, the STM32F405RGT6 looks like a good choice for a DIY game console. [Makapuf's] Bitbox console is a single chip gaming machine based on the STM32 ARM processor.

We’ve seen some DIY consoles in the past. The Uzebox is a popular 8 bit open source game system, and [makapuf] was inspired by its design. His console’s use of a more powerful 32 bit processor will allow for more complex games. It will also provide more colors and higher quality audio.

One of the keys of the Uzebox’s success is the development tools around it. There’s a full emulator which allows for debugging with GDB. [Makapuf] has already built an SDL based emulator, and can debug the target remotely using GDB. This will certainly speed up game development.

After the break, check out a demo of the first game for the Bitbox: JUMP. Also be sure to read through [makapuf]‘s blog for detailed information on the build.

[Read more...]

An arcade controller for the original PlayStation

I love it when you hit those switches

[Kevin] just finished a project for someone who lives in his apartment complex. This resident loves the game Pop ‘n Music – a Guitar Hero sort of game for the original Playstation and PS2 that uses nine colored buttons instead of five buttons along a fingerboard. His original idea was to wire up a few arcade buttons to a Playstation controller but this plan fell through, forcing [Kevin] to figure out the PSX bus all by his lonesome.

The initial code began with simply bit-banging the PSX controller interface with an AVR. This had a few problems, namely speed, forcing [Kevin] to move onto assembly programming to squeeze every last bit of performance out of a microcontroller.

The assembly route failed as well, dropping some transactions  Looking at the problem again, [Kevin] realized the PSX controller bus looked a little like an SPI bus. There were a few changes required – reversing the order of the bits, and using the MISO line to drive a transistor – but this method worked almost perfectly on the first try.

Now, [Kevin]‘s building mate has a custom Playstation controller for his favorite game. Of course all the code is up on github for all your PSX controller emulation needs, but be sure to check out this completely unrelated Pop ‘N Music video from someone who desperately needs a piano.

How to play a Game Boy emulator on Chromecast

gameboy-on-chromecast

It’s small, it’s blurry, but it’s working. Here’s a proof of concept for playing emulators on a Chromecast which uses the original Game Boy as an example.

Notice that there are two screens shown in the demo. Out of focus in the background is the television with the Chromecast displaying the game play. In the foreground is a computer with a browser open which lists off the control setup. These are the button mappings for an Xbox 360 controller. The emulator is a JavaScript Game Boy emulator. This is loaded on the Chromecast through a simple html file (called the receiver in the repo). The sender — also a simple html file — loads another JavaScript package on the computer which translates the controller’s button presses to keyboard inputs and sends them out to the receiver.

This puts stars in our eyes about emulator hacks. We’d love to see this boiled down to smartphone and Chromecast as the two pieces of hardware, with the touchscreen as the gaming input.

[Read more...]

BeagleBone Black becomes a handheld classic gaming console

gaming

Over at TI, the 2013 Intern Design Challenge is underway, an opportunity for the interns of TI to flex their engineering muscle for a few prizes and a chance to have their designs turned into actual products. We’re thinking [Max] might just pull this one out with his BeagleBone Gaming Cape, an add-on to the BeagleBone Black that turns this ARM-powered Linux board into a retro gaming system.

The build was inspired by [Max]‘s earlier MSP430 Launchpad GamingPack, an add-on board for the Launchpad that put two NES controllers, a VGA out, and an FPGA to create a custom gaming console that’s up there with the brightest and best consoles of the 16-bit era. For the new BeagleBone-based build, [Max] eschewed off-board processing, but did manage to include a magnetometer/accelerometer and an audio codec IC to provide the best gaming experience for all those NES, Game Gear. Gameboy, GBA and Doom .wad games.

In addition to a fabulous piece of hardware, [Max] also has the case design down to a tee. He first printed out a dozen or so layers of his case, sandwiching the BeagleBone, his cape, battery holders, and LCD display. Once he knew the dimensions would work, he sent his files off to be laser cut out of a matte black delrin. The finished piece is a work of art, and considering how well everything goes together, we wouldn’t mind giving this new retro-gaming console a spin ourselves.

Atari 2600 has a Raspberry Pi hiding under the hood

raspberry-pi-2600

Seriously, the drawer pull on this Atari 2600 is not stock. Don’t they know this voids the warranty? The thing is, you won’t actually find any of the original internals anyway. When building this portable emulator housed in a 2600 case [Linear Nova] was careful to ensure that everything could be restored to its original condition (except for two hinges mounted on the back) sometime down the road. That’s a good goal to set for yourself. We think the build is the fun part of most projects and often wonder what to do with them when they’re done and our interest has waned.

A seven-inch LCD screen was attached to the underside of the lid using Velcro. When tilted up it’s at a nice viewing angle for the player. [Linear] prefers to use a Wii remote as the control this portable video game emulator. It connects to the Raspberry Pi over Bluetooth using a USB dongle. The advantage of this is that you just throw the remote inside the case too. For now there are two power cords, one for the RPi and the other for the LCD screen but he plans to add a power hub in the future to narrow this down to one. We wonder it that would also be a good time to add his own rechargeable battery pack option? There should be enough room for an RC style pack.