4a1a21a08f 
					 
					
						
						
							
							chore: satisfy clippy  
						
						 
						
						
						
						
					 
					
						2021-11-30 04:13:12 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c10816c048 
					 
					
						
						
							
							chore: imrpove private and public APIs  
						
						 
						
						
						
						
					 
					
						2021-11-24 22:12:26 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2405fd027f 
					 
					
						
						
							
							chore: remove Emulator struct  
						
						 
						
						
						
						
					 
					
						2021-11-21 05:27:04 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6f5e863645 
					 
					
						
						
							
							chore: drop pixels-rs and add egui w/ wgpu backend  
						
						 
						
						
						
						
					 
					
						2021-11-15 21:34:24 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6f76571d6c 
					 
					
						
						
							
							chore: update README  
						
						 
						
						
						
						
					 
					
						2021-11-05 22:40:31 -03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						55da5a29d8 
					 
					
						
						
							
							chore: remove more getters  
						
						 
						
						
						
						
					 
					
						2021-11-01 18:04:22 +09:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						548945a4ee 
					 
					
						
						
							
							chore: remove imports of tracing macros  
						
						 
						
						
						
						
					 
					
						2021-10-30 16:41:06 +09:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b9519d9b7a 
					 
					
						
						
							
							chore(bus): stub some CGB IO registers  
						
						 
						
						
						
						
					 
					
						2021-10-30 14:02:05 +09:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						01278ca83f 
					 
					
						
						
							
							chore: reduce size of public interface  
						
						 
						
						
						
						
					 
					
						2021-10-30 10:28:20 +09:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						080c1e7518 
					 
					
						
						
							
							fix(bus): don't panic on non-existent cartridge  
						
						 
						
						
						
						
					 
					
						2021-10-28 22:19:38 -03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						293e5762c3 
					 
					
						
						
							
							chore: small code-cleanup changes  
						
						 
						
						
						
						
					 
					
						2021-10-20 02:48:44 -03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ce121864d2 
					 
					
						
						
							
							feat: implement cartridge saving  
						
						 
						
						... 
						
						
						
						Implemented for MBC1, MBC2, MBC3 and MBC5 
						
						
					 
					
						2021-09-20 04:13:25 -03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5882678bc5 
					 
					
						
						
							
							chore: inline some functions  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				continuous-integration/drone/push Build was killed 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2021-09-20 01:34:41 -03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						bcd67cb317 
					 
					
						
						
							
							chore: begin refactor of public api  
						
						 
						
						
						
						
					 
					
						2021-09-20 01:34:21 -03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						aa22e93049 
					 
					
						
						
							
							chore: clean up TODO messages  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2021-08-15 23:31:27 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						16c2dd81fc 
					 
					
						
						
							
							fix(bus): remove dead code  
						
						 
						
						
						
						
					 
					
						2021-08-14 15:02:25 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8625bec059 
					 
					
						
						
							
							feat: clock bus on instruction read-write  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				continuous-integration/drone/push Build is failing 
				
			 
		
		
	 
 
	 
						
						Commit also includes general work towards passing mem-timings.
Note: while cpu_instrs.gb passes, instr_timing.gb and mem_timing.gb both
are stuck in infinite loops (Currently, it seems like a timing issue).
This is a major regression that hopefully shouldn't last for too long. 
						
						
					 
					
						2021-08-14 00:10:51 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a549b9feef 
					 
					
						
						
							
							chore(bus): suppress warning  
						
						 
						
						
						
						
					 
					
						2021-08-02 21:55:07 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7112cd15e3 
					 
					
						
						
							
							chore(cpu): refactor SM83 implementation  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						Instruction::decode no longer requires mutable access to the CPU 
						
						
					 
					
						2021-07-31 20:29:13 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2af673d7c5 
					 
					
						
						
							
							chore: remove various warnings  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2021-07-28 16:25:29 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						903cfacad3 
					 
					
						
						
							
							fix(apu): replace mpsc with spsc ringbuffer  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2021-07-28 02:01:04 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9d0e099a97 
					 
					
						
						
							
							chore: remove unnecessary derivations from structs  
						
						 
						
						
						
						
					 
					
						2021-07-28 00:09:07 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c7e3cb5b35 
					 
					
						
						
							
							fix(apu): abstract Apu read/write using BusIO trait  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2021-07-25 18:19:27 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e4d77d66ba 
					 
					
						
						
							
							fix(apu): abstract wave RAM behind BusIO trait  
						
						 
						
						
						
						
					 
					
						2021-07-25 18:03:11 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9e36e86c14 
					 
					
						
						
							
							fix(apu): increase accuracy of apu  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						Due to this, not all instruments work. This is a regression and will be
fixed in a later commit when presumably the implementation of the APU is
a bit more correct 
						
						
					 
					
						2021-07-25 17:42:09 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6f6c308d84 
					 
					
						
						
							
							fix(apu): implement write guards for Ch1 & Ch1 when disabled  
						
						 
						
						
						
						
					 
					
						2021-07-18 22:10:32 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f429d72882 
					 
					
						
						
							
							chore(bus): remove panics in IO bus read/write failures with stderr msgs  
						
						 
						
						
						
						
					 
					
						2021-07-18 21:52:22 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c1430594cf 
					 
					
						
						
							
							chore(apu): change access modifiers of some methods  
						
						 
						
						
						
						
					 
					
						2021-07-18 20:58:02 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a1eadc0bc4 
					 
					
						
						
							
							chore(apu): rename sound/snd to apu  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2021-07-14 23:45:01 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ea53f97312 
					 
					
						
						
							
							chore(snd): refactor APU implementation  
						
						 
						
						
						
						
					 
					
						2021-07-14 23:34:00 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						08bd33b4d4 
					 
					
						
						
							
							fix(snd): replace Audio Sync solution with a faster one  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2021-07-14 22:35:37 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2b5926e533 
					 
					
						
						
							
							chore(snd): Make AudioReceiver and AudioSender structs generic  
						
						 
						
						
						
						
					 
					
						2021-07-14 22:34:57 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						44b605970f 
					 
					
						
						
							
							chore(snd): rename some structs  
						
						 
						
						
						
						
					 
					
						2021-07-12 10:03:45 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b13444c885 
					 
					
						
						
							
							feat(snd): simplify audio buffer  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						The audio buffer now is held by crossbeam. The developers of said
library could write a batter queue than I could anyday 
						
						
					 
					
						2021-07-11 23:48:16 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3b772c7c49 
					 
					
						
						
							
							feat(snd): synchronize audio with rest of system  
						
						 
						
						... 
						
						
						
						In it's current form I think this is actually rather inefficient. It's
also not very accurate since I throw away a lot of samples for no real
good reason. More improvements to thiss will be coming henceforth 
						
						
					 
					
						2021-07-11 23:22:17 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						91d19a7e66 
					 
					
						
						
							
							chore(snd): mask unreadable bits from return values  
						
						 
						
						
						
						
					 
					
						2021-07-09 21:16:33 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ce630baa5d 
					 
					
						
						
							
							feat(snd): implement audio playback using rodio  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				continuous-integration/drone/push Build is failing 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2021-07-09 01:25:52 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0fa818a1a6 
					 
					
						
						
							
							chore(snd): reimplement NR52 & implement sampling for ch2  
						
						 
						
						... 
						
						
						
						Also add rodio as dependency for audio 
						
						
					 
					
						2021-07-08 22:36:28 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						39af03aebf 
					 
					
						
						
							
							chore(bus): stub 0xFF4D  
						
						 
						
						
						
						
					 
					
						2021-07-01 23:09:02 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fc4a898177 
					 
					
						
						
							
							chore: reorganize select parts of codebase  
						
						 
						
						
						
						
					 
					
						2021-06-27 20:28:29 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						278953ab78 
					 
					
						
						
							
							chore(snd): implement shift amount for channel 3 volume  
						
						 
						
						
						
						
					 
					
						2021-06-24 01:13:58 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						67e2a6ad79 
					 
					
						
						
							
							feat(snd): implement ch 1,2,3 and 4 length function  
						
						 
						
						
						
						
					 
					
						2021-06-24 01:00:07 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0c843b9ca9 
					 
					
						
						
							
							feat(snd): implement volume envelope in ch1, 2 and 4  
						
						 
						
						
						
						
					 
					
						2021-06-23 21:49:25 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d9db3e404f 
					 
					
						
						
							
							fix(ppu): stub IO address 0xFF7F  
						
						 
						
						... 
						
						
						
						Tetris now runs without requiring any local modifications 
						
						
					 
					
						2021-06-15 01:19:40 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fe8598fd61 
					 
					
						
						
							
							feat(snd): implement ch4  
						
						 
						
						
						
						
					 
					
						2021-06-15 01:11:18 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5b041d4713 
					 
					
						
						
							
							chore(bus): rename sound property to snd  
						
						 
						
						
						
						
					 
					
						2021-06-15 00:30:08 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						909972d36e 
					 
					
						
						
							
							feat(snd): implement channel 3  
						
						 
						
						
						
						
					 
					
						2021-06-15 00:29:31 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e45c13f719 
					 
					
						
						
							
							feat(sound): implement NR10  
						
						 
						
						
						
						
					 
					
						2021-06-14 23:51:37 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6a7ff66274 
					 
					
						
						
							
							chore(sound): implement channel 2 registers  
						
						 
						
						
						
						
					 
					
						2021-06-14 23:37:30 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						17024c439a 
					 
					
						
						
							
							chore(ppu): emu now properly handles VRAM and OAM write guards  
						
						 
						
						
						
						
					 
					
						2021-06-09 22:04:06 -05:00