A DOS-style typing game written in 8086 assembly language. Balloons appear with letters inside them, and the player types the matching key to pop each balloon before the timer runs out.
This project was built for a Computer Organization and Assembly Language (COAL) course project. It demonstrates low-level game programming concepts using BIOS interrupts, direct timing logic, keyboard input handling, text-mode graphics, and PC speaker sound.
- 8086 real-mode
.COMprogram usingorg 0x0100 - Main menu, splash screen, instructions screen, pause screen, and game-over screen
- Easy and Hard difficulty modes
- Light and dark visual themes
- Score, countdown timer, combo multiplier, restart, resume, and exit flows
- Animated balloons, decorative clouds, stars, and themed backgrounds
- Keyboard input through BIOS keyboard interrupts
- Text-mode drawing through BIOS video interrupts
- PC speaker pop sound and optional background music
- BIOS interrupts:
int 10h,int 16h,int 1Ah, andint 21h - DOS
.COMexecutable format - Timer-based spawning and movement
- Pseudo-random balloon placement and letters
- State-driven menu and gameplay flow
- Manual score/timer formatting in assembly
- NASM or another assembler that can produce a flat binary
- DOSBox, DOSBox-X, or a compatible DOS runtime
nasm -f bin typing_balloon_game.asm -o typing_balloon_game.comMount the project folder in DOSBox and run the generated .COM file:
typing_balloon_game.com
| Action | Key |
|---|---|
| Start / menu selection | 1, 2, 3 |
| Pop balloon | Matching letter shown inside balloon |
| Pause game | Esc |
| Toggle music | 9 |
| Resume from pause | R |
| Exit to menu | E |
.
|-- typing_balloon_game.asm
|-- README.md
|-- LICENSE
`-- .gitignore
This repository includes the COAL context because the game is intentionally implemented at a low level, using assembly language and BIOS services instead of a high-level game engine.
Muhammad Faizan Ali
BSCS student, FAST NUCES Lahore