diff options
author | 2016-03-30 00:31:06 +0200 | |
---|---|---|
committer | 2016-03-30 00:31:06 +0200 | |
commit | 80615fa83e29d0fdb724cf1e49b3e66f8dd989c5 (patch) | |
tree | 954a07af9d0a9467e409c82f0fb8bab8317b9149 /src/devices/cpu/sm510/sm510op.cpp | |
parent | 742fa79792438d8ae35484faf826a73943468289 (diff) |
SM511: small update to divider
Diffstat (limited to 'src/devices/cpu/sm510/sm510op.cpp')
-rw-r--r-- | src/devices/cpu/sm510/sm510op.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/devices/cpu/sm510/sm510op.cpp b/src/devices/cpu/sm510/sm510op.cpp index 3f0659bac16..05ba90522e4 100644 --- a/src/devices/cpu/sm510/sm510op.cpp +++ b/src/devices/cpu/sm510/sm510op.cpp @@ -450,10 +450,16 @@ void sm510_base_device::op_idiv() m_div = 0; } +void sm510_base_device::op_dr() +{ + // DR: reset divider low 8 bits + m_div &= 0x7f; +} + void sm510_base_device::op_dta() { - // DTA: transfer divider low bits to ACC - m_acc = BITSWAP16(m_div,0,0,0,0, 0,0,0,0, 0,0,0,0, 7,8,9,10) & 0xf; + // DTA: transfer divider low 4 bits to ACC + m_acc = BITSWAP16(m_div,0,0,0,0, 0,0,0,0, 0,0,0,0, 14,13,12,11) & 0xf; } void sm510_base_device::op_illegal() |