Rekai Nyangadzayi Musuka a753912cb5 | ||
---|---|---|
.vscode | ||
lib | ||
src | ||
.gitignore | ||
.gitmodules | ||
README.md | ||
build.zig |
README.md
ZBA (working title)
An in-progress Gameboy Advance Emulator written in Zig ⚡!
Tests
- jsmolka's GBA Test Collection
arm.gba
andthumb.gba
flash64.gba
,flash128.gba
,none.gba
, andsram.gba
hello.gba
,shades.gba
, andstripes.gba
memory.gba
bios.gba
nes.gba
- DenSinH's GBA ROMs
eeprom-test
flash-test
midikey2freq
swi-tests-random
- destoer's GBA Tests
cond_invalid.gba
dma_priority.gba
hello_world.gba
if_ack.gba
line_timing.gba
lyc_midline.gba
window_midframe.gba
- ladystarbreeze's GBA Test Collection
retAddr.gba
helloWorld.gba
helloAudio.gba
armwrestler-gba-fixed.gba
- FuzzARM
Resources
Compiling
Most recently built on Zig 0.10.0-dev.2424+b3672e073
Dependencies
bitfields.zig
from FlorenceOS is included under lib/util/bitfield.zig
.
Use git submodule update --init
from the project root to pull the git submodules SDL.zig
, zig-clap
, and known-folders
Be sure to provide SDL2 using:
- Linux: Your distro's package manager
- MacOS: ¯\_(ツ)_/¯
- Windows:
vcpkg
(installsdl2:x64-windows
)
SDL.zig
will provide a helpful compile error if the zig compiler is unable to find SDL2.
Once you've got all the dependencies, execute zig build -Drelease-fast
. The executable is located at zig-out/bin/
.
Controls
Key | Button |
---|---|
X | A |
Z | B |
A | Left Shoulder |
S | Right Shoulder |
Return | Start |
RShift | Select |
Arrow Keys | D-Pad |