Donkey Kong Jr

Donkey kong jr

Donkey Kong Jr

This is an adaptation for the Gamebuino META of the famous eponymous game, released in 1982 by Nintendo on his Game & Watch system.

I tried to stay consistent with the original version by scrupulously examining some demonstration videos on YouTube, but this task proved to be laborious and imprecise… I think I have managed to make a fairly faithful adaptation despite everything. You’ll tell me what you think :slight_smile:

This project was born out of a request from Jicehel in the beginning, who wanted a programming model on which to base itself to make another game, also released on Nintendo Game & Watch system: Parachute. I then provided him with a demo code implementing a methodology for making this type of game with the Gamebuino META. And I chose to apply it to a draft of Donkey Kong Jr. After a few days, I finally decided to make the game in its entirety.

The game uses the full resolution of the META: 160x128 pixels with a 16-bit color depth. Graphics rendering is done with low-level techniques based on the gb.tft API, and does not use the standard gb.display API.

The story of the game

Mario has locked Donkey Kong in a cage, and you play the role of his son, Junior, who is trying by all means to save him. To open the cage, you will have to collect successively the four necessary keys, while avoiding the dangers that will arise in your path.

Instructions for use

Button A starts Game A.
Button B starts Game B.
The pace of Game B is much faster than that of Game A.

Move Junior using the D-PAD, and press the A button to jump.
But beware, the pace of the game is accelerating over time…

Use button B to turn off the sound effects.

You can also use the MENU button to alternate the display of the score, CPU load and available memory space. I had added this feature for debugging, and finally kept it. It may help you to see that the optimization of the graphic rendering is quite successful :sunglasses:

Source code

The source code is fully documented to help you better understand the implementation and create your own adaptations of Game & Watch on Gamebuino META.


I would like to thank Andy, who explained us how to use the DMA controller to optimize framebuffer transfers to the display device and, at the same time, exploit the full resolution of the META (160x128 pixels in 16-bit color depth).

I would also like to thank Valden who released a small utility very useful to easily set up and integrate procedural sounds into our Gamebuino applications. I had initially chosen to integrate sound effects in the WAV format, but reading this format at runtime consumes far too much CPU, and I finally gave up the idea.

See more


Looks very promising Steph. I will try it :slight_smile:

Steph where did you get this gamebuino key schema in your instruction? Its very cool and this could help me in my game instructions. Is it available anywhere do download or is it yours work? :slight_smile:

Ha ha ha… actually, I relied on the diagram available on the META reference manual.
But I preferred to redraw my own schema to make it cleaner :wink:

1 Like

Very nice work! Congrats! Be quick to download it before Nintendo hears of it :grin:

1 Like

Thank you very much Alban!
Yeah, you’re right… but at the same time it might attract some people over here :joy:

Downloaded and tried it already (Mine for keeps now, Nintendo)
But honestly, it feels (-having never played the original -) very nice and solid.
That there’s only the one bleep for sound is relaxing. Will play some more later (airport, airplane, half around the world, arr, such privilege, much travels)

Thank you for your feedback Mike!
I hope it will allow you to pleasantly occupy these endless moments of waiting :wink:

1 Like

Yeees, best G&W title imho, thanks!

Thank you for your feedback Zockeromi. I consider, like you, that Donkey Kong Jr. is one of the best Game & Watch Nintendo has ever released :wink:

1 Like

Just a word to let you know that the source code is now available. I have tried to document it in detail to make it easier for you to understand.

Feel free to come back to me if you have any difficulties in understanding. I will try to answer you quickly.

1 Like

Great works Steph, nice source and better than all: ery good game eto have fun :wink:

1 Like

Thank you Jicehel for your feedback.

You who know these game handhelds well, you may still have a copy of DonkeyKong Jr. in the attic? And, if so, maybe you can tell me if my version is close enough to the original?

In any case, the trend is back on track! I hope that our contributions will succeed in emulating some of us and that we will see other titles appear in the coming weeks! That would be fun.

Sure, these are little games, easy concept but very fun. I hope to see some other in the next months (me i’ll probably do maybe 2 or 3 more as there are some already done on Arduboy to transform for the META with all these settings on gameplay already done, so it’s would be dommage to not port them and thanks their autors for their jobs on them as they are amazing too (for the one following Arduboy community, you’ll know about who i’m talking else you’ll have to wait the games on the META and the thanks or the splatchscreen :slight_smile: )
For sure, gameboy Fire will be the next port for the META HD for me with maybe 2 modes: classic or ‘Arduboy’ version as another version as been done with another game in (race of the ambulance to collect some things and avoid other cars). I’ll think about that later.
Else for Donkey Kong Jr, I have no more it. I have always Oil Panic and Donkey Kong (the brown but i had open it when i was you to see how it was made and i’m not sure that it’s works always). Some will prabably be able to compare your version with the original, but first goal is reach: the game is fun. It’s maybe a little easier than original, but does it’s really be important: not sure, it’s could be really hard to have exact gameplay without having the originals settings.

1 Like

So, how’s it going? I don’t see much change on your GitHub repository… :joy:

For those who would like to tackle the implementation of a Game & Watch, you could list here the list of titles released on Arduboy.

Finally, to optimize your own spritesheets, you can take inspiration from the way I organized mine, using color codes for identification. You’ll see in my code how to handle it.

Give some news and don’t let the thing cool down… :stuck_out_tongue_winking_eye:

1 Like

yeap, yeap, as i said i had not touch the code last days. I’ll do soon and post changes when done :wink:

Good implementation Steph :slight_smile: Console has very good abilities to implement such games.

Thank you for your feedback @sentinel87!

Actually, the SAMD21 that runs the META is full of resources! With a little programming trick, you can really get the best out of it!

I have other game making projects in full resolution for the META, but I haven’t had time to work on them yet… I have been taking on other challenges for the past 2 weeks: I am learning electronics and I intend to apply everything I learn in funny projects with various microcontrollers… and not only the META :wink: