This commit is contained in:
Sarah Jamie Lewis 2021-11-23 20:33:26 -08:00
parent 296f47683d
commit 353f12f7d9
3 changed files with 4 additions and 6 deletions

View File

@ -665,11 +665,11 @@ impl Cpu {
self.delay -= 1;
return 1;
}
let clock = self.clock;
self.handle_interrupts();
// back up clock so we know how many cycles we complete
let clock = self.clock;
self.before_clock = self.clock;
let opcode = <usize>::from(self.read(self.pc));
self.addresses_fetched.insert(self.pc);

View File

@ -43,7 +43,7 @@ const RNG_SEED: u32 = 0x35234623;
const DISABLE_START_PRESSES_AFTER: usize = usize::MAX;
// The rate at which seed inputs become corrupted..
const MUTATION_RATE: f64 = 0.025;
const MUTATION_RATE: f64 = 0.05;
// The rate at which seed inputs may become soft resets..
const MUTATION_RATE_SOFT_RESET: f64 = 0.00;

View File

@ -106,13 +106,11 @@ impl super::Ppu {
palette_address += background_pixel; // Pixel value from tile data
} else if background_pixel != 0 && sprite_pixel != 0 {
if self.sprite_indexes[current_sprite] == 0 {
if x != 255 {
if x != 255 && y != 0 {
// Sprite 0 does not hit At x=255, for an obscure reason related to the pixel pipeline.
// don't access index current_sprite. need to know which sprite we're on horizontally.
self.sprite_zero_hit = true;
}
// TODO sprite zero should not hit when y == 255 (+1) == 0...
//
}
if self.sprite_attribute_latches[current_sprite] & (1 << 5) == 0 {
// sprite has high priority