How bear2305/x86-chicken-invader works
Chicken Invader is a bare-metal, 16-bit x86 space-shooter. The user boots the raw disk image; the BIOS loads the bootloader, which loads the game using LBA or CHS disk services and transfers control to it. During play, keyboard input moves the ship or fires, while timed game behavior drives the player’s projectiles and enemy formation and attacks; collisions can end the game. Rendering uses BIOS text output. The map follows README-documented behavior only; source excerpts were unavailable, so internal call wiring is intentionally limited.
Main entry points: spacegame.asm Game loop · bootloader.asm Bootloader
Components 16
Boot
- Bootloader
bootloader.asm
Gameplay
- Game runtime
spacegame.asm - Game loop
spacegame.asm - Busy-wait timer
spacegame.asm - Ship movement
spacegame.asm - Game over
spacegame.asm - System restart
spacegame.asm
Combat
- Chicken formation
spacegame.asm - Player bullets
spacegame.asm - Chicken eggs
spacegame.asm - Collision checks
spacegame.asm
Input and display
- Keyboard input
spacegame.asm - Text rendering
spacegame.asm
Other components
- Player
- BIOS services
- Boot disk
Connections 24
- BIOS services → Bootloader: loads at 0x7C00
- Bootloader → BIOS services: requests disk read
- Boot disk → Bootloader: supplies game sectors
- Bootloader → Game runtime: loads and jumps
- Game runtime → Game loop: starts
- Player → Keyboard input: presses keys
- Keyboard input → BIOS services: reads via INT 16h
- Game loop → Keyboard input: handles controls
- Game loop → Busy-wait timer: paces animation
- Game loop → Ship movement: updates position
- Game loop → Chicken formation: updates enemies
- Game loop → Player bullets: updates projectiles
- Game loop → Chicken eggs: updates attacks
- Game loop → Collision checks: checks impacts
- Keyboard input → Ship movement: moves ship
- Keyboard input → Player bullets: fires
- Chicken formation → Chicken eggs: drops eggs
- Player bullets → Collision checks: checks hits
- Chicken eggs → Collision checks: checks hits
- Ship movement → Collision checks: checks hitbox
- Collision checks → Game over: triggers on hit
- Keyboard input → System restart: Delete key
- Game loop → Text rendering: draws game state
- Text rendering → BIOS services: outputs via INT 10h