MMR0 in byte mode
This commit is contained in:
parent
8a3594ec47
commit
45890daf75
1 changed files with 20 additions and 2 deletions
22
bus.cpp
22
bus.cpp
|
@ -246,6 +246,15 @@ uint16_t bus::read(const uint16_t a, const bool word_mode, const bool use_prev,
|
||||||
if (!peek_only) DOLOG(debug, false, "readb micropgrogram break register (high: %03o)", microprogram_break_register >> 8);
|
if (!peek_only) DOLOG(debug, false, "readb micropgrogram break register (high: %03o)", microprogram_break_register >> 8);
|
||||||
return microprogram_break_register >> 8;
|
return microprogram_break_register >> 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (a == ADDR_MMR0) {
|
||||||
|
if (!peek_only) DOLOG(debug, false, "read MMR0 LO");
|
||||||
|
return MMR0 & 255;
|
||||||
|
}
|
||||||
|
if (a == ADDR_MMR0 + 1) {
|
||||||
|
if (!peek_only) DOLOG(debug, false, "read MMR0 HI");
|
||||||
|
return MMR0 >> 8;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (a == ADDR_MMR0) {
|
if (a == ADDR_MMR0) {
|
||||||
|
@ -680,6 +689,17 @@ void bus::write(const uint16_t a, const bool word_mode, uint16_t value, const bo
|
||||||
microprogram_break_register = (microprogram_break_register & 0x00ff) | (value << 8);
|
microprogram_break_register = (microprogram_break_register & 0x00ff) | (value << 8);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (a == ADDR_MMR0) { // MMR0
|
||||||
|
DOLOG(debug, true, "write set MMR0: %o", value);
|
||||||
|
MMR0 = (MMR0 & 0xff00) | value;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (a == ADDR_MMR0 + 1) { // MMR0
|
||||||
|
DOLOG(debug, true, "write set MMR0: %o", value);
|
||||||
|
MMR0 = (MMR0 & 0x00ff) | (value << 8);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (a == ADDR_PSW) { // PSW
|
if (a == ADDR_PSW) { // PSW
|
||||||
|
@ -746,9 +766,7 @@ void bus::write(const uint16_t a, const bool word_mode, uint16_t value, const bo
|
||||||
|
|
||||||
if (a == ADDR_MMR0) { // MMR0
|
if (a == ADDR_MMR0) { // MMR0
|
||||||
DOLOG(debug, true, "write set MMR0: %o", value);
|
DOLOG(debug, true, "write set MMR0: %o", value);
|
||||||
|
|
||||||
setMMR0(value);
|
setMMR0(value);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue