diff --git a/Machines/Apple/AppleII/AppleII.cpp b/Machines/Apple/AppleII/AppleII.cpp index 5eb2c81bf..6b6078824 100644 --- a/Machines/Apple/AppleII/AppleII.cpp +++ b/Machines/Apple/AppleII/AppleII.cpp @@ -419,6 +419,12 @@ template class ConcreteMachine: } rom_ = std::move(roms.find(system)->second); + // The IIe and Enhanced IIe ROMs often distributed are oversized; trim if necessary. + if(system == ROM::Name::AppleIIe || system == ROM::Name::AppleIIEnhancedE) { + if(rom_.size() > 16128) { + rom_.erase(rom_.begin(), rom_.end() - off_t(16128)); + } + } video_.set_character_rom(roms.find(character)->second); // Set up the default memory blocks. On a II or II+ these values will never change.