Work  

Google Dinosaur: Low-Level Assembly Implementation 2022

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
Google Dinosaur Assembly ImplementationDOSCADE