Need help with asm-space-invaders?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

flxbe
208 Stars 12 Forks MIT License 54 Commits 4 Opened issues

Description

A small, bootable game written in x86 Assembly inspired by Space Invaders

Services available

!
?

Need anything else?

Contributors list

# 173,082
hacker-...
Visual ...
Git
GitHub
18 commits
# 594,555
asm
space-i...
Shell
2 commits

ASM Space Invaders

This is a very simple clone of the popular arcade game Space Invaders.

The game is written in x86-assembly. The resulting program includes a bootloader and the game itself. It leverages the existing BIOS functionality to receive keyboard input and print ASCII chars to the screen.

Screenshot Screenshot Screenshot

Building the Project

In order to assemble the source of the project you have to install NASM. You can then start the building process by executing

./scripts/create.sh

This should create the file

build/image.img
.

Execution

As far as I know the programm should be bootable from a floppy disk. I did not test this, though.

Alternatively, it is possible to run the image using QEMU. After the emulator is installed and the image is created, you can start the program using

./scripts/start.sh

Project Structure

The bootloader is located in

bootloader.asm
. Its single purpose is to load the game's binary file and then jump to its entrypoint. The main file of the game is
space-invaders.asm
.

Have a look at the Wiki for a more detailed documentation.

Contributors

I want to thank blue-9 for the contributions to this project.

Additional Notes

If you have any questions about this project please feel free to open an issue. I really enjoyed working on it and I am happy to share the little I know.

A Big Thank You to Peter Mikkelsen and his ASM Snake Project as well as to OSDev.org.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.