summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2015-07-14 23:49:32 +0200
committer hap <happppp@users.noreply.github.com>2015-07-14 23:49:32 +0200
commit138481e06db71eefb5f9683f7dbef41000500637 (patch)
treea56dcb9b65d5afe620b6cca6854d34ac54891987 /src/emu/cpu
parent2fe1b16c633e11bb9a7d41a2861a15ed17784d48 (diff)
added LB
Diffstat (limited to 'src/emu/cpu')
-rw-r--r--src/emu/cpu/sm510/sm510.c4
-rw-r--r--src/emu/cpu/sm510/sm510op.c5
2 files changed, 6 insertions, 3 deletions
diff --git a/src/emu/cpu/sm510/sm510.c b/src/emu/cpu/sm510/sm510.c
index ec1fa85fd77..c428eb76e40 100644
--- a/src/emu/cpu/sm510/sm510.c
+++ b/src/emu/cpu/sm510/sm510.c
@@ -17,8 +17,8 @@
TODO:
- proper support for LFSR program counter in debugger
- callback for lcd screen as MAME bitmap (when needed)
- - LCD bs pin blink mode via Y register
- - LB opcode
+ - LCD bs pin blink mode via Y register (0.5s off, 0.5s on)
+ - LB/SBM is correct?
- SM511 unknown opcodes
*/
diff --git a/src/emu/cpu/sm510/sm510op.c b/src/emu/cpu/sm510/sm510op.c
index eb877b594c2..91dd26d1ccb 100644
--- a/src/emu/cpu/sm510/sm510op.c
+++ b/src/emu/cpu/sm510/sm510op.c
@@ -57,7 +57,10 @@ inline UINT8 sm510_base_device::bitmask(UINT16 param)
void sm510_base_device::op_lb()
{
// LB x: load BM/BL with 4-bit immediate value (partial)
- op_illegal();
+ m_bm = (m_bm & 4) | (m_op & 3);
+ m_bl = m_op >> 2 & 3;
+ if (m_bl == 3)
+ m_bl |= 0xc;
}
void sm510_base_device::op_lbl()