Mazogs - a port of the ZX81 'Maze Adventure Game'


Here is a port of the 1982 game ‘Mazogs’ for the ZX81, adapted for the Arduboy.

Information on ZX81 version:

For comparison, you can play the original ZX81 version using the on-line emulator at:


  1. Download Zip or Git Clone from:
  2. Open mazogs.ino with Arduino IDE, ideally version 1.6.6 or newer. Remember to make sure the board type is ‘Arduino Leonardo’ in the IDE as usual so there is 2.5K of RAM available. (If using a dev kit a small change is needed in the Arduboy.h file)
  3. Upload to your Arduboy (can safely ignore warnings about low memory).

(The game uses the A-B button convention, i.e. A button is the inner one, but this can easily be modified in the source. Also, as with the original, there is no sound)

Basic Instructions

  • Go through the maze, find the treasure, and then bring it back to ‘base’.
  • there are over 65000 possible mazes, a random one is chosen for each game.
  • There are prisoners in the maze who will briefly guide you to the treasure or back to base if you walk towards them.
  • pick up a sword in the wall by walking towards it.
  • avoid or fight mazogs in the way. If you carry a sword you are guaranteed to win a fight, otherwise it is a 50/50 chance of winning. You always lose your sword in a fight.
  • In levels 2 and 3 you have a limited number of moves before you starve to death, although in level 3 each kill gives more moves.
  • in level 3 the mazogs move around randomly, although they will only attack from the side. This level also allows you to ‘buy’ a sword, but it costs half of your remaining moves.
  • you can carry the treasure or a sword, but not both at once.
  • ‘B’ button gives a situation report on remaining moves. ‘A’ button views the map for a few seconds.


Feedback welcome.


The bug is triggered by rapidly changing memory, not just the use of large amounts of memory. So if the compiler happens to put your screen buffer right over the magic reboot memory location and you do a lot of animation then you’ll hit the issue. But if you put a “coin count” variable over top of the reboot memory location and coin count only changes say every minute or so then that likely won’t interfere. Of course if you aren’t using that memory at all then you aren’t changing it - hence why small sketches never hit the issue.

Just trying to help people understand the issue a little better.

Most games would prevent this issue if they just had a “pause” mode that didn’t do anything (i.e., static screen display) until a button was pressed. Then you could pause the game, then reflash.

Thanks for the information Josh. This game doesn’t actually use a screen buffer, it does direct rendering via SPI calls, similar to the ‘Squario’ game, to save memory, which is probably why the reset bug never happens. Most of the RAM is taken up by the maze, which is fairly static.
I’ve removed that note from the opening post in this thread now.

1 Like

This looks great in the screenshots at least! I’ve not received my Arduboy yet, but this is probably the first thing I’ll try… I’m kind of hooked on the ZX-81 version!

Screenshots look (a bit…) like QR codes! :slight_smile:


I’m hooked on the ZX-81 version too, that’s why I ported it, I wanted a pocket version of my favourite retro game :slight_smile: (I played the original version for hours when I was a kid)

1 Like

This is awesome!! I loved the original ZX81 version and I’m loving this port.
Fantastic work!!

Do you plan to port any other ZX81 titles? 3D Monster Maze? :wink:
I wish I was knowledgable enough to attempt porting myself

you must try ZX-81 “3D MONSTER MAZE” an old SURVIVAL HORROR… Maybe inspires you. sure it looks great in ARDUBOY.

3D Monster Maze from ZX-81 on Arduboy - makes a Dream come true… please!

1 Like

Hi @Brian, congratilations about your version of Mazogs for Arduboy… are a very very funny game…

Are my first “burn test”, some days ago… and remains on my Arduboy… for more than 15 days :wink:

Got my Arduboy yesterday, this was indeed the first thing I tried (well, except for the game that came on it and a couple of example sketches…) - Excellent port, feels exactly like the original, right down to the slightly temperamental controls :slight_smile: Great job!


Thanks :grinning: glad you like it.

1 Like

Whoaaaaa! This brings back a ton of memories! Thank you for the port!