peek_only is used relatively seldomly

This commit is contained in:
folkert van heusden 2024-06-23 18:09:47 +02:00
parent 09c0f5840f
commit fd632156d2
Signed by untrusted user who does not match committer: folkert
GPG key ID: 6B6455EDFEED3BD1

View file

@ -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) {