Final project – William Livengood

This ‘A – Mazeing’ game is a maze game that requires the player to navigate a bi-level maze to reach the exit.  The player must moves between levels via a series of ‘up’ and ‘down’ squares.  To go up or down, the player must be on an appropriate square and then press the A button to change levels.  This is repeated until the player reaches the end.  The game is timed to keep track of how long it takes the player.



 “Standard” – Standard hardware definitions from – ASCII character set from

memory.asm – Standard memory functions and definitions.

 John’s – Standard definitions developed by – Hardware defs for sound.

easyScore.asm – An easy way to keep score.  I changed “Score” to “Time” and the background tile.

 My – My definitions and macros.game_map_1.z80 – Map onegame_map_2.z80 – Map two

game_tiles_1.z80 – My tiles

Final-game.asm – Source code for the game   – binary game file

00-README.txt – this file

  Final Game zip package  


This class was a lot of fun, and I learned a lot!

Going back over my code, it does not seem like that much now that I know what it all does, but I guess that is the way most things are.  I wish I had more time to go back to change and add more stuff.  I think I can do some of the things better.  Unfortunately, we only had one semester to learn and write the code.


AndrewStanton – Dungeon Crawlers

Dungeon Crawlers
by Andrew Stanton

Dungeon Crawlers Zip


Dungeon Crawlers is a game of maze crawling fun with two different player interactions with the environment. First there are the enemy sprites in which you must avoid or be forced to restart the map that you are currently crawling. Secondly, there is a specific kind of block that you can move by moving into it with your Hero sprite. The game begins with an intro scene where your hero falls into a hole and lands in the dungeon. Once control is given, the character can move when the directional keys are pressed. The character cannot move into walls, but the screen gives a perspective that he is on top of the wall. However, he is really in front of the wall, so it is a bird’s eye view perspective. There are usually two routes to take to get to the end, so if you mess up the block puzzle one way, try to get through the other way, which may contain a mob of enemy sprites. There are three maps, so please enjoy your dungeon crawling.

Assembly Command Line:
assemble project-initial

Required Files:

Most all of my files have been personalized to some extent due to the length and various functionalities of my game. Please note the following files that I have included in the zip file. – the gameboy game file
project_initial.asm – the main code for the game – the main functionalities/macros for the game – the hardware inclusion file, I have merged it with the noise gbhw – the ASCII tile set inclusion file
memory.asm – the memory functions, this I think is unchanged, but has an addition
memory128.asm – some changes to functions I made due to the need to move the ASCII tile set
easyScore128.asm – file with changes so that I can print the score, changed for the 128 tile set shift
print-number128.asm – additional file needed for easyScore128.asm
Playerfile3.asm – the main asm file needed to add music to the game – inclusion of useful sound macros
SongMusic – my data compilation of two songs used in the game
SongOrder – my order table for the two songs used in the game
Tiles.z80 – my tiles designed with the tile designer
Map1.z80 – map1 data
Map2.z80 – map2 data
Map3.z80 – map3 data
Intro.z80 – Intro map data

Additional Files:
00-README.TXT – these words you are reading are contained in this .txt
scheme.RGB – a good coloring scheme for the emulator that compliments the look and feel of the game


A big problem I encountered in this game is that I added so much code to the HOME section, that it ran out of space to store the code and thus I could not assemble it. I had to make many modifications, and attempt to move files to different sections of memory. Some of this was accomplished, but I always remained close to the limit.

Furthermore, in my final compilation of the game approaching the show even May 9th of 2008. I neglected problems with reading and writing to memory where the background was loaded. As a result, in this current version, if the .gb file is transferred to a real gameboy, the character can not move the block tiles. Also, it fails to change one of the tiles in the intro scene. But one of the tiles is changed.

The game is best played on the emulator with the color scheme I have included.


~ Andrew Stanton

Angela McColm – Tile It!

This is a version of the sliding tile game that is a 4 tile by 4 tile game with an empty space in one of the spots. Usually the tiles are numbered from 1 to 15 with the 16th spot empty. This game is a picture with the 1st spot used as the empty space. The game loads with the picture shown how it is supposed to look. Once the game is loaded into the Gameboy, the player hits any key and the picture tiles are scrambled using a random variable call code looped several times which creates a different scramble each time. The player then uses the arrow button to move the cursor to a tile immediately to the left, right, top, or bottom of the blank tile. They can then push either the A or B button and the chosen tile will swap places with the blank tile. This is repeated until the tiles are all placed in their correct locations. There is no check command to determine when the game is complete nor is there a reset function so the game must be cycled OFF then ON to start a new game.

To assemble the game, use “assemble Tile_It”

 My apologies for not getting this in sooner. I thought it was due later this week and I didn’t look at my email all weekend.

Alec Jahn – Gameboy Synthesizer

This version of my gameboy synth is a little more simplified for use on just a gameboy by itself.  The lower octive is activated with the A button, and the second set of four notes by B (as normal).  No sharps or flats. 
I also didn’t document my full version (the one I used for my proprietary hardware) so it isn’t really ready at all, and would probably just be confusing to “play”.

I even included the assembler program .bat file (etc) so you can just extract the folder, then assemble it in one motion.
Just one command:
>assemble gameboysynthesizer

Greg Nordyke: Anti-Breakout

My original plan was to have a clone of the Atari classic Breakout. That didn’t work so well. I didn’t realize until later this was partly due to my having some outdated files, like two-versions-ago-of-hello-BS, for example. Like I said, that plan didn’t work out, so I rushed together something that did, Anti-Breakout. Follow me here: it’s Breakout in reverse. Rather than trying to destroy the bricks, the bricks are trying to destroy you — or your paddle at least. Just like in normal Breakout, you can only move left and right. Your score increases based on the amount of time you can move around without having a brick fall on and destroy your paddle. Bricks are powerful, after all. I didn’t get to do as much as I would’ve liked with this, but I rushed it out just so I’d have something to turn in that worked.

The command to compile is assemble anti-breakout.

Anyway, I’m practically asleep. I’ve already fallen out of my chair; I’m typing from my knees. I probably missed something in the zip file or in my explanation, but I’m way too tired to find what that might be.

ZIP file:

Adam Wiebe Final Project

My game is unfortunatly nameless. The object of the game is to not get hit by the enemy. There are three enemies moving towards you, the choices of getting away are jumping, shooting them or running away.

left and right arrows move your hero sprite.
A jumps
B shoots, be careful though you only get one bullet at a time!

To assemble: hello-project.asm


last assignment, tile and map files

it might be useful to have a last assignment along the lines of “what in the course should be the same, what should be different, what should the instructor do the same, different” etc. like TASD had this year.

When people make their zip files, have them include in the zip the gb binary and the tile and map files (not the exported versions but the real, live editable versions).

next year’s installation needs an include directory for the standard libraries.

standard libraries should print out their version #s at assembly (perhaps date is version #?)

August Ritchie – Earthshatter

In the game your goal is to block all the attacking sprites. Using standard controls of up, down, left, right and any logical combo in between, you attack the enemies in order to avoid the dreaded “Game Over.” If you found out the easy way to win just by spinning the Joystick around, try hard mode which inverts the controls and causes the sprites to move quite speedily.

Nothing special needed to assemble.

Austin Patten -JetPack

    This is a jetpack clone created by Austin Patten.
This project is a 2D game made to run on a gameboy.
It is about a man with a jetpack who tries to get all the gifts
and escape the level without dying.

To play, use the left and right arrow pad to move left and right.
Use the A and B buttons to fly and phase boxes.
Watch out for enemies and spikes.

If I had to do it all over i would have used a scrolling screen, instead of a static one.  That would have saved me lots of debugging and it would be alot easier to make more levels.  Live and learn…

To assemble my project create a shortcut on the desktop and put “~\assemble.bat hello-jetpack” in the target field.  Where “~” is the folder containing assemble.bat.
Have FUN


Daniel Schossow \ Gameboy Hero

# What is your project? Give a description of at least one paragraph.

My original project was to make a collection of small mini games that continued in a loop, having the time required to complete each game decreasing. I under-estimated the scope of this idea, and soon realized I would have to further specify my goal for the project. I took John Harrison’s advice after the first project phase presentation, and furthered just one of my mini-games. The result was a game that i envisioned much like guitar hero, or dance dance revolution. Commands for up, down, right, left, a, b, start, and select would appear on the screen and the player had a limited amount of time to respond. Music is incorporated in the background, and the tempo of the user input follows the beat of the music.

# how does a user interact with your project?

The user, or player, is supposed to take the order from the command prompt and press and hold the corresponding button on the Gameboy. The user also sets the random generator for all of the random buttons that are called in the game.

# What is the command line needed to assemble your project?

assemble gameboy-hero

Daniel Schossow Gameboy