Skip to content

A tiny bootable game written in assembly

Notifications You must be signed in to change notification settings

metavee/puzdug-x86

Repository files navigation

puzdug x86: a bootable puzzle roguelite

puzdug x86 is a tiny game written in 16-bit real-mode x86 assembly, inspired by Desktop Dungeons Alpha.

It is written such that it can be booted from a floppy on a BIOS-based computer. Although it does not fit entirely in the boot sector, it comes with a dedicated bootloader that will load the game from a known location on disk and execute it.

game screenshot

This project was made possible because of Programming Boot Sector Games by Óscar Toledo G. (nanochess.org).

Downloads

Tagged commits are accompanied with a Github Release with the DOS-compatible puzdug.com and the bootable floppy image puzdug-boot.img attached.

Play in the browser

puzdug can be run in the browser using v86.

Download the bootable floppy image from Releases, and then upload it as the floppy disk image and hit "Start Emulation".

screenshot of v86 settings

Developer Setup

Install the following tools:

Either or both of:

  • qemu (for emulated boot environment)
  • DOSBox (for more convenient dev workflow)

And optionally:

Running in DOSBox

Build with just build-dos or download the pre-built binary from the Releases page.

Open up DOSBox, mount the repo folder in (you may wish to set up a startup script), and run PUZDUG.COM or just PUZDUG.

Running in qemu or a virtual machine

Build and run with just qemu. This creates the floppy image puzdug-boot.bin. You can also download the pre-built image from the Releases page.

Note that when the game exits, it enters an infinite loop and you need to kill qemu to fully stop it.

Debugging

Build and run with just blinken. It's recommended to use a big terminal window.