mirror of
https://github.com/holub/mame
synced 2025-05-14 18:08:13 +03:00
sm510: lb/sbm seems ok (nw)
This commit is contained in:
parent
33170b8521
commit
835a86ce3b
@ -26,11 +26,12 @@
|
|||||||
- proper support for LFSR program counter in debugger
|
- proper support for LFSR program counter in debugger
|
||||||
- callback for lcd screen as MAME bitmap (when needed)
|
- callback for lcd screen as MAME bitmap (when needed)
|
||||||
- LCD bs pin blink mode via Y register (0.5s off, 0.5s on)
|
- LCD bs pin blink mode via Y register (0.5s off, 0.5s on)
|
||||||
- LB/SBM is correct?
|
- SM510 buzzer control divider bit is mask-programmable?
|
||||||
- SM511 undocumented/guessed opcodes:
|
- SM511 undocumented/guessed opcodes:
|
||||||
* $01 is guessed as DIV to ACC transfer, unknown which bits
|
* $01 is guessed as DIV to ACC transfer, unknown which bits
|
||||||
* $5d is certainly CEND
|
* $5d is certainly CEND
|
||||||
* $65 is certainly divider reset, but not sure if it behaves same as on SM510
|
* $65 is certainly divider reset, but not sure if it behaves same as on SM510
|
||||||
|
* $6036 may be instruction timing? (16KHz vs 8KHz)
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -58,22 +58,8 @@ inline u8 sm510_base_device::bitmask(u16 param)
|
|||||||
void sm510_base_device::op_lb()
|
void sm510_base_device::op_lb()
|
||||||
{
|
{
|
||||||
// LB x: load BM/BL with 4-bit immediate value (partial)
|
// LB x: load BM/BL with 4-bit immediate value (partial)
|
||||||
|
|
||||||
// SM510 WIP..
|
|
||||||
// bm and bl(low) are probably ok!
|
|
||||||
m_bm = (m_bm & 4) | (m_op & 3);
|
m_bm = (m_bm & 4) | (m_op & 3);
|
||||||
m_bl = (m_op >> 2 & 3);
|
m_bl = (m_op >> 2 & 3) | ((m_op & 0xc) ? 0xc : 0);
|
||||||
|
|
||||||
// bl(high) is still unclear, official doc is confusing
|
|
||||||
u8 hi = 0;
|
|
||||||
switch (m_bl)
|
|
||||||
{
|
|
||||||
case 0: hi = 0; break;
|
|
||||||
case 1: hi = 3; break;
|
|
||||||
case 2: hi = 3; break;
|
|
||||||
case 3: hi = 3; break;
|
|
||||||
}
|
|
||||||
m_bl |= (hi << 2 & 0xc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void sm510_base_device::op_lbl()
|
void sm510_base_device::op_lbl()
|
||||||
|
Loading…
Reference in New Issue
Block a user