d7d58bf5a7418aac98018bb4c7d39fe34a357a98
				
			
			
		
	TODO: - Texture isn't scaling properly - I need to reverse the colours in the frag shader
ZBA (working title)
An in-progress Game Boy Advance Emulator written in Zig ⚡!
Tests
- jsmolka's GBA Test Collection
- arm.gbaand- thumb.gba
- flash64.gba,- flash128.gba,- none.gba, and- sram.gba
- hello.gba,- shades.gba, and- stripes.gba
- memory.gba
- bios.gba
- nes.gba
 
- DenSinH's GBA ROMs
- eeprom-testand- 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.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%