62162ba49254e94d06b39760ef8e5245555736e2
				
			
			
		
	ZBA (working title)
An in-progress Game Boy Advance Emulator written in Zig ⚡!
Tests
- jsmolka's GBA Test Collection
arm.gbaandthumb.gbaflash64.gba,flash128.gba,none.gba, andsram.gbahello.gba,shades.gba, andstripes.gbamemory.gbabios.gbanes.gba
 - DenSinH's GBA ROMs
eeprom-testandflash-testmidikey2freqswi-tests-random
 - destoer's GBA Tests
cond_invalid.gbadma_priority.gbahello_world.gbaif_ack.gbaline_timing.gbalyc_midline.gbawindow_midframe.gba
 - ladystarbreeze's GBA Test Collection
retAddr.gbahelloWorld.gbahelloAudio.gba
 armwrestler-gba-fixed.gba- FuzzARM
 
Resources
Compiling
Most recently built on Zig 0.10.0-dev.3900+ab4b26d8a
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 | L | 
| S | R | 
| Return | Start | 
| RShift | Select | 
| Arrow Keys | D-Pad | 
Description
				
					Languages
				
				
								
								
									Zig
								
								99.7%
							
						
							
								
								
									PowerShell
								
								0.2%
							
						
							
								
								
									GLSL
								
								0.1%