Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ryp/gb-emu-zig
Gameboy emulator written in Zig
https://github.com/ryp/gb-emu-zig
emulator gameboy zig
Last synced: about 1 month ago
JSON representation
Gameboy emulator written in Zig
- Host: GitHub
- URL: https://github.com/ryp/gb-emu-zig
- Owner: Ryp
- License: mit
- Created: 2024-05-26T19:58:31.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-09-17T19:38:04.000Z (3 months ago)
- Last Synced: 2024-09-18T00:13:45.209Z (3 months ago)
- Topics: emulator, gameboy, zig
- Language: Zig
- Homepage:
- Size: 208 KB
- Stars: 33
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Gameboy Emulator
There's a simple Gameboy emulator written in zig using SDL2. It can run games like Tetris, Zelda or Kirby decently, and doesn't pretend to do much more. Most basic features are implemented, like graphics, sound and controls, but there was no effort to support any complex hardware behavior or bugs.
Tetris | Zelda
:-------------------------:|:-------------------------:
![image](https://github.com/Ryp/gb-emu-zig/assets/1625198/3d174690-ba52-46fd-9e9e-02e6101c8041) | ![image](https://github.com/Ryp/gb-emu-zig/assets/1625198/05800d09-e7e2-45f6-a41f-503ba853bbdf)ROM-only and MBC1 cartridge are supported, whereas MBC2 has limited support. On the other hand the codebase should be very simple to get into and hopefully very readable.
Sound will accumulate lag over time under normal use, this is a known bug.## How to run
This should get you going after cloning the repo:
```bash
zig build run --
```## Controls
| Keyboard key | Gameboy |
|-----------------------|--------------------|
| Esc | Exit |
| WASD | DPad |
| O | A |
| K | B |
| Enter | Start |
| B | Select |