This project implements a multiplayer Vintage Breakout game running directly Sextant. It was developed as part of our Operating Systems UE at IMT Atlantique.
- Two-player platform controls using keyboard input
- Auto-moving enemy platform
- Ball management (spawn, movement, collisions)
- Brick wall that resets when cleared
- Score display
- Buffered VGA rendering (mode 13h)
- Player 1:
s(left),d(right) - Player 2:
j(left),k(right)
Balls spawn periodically up to a limit of 2 simultaneously and destroy bricks on contact. The score increases as bricks are removed.
To build and run this project, you need:
makegccandg++nasmqemu-system-x86_64
Optional: VSCode with DevContainer support for development.
From the project root:
make clean && make && make run_guiApplications/— Game entities: ball, platform, brick, scoreboarddrivers/— Low-level keyboard, timer, screen handlingsextant/— Kernel subsystems: threading, memory, interruptshal/— Boot and multiboot setupMakefile— Build instructions
- All rendering is done using VGA mode 13h with offscreen buffering
- Input is handled via IRQ-based keyboard interrupt
- Timing and scheduling rely on periodic IRQ0 timer interrupts
Developed by Julien Million, Gregoire Le Bras et Aymane Ouraq IMT Atlantique – UE Systèmes d'exploitation