summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/hh_tms1k.cpp
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2017-07-29 17:52:07 +0200
committer hap <happppp@users.noreply.github.com>2017-07-29 17:52:35 +0200
commit6e8271fc95fe3180a87bf702185944aa1486360f (patch)
tree85f5f3e4fb287e23fd5f78b1d5c540d76c916da2 /src/mame/drivers/hh_tms1k.cpp
parente9c9e0e06dfd1c14670e188e11b0b921a6a17402 (diff)
hh_tms1k: use display_matrix for horseran (nw)
Diffstat (limited to 'src/mame/drivers/hh_tms1k.cpp')
-rw-r--r--src/mame/drivers/hh_tms1k.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp
index dc4fe2a97cc..3ebbb238c4a 100644
--- a/src/mame/drivers/hh_tms1k.cpp
+++ b/src/mame/drivers/hh_tms1k.cpp
@@ -5068,13 +5068,16 @@ WRITE32_MEMBER(horseran_state::lcd_output_w)
if (offset > 2)
return;
- // output segments (lamp row*100 + col)
- for (int i = 0; i < 24; i++)
- output().set_lamp_value(offset*100 + i+1, data >> i & 1);
+ // update lcd segments
+ display_matrix(24, 3, data, 1 << offset, false);
// col5-11 and col13-19 are 7segs
for (int i = 0; i < 2; i++)
- output().set_digit_value(offset << 1 | i, BITSWAP8(data >> (4+8*i),7,3,5,2,0,1,4,6) & 0x7f);
+ m_display_state[3 + (offset << 1 | i)] = BITSWAP8(data >> (4+8*i),7,3,5,2,0,1,4,6) & 0x7f;
+
+ set_display_segmask(0x3f<<3, 0x7f);
+ set_display_size(24, 3+6);
+ display_update();
}
WRITE16_MEMBER(horseran_state::write_r)
@@ -5170,6 +5173,7 @@ static MACHINE_CONFIG_START( horseran )
/* video hardware */
MCFG_DEVICE_ADD("lcd", HLCD0569, 1100) // C=0.022uF
MCFG_HLCD0515_WRITE_COLS_CB(WRITE32(horseran_state, lcd_output_w))
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
MCFG_DEFAULT_LAYOUT(layout_horseran)
/* no sound! */