Close

Project Results

A project log for Up to Eleven

A 2048 game which runs on Midway 8080 hardware

louis-paulLouis Paul 11/03/2025 at 04:160 Comments

Now that the RetroChallenge is over, it's time to detail the project results, what was my expectactions about it, and what I learned when making the project.

Before doing this project, I had experience with 8086 assembly, from the previous project of Fungesector which I made last year ago, and 6502 assembly, from a course of making a NES homebrew game.

For the first days of the project, I was using the 8080 syntax to write the 8080 code. I found the 8080 mnemonics confusing and inconsistent, then I found out that the zasm assembler supported the Z80 syntax, then I switched to that syntax.

For the project results, I managed to create the basic gameplay of the game, with the screen states and tile actions. A thing I forgot to implement which would the helpful is an highlight to indicate where the tile was last spawned.

My expectations for this project, which I haven't had the time to implement, were to add more stuff to the game, like a 2 player mode, a high score screen, and testing the binary code on other games based on the same hardware.

I learned about the memory map of the RAM, Video RAM, how to read the coin input, 1 player input and the arrows, the similarities of 8080 and Z80, how to debug the binary on MAME, and some other stuff.

Writing a game purely in 8080 assembly without using an high-level language is not easy. You have to implement the subroutines from scratch, I'm still working on the code, refactoring it, finding bugs and attempting to correct it.

I was supposed to publish this project log on November 1st, but I had the problem of procrastination. So my strategy is to launch the game as a prototype, and a proof of concept that it's possible to write it on an arcade hardware from 1975 (the year where Gun Fight was launched).

I'll post the source code of the project to GitHub (link here), I'm just polishing the code a bit more, for the case I might extend and improve in the future. Like last year, I hope someday to show a more complete version of the game, with the winning screen.

Discussions