diff options
Diffstat (limited to 'src/mame/drivers/hh_tms1k.cpp')
-rw-r--r-- | src/mame/drivers/hh_tms1k.cpp | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index 229eb2c8f9d..85b9d0842c6 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -2555,7 +2555,7 @@ MACHINE_CONFIG_END Entex Space Battle * TMS1000 EN-6004 MP0920 (die label 1000B, MP0920) - * x + * 2 7seg LEDs, and other LEDs behind bezel, 1-bit sound The Japanese version was published by Gakken, same name. @@ -2591,14 +2591,29 @@ public: void esbattle_state::prepare_display() { + // R8,R9 are 7segs + set_display_segmask(0x300, 0x7f); + display_matrix(8, 10, m_o, m_r); } WRITE16_MEMBER(esbattle_state::write_r) { + // R0,R1: input mux + m_inp_mux = data & 3; + + // R10: speaker out + m_speaker->level_w(data >> 10 & 1); + + // R0-R9: led select + m_r = data; + prepare_display(); } WRITE16_MEMBER(esbattle_state::write_o) { + // O0-O7: led state + m_o = data; + prepare_display(); } READ8_MEMBER(esbattle_state::read_k) @@ -2612,15 +2627,15 @@ READ8_MEMBER(esbattle_state::read_k) static INPUT_PORTS_START( esbattle ) PORT_START("IN.0") // R0 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Fire 1") // F1 - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Fire 2") // F2 - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_COCKTAIL PORT_NAME("P2 Launch") - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) - - PORT_START("IN.1") // R1 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Fire 1") // F1 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Fire 2") // F2 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Launch") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.1") // R1 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Fire 1") // F1 + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Fire 2") // F2 + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_COCKTAIL PORT_NAME("P2 Launch") PORT_CONFNAME( 0x08, 0x08, "Players" ) PORT_CONFSETTING( 0x08, "1" ) // Auto PORT_CONFSETTING( 0x00, "2" ) // Manual @@ -2629,7 +2644,7 @@ INPUT_PORTS_END static MACHINE_CONFIG_START( esbattle, esbattle_state ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", TMS1000, 350000) // approximation - RC osc. R=47K, C=33pf + MCFG_CPU_ADD("maincpu", TMS1000, 425000) // approximation - RC osc. R=47K, C=33pf MCFG_TMS1XXX_READ_K_CB(READ8(esbattle_state, read_k)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(esbattle_state, write_r)) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(esbattle_state, write_o)) @@ -6466,7 +6481,7 @@ INPUT_PORTS_END static MACHINE_CONFIG_START( monkeysee, monkeysee_state ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", TMS1000, 225000) // approximation - RC osc. R=68K, C=47pf + MCFG_CPU_ADD("maincpu", TMS1000, 250000) // approximation - RC osc. R=68K, C=47pf MCFG_TMS1XXX_READ_K_CB(READ8(monkeysee_state, read_k)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(monkeysee_state, write_r)) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(monkeysee_state, write_o)) |