Engineered a recreation of Google's iconic Dinosaur game using pure x86 Assembly language, demonstrating mastery of low-level systems programming and hardware interfacing. This project required direct manipulation of CPU registers, memory addressing, and BIOS interrupts to achieve real-time graphics rendering and responsive gameplay without any high-level language abstractions or operating system support.
The implementation features a sophisticated interrupt-driven architecture that manages game state, collision detection, and audio feedback through direct hardware manipulation. By leveraging VGA mode 13h graphics and optimizing memory access patterns, I achieved smooth real-time gameplay while maintaining strict memory constraints. The project showcases advanced assembly techniques including stack management, register optimization, and direct I/O port communication for keyboard input and PC speaker audio generation.
- Source Codehttps://github.com/kitan23/Google-Dinosaur
- PlatformDOS/x86 Architecture
- Technologyx86 Assembly, DOSCADE, VGA Graphics, BIOS Interrupts
- Technical Achievements
- • Interrupt-driven game loop with real-time rendering
- • Direct VGA memory manipulation for pixel-level graphics control
- • Optimized collision detection using bitwise operations
- • Hardware-based audio through PC speaker interrupt programming
- • Memory-efficient sprite rendering with custom compression
- • Keyboard input handling via BIOS interrupt 16h
- Low-Level Implementation
- • Direct CPU register manipulation for performance optimization
- • Custom memory management within 640KB DOS limitations
- • Stack-based game state management without heap allocation
- • Precise timing control using system timer interrupts

