diff --git a/src/emucore/CartEnhanced.cxx b/src/emucore/CartEnhanced.cxx index c462cbcc8..00c7334ed 100644 --- a/src/emucore/CartEnhanced.cxx +++ b/src/emucore/CartEnhanced.cxx @@ -348,7 +348,7 @@ bool CartridgeEnhanced::bank(uInt16 bank, uInt16 segment) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uInt16 CartridgeEnhanced::getBank(uInt16 address) const { - return myCurrentSegOffset[std::min((address & ROM_MASK) >> myBankShift, romBankCount() - 1)] >> myBankShift; + return myCurrentSegOffset[(address & ROM_MASK) >> myBankShift] >> myBankShift; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -360,8 +360,7 @@ uInt16 CartridgeEnhanced::getSegmentBank(uInt16 segment) const // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uInt16 CartridgeEnhanced::romBankCount() const { - // take care of too small ROMs - return uInt16((mySize + ((1 << myBankShift) - 1)) >> myBankShift); + return uInt16(mySize >> myBankShift); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -