All Projects → flxbe → Asm Space Invaders

flxbe / Asm Space Invaders

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

Programming Languages

assembly
5116 projects

Projects that are alternatives of or similar to Asm Space Invaders

Pillman
Pillman boot sector game, a yellow thing eats pills and is chased by monsters.
Stars: ✭ 298 (+47.52%)
Mutual labels:  game, x86, bootloader, asm
Invaders
Invaders game in 512 bytes (boot sector)
Stars: ✭ 461 (+128.22%)
Mutual labels:  game, x86, bootloader, asm
Toledo Atomchess
Toledo Atomchess is the world's smallest chess program in x86 assembly code
Stars: ✭ 69 (-65.84%)
Mutual labels:  game, x86, bootloader, asm
Bootmine
Bootable minesweeper game in a 512-byte boot sector
Stars: ✭ 136 (-32.67%)
Mutual labels:  game, x86, bootloader
SLAE
Example ASM code following SLAE course and exam assignments.
Stars: ✭ 36 (-82.18%)
Mutual labels:  asm, x86
Radical-OS
Radical kernel source tree
Stars: ✭ 45 (-77.72%)
Mutual labels:  asm, x86
Limine
x86/x86_64 BIOS Bootloader
Stars: ✭ 288 (+42.57%)
Mutual labels:  x86, bootloader
Y86
A Y86 pipeline CPU simulator in JavaScript.
Stars: ✭ 404 (+100%)
Mutual labels:  x86, asm
stoomboot
An x86 real mode multiboot-ish ELF bootloader
Stars: ✭ 19 (-90.59%)
Mutual labels:  x86, bootloader
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+2220.3%)
Mutual labels:  x86, bootloader
The holy book of x86
A simple guide to x86 architecture, assembly, memory management, paging, segmentation, SMM, BIOS....
Stars: ✭ 577 (+185.64%)
Mutual labels:  x86, asm
Assembly-Lib
A 16-bits x86 DOS Assembly library that provides many useful functions for developing programs. It has both VGA grapics functions as well as general purpose utilities. The main purpose of this library was to be able to implement simple DOS games (in Assembly) using VGA (320x200, 256 colors) display.
Stars: ✭ 36 (-82.18%)
Mutual labels:  asm, x86
LanOS
one mini operating system simplified from linux0.12
Stars: ✭ 61 (-69.8%)
Mutual labels:  asm, x86
TravorOS
A simple OS running on Intel x86 architecture | No longer updating
Stars: ✭ 24 (-88.12%)
Mutual labels:  x86, bootloader
Nemesis
💾 x86 operation system writen on fasm
Stars: ✭ 29 (-85.64%)
Mutual labels:  x86, bootloader
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (-67.33%)
Mutual labels:  x86, bootloader
mbr-boot-manager
💾 Master Boot Record with a boot menu written in Assembly
Stars: ✭ 57 (-71.78%)
Mutual labels:  x86, bootloader
BootProg
FAT12/16/32 Bootsector for .COMs/.EXEs
Stars: ✭ 74 (-63.37%)
Mutual labels:  x86, bootloader
Rappel
A linux-based assembly REPL for x86, amd64, armv7, and armv8
Stars: ✭ 818 (+304.95%)
Mutual labels:  x86, asm
Asm Cli Rust
interative assembly shell written in rust
Stars: ✭ 133 (-34.16%)
Mutual labels:  x86, asm

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].