Fixes
This commit is contained in:
parent
296f47683d
commit
353f12f7d9
|
@ -665,11 +665,11 @@ impl Cpu {
|
||||||
self.delay -= 1;
|
self.delay -= 1;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
let clock = self.clock;
|
||||||
self.handle_interrupts();
|
self.handle_interrupts();
|
||||||
|
|
||||||
// back up clock so we know how many cycles we complete
|
// back up clock so we know how many cycles we complete
|
||||||
let clock = self.clock;
|
|
||||||
self.before_clock = self.clock;
|
self.before_clock = self.clock;
|
||||||
let opcode = <usize>::from(self.read(self.pc));
|
let opcode = <usize>::from(self.read(self.pc));
|
||||||
self.addresses_fetched.insert(self.pc);
|
self.addresses_fetched.insert(self.pc);
|
||||||
|
|
|
@ -43,7 +43,7 @@ const RNG_SEED: u32 = 0x35234623;
|
||||||
const DISABLE_START_PRESSES_AFTER: usize = usize::MAX;
|
const DISABLE_START_PRESSES_AFTER: usize = usize::MAX;
|
||||||
|
|
||||||
// The rate at which seed inputs become corrupted..
|
// 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..
|
// The rate at which seed inputs may become soft resets..
|
||||||
const MUTATION_RATE_SOFT_RESET: f64 = 0.00;
|
const MUTATION_RATE_SOFT_RESET: f64 = 0.00;
|
||||||
|
|
|
@ -106,13 +106,11 @@ impl super::Ppu {
|
||||||
palette_address += background_pixel; // Pixel value from tile data
|
palette_address += background_pixel; // Pixel value from tile data
|
||||||
} else if background_pixel != 0 && sprite_pixel != 0 {
|
} else if background_pixel != 0 && sprite_pixel != 0 {
|
||||||
if self.sprite_indexes[current_sprite] == 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.
|
// 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.
|
// don't access index current_sprite. need to know which sprite we're on horizontally.
|
||||||
self.sprite_zero_hit = true;
|
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 {
|
if self.sprite_attribute_latches[current_sprite] & (1 << 5) == 0 {
|
||||||
// sprite has high priority
|
// sprite has high priority
|
||||||
|
|
Loading…
Reference in New Issue