Portable gaming console uses SSD1289 and Propeller

building-a-portable-video-game

[Samir] dabbles in hobby electronics and decided to put his skills to the test by building this portable gaming console (Note: this site uses an HTTPS address which cannot be used through Google Tranlator. It does work for the Chrome browser translator). The image above is a screenshot from his Breakout-style game. The paddle at the bottom is controlled with the touchscreen. You move it back and forth to keep the ball from traveling past the bottom edge (it bounces off of the red borders on the sides and top).

The main PCB is larger than the 3.2″ LCD footprint, but [Samir] made sure to include a lot of peripherals to make up for it. The board sports a Parallax Propeller chip to run the games. It interfaces with the SSD1289 screen (this is a cheap and popular choice) but that really eats up a lot of the IO pins. To control the game the touchscreen can be used as we’ve already mentioned. But there are two other options as well. There is an expansion port which uses a shift register (74HC165) to serialize the input. For prototyping this allowed [Samir] to use an Atari joystick. He also rolled a Bluetooth adapter into the project which we would love to see working with a Wii remote. Rounding out the peripherals are an SD card slot, audio jack for sound, and an RTC chip for keeping time.

There are several videos included in the post linked above. After the break we’ve embedded the game-play demo from which this screenshot was taken.

[Read more...]

Library for driving SSD1289 LCD displays with small microcontrollers

[H. Smeitink] got his hands on a 320×240 color TFT LCD screen. He set out to drive it with a small PIC microcontroller but didn’t find a lot of help out there to get up and running quickly. This is surprising since it’s a really nice display for quite a low price (under $16 delivered on eBay at the time of writing). He decided to write his own library and support tools to help others.

The display includes an SPI touch screen, but since that works separately from the LCD controller, touch input is not supported in this package. The driver that he wrote is coming from a mikroC toolchain point of view, but it shouldn’t be too hard to port to your platform of choice. We took a quick look at the code and it seems all you need to do is tweak the defines to match your hardware registers, and implement your own delay_ms() function.

But he didn’t stop with the driver. You’ll also find a C# program which converts images to an array for easy use on the display. Incidentally, this is the same display which [Sprite_TM] got working with the Raspberry Pi.