Tiny and portable Game Boy emulator written in C.

TinyGB

TinyGB is a tiny and portable Game Boy emulator written entirely in C as a hobbyist one-man project. I only wrote this to deepen my understanding of how direct hardware low-level programming works.

Roadmap

  • (Almost) complete implementation of the Z80 CPU
  • Monochrome display for the original Game Boy
  • User input
  • Memory bank controllers to save games and/or play ROMs larger than 32 KiB
  • Super Game Boy color functions
  • Super Game Boy borders
  • Game Boy Color functions
  • Sound output
  • Serial port and linking
  • (Possibly) make the UI more user-friendly?

Playable Games

The links below point to screenshots of the gameplay.

Requirements

sudo apt install libsdl2 libsdl2-dev

Building

git clone https://github.com/jewelcodes/tinygb.git
cd tinygb
make
Owner
Jewel
20-year-old biotech undergrad with an interest in most everything CS.
Jewel
Similar Resources

A tiny little helper utility for Wordle written in C.

Wordlesmith A tiny little helper utility for Wordle written in C. Building make Tested with clang-1300.0.29.3 but ought to work on anything remotely

Jan 15, 2022

Ben Eater's 8 bit breadboard computer emulator written in C.

Ben Eater's 8 bit breadboard computer emulator written in C.

Ben Eater's 8 bit computer emulator This is complete ben eater's 8 bit breadboard computer emulator written in C. Featerus Ncurses graphics Assembler

Nov 8, 2022

A KC85 emulator written in Zig

A KC85 emulator written in Zig

A simple KC85/2, /3 and /4 emulator for Windows, macOS and Linux, written in Zig. Uses the sokol headers for platform abstraction. Read more about the

Nov 4, 2022

x86 emulator written in C++

x86 emulator written in C++

X86_EMULATOR_2 Build make Run ./x86 -i haribote.img Language and Library C++11, SDL2.0 How to use mouse on x86 emulator Grab mouse on x86 emulator cli

Oct 28, 2022

PAC-MAN emulator written in Zig

zig-pacman A PAC-MAN emulator written in Zig to showcase the zig80 library. Requires Zig, zigmod, and SDL2. Usage usage: pacman [-htda] [-c ratio] [

Jan 24, 2022

vrEmu6502 - 6502/65c02 emulator written in C

vrEmu6502 6502/65c02 emulator written in C Initially created for the HBC-56 Emulator Includes: Support for standard 6502, 65C02, WDC65C02 and R65C02.

Nov 5, 2022

BKM-15R emulator written in C for Linux terminal

BKM-15R emulator written in C for Linux terminal Crude implementation of the BKM-15R protocol as described

Feb 28, 2022

Emulator collection for Nintendo® Game & Watch™

Emulator collection for Nintendo® Game & Watch™ This is a port of the retro-go emulator collection that runs on the Nintendo® Game & Watch™: Super Mar

Nov 17, 2022

Second life for famous JPEGView - fast and tiny viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF and TIFF images with a minimalist GUI and base image processing.

Second life for famous JPEGView - fast and tiny viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF and TIFF images with a minimalist GUI and base image processing.

JPEGView-Image-Viewer-and-Editor Updated Dec 07 2021. Version 1.1.1.0 has been released. Download link1, link2 added. Second life for famous JPEGView

Nov 4, 2022
Tiny and portable usb host and device stack for mcu with usb ip

Tiny and portable usb host and device stack for mcu with usb ip

Nov 18, 2022
A portable full system emulator of Z280 based boards

z280emu A portable full system emulator of Z280 based boards Motivation There is no working Z280 emulator that I'm aware of so I decided to write one.

Oct 8, 2022
ASMotor is a portable and generic assembler engine and development system written in ANSI C99

ASMotor is a portable and generic assembler engine and development system written in ANSI C99 and licensed under the GNU Public License v3. The package consists of the assembler, the librarian and the linker. It can be used as either a cross or native development system.

Nov 18, 2022
A tiny evolution simulator, which uses SDL2 and is written in C

evosim Evosim is a small evolution simulator. Evosim uses the SDL2 library for graphics. The program can be compiled by simply running make in the evo

Nov 20, 2021
Tiny blocker of Windows tracking and telemetry written in plain C++/Win32 API.

Tiny blocker of Windows tracking and telemetry written in plain C++/Win32 API. Just run once as admin and forget. No questions asked. No harmful actions performed like other Windows spying blockers try.

Mar 30, 2022
OpenTibiaBR - Canary Project is a free and open-source MMORPG server emulator written in C++.
OpenTibiaBR - Canary Project is a free and open-source MMORPG server emulator written in C++.

OpenTibiaBR - Canary Project is a free and open-source MMORPG server emulator written in C++. It is a fork of the OTServBR-Global project. To connect to the server and to take a stable experience, you can use our own client or tibia client and if you want to edit something, check our customized tools.

Nov 15, 2022
A simple processor emulator written in c++ that can parse and execute x32 code. x32 is binary code made by me for this processor.

A SIMPLE PROCESSOR EMULATOR AND CODE EXECUTOR The Repository This is a fairly new project and is still heavy in development. If you find and bugs feel

Jan 20, 2022
GameBoy emulator with debugger written in C++ using Win32 and SDL2
GameBoy emulator with debugger written in C++ using Win32 and SDL2

脳(のう)腐(ふ) DMG-01 emulator written in modern C++ using Win32 API and SDL2. It is intended as a hobby project to sharpen my C++ skills. The emulator is

Sep 21, 2022
A fully-featured, cross platform XO-CHIP/S-CHIP/CHIP-8 emulator written in C and SDL.
A fully-featured, cross platform XO-CHIP/S-CHIP/CHIP-8 emulator written in C and SDL.

JAXE (Just Another XO-CHIP/CHIP-8 Emulator) Brix Space Invaders (In Debug Mode) Black Rainbow DVN8 Super Neat Boy Chicken Scratch CHIP-8 was a virtual

Nov 12, 2022
Sega Master System / Game Gear / SG-1000 emulator for iOS, macOS, Raspberry Pi, Windows, Linux, BSD and RetroArch.
Sega Master System / Game Gear / SG-1000 emulator for iOS, macOS, Raspberry Pi, Windows, Linux, BSD and RetroArch.

Gearsystem is a very accurate, cross-platform Sega Master System / Game Gear / SG-1000 emulator written in C++ that runs on Windows, macOS, Linux, BSD, iOS, Raspberry Pi and RetroArch.

Nov 21, 2022