mirror of
https://github.com/holub/mame
synced 2025-05-20 20:58:51 +03:00
mephisto_brikett: mephisto3 clock is supposed to blink (nw)
This commit is contained in:
parent
534f3eaeb7
commit
b25248b5b7
@ -51,10 +51,6 @@ ESB 6000 chessboard:
|
|||||||
ESB 3000 hardware is probably same as ESB 6000.
|
ESB 3000 hardware is probably same as ESB 6000.
|
||||||
There are no other known external port peripherals.
|
There are no other known external port peripherals.
|
||||||
|
|
||||||
TODO:
|
|
||||||
- beeper is noisy on mephisto/mephisto2, is it normal? caused by interrupts triggering mid-beep
|
|
||||||
(mephisto3 disables interrupts during beep)
|
|
||||||
|
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
@ -133,7 +129,6 @@ private:
|
|||||||
|
|
||||||
u8 m_lcd_mask;
|
u8 m_lcd_mask;
|
||||||
u8 m_digit_idx;
|
u8 m_digit_idx;
|
||||||
u8 m_digit_data[4];
|
|
||||||
bool m_reset;
|
bool m_reset;
|
||||||
|
|
||||||
u8 m_esb_led;
|
u8 m_esb_led;
|
||||||
@ -146,8 +141,6 @@ void brikett_state::machine_start()
|
|||||||
// zerofill
|
// zerofill
|
||||||
m_lcd_mask = 0;
|
m_lcd_mask = 0;
|
||||||
m_digit_idx = 0;
|
m_digit_idx = 0;
|
||||||
memset(m_digit_data, 0, sizeof(m_digit_data));
|
|
||||||
|
|
||||||
m_esb_led = 0;
|
m_esb_led = 0;
|
||||||
m_esb_row = 0;
|
m_esb_row = 0;
|
||||||
m_esb_select = 0;
|
m_esb_select = 0;
|
||||||
@ -155,8 +148,6 @@ void brikett_state::machine_start()
|
|||||||
// register for savestates
|
// register for savestates
|
||||||
save_item(NAME(m_lcd_mask));
|
save_item(NAME(m_lcd_mask));
|
||||||
save_item(NAME(m_digit_idx));
|
save_item(NAME(m_digit_idx));
|
||||||
save_item(NAME(m_digit_data));
|
|
||||||
|
|
||||||
save_item(NAME(m_esb_led));
|
save_item(NAME(m_esb_led));
|
||||||
save_item(NAME(m_esb_row));
|
save_item(NAME(m_esb_row));
|
||||||
save_item(NAME(m_esb_select));
|
save_item(NAME(m_esb_select));
|
||||||
@ -202,16 +193,14 @@ READ_LINE_MEMBER(brikett_state::clear_r)
|
|||||||
WRITE_LINE_MEMBER(brikett_state::q_w)
|
WRITE_LINE_MEMBER(brikett_state::q_w)
|
||||||
{
|
{
|
||||||
// Q: LCD digit data mask
|
// Q: LCD digit data mask
|
||||||
m_lcd_mask = state ? 0xff : 0;
|
m_lcd_mask = state ? 0 : 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(brikett_state::lcd_w)
|
WRITE8_MEMBER(brikett_state::lcd_w)
|
||||||
{
|
{
|
||||||
// write/shift LCD digit (4*CD4015)
|
// write/shift LCD digit (4*CD4015)
|
||||||
// note: last digit "dp" is the colon in the middle
|
// note: last digit "dp" is the colon in the middle
|
||||||
m_digit_data[m_digit_idx] = (m_digit_data[m_digit_idx] & ~data) | (m_lcd_mask & data);
|
m_display->write_row(m_digit_idx, data ^ m_lcd_mask);
|
||||||
|
|
||||||
m_display->write_row(m_digit_idx, m_digit_data[m_digit_idx]);
|
|
||||||
m_display->update();
|
m_display->update();
|
||||||
|
|
||||||
m_digit_idx = (m_digit_idx + 1) & 3;
|
m_digit_idx = (m_digit_idx + 1) & 3;
|
||||||
|
Loading…
Reference in New Issue
Block a user