GitHub - robjinman/gemsnrocks_asm: Boulder Dash inspired soil muncher in x86_64 assembly for Linux

1 min read Original article ↗

Gems'n'Rocks

A BoulderDash-like game written in x86_64 assembly without any libraries (not even the C standard lib), just using the linux system call interface. Drawing to the screen is done by writing directly to /dev/fb0.

Build

Prerequisites

You need to have git-lfs installed to get the game's data files. If you installed git-lfs after cloning the repo, make sure to do a git lfs pull. The game will crash if the data files aren't present.

Download and build nasm from source and place on your PATH or install globally. I use nasm version 2.16.03. There is a bug in 2.15 that makes debugging difficult.

Compile

Run the application

The app needs permission to write to /dev/fb0. Add your user to the video group.

Before running the app, switch to TTY mode with ctrl + alt + f1. You can switch between TTYs with alt + arrow keys.

Run the application from the project directory.

The app works best on a screen resolution of 1920x1080.