diff --git a/src/emucore/CartCDF.cxx b/src/emucore/CartCDF.cxx index 93e330c39..43c7290ac 100644 --- a/src/emucore/CartCDF.cxx +++ b/src/emucore/CartCDF.cxx @@ -277,7 +277,7 @@ uInt8 CartridgeCDF::peek(uInt16 address) if DIGITAL_AUDIO_ON { // retrieve packed sample (max size is 2K, or 4K of unpacked data) - uInt32 sampleaddress = getSample() + (myMusicCounters[0] >> 21); + uInt32 sampleaddress = getSample() + (myMusicCounters[0] >> 13); // get sample value from ROM or RAM if (sampleaddress < 0x00080000) @@ -288,7 +288,7 @@ uInt8 CartridgeCDF::peek(uInt16 address) peekvalue = 0; // make sure current volume value is in the lower nybble - if ((myMusicCounters[0] & (1<<20)) == 0) + if ((myMusicCounters[0] & (1<<12)) == 0) peekvalue >>= 4; peekvalue &= 0x0f; } diff --git a/test/roms/bankswitching/CDFJ+/sample256.bin b/test/roms/bankswitching/CDFJ+/sample256.bin new file mode 100644 index 000000000..9e18c5dd3 Binary files /dev/null and b/test/roms/bankswitching/CDFJ+/sample256.bin differ