Skip to content
/ BootMine Public

Bootable minesweeper game in a 512-byte boot sector

License

Notifications You must be signed in to change notification settings

io12/BootMine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BootMine

Ever wanted to play minesweeper but didn't have an OS to run it in? No? Really no??

BootMine is an entire minesweeper game crammed into 512 bytes, the size of a BIOS boot sector. It can boot on any PC that supports BIOS booting, without running inside an OS. In a sense, BootMine is its own OS that can do nothing but run minesweeper.

demo

Controls

Key Action
Space 🔲 Clear cell
🕹 Move cursor
Enter 🚩 Place flag
R 💣 Restart game (only works on GAME WIN and GAME OVER screens)

Building

Make sure nasm and make are installed, then run:

make

Alternatively, prebuilt versions can be downloaded from the releases page.

Installing

The 512-byte file bootmine.img can be written to the first sector of a floppy disk (or USB drive), with a command like dd if=bootmine.img of=/dev/sdb. Keep in mind that this will effectively destroy all data on the drive.

Emulation

Makefile targets are provided for emulating in QEMU and Bochs.

make qemu
make bochs

NOTE: The way Bochs implements the rdtsc instruction appears to be bad as a source of entropy, so the bomb locations are predictable.

DOS

BootMine has DOS support too! Running make also produces bootmine.com that can be run in DOS. There are Makefile targets for easily running in DOSBox and DOSEMU.

make dosbox
make dosemu

Links

Credits