Bit 8 of MMR0 enables relocation only for 'destination'. Implemented by
checking for bit 8 when doing a write. https://retrocomputing.stackexchange.com/questions/24664/pdp-11-34-bit-8-in-mmr0-maintenance-mode-what-does-it-do
This commit is contained in:
parent
6ac4a9ecb6
commit
fa9f57caa0
1 changed files with 1 additions and 1 deletions
2
bus.cpp
2
bus.cpp
|
@ -402,7 +402,7 @@ uint32_t bus::calculate_physical_address(const int run_mode, const uint16_t a, c
|
||||||
{
|
{
|
||||||
uint32_t m_offset = a;
|
uint32_t m_offset = a;
|
||||||
|
|
||||||
if (MMR0 & 1) {
|
if ((MMR0 & 1) || (is_write && (MMR0 & (1 << 8)))) {
|
||||||
const uint8_t apf = a >> 13; // active page field
|
const uint8_t apf = a >> 13; // active page field
|
||||||
|
|
||||||
bool d = is_data & (!!(MMR3 & di_ena_mask[run_mode])) ? is_data : false;
|
bool d = is_data & (!!(MMR3 & di_ena_mask[run_mode])) ? is_data : false;
|
||||||
|
|
Loading…
Add table
Reference in a new issue