summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/amis2000/amis2000op.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/amis2000/amis2000op.cpp')
-rw-r--r--src/devices/cpu/amis2000/amis2000op.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/devices/cpu/amis2000/amis2000op.cpp b/src/devices/cpu/amis2000/amis2000op.cpp
index e67ee6d153b..92c2eaae3dc 100644
--- a/src/devices/cpu/amis2000/amis2000op.cpp
+++ b/src/devices/cpu/amis2000/amis2000op.cpp
@@ -220,11 +220,13 @@ void amis2000_base_device::op_disn()
// DISN: set D-latch to ACC+carry via on-die segment decoder
static const u8 lut_segment_decoder[0x10] =
{
- // 0-F digits in bit order [DP]abcdefg
- 0x7e, 0x30, 0x6d, 0x79, 0x33, 0x5b, 0x5f, 0x70, 0x7f, 0x7b, 0x77, 0x1f, 0x4e, 0x3d, 0x4f, 0x47
+ 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, // 0-7
+ 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71 // 8-F
};
- const u8 *ptr = (m_7seg_table != nullptr) ? m_7seg_table : lut_segment_decoder;
- m_d = ptr[m_acc] | (m_carry ? 0x80 : 0x00);
+ const u8 *lut = (m_7seg_table != nullptr) ? m_7seg_table : lut_segment_decoder;
+
+ // segments are in order [DP]abcdefg
+ m_d = bitswap<7>(lut[m_acc],0,1,2,3,4,5,6) | (m_carry ? 0x80 : 0x00);
d_latch_out(true);
}
@@ -500,7 +502,6 @@ void amis2000_base_device::op_rf2()
}
-
// AMI S2152 specific handlers
void amis2152_cpu_device::d2f_timer_clock()