The MAHPONG page
MAHPONG is a portation of the well known
Pong-videogame from the 70s for the AVR-Microcontroller.
Its claim to fame lies within the minimalistic
approach: The whole circuitry consists of an AT90S8515 and some passive
components, only.
The thing is controlled via two stone-age digital
joysticks and displayed on a PAL-TV (50Hz monochrome).
The video engine is timer-interrupt based and
invisible for the main application. The generic video functions can be used to
display any information on a TV.
MAHPONG was published in June 2003 by Elektor as
<AVR-Tennis>. There the underlying video system principles were
explained.
Screenshots:


The complete circuit board:

Schematics:

Either ceramic resonator is chosen for X1 (8MHz), or
8MHz christal with 2*22pF. Joy1/2 9pol DSub male. Bas/Sound Cinch receptacles.
And so on...
The base of MAHPONG was programmed out of a whim
around christmas 2002. The first tests on my own younger family members were
very promising, so I decided publishing the game.
One should keep in mind that the first game of PONG
was just a test for a generic graphics-engine written in AVR-Assemble. The
graphics-engine is memory-mapped and is capable of displaying one pixel every
4/5 (internal/external RAM) processor clocks. When using internal AVR-SRAM the
resolution is limited by RAM-size and not by processor speed. Currently MAHPONG
is displaying 48x30 pixel with 4 greysteps. With a 16MHz Atmega and external
SRAM one could expect around 160x480pixel.
The soundsystem is music-score-based and uses
Timer1-output-compare.
Through the contact with Elektor the idea of a
BreakOut-port was born, which can be downloaded now.
I look forward to any feedback, suggestions and
comments!
Feedback and contact: marcus.hasenstab@jkdesign.de
Schematics and current firmware: mahpong_030630.zip - now featuring
<Against The Wall> - the first MAHPONG-Single-Player-Game!!!
Schematics and firmware: mahpong_030521.zip - the classic classic game!!!
Malpong to doodle MAHPONG-screens: malpong.zip
![]()
back to the top