mirror of
https://github.com/holub/mame
synced 2025-04-20 15:32:45 +03:00
correct lcdc screen layout
This commit is contained in:
parent
1963c020ea
commit
ab161a9d49
@ -45,7 +45,8 @@
|
||||
|
||||
|
||||
TODO:
|
||||
- x
|
||||
- HD44100 is not accessed by the CPU, is it connected to the HD44780?
|
||||
Probably responsible for the LCD indicators, how?
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -74,6 +75,8 @@ public:
|
||||
UINT8 m_banks;
|
||||
UINT8 m_clock_control;
|
||||
UINT8 m_key_select;
|
||||
|
||||
void update_lcd_indicator(UINT8 y, UINT8 x, int state);
|
||||
|
||||
DECLARE_READ8_MEMBER(bus_control_r);
|
||||
DECLARE_WRITE8_MEMBER(bus_control_w);
|
||||
@ -105,6 +108,27 @@ PALETTE_INIT_MEMBER(cc40_state, cc40)
|
||||
palette.set_pen_color(1, rgb_t(92, 83, 88));
|
||||
}
|
||||
|
||||
void cc40_state::update_lcd_indicator(UINT8 y, UINT8 x, int state)
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
static HD44780_PIXEL_UPDATE(cc40_pixel_update)
|
||||
{
|
||||
if (line == 1 && pos == 15)
|
||||
{
|
||||
// the last char is used to control lcd indicators
|
||||
cc40_state *driver_state = device.machine().driver_data<cc40_state>();
|
||||
driver_state->update_lcd_indicator(y, x, state);
|
||||
}
|
||||
else if (line < 2 && pos < 16)
|
||||
{
|
||||
// internal: 2*16, external: 1*31 + indicators
|
||||
bitmap.pix16(y, line*16*6 + pos*6 + x) = state;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@ -372,8 +396,8 @@ static MACHINE_CONFIG_START( cc40, cc40_state )
|
||||
MCFG_SCREEN_ADD("screen", LCD)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
|
||||
MCFG_SCREEN_SIZE(6*16, 9*2)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 6*16-1, 0, 9*2-1)
|
||||
MCFG_SCREEN_SIZE(6*31, 9*1)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 6*31-1, 0, 9*1-1)
|
||||
MCFG_DEFAULT_LAYOUT(layout_lcd)
|
||||
MCFG_SCREEN_UPDATE_DEVICE("hd44780", hd44780_device, screen_update)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
@ -383,6 +407,7 @@ static MACHINE_CONFIG_START( cc40, cc40_state )
|
||||
|
||||
MCFG_HD44780_ADD("hd44780")
|
||||
MCFG_HD44780_LCD_SIZE(2, 16) // internal: 2*16, external: 1*31 + indicators
|
||||
MCFG_HD44780_PIXEL_UPDATE_CB(cc40_pixel_update)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
Loading…
Reference in New Issue
Block a user