diff options
author | 2015-08-17 00:29:07 +0200 | |
---|---|---|
committer | 2015-08-17 00:29:07 +0200 | |
commit | d8df2235f44d25605f731504f4ef36a96708f1a4 (patch) | |
tree | 325c872fba4290c78019d42e2cef34f847e1bfd1 /src | |
parent | f439604e88b7811a52ae3e8c7bc684310e05e5e9 (diff) |
tntell/vocaid: able to get overlay code from external artwork file
Diffstat (limited to 'src')
-rw-r--r-- | src/mess/drivers/tispeak.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mess/drivers/tispeak.c b/src/mess/drivers/tispeak.c index 3f22f539618..084bf37f50b 100644 --- a/src/mess/drivers/tispeak.c +++ b/src/mess/drivers/tispeak.c @@ -331,7 +331,6 @@ Language Tutor modules: TODO: - why doesn't lantutor work? - - tntell/vocaid: able to get overlay code from external artwork file - emulate other known devices @@ -585,7 +584,12 @@ TIMER_DEVICE_CALLBACK_MEMBER(tispeak_state::tntell_get_overlay) // which one is active(if any). If it matches with the internal ROM or // external module, the game continues. // 00 for none, 1F for diagnostics, see comment section above for a list - m_overlay = m_inp_matrix[10]->read(); + + // try to get overlay code from artwork file(in decimal), otherwise pick the + // one that was selected in machine configuration + m_overlay = output_get_value("overlay_code") & 0x1f; + if (m_overlay == 0) + m_overlay = m_inp_matrix[10]->read(); for (int i = 0; i < 5; i++) output_set_indexed_value("ol", i+1, m_overlay >> i & 1); @@ -838,7 +842,7 @@ static INPUT_PORTS_START( tntell ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_STOP) PORT_CODE(KEYCODE_PGUP) PORT_NAME("Grid 6-6 (On)") PORT_CHANGED_MEMBER(DEVICE_SELF, tispeak_state, snspell_power_button, (void *)true) PORT_START("IN.10") - PORT_CONFNAME( 0x1f, 0x04, "Overlay Code" ) + PORT_CONFNAME( 0x1f, 0x04, "Overlay Code" ) // only if not provided by external artwork PORT_CONFSETTING( 0x00, "00 (None)" ) PORT_CONFSETTING( 0x01, "01" ) PORT_CONFSETTING( 0x02, "02" ) |