Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BREAKOUT86

A complete Breakout/Arkanoid clone written entirely in x86 real-mode assembly language.

Overview

A vintage-style arcade game running in VGA text mode (80x25 characters). Features:

  • VGA text mode rendering — Uses direct memory access at 0xB8000 for display
  • Unicode block characters — Bullet (●), horizontal lines (─), blocks (█) for graphics
  • Color-coded brick rows — Red, magenta, yellow, green, cyan, white
  • Ball physics — Bounces off walls, paddle, and bricks with deflection
  • Score tracking — 10 points per brick destroyed
  • 3 lives — Ball resets to paddle center on loss
  • Keyboard input — BIOS interrupt 16h for arrow keys and function keys

Build

nasm -f bin breakout.asm -o breakout.com

Run

QEMU (recommended)

# Boot from floppy image
qemu-system-i386 -drive format=raw,file=boot.img

# Or directly
qemu-system-i386 -kernel breakout.com -display curses

DOSBox

# Copy to a virtual DOS drive
dosbox breakout.com

Controls

Key Action
← / → Move paddle left/right
R Restart after game over
ESC Quit to BIOS

Technical Details

  • Architecture: Intel 8086 (16-bit real mode)
  • Mode: VGA text mode 80x25 (mode 3h)
  • Video: Direct memory access at segment 0xB8000
  • Input: BIOS interrupt 0x16h (keyboard)
  • Display: BIOS interrupt 0x10h (video services)
  • FPS: ~30 FPS (software delay loop)
  • Size: ~1.7 KB (with alignment padding)

Game Mechanics

  • Ball bounces off all 4 walls
  • Paddle deflection varies based on where ball hits the paddle
  • Each brick row has a different color
  • Game ends when all 3 lives are lost
  • Win condition: destroy all bricks

File Structure

breakout.asm    — Game source code (~500 lines of assembly)
breakout.com    — Compiled binary
boot.img        — Bootable floppy disk image

License

MIT License — See LICENSE

About

A complete Breakout/Arkanoid clone written in x86 real-mode assembly

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages