My first attempt at a Gameboy Advance Emulator
Go to file
Rekai Nyangadzayi Musuka e5b7441740 fix: resolve use-afer-free in backup.zig
This worked fine on stage1, and works fine in debug in stage3.
However, stage3 ReleaseSafe would panic due to what I assume must
have been an undefined behaviour optimization.

While I'm happy that I was quickly made aware of the issue thanks to
the safety checks in ReleaseSafe I do wish that this issue showed itself
in Debug, since I *am* using the GPA
2022-08-26 13:04:09 -05:00
.vscode chore: remove reccomended extension 2022-01-23 23:13:16 -04:00
lib feat: Get ZBA working on Zig's new stage2/stage3 compiler 2022-08-21 12:28:31 -05:00
src fix: resolve use-afer-free in backup.zig 2022-08-26 13:04:09 -05:00
.gitignore chore: don't commit *.sh files 2022-02-05 15:53:30 -04:00
.gitmodules feat: implement SRAM saving and loading 2022-03-22 14:41:18 -03:00
README.md chore: update README.md 2022-07-12 18:28:11 -03:00
build.zig feat: implement SRAM saving and loading 2022-03-22 14:41:18 -03:00

README.md

ZBA (working title)

An in-progress Gameboy Advance Emulator written in Zig !

Tests

Resources

Compiling

Most recently built on Zig 0.10.0-dev.2978+803376708

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 (install sdl2: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 L
S R
Return Start
RShift Select
Arrow Keys D-Pad