trunk/src/mess/drivers/cc40.c
| r31314 | r31315 | |
| 45 | 45 | |
| 46 | 46 | |
| 47 | 47 | TODO: |
| 48 | | - x |
| 48 | - HD44100 is not accessed by the CPU, is it connected to the HD44780? |
| 49 | Probably responsible for the LCD indicators, how? |
| 49 | 50 | |
| 50 | 51 | ***************************************************************************/ |
| 51 | 52 | |
| r31314 | r31315 | |
| 74 | 75 | UINT8 m_banks; |
| 75 | 76 | UINT8 m_clock_control; |
| 76 | 77 | UINT8 m_key_select; |
| 78 | |
| 79 | void update_lcd_indicator(UINT8 y, UINT8 x, int state); |
| 77 | 80 | |
| 78 | 81 | DECLARE_READ8_MEMBER(bus_control_r); |
| 79 | 82 | DECLARE_WRITE8_MEMBER(bus_control_w); |
| r31314 | r31315 | |
| 105 | 108 | palette.set_pen_color(1, rgb_t(92, 83, 88)); |
| 106 | 109 | } |
| 107 | 110 | |
| 111 | void cc40_state::update_lcd_indicator(UINT8 y, UINT8 x, int state) |
| 112 | { |
| 113 | ; |
| 114 | } |
| 108 | 115 | |
| 116 | static HD44780_PIXEL_UPDATE(cc40_pixel_update) |
| 117 | { |
| 118 | if (line == 1 && pos == 15) |
| 119 | { |
| 120 | // the last char is used to control lcd indicators |
| 121 | cc40_state *driver_state = device.machine().driver_data<cc40_state>(); |
| 122 | driver_state->update_lcd_indicator(y, x, state); |
| 123 | } |
| 124 | else if (line < 2 && pos < 16) |
| 125 | { |
| 126 | // internal: 2*16, external: 1*31 + indicators |
| 127 | bitmap.pix16(y, line*16*6 + pos*6 + x) = state; |
| 128 | } |
| 129 | } |
| 130 | |
| 131 | |
| 132 | |
| 109 | 133 | /*************************************************************************** |
| 110 | 134 | |
| 111 | 135 | I/O, Memory Maps |
| r31314 | r31315 | |
| 372 | 396 | MCFG_SCREEN_ADD("screen", LCD) |
| 373 | 397 | MCFG_SCREEN_REFRESH_RATE(60) |
| 374 | 398 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) |
| 375 | | MCFG_SCREEN_SIZE(6*16, 9*2) |
| 376 | | MCFG_SCREEN_VISIBLE_AREA(0, 6*16-1, 0, 9*2-1) |
| 399 | MCFG_SCREEN_SIZE(6*31, 9*1) |
| 400 | MCFG_SCREEN_VISIBLE_AREA(0, 6*31-1, 0, 9*1-1) |
| 377 | 401 | MCFG_DEFAULT_LAYOUT(layout_lcd) |
| 378 | 402 | MCFG_SCREEN_UPDATE_DEVICE("hd44780", hd44780_device, screen_update) |
| 379 | 403 | MCFG_SCREEN_PALETTE("palette") |
| r31314 | r31315 | |
| 383 | 407 | |
| 384 | 408 | MCFG_HD44780_ADD("hd44780") |
| 385 | 409 | MCFG_HD44780_LCD_SIZE(2, 16) // internal: 2*16, external: 1*31 + indicators |
| 410 | MCFG_HD44780_PIXEL_UPDATE_CB(cc40_pixel_update) |
| 386 | 411 | |
| 387 | 412 | /* sound hardware */ |
| 388 | 413 | MCFG_SPEAKER_STANDARD_MONO("mono") |