summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2017-09-03 16:57:28 -0400
committer AJR <ajrhacker@users.noreply.github.com>2017-09-03 16:58:01 -0400
commitbff8a33459bd0296e4921a4988400a025c1026be (patch)
tree68238563422f5f43cf2c601f212fe6d6ae573043
parent4b12e8491927e99560ad9d50b90a088a45bc7643 (diff)
z8: Mask external stack accesses too (nw)
-rw-r--r--src/devices/cpu/z8/z8.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/devices/cpu/z8/z8.cpp b/src/devices/cpu/z8/z8.cpp
index 4a632ecad8a..cbabf70eab2 100644
--- a/src/devices/cpu/z8/z8.cpp
+++ b/src/devices/cpu/z8/z8.cpp
@@ -515,7 +515,7 @@ void z8_device::stack_push_byte(uint8_t src)
register_pair_write(Z8_REGISTER_SPH, sp);
// @SP <- src
- m_data->write_byte(sp, src);
+ m_data->write_byte(mask_external_address(sp), src);
}
}
@@ -537,7 +537,7 @@ void z8_device::stack_push_word(uint16_t src)
register_pair_write(Z8_REGISTER_SPH, sp);
// @SP <- src
- m_data->write_word(sp, src);
+ m_data->write_word(mask_external_address(sp), src);
}
}
@@ -558,7 +558,7 @@ uint8_t z8_device::stack_pop_byte()
{
// @SP <- src
uint16_t sp = register_pair_read(Z8_REGISTER_SPH);
- uint8_t byte = m_data->read_byte(sp);
+ uint8_t byte = m_data->read_byte(mask_external_address(sp));
// SP <- SP + 1 (postincrement)
register_pair_write(Z8_REGISTER_SPH, sp + 1);
@@ -584,7 +584,7 @@ uint16_t z8_device::stack_pop_word()
{
// @SP <- src
uint16_t sp = register_pair_read(Z8_REGISTER_SPH);
- uint16_t word = m_data->read_word(sp);
+ uint16_t word = m_data->read_word(mask_external_address(sp));
// SP <- SP + 2 (postincrement)
register_pair_write(Z8_REGISTER_SPH, sp + 2);