Space Invaders

Home / Projects / Space Invaders

Space Invaders

Space Invaders created with assembly for 6502 CPU

To practise and learn assembly we were tasked to create a small little game for the 6052 processor. I really enjoyed working on this so I made the game a bit bigger then necessary.

How it works

The player is the green ship at the bottom and can move left or right using the 'A' and 'D' buttons. Using the 'W' button the player can shoot a bullet. The amount of bullets a player can fire is adjustable through a variable:

The enemies are coming down with an increasing speed and respawn after an adjustable time:

Every time the player hits an enemy this enemy dies and the player earns a point. The score is defined at position '0F' in memory.

If u look at this '0F' which is marked in red on the monitor you can see the score increase when I hit an enemy.

Finally, when an enemy hits the bottom, its game over and you get this little end animation:


Making this was a lot of fun and I learned a lot about the way a program works on its lowest level. Debugging the game was hard since all we had was the byte monitor but this was a big part of the learning process.This most definitely increased my respect for the developers of arcade games.

You find the emulator and documentation here:

Download here