peek_only is used relatively seldomly
This commit is contained in:
parent
09c0f5840f
commit
fd632156d2
1 changed files with 9 additions and 7 deletions
6
bus.cpp
6
bus.cpp
|
@ -283,8 +283,8 @@ uint16_t bus::read(const uint16_t addr_in, const word_mode_t word_mode, const rm
|
||||||
}
|
}
|
||||||
///^ registers ^///
|
///^ registers ^///
|
||||||
|
|
||||||
if (!peek_only) {
|
|
||||||
if ((a & 1) && word_mode == wm_word) [[unlikely]] {
|
if ((a & 1) && word_mode == wm_word) [[unlikely]] {
|
||||||
|
if (!peek_only) {
|
||||||
TRACE("READ-I/O odd address %06o UNHANDLED", a);
|
TRACE("READ-I/O odd address %06o UNHANDLED", a);
|
||||||
mmu_->trap_if_odd(addr_in, run_mode, space, false);
|
mmu_->trap_if_odd(addr_in, run_mode, space, false);
|
||||||
throw 0;
|
throw 0;
|
||||||
|
@ -508,12 +508,14 @@ uint16_t bus::read(const uint16_t addr_in, const word_mode_t word_mode, const rm
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (peek_only == false && word_mode == wm_word && (addr_in & 1)) {
|
if ((addr_in & 1) && word_mode == wm_word) {
|
||||||
|
if (peek_only == false) {
|
||||||
TRACE("READ from %06o - odd address!", addr_in);
|
TRACE("READ from %06o - odd address!", addr_in);
|
||||||
mmu_->trap_if_odd(addr_in, run_mode, space, false);
|
mmu_->trap_if_odd(addr_in, run_mode, space, false);
|
||||||
throw 2;
|
throw 2;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (m_offset >= m->get_memory_size()) {
|
if (m_offset >= m->get_memory_size()) {
|
||||||
if (peek_only) {
|
if (peek_only) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue