diff --git a/src/apu/Gb_Oscs.cpp b/src/apu/Gb_Oscs.cpp index 644f6ddd..bba510b5 100644 --- a/src/apu/Gb_Oscs.cpp +++ b/src/apu/Gb_Oscs.cpp @@ -116,7 +116,7 @@ int Gb_Wave::access( unsigned addr ) const if ( enabled ) { addr = phase & (bank_size - 1); - if ( mode == Gb_Apu::mode_dmg ) + if ( mode == Gb_Apu::mode_agb ) { addr++; if ( delay > clk_mul ) @@ -442,7 +442,7 @@ static unsigned run_lfsr( unsigned s, unsigned mask, int count ) { // won't fully replace upper 8 bits, so have to do the unoptimized way while ( --count >= 0 ) - s = (s >> 1 | mask) ^ (mask & -((s - 1) & 2)); + s = (s >> 1 | mask) ^ (mask & (0 - ((s - 1) & 2))); } else {