9436888b28 
					 
					
						
						
							
							chore(gitignore): update .gitignore  
						
						 
						
						... 
						
						
						
						sometimes I'm left with a src/zig-cache, and I want to
just make sure that I never-ever end up commiting that 
						
						
					 
					
						2022-10-21 05:13:13 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						583ed54ee3 
					 
					
						
						
							
							feat: write default config.toml if it doesn't exist  
						
						 
						
						... 
						
						
						
						also resolves panic on missing /zba or /zba/save directory by ensuring
those directories exist as soon as we know the data directory 
						
						
					 
					
						2022-10-21 05:13:13 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7944cd7abc 
					 
					
						
						
							
							chore: update README  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:13 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ffd94c96ce 
					 
					
						
						
							
							Merge pull request 'Configure SDL2 to use OpenGL' ( #4 ) from opengl into main  
						
						 
						
						... 
						
						
						
						Reviewed-on: #4  
						
						
					 
					
						2022-10-21 05:13:13 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4fe612da61 
					 
					
						
						
							
							fix(opengl): properly control whether vsync is enabled  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:12 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4262688fa8 
					 
					
						
						
							
							chore(ppu): remove BGR555 -> RGBA888 LUT  
						
						 
						
						... 
						
						
						
						LUT probably couldn't fit in CPU cache anyways.
TODO: Consider whether LUTs for separate channels (size 32 * 3 * 3
instead of std.math.maxInt(u15)) 
						
						
					 
					
						2022-10-21 05:13:12 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						35d685f032 
					 
					
						
						
							
							chore: replace OpenGL 4.5 bindings with OpenGL 3.3  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:12 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5b9d3d0960 
					 
					
						
						
							
							chore: remove unnecessary ptr cast  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:12 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						44b2e9be88 
					 
					
						
						
							
							chore(gpio): add missing errdefer  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:11 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4b7ef52a7a 
					 
					
						
						
							
							feat: implement better Colour Emulation  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:11 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5103fdf646 
					 
					
						
						
							
							chore(main): report errors slightly better  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:11 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						acddaf76aa 
					 
					
						
						
							
							fix: lower required OpenGL version + resolve offset bug  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:11 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3da3b69e13 
					 
					
						
						
							
							feat: use opengl  
						
						 
						
						... 
						
						
						
						TODO:
- Texture isn't scaling properly
- I need to reverse the colours in the frag shader 
						
						
					 
					
						2022-10-21 05:13:11 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						40062d4dfe 
					 
					
						
						
							
							chore(config): add log message  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:10 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1c91b497bc 
					 
					
						
						
							
							feat(config): add option to skip BIOS  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:10 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e3286a9872 
					 
					
						
						
							
							feat(cli): Add option to skip BIOS  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:10 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ddb0e2f928 
					 
					
						
						
							
							chore: Update README.md  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:10 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d927ee6c90 
					 
					
						
						
							
							Merge pull request 'Draft: Implement Instruction Pipeline' ( #3 ) from pipeline into main  
						
						 
						
						... 
						
						
						
						Reviewed-on: #3  
						
						
					 
					
						2022-10-21 05:13:10 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						011f105bee 
					 
					
						
						
							
							feat(config): add config option to mute ZBA  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:09 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2c88f9bbce 
					 
					
						
						
							
							fix(bios): set addr_latch even if bios is skipped  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:09 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						30c5fafec1 
					 
					
						
						
							
							chore(config): add example config file  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:09 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3b144e581a 
					 
					
						
						
							
							fix(bus): make open bus impl aware of CPU pipeline  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:09 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0117a52f4d 
					 
					
						
						
							
							style(bus): cpu ptr doesn't need to be optional  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:09 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3cf7c83269 
					 
					
						
						
							
							style: code cleanup  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:09 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						85d4690c56 
					 
					
						
						
							
							fix: resolve timing regressions  
						
						 
						
						... 
						
						
						
						make sure to use fetch timings when fetching instructions 
						
						
					 
					
						2022-10-21 05:13:08 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						130d40bc7f 
					 
					
						
						
							
							fix: rename Pipline to Pipeline  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:08 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2c928eafec 
					 
					
						
						
							
							feat: working pipeline implementation  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:08 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						dcbeeee7cc 
					 
					
						
						
							
							chore: refactor ARM/THUMB data processing instructions  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:08 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						84ccb7224b 
					 
					
						
						
							
							fix: don't flush pipeline when reloading CPSR in ARM Data Processing  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:08 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						dd4bb4ff03 
					 
					
						
						
							
							chore: don't write to CPSR + swap with SPSR at the same time  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:07 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ecbfe67b27 
					 
					
						
						
							
							chore: update README.md  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:07 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e29c20019d 
					 
					
						
						
							
							fix: advance r15, even when the pipeline is reloaded from the scheduler  
						
						 
						
						... 
						
						
						
						The PC would fall behind whenever an IRQ was called because the pipeline
was reloaded (+8 to PC), however that was never actually done by any code
Now, the PC is always incremented when the pipeline is reloaded 
						
						
					 
					
						2022-10-21 05:13:07 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d8c397248f 
					 
					
						
						
							
							chore: dump pipeline state on cpu panic  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:07 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						64aed01869 
					 
					
						
						
							
							fix: reimpl THUMB.5 instructions  
						
						 
						
						... 
						
						
						
						pipeline branch now passes arm.gba and thumb.gba again
(TODO: Stop rewriting my commits away) 
						
						
					 
					
						2022-10-21 05:13:07 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						29f2a0288f 
					 
					
						
						
							
							fix: impl workaround for stage2 miscompilation  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:07 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						27ada16377 
					 
					
						
						
							
							chore: instantly refill the pipeline on flush  
						
						 
						
						... 
						
						
						
						I believe this to be necessary in order to get hardware interrupts
working.
thumb.gba test 108 fails but I'm committing anyways (despite the
regression) because this is kind of rebase/merge hell and I have
something that at least sort of works rn 
						
						
					 
					
						2022-10-21 05:13:06 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ad1cec58e7 
					 
					
						
						
							
							fix: reimpl handleInterrupt code  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:06 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						97d9edab93 
					 
					
						
						
							
							feat: implement basic pipeline  
						
						 
						
						... 
						
						
						
						passes arm.gba, thumb.gb and armwrestler, fails in actual games
TODO: run FuzzARM debug specific titles 
						
						
					 
					
						2022-10-21 05:13:06 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						39f56e6d8a 
					 
					
						
						
							
							feat: resolve off-by-{word, halfword} errors when printing debug info  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:06 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f0014e7179 
					 
					
						
						
							
							feat: reimplement cpu logging  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:06 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8a804ea05e 
					 
					
						
						
							
							Merge pull request 'Add TOML Support' ( #2 ) from toml into main  
						
						 
						
						... 
						
						
						
						Reviewed-on: #2  
						
						
					 
					
						2022-10-21 05:13:05 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						efce1a6dce 
					 
					
						
						
							
							chore(emu): refactor code  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:05 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8b9ab6f4b5 
					 
					
						
						
							
							feat(config): add support for (and read from) TOML config file  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:05 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d21c860eb5 
					 
					
						
						
							
							feat: parse config.toml in data folder  
						
						 
						
						... 
						
						
						
						Also took the chance to rework parts of the logic that determines
ZBA's save path 
						
						
					 
					
						2022-10-21 05:13:05 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						85e670a1d7 
					 
					
						
						
							
							chore: add zig-toml dependency  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:05 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4f823217bd 
					 
					
						
						
							
							chore: update dependencies  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:04 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						207a99edbe 
					 
					
						
						
							
							style: improve code quality  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:04 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3c5b30dece 
					 
					
						
						
							
							feat: rewrite device ticks  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:04 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						739d38533a 
					 
					
						
						
							
							style(scheduler): rename scheduler event handlers  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:04 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ae6b8e2f03 
					 
					
						
						
							
							style: code refactoring  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:13:04 -03:00