effb6315e9 
					 
					
						
						
							
							chore: write generic read/write for VRAM  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:31 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3c8390a248 
					 
					
						
						
							
							Merge branch 'main' of ssh://musuka.dev:2222/paoda/zba  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:31 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8337a6dcd9 
					 
					
						
						
							
							chore: update dependencies  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:31 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ee194b03d0 
					 
					
						
						
							
							chore: update README  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:31 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2d8fa9c2f7 
					 
					
						
						
							
							fix: don't create un-needed save file  
						
						 
						
						... 
						
						
						
						If we don't know if we support a game's save type yet, avoid
creating a file for it. 
						
						
					 
					
						2022-10-21 05:12:30 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b76481b34c 
					 
					
						
						
							
							chore: don't assume 1cpi when stepping by a frame  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:30 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						147f6ac9ec 
					 
					
						
						
							
							Revert "chore: tick on memory access instead of 1cpi"  
						
						 
						
						... 
						
						
						
						This reverts commit 7f555095f2 . 
						
						
					 
					
						2022-10-21 05:12:30 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						84273cbdad 
					 
					
						
						
							
							chore: tick on memory access instead of 1cpi  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:30 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						885f92beeb 
					 
					
						
						
							
							feat: implement Flash backup cartrige kinds  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:30 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f12800f2d0 
					 
					
						
						
							
							chore: stub more apu I/O addresses  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:30 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a93b335dea 
					 
					
						
						
							
							fix: account for subset of disallowed chars in save file names  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:29 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ad9463dcb9 
					 
					
						
						
							
							feat: implement SRAM saving and loading  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:29 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						242627199b 
					 
					
						
						
							
							chore: properly deallocate OAM buffer  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:29 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						22a8f67d81 
					 
					
						
						
							
							fix: speed percentage in title is now accurate  
						
						 
						
						... 
						
						
						
						We now properly account for full speed being 59.97Hz not, 59Hz or 60Hz 
						
						
					 
					
						2022-10-21 05:12:29 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4ee0eed2e5 
					 
					
						
						
							
							chore: make some variables const  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:29 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						20f39176c6 
					 
					
						
						
							
							feat: minor performance improvements  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:29 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ed792d71d3 
					 
					
						
						
							
							feat: switch from BGR555 to RGBA8888  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:28 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c3ae727ed1 
					 
					
						
						
							
							fix: improve perf of instructions w/ rotr  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:28 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0116dcdbe1 
					 
					
						
						
							
							fix: improve frame limiting and fps counting  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:28 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5ecbcc9f33 
					 
					
						
						
							
							fix: implement proper SRAM mirroring and stub Flash  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:28 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2d16e4a4e6 
					 
					
						
						
							
							chore: move DMA and Timers from io to bus  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:28 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						bb9dc45e0c 
					 
					
						
						
							
							feat: define APU registers  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:27 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9dcecc0d58 
					 
					
						
						
							
							fix: move code in scheduler to ppu  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:27 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						92e63f5dd6 
					 
					
						
						
							
							chore: create different types of emuloops  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:27 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						74cda6a1d0 
					 
					
						
						
							
							fix: resolve relative sprite priority issues  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:27 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d7354cca33 
					 
					
						
						
							
							chore: improve accuracy of frame limiter  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:27 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7684cf0f4a 
					 
					
						
						
							
							chore: improve accuracy of thread sleep in emu thread  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:27 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3994c2c7c8 
					 
					
						
						
							
							feat: implement video sync  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:26 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a768d28e7c 
					 
					
						
						
							
							chore: organize io switch statements  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:26 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						efd99f16e0 
					 
					
						
						
							
							fix: mirror SRAM  
						
						 
						
						... 
						
						
						
						SRAM is mirrored in 64K chunks
TODO: According to GBATEK SRAM chips are 32K and mirrored 
						
						
					 
					
						2022-10-21 05:12:26 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						61d6288fec 
					 
					
						
						
							
							chore: don't panic on unknown bus and io writes/reads  
						
						 
						
						... 
						
						
						
						This will lead to emulation bugs due to devices I've yet to implement but by
doing this a lot of games become playable "by default" such as Doom or
Kirby: Nightmare in Dream Land.
When implementing feature and/or debuggin make sure to set:
panic_on_und_bus and panic_on_und_io to true so that the emu crashes
on unknown reads/writes 
						
						
					 
					
						2022-10-21 05:12:26 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e3e45cd129 
					 
					
						
						
							
							feat: implement Timers  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:26 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						15191aedca 
					 
					
						
						
							
							fix: implement sprite coord overflow behaviour  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:26 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						63486f13f2 
					 
					
						
						
							
							fix: resolve issues with sprite mirroring  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:25 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						17455e40d1 
					 
					
						
						
							
							feat: Implement MVP of Mode 0 Sprites  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:25 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d54e593276 
					 
					
						
						
							
							chore: clean up io  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:25 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c6a544a824 
					 
					
						
						
							
							feat: fix tile flipping issue  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:25 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e3ae3635bc 
					 
					
						
						
							
							chore: add some type definitions for sprites  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:25 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6723bfb364 
					 
					
						
						
							
							feat: improve DMA Transfer support  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:25 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						12c628e82c 
					 
					
						
						
							
							chore(ppu): resolve integer overflow regression  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:24 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5f9abf69d3 
					 
					
						
						
							
							feat(ppu): implement bg priority and transparency  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:24 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						351a687a2d 
					 
					
						
						
							
							chore: update README.md  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:24 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						68b0601a42 
					 
					
						
						
							
							chore: replace unnecessarily complex sign extension implementation  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:24 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9455ffe837 
					 
					
						
						
							
							feat: pass beeg yoshi  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:24 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						02d2ff3e0c 
					 
					
						
						
							
							fix: palette id is a u16 not a u8  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:24 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						02572dd15c 
					 
					
						
						
							
							feat: DMA Transfer MVP  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:23 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6d253cc74e 
					 
					
						
						
							
							feat(ppu): implement transparency + backdrop in mode 0  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:23 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4885a86833 
					 
					
						
						
							
							chore(io): replace some bitfields with enums  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:23 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fd9ffb20b4 
					 
					
						
						
							
							fix: better emulate behaviour of IO reads  
						
						 
						
						
						
						
					 
					
						2022-10-21 05:12:23 -03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						56ef2b077a 
					 
					
						
						
							
							chore: document select unimplmented I/O registers  
						
						 
						
						... 
						
						
						
						These registers are written to / read from Kirby: Nightmare in Dream Land 
						
						
					 
					
						2022-10-21 05:12:23 -03:00