4ab59007f9 
					 
					
						
						
							
							chore(cpu): disable logging by default  
						
						
						
						
					 
					
						2021-04-23 23:31:16 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6f4f872765 
					 
					
						
						
							
							fix(cpu): pass SLA (HL) and SRA (HL) tests from blargg  
						
						
						
						
					 
					
						2021-04-22 20:38:13 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9bf10f0c7d 
					 
					
						
						
							
							chore(ppu): improve accuracy of sprite pixel fifo  
						
						
						
						
					 
					
						2021-04-21 00:03:17 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d457761c3b 
					 
					
						
						
							
							chore(ppu): reimplement the object buffer  
						
						
						
						
					 
					
						2021-04-20 23:39:16 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f92f4a17e0 
					 
					
						
						
							
							chore(ppu): add alternate colour palette  
						
						
						
						
					 
					
						2021-04-20 23:15:54 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c90b9ab024 
					 
					
						
						
							
							fix(ppu): fix sprite buffer bug  
						
						... 
						
						
						
						Now, the background renders like it should and some sprites do load,
though they aren't where they're supposed to be 
						
						
					 
					
						2021-04-20 04:26:28 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4f4c867a63 
					 
					
						
						
							
							fix(ppu): ensure better timings for sprite fetcher  
						
						
						
						
					 
					
						2021-04-20 03:14:00 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						db1b40fe2d 
					 
					
						
						
							
							fix(ppu): clear oam on hblank  
						
						
						
						
					 
					
						2021-04-20 03:13:40 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0361d04248 
					 
					
						
						
							
							feat(ppu): implement broken ppu fifo renderer  
						
						
						
						
					 
					
						2021-04-20 01:27:32 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						38460577b9 
					 
					
						
						
							
							chore(ppu): move bg fetcher code into fetcher functions  
						
						
						
						
					 
					
						2021-04-18 02:43:34 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2acdaaeec2 
					 
					
						
						
							
							chore(ppu): rename types and improve code quality  
						
						
						
						
					 
					
						2021-04-18 01:45:09 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b43c8ac7c9 
					 
					
						
						
							
							feat(cartridge): grab title from the ROM  
						
						
						
						
					 
					
						2021-04-14 01:21:45 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cbd085c25b 
					 
					
						
						
							
							chore: use Default::default instead of Type::Default  
						
						
						
						
					 
					
						2021-04-13 23:02:13 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e9f129dbee 
					 
					
						
						
							
							fix(ppu): move frame/pixel buffer from the stack to the heap  
						
						
						
						
					 
					
						2021-04-13 22:55:11 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						12a51b115a 
					 
					
						
						
							
							feat(ppu): reimplement ppu as fifo pixel renderer  
						
						
						
						
					 
					
						2021-04-11 02:07:25 -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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2733bbe6d7 
					 
					
						
						
							
							feat(ppu): implement window rendering  
						
						
						
						
					 
					
						2021-04-08 17:10:24 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e2fa72aa0e 
					 
					
						
						
							
							chore: remove unecessary eprintln! statements  
						
						
						
						
					 
					
						2021-04-08 00:02:54 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0538522aa2 
					 
					
						
						
							
							chore: update readme  
						
						
						
						
					 
					
						2021-04-08 00:02:37 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cf3b79f0dc 
					 
					
						
						
							
							chore(cpu): move RST behaviour to a method  
						
						
						
						
					 
					
						2021-04-07 23:05:22 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0eb40a8109 
					 
					
						
						
							
							feat: comply with the fourth individual blargg test rom  
						
						
						
						
					 
					
						2021-04-07 22:37:33 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						067ed03de3 
					 
					
						
						
							
							feat: comply with test 03 of blargg's cpu_instrs test rom  
						
						
						
						
					 
					
						2021-04-07 20:12:05 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6db132ad48 
					 
					
						
						
							
							feat(cartridge): handle MBC-less games like tetris  
						
						... 
						
						
						
						TODO: This will panic whenever a write is attempted on the MBC-less
cartridge. This would be fine if games held the implicit rules given by
the hardware, however this is not the case. We will have to modify the
NoMBC implementation to ignore writes to the cartrige (while still
documenting them just in case of bugs) 
						
						
					 
					
						2021-04-05 01:43:26 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						823e4b1e0a 
					 
					
						
						
							
							chore: follow rust style guides  
						
						
						
						
					 
					
						2021-04-05 01:40:26 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9b77d6c6c3 
					 
					
						
						
							
							fix(cpu): ensure that timer, lcd and sound runs regardless of HALT  
						
						
						
						
					 
					
						2021-04-05 01:20:18 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9d2fbd2427 
					 
					
						
						
							
							chore: remove unecessary print statements  
						
						
						
						
					 
					
						2021-04-05 01:20:03 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						748c32c446 
					 
					
						
						
							
							fix(cpu): use enums only of maintaining IME register state  
						
						
						
						
					 
					
						2021-04-05 01:10:03 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						77c7c610d0 
					 
					
						
						
							
							chore(cpu): rename ImeSet to ImeEnabled  
						
						
						
						
					 
					
						2021-04-05 00:53:46 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a15a6a25b6 
					 
					
						
						
							
							feat(cpu): properly implement EI instruction  
						
						
						
						
					 
					
						2021-04-05 00:52:12 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4ace092257 
					 
					
						
						
							
							chore: update cargo.lock  
						
						
						
						
					 
					
						2021-04-05 00:50:53 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						62bd88945f 
					 
					
						
						
							
							chore: rename a couple of interrupt instances to "int" instead of  
						
						... 
						
						
						
						"interrupt" 
						
						
					 
					
						2021-04-04 01:52:53 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7c9bff61f6 
					 
					
						
						
							
							fix(ppu): add missing check for enabled interrupt  
						
						
						
						
					 
					
						2021-04-04 01:50:49 -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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cb1bcdb859 
					 
					
						
						
							
							feat(cpu): implement DAA instruction  
						
						
						
						
					 
					
						2021-04-04 01:03:44 -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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2bf877d1ec 
					 
					
						
						
							
							fix(cpu): Ensure mask the high bits of the flag register  
						
						... 
						
						
						
						There was a bug where POP AF returned 0x1301. In this example, the A
register would be set to 0x13, and the Flag register woud be set to
0x01, which is an invalid state considering only bits 4 -> 7 of the flag
register are used. This commit masks the flag register with & 0xF0
whenever it is read or written to so that we can ensure that only the
high bits can ever be potentially set 
						
						
					 
					
						2021-03-26 20:25:30 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						15781b3d5a 
					 
					
						
						
							
							fix(instructions): correct the flags being set in ADD HL, r16  
						
						
						
						
					 
					
						2021-03-26 20:19:48 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a6d5553035 
					 
					
						
						
							
							fix(cartridge): reimplement apply_rom_size_bitmask  
						
						
						
						
					 
					
						2021-03-26 20:18:49 -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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e5fb07c4d1 
					 
					
						
						
							
							chore: refactor parts of instruction.rs  
						
						
						
						
					 
					
						2021-03-23 20:22:11 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						501d93c37b 
					 
					
						
						
							
							chore: clean up code in one instruction  
						
						
						
						
					 
					
						2021-03-23 18:21:59 -05:00