duplicate memory size check removed
This commit is contained in:
parent
fcff5f8372
commit
e120309458
2 changed files with 8 additions and 4 deletions
6
bus.cpp
6
bus.cpp
|
@ -873,7 +873,9 @@ void bus::write_word(const uint16_t a, const uint16_t value, const d_i_space_t s
|
|||
|
||||
uint8_t bus::read_unibus_byte(const uint32_t a)
|
||||
{
|
||||
uint8_t v = m->read_byte(a);
|
||||
uint8_t v = 0;
|
||||
if (a < m->get_memory_size())
|
||||
v = m->read_byte(a);
|
||||
TRACE("read_unibus_byte[%08o]=%03o", a, v);
|
||||
return v;
|
||||
}
|
||||
|
@ -881,5 +883,7 @@ uint8_t bus::read_unibus_byte(const uint32_t a)
|
|||
void bus::write_unibus_byte(const uint32_t a, const uint8_t v)
|
||||
{
|
||||
TRACE("write_unibus_byte[%08o]=%03o", a, v);
|
||||
|
||||
if (a < m->get_memory_size())
|
||||
m->write_byte(a, v);
|
||||
}
|
||||
|
|
4
memory.h
4
memory.h
|
@ -26,8 +26,8 @@ public:
|
|||
static memory *deserialize(const JsonVariantConst j);
|
||||
|
||||
uint16_t read_byte(const uint32_t a) const { return m[a]; }
|
||||
void write_byte(const uint32_t a, const uint16_t v) { if (a < size) m[a] = v; }
|
||||
void write_byte(const uint32_t a, const uint16_t v) { m[a] = v; }
|
||||
|
||||
uint16_t read_word(const uint32_t a) const { return m[a] | (m[a + 1] << 8); }
|
||||
void write_word(const uint32_t a, const uint16_t v) { if(a < size - 1) { m[a] = v; m[a + 1] = v >> 8; } }
|
||||
void write_word(const uint32_t a, const uint16_t v) { m[a] = v; m[a + 1] = v >> 8; }
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue