Skip to content

Ebraam-Ashraf/MicroProcessors_GameBoy

 
 

Repository files navigation

GameBoy Advance Emulator on STM32

A retro gaming platform built using ARM assembly language and STM32 microcontroller. This project implements several classic arcade games displayed on a TFT screen, creating a portable gaming experience similar to the original GameBoy.

📋 Table of Contents

🎮 Project Overview

This project is an implementation of a GameBoy-inspired gaming console using the STM32 microcontroller and a TFT display. This Project uses parallel comunication between the TFT screen and STM32 microcontroller. The games are written in ARM assembly language for optimal performance and low-level hardware control. The system features multiple classic arcade games that can be selected from a main menu interface.

✨ Features

  • Custom-built game engine for STM32
  • TFT display interface with vibrant colors
  • Multiple classic arcade games
  • Intuitive menu navigation system
  • Efficient assembly language implementation

🎯 Games

Main Menu

The central hub for game selection, featuring colorful icons for each available game.

Main Menu

Snake Game

Navigate a growing snake to collect food while avoiding collisions with its own tail. The snake can wrap around the screen borders.

Snake Game 1 Snake Game 2

Ping Pong

The classic table tennis simulation where players control paddles to hit a ball back and forth.

Ping Pong 1 Ping Pong 2

Brick Breaker

Use a paddle to direct a bouncing ball to break all the bricks in a level.

Brick Breaker 1 Brick Breaker 2

Tic-Tac-Toe

The classic paper-and-pencil game implemented digitally with X's and O's.

Tic-Tac-Toe

Flappy Bird

Navigate a bird through pipes by tapping to make it flap its wings and gain altitude.

Flappy Bird 1 Flappy Bird 2

🔧 Hardware Requirements

  • STM32 Microcontroller
  • TFT Display
  • Input Buttons/Controller
  • Breadboard and Jumper Wires
  • Power Supply
  • Linker

💻 Software Requirements

  • ARM Assembly Development Environment
  • Keil uVision5
  • parallel Communication Tools

📥 Installation

  1. Clone the repository:
git clone https://github.com/BERLINe-SS/MicroProcessors_GameBoy.git
  1. Open the project in Keil uVision5 or your preferred ARM development environment.

  2. Compile the code and flash it to your STM32 microcontroller.

  3. Connect the TFT display and control inputs according to the pin configuration in the code.

  4. Power on and enjoy the games!

👥 Team Members

Our project was developed by:

About

A game boy project using ARM assembly and STM32

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Assembly 74.5%
  • Roff 10.7%
  • HTML 9.0%
  • C 5.7%
  • Makefile 0.1%