2b7958f5f3 
					 
					
						
						
							
							chore(bus): add a select few read/write guards  
						
						 
						
						
						
						
					 
					
						2021-06-09 20:48:31 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						50efe12aec 
					 
					
						
						
							
							chore: change how bus components are clocked  
						
						 
						
						
						
						
					 
					
						2021-06-09 19:41:10 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a904503b90 
					 
					
						
						
							
							chore: document IO registers  
						
						 
						
						
						
						
					 
					
						2021-06-09 13:43:46 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1449ed3765 
					 
					
						
						
							
							fix(joypad): reimplement joypad  
						
						 
						
						
						
						
					 
					
						2021-06-07 17:23:48 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						dd86330e1d 
					 
					
						
						
							
							fix(bus): Fix address calculation error in Echo RAM  
						
						 
						
						
						
						
					 
					
						2021-06-07 00:22:11 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d5e67568dd 
					 
					
						
						
							
							chore(bus): temporarily disable VRAM and OAM gates  
						
						 
						
						... 
						
						
						
						There appears to be severe timing issues in the ppu which result in
regressions with these gates enabled. They are commented out for now,
but will be re-enabled once the timing issues in the PPU are fixed 
						
						
					 
					
						2021-06-07 00:01:40 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e8e6c41dbe 
					 
					
						
						
							
							fix(dma): initial version of dma transfer now works  
						
						 
						
						
						
						
					 
					
						2021-06-06 23:57:54 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d623800005 
					 
					
						
						
							
							fix: apply clippy suggestions  
						
						 
						
						
						
						
					 
					
						2021-06-06 21:30:08 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c428e934d8 
					 
					
						
						
							
							fix(bus): improve guards for illlegal memory IO  
						
						 
						
						
						
						
					 
					
						2021-06-06 21:18:19 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ef4e54aba6 
					 
					
						
						
							
							chore: restrict what should be pub or not  
						
						 
						
						
						
						
					 
					
						2021-06-06 20:47:11 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						878edd4082 
					 
					
						
						
							
							chore: replace pub with pub(crate) when possible  
						
						 
						
						
						
						
					 
					
						2021-06-06 19:14:28 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b7b213b6b9 
					 
					
						
						
							
							chore(bus): implement read/write blocks when dma is active  
						
						 
						
						
						
						
					 
					
						2021-06-05 20:53:35 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						811a9f9cc9 
					 
					
						
						
							
							feat(dma): implement non-working dma transfer  
						
						 
						
						
						
						
					 
					
						2021-06-04 13:47:06 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						86f3a897f1 
					 
					
						
						
							
							feat(egui): add timer window  
						
						 
						
						
						
						
					 
					
						2021-06-02 02:44:32 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9ea26d4a05 
					 
					
						
						
							
							chore: improve performance of match statements  
						
						 
						
						
						
						
					 
					
						2021-05-19 02:52:32 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						abdff1251e 
					 
					
						
						
							
							fix: properly implement LY==LYC behaviour  
						
						 
						
						
						
						
					 
					
						2021-05-05 08:29:39 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6f919acafb 
					 
					
						
						
							
							chore(bus): remove 0xFF7F matches from read and write_byte  
						
						 
						
						
						
						
					 
					
						2021-05-04 21:38:37 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5a59c31b72 
					 
					
						
						
							
							fix(joypad): fix bug where gameboy overwrites read only bits  
						
						 
						
						
						
						
					 
					
						2021-05-03 23:37:30 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4abb2833c4 
					 
					
						
						
							
							chore: implement gamepad controls  
						
						 
						
						
						
						
					 
					
						2021-05-03 23:11:39 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1e19854ab0 
					 
					
						
						
							
							feat: reimplement joypad status register  
						
						 
						
						
						
						
					 
					
						2021-05-03 03:27:23 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9003617459 
					 
					
						
						
							
							chore: rename properties in bus.rs  
						
						 
						
						
						
						
					 
					
						2021-04-27 04:06:08 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b43c8ac7c9 
					 
					
						
						
							
							feat(cartridge): grab title from the ROM  
						
						 
						
						
						
						
					 
					
						2021-04-14 01:21:45 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5931fe95e3 
					 
					
						
						
							
							feat(ppu): implement (broken) sprite renderer  
						
						 
						
						
						
						
					 
					
						2021-04-09 00:35:41 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7425384fb1 
					 
					
						
						
							
							chore: convert select base 10 constants to base 16  
						
						 
						
						
						
						
					 
					
						2021-04-08 20:32:32 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						770b081f98 
					 
					
						
						
							
							feat(ppu): stub sprite attribute table  
						
						 
						
						
						
						
					 
					
						2021-04-08 20:28:30 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						23de87e482 
					 
					
						
						
							
							chore: remove panics when gameboy performs certain actions  
						
						 
						
						
						
						
					 
					
						2021-04-08 19:23:29 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						41081e9cce 
					 
					
						
						
							
							feat(bus): implement echo RAM  
						
						 
						
						
						
						
					 
					
						2021-04-08 17:58:33 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e2fa72aa0e 
					 
					
						
						
							
							chore: remove unecessary eprintln! statements  
						
						 
						
						
						
						
					 
					
						2021-04-08 00:02:54 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						62bd88945f 
					 
					
						
						
							
							chore: rename a couple of interrupt instances to "int" instead of  
						
						 
						
						... 
						
						
						
						"interrupt" 
						
						
					 
					
						2021-04-04 01:52:53 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						777abd1c10 
					 
					
						
						
							
							chore: rename some symbols  
						
						 
						
						
						
						
					 
					
						2021-04-04 01:31:31 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4dd7a0d9ce 
					 
					
						
						
							
							chore: fix several clippy warnings  
						
						 
						
						
						
						
					 
					
						2021-04-04 01:19:39 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						25e44f3e49 
					 
					
						
						
							
							chore: fix condition when logs are printed  
						
						 
						
						
						
						
					 
					
						2021-03-27 15:07:17 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2b05571c49 
					 
					
						
						
							
							chore: rename Cycles newtype to Cycle  
						
						 
						
						
						
						
					 
					
						2021-03-27 12:10:18 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						bce14348f8 
					 
					
						
						
							
							feat: enable halt and rework timer registers  
						
						 
						
						
						
						
					 
					
						2021-03-27 11:56:47 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a82e3d3372 
					 
					
						
						
							
							feat: implement HALT behaviour  
						
						 
						
						... 
						
						
						
						note: while the logic is there, the instruction currently does not do
anything because we don't halde it in Cpu::step(). The code that does is
currently commented out and there should be some underlying bugs still
present. Nevertheless it is a good start 
						
						
					 
					
						2021-03-23 23:05:27 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c16f318fd1 
					 
					
						
						
							
							fix: remove unnecessary allocation when loading boot rom  
						
						 
						
						
						
						
					 
					
						2021-03-23 21:21:18 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						48ac8317a8 
					 
					
						
						
							
							fix(bus): fix off by one error when reading from boot rom  
						
						 
						
						
						
						
					 
					
						2021-03-23 21:01:33 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						342e6616ac 
					 
					
						
						
							
							chore: improve unreachable! and panic! error messages  
						
						 
						
						
						
						
					 
					
						2021-03-22 22:33:56 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2813b762dd 
					 
					
						
						
							
							chore: replace select unreachable! macros with todo! and unreachable!  
						
						 
						
						
						
						
					 
					
						2021-03-22 21:52:28 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						45466a5733 
					 
					
						
						
							
							feat: implement clap for cli and improve error messages  
						
						 
						
						
						
						
					 
					
						2021-03-22 21:41:22 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						dc45688e4f 
					 
					
						
						
							
							feat: implement timers  
						
						 
						
						
						
						
					 
					
						2021-03-21 03:03:03 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fe586d77ac 
					 
					
						
						
							
							feat: stub 0xFF05  
						
						 
						
						
						
						
					 
					
						2021-03-21 02:01:19 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5a42d76f1e 
					 
					
						
						
							
							feat: implement LCDSTAT interrupt  
						
						 
						
						
						
						
					 
					
						2021-03-21 00:01:21 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b213a6e545 
					 
					
						
						
							
							feat: make 0xFF0F aware of joypad struct interrupt bool  
						
						 
						
						
						
						
					 
					
						2021-03-20 21:21:55 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						36e572b783 
					 
					
						
						
							
							feat: implement Joypad register  
						
						 
						
						
						
						
					 
					
						2021-03-20 21:11:45 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						cd0eac9d37 
					 
					
						
						
							
							chore: improve code quality  
						
						 
						
						... 
						
						
						
						Removed a lot of magic constants. Gave them descriptive variable names 
						
						
					 
					
						2021-03-20 20:26:49 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f365633c1e 
					 
					
						
						
							
							fix: allow for the ppu to modify interrupt flags  
						
						 
						
						
						
						
					 
					
						2021-03-20 19:53:56 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						558f9e7c72 
					 
					
						
						
							
							feat: implement cpu interrupts  
						
						 
						
						
						
						
					 
					
						2021-03-18 21:07:19 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4663e8c960 
					 
					
						
						
							
							chore: unifty read_byte and write_byte across hardware  
						
						 
						
						
						
						
					 
					
						2021-03-17 00:29:36 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						adeb6ca8a9 
					 
					
						
						
							
							feat: implement window x, window y and ly compare registers  
						
						 
						
						
						
						
					 
					
						2021-03-16 22:52:43 -05:00