From 269e145561bca6812c59ba12b270be341ef5501e Mon Sep 17 00:00:00 2001 From: hap Date: Thu, 11 Mar 2021 22:06:41 +0100 Subject: Machines promoted to working ---------------------------- Tri-1 (Fonas) [hap, Sean Riddle] --- src/mame/drivers/hh_pic16.cpp | 2 +- src/mame/drivers/hh_pps41.cpp | 56 ++++++--- src/mame/drivers/hh_tms1k.cpp | 2 +- src/mame/layout/f2pbball.lay | 2 +- src/mame/layout/ftri1.lay | 243 +++++++++++++++++++++++++++++++++++++ src/mame/layout/hh_amis2k_test.lay | 5 +- src/mame/layout/hh_cop400_test.lay | 5 +- src/mame/layout/hh_cops1_test.lay | 5 +- src/mame/layout/hh_hmcs40_test.lay | 5 +- src/mame/layout/hh_melps4_test.lay | 5 +- src/mame/layout/hh_pic16_test.lay | 5 +- src/mame/layout/hh_pps41_test.lay | 5 +- src/mame/layout/hh_sm500_test.lay | 5 +- src/mame/layout/hh_sm510_test.lay | 5 +- src/mame/layout/hh_tms1k_test.lay | 5 +- src/mame/layout/hh_ucom4_test.lay | 5 +- 16 files changed, 306 insertions(+), 54 deletions(-) create mode 100644 src/mame/layout/ftri1.lay diff --git a/src/mame/drivers/hh_pic16.cpp b/src/mame/drivers/hh_pic16.cpp index c945fc00428..c5ee7247cf9 100644 --- a/src/mame/drivers/hh_pic16.cpp +++ b/src/mame/drivers/hh_pic16.cpp @@ -383,7 +383,7 @@ static INPUT_PORTS_START( pabball ) PORT_CONFSETTING( 0x20, "2" ) PORT_START("RESET") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Reset") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_pic16_state, reset_button, 0) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_pic16_state, reset_button, 0) PORT_NAME("P1 Reset") INPUT_PORTS_END void pabball_state::pabball(machine_config &config) diff --git a/src/mame/drivers/hh_pps41.cpp b/src/mame/drivers/hh_pps41.cpp index d24be147b12..606fe4f83d4 100644 --- a/src/mame/drivers/hh_pps41.cpp +++ b/src/mame/drivers/hh_pps41.cpp @@ -17,11 +17,12 @@ #include "speaker.h" // internal artwork +#include "ftri1.lh" #include "mastmind.lh" #include "memoquiz.lh" #include "scrabsen.lh" -#include "hh_pps41_test.lh" // common test-layout - use external artwork +//#include "hh_pps41_test.lh" // common test-layout - use external artwork class hh_pps41_state : public driver_device @@ -48,6 +49,7 @@ public: u8 m_r = ~0; u8 read_inputs(int columns); + virtual DECLARE_INPUT_CHANGED_MEMBER(reset_button); protected: virtual void update_int() { ; } @@ -91,6 +93,12 @@ u8 hh_pps41_state::read_inputs(int columns) return ~ret; } +INPUT_CHANGED_MEMBER(hh_pps41_state::reset_button) +{ + // when an input is directly wired to MCU PO pin + m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE); +} + /*************************************************************************** @@ -104,9 +112,17 @@ namespace { /*************************************************************************** Fonas Tri-1 - * MM78 MCU variant with 40 pins (label ?, die label A7859) + * PCB label: CASSIA CA010-F + * MM78 MCU variant with 40 pins (no label, die label A7859) * 4 7seg leds, 41 other leds, 1-bit sound + The game only uses 1.5KB ROM and seems it doesn't use all the RAM either, + as if it was programmed for MM77L. + + Hold all 4 buttons at boot (not counting RESET) for a led test. + Cassia was Eric White/Ken Cohen's company, later named CXG, known for + their chess computers. + ***************************************************************************/ class ftri1_state : public hh_pps41_state @@ -126,13 +142,12 @@ public: void ftri1_state::update_display() { - m_display->matrix((m_d << 4 & 0x100) | (~m_r & 0xff), bitswap<8>(m_d, 2,5,8,0,1,3,7,6)); + m_display->matrix(m_d, bitswap<8>(~m_r, 0,7,6,5,4,3,2,1)); } void ftri1_state::write_d(u16 data) { - // DIO0-DIO3, DIO5-DIO8: digit/led data - // DIO4: another led select + // DIO0-DIO8: digit/led select m_d = data; update_display(); @@ -142,7 +157,7 @@ void ftri1_state::write_d(u16 data) void ftri1_state::write_r(u8 data) { - // RIO1-RIO8: digit/led select + // RIO1-RIO8: digit/led data m_r = data; update_display(); } @@ -151,14 +166,19 @@ void ftri1_state::write_r(u8 data) static INPUT_PORTS_START( ftri1 ) PORT_START("IN.0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_3) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_4) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_5) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_6) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_7) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_8) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_CONFNAME( 0x0c, 0x04, "Game" ) + PORT_CONFSETTING( 0x08, "Star Chase" ) + PORT_CONFSETTING( 0x04, "All Star Baseball" ) + PORT_CONFSETTING( 0x00, "Batting Champs" ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Score / S1 H") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Steal / S1 V") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Pitch / S2 H") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Swing / S2 V") + + PORT_START("RESET") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_pps41_state, reset_button, 0) PORT_CODE(KEYCODE_F1) PORT_NAME("Game Reset") INPUT_PORTS_END void ftri1_state::ftri1(machine_config &config) @@ -171,8 +191,8 @@ void ftri1_state::ftri1(machine_config &config) /* video hardware */ PWM_DISPLAY(config, m_display).set_size(9, 8); - m_display->set_segmask(0xff, 0x7f); - config.set_default_layout(layout_hh_pps41_test); + m_display->set_segmask(0x1e0, 0x7f); + config.set_default_layout(layout_ftri1); /* sound hardware */ SPEAKER(config, "mono").front_center(); @@ -184,7 +204,7 @@ void ftri1_state::ftri1(machine_config &config) ROM_START( ftri1 ) ROM_REGION( 0x0800, "maincpu", 0 ) - ROM_LOAD( "ftri1.bin", 0x0000, 0x0800, CRC(3c957f1d) SHA1(42db81a78bbef971a84e61a26d91f7411980d79c) ) + ROM_LOAD( "a7859", 0x0000, 0x0800, CRC(3c957f1d) SHA1(42db81a78bbef971a84e61a26d91f7411980d79c) ) ROM_END @@ -605,7 +625,7 @@ ROM_END ***************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS -CONS( 1979, ftri1, 0, 0, ftri1, ftri1, ftri1_state, empty_init, "Fonas", "Tri-1 (Fonas)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) +CONS( 1979, ftri1, 0, 0, ftri1, ftri1, ftri1_state, empty_init, "Fonas", "Tri-1 (Fonas)", MACHINE_SUPPORTS_SAVE ) CONS( 1979, mastmind, 0, 0, mastmind, mastmind, mastmind_state, empty_init, "Invicta Plastics", "Electronic Master Mind (Invicta)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index af8182cdce3..34fb6220aae 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -73,7 +73,7 @@ @MP3201 TMS1000 1977, Milton Bradley Electronic Battleship (1977, model 4750A) @MP3208 TMS1000 1977, Milton Bradley Electronic Battleship (1977, model 4750B) @MP3226 TMS1000 1978, Milton Bradley Simon (Rev A) - *MP3232 TMS1000 1979, Fonas 2-Player Baseball (no "MP" on chip label) + *MP3232 TMS1000 1979, Fonas 2 Player Baseball (no "MP" on chip label) @MP3260 TMS1000 1979, Electroplay Quickfire @MP3300 TMS1000 1979, Milton Bradley Simon (Rev F) @MP3301A TMS1000 1979, Milton Bradley Big Trak diff --git a/src/mame/layout/f2pbball.lay b/src/mame/layout/f2pbball.lay index a75f71ee5e9..0031a23d18c 100644 --- a/src/mame/layout/f2pbball.lay +++ b/src/mame/layout/f2pbball.lay @@ -113,7 +113,7 @@ license:CC0 - + diff --git a/src/mame/layout/ftri1.lay b/src/mame/layout/ftri1.lay new file mode 100644 index 00000000000..f4b83ffb561 --- /dev/null +++ b/src/mame/layout/ftri1.lay @@ -0,0 +1,243 @@ + + + + + + + + + + + ]]> + + + + + + ]]> + + + + + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/hh_amis2k_test.lay b/src/mame/layout/hh_amis2k_test.lay index 1f4755364e9..3aadcd44155 100644 --- a/src/mame/layout/hh_amis2k_test.lay +++ b/src/mame/layout/hh_amis2k_test.lay @@ -4,7 +4,7 @@ license:CC0 --> - + @@ -14,7 +14,7 @@ license:CC0 - + @@ -23,7 +23,6 @@ license:CC0 - diff --git a/src/mame/layout/hh_cop400_test.lay b/src/mame/layout/hh_cop400_test.lay index 1f4755364e9..3aadcd44155 100644 --- a/src/mame/layout/hh_cop400_test.lay +++ b/src/mame/layout/hh_cop400_test.lay @@ -4,7 +4,7 @@ license:CC0 --> - + @@ -14,7 +14,7 @@ license:CC0 - + @@ -23,7 +23,6 @@ license:CC0 - diff --git a/src/mame/layout/hh_cops1_test.lay b/src/mame/layout/hh_cops1_test.lay index 1f4755364e9..3aadcd44155 100644 --- a/src/mame/layout/hh_cops1_test.lay +++ b/src/mame/layout/hh_cops1_test.lay @@ -4,7 +4,7 @@ license:CC0 --> - + @@ -14,7 +14,7 @@ license:CC0 - + @@ -23,7 +23,6 @@ license:CC0 - diff --git a/src/mame/layout/hh_hmcs40_test.lay b/src/mame/layout/hh_hmcs40_test.lay index 8be4c5cef74..85ebdae627d 100644 --- a/src/mame/layout/hh_hmcs40_test.lay +++ b/src/mame/layout/hh_hmcs40_test.lay @@ -4,7 +4,7 @@ license:CC0 --> - + @@ -14,7 +14,7 @@ license:CC0 - + @@ -23,7 +23,6 @@ license:CC0 - diff --git a/src/mame/layout/hh_melps4_test.lay b/src/mame/layout/hh_melps4_test.lay index d737d012688..88bf8778030 100644 --- a/src/mame/layout/hh_melps4_test.lay +++ b/src/mame/layout/hh_melps4_test.lay @@ -4,7 +4,7 @@ license:CC0 --> - + @@ -14,7 +14,7 @@ license:CC0 - + @@ -23,7 +23,6 @@ license:CC0 - diff --git a/src/mame/layout/hh_pic16_test.lay b/src/mame/layout/hh_pic16_test.lay index 1f4755364e9..3aadcd44155 100644 --- a/src/mame/layout/hh_pic16_test.lay +++ b/src/mame/layout/hh_pic16_test.lay @@ -4,7 +4,7 @@ license:CC0 --> - + @@ -14,7 +14,7 @@ license:CC0 - + @@ -23,7 +23,6 @@ license:CC0 - diff --git a/src/mame/layout/hh_pps41_test.lay b/src/mame/layout/hh_pps41_test.lay index 1f4755364e9..3aadcd44155 100644 --- a/src/mame/layout/hh_pps41_test.lay +++ b/src/mame/layout/hh_pps41_test.lay @@ -4,7 +4,7 @@ license:CC0 --> - + @@ -14,7 +14,7 @@ license:CC0 - + @@ -23,7 +23,6 @@ license:CC0 - diff --git a/src/mame/layout/hh_sm500_test.lay b/src/mame/layout/hh_sm500_test.lay index 46967e9e810..6dc2b2b135a 100644 --- a/src/mame/layout/hh_sm500_test.lay +++ b/src/mame/layout/hh_sm500_test.lay @@ -4,7 +4,7 @@ license:CC0 --> - + @@ -15,7 +15,7 @@ license:CC0 - + @@ -24,7 +24,6 @@ license:CC0 - diff --git a/src/mame/layout/hh_sm510_test.lay b/src/mame/layout/hh_sm510_test.lay index 258f72e1a97..27bbb3f8ba8 100644 --- a/src/mame/layout/hh_sm510_test.lay +++ b/src/mame/layout/hh_sm510_test.lay @@ -4,7 +4,7 @@ license:CC0 --> - + @@ -15,7 +15,7 @@ license:CC0 - + @@ -24,7 +24,6 @@ license:CC0 - diff --git a/src/mame/layout/hh_tms1k_test.lay b/src/mame/layout/hh_tms1k_test.lay index 1f4755364e9..3aadcd44155 100644 --- a/src/mame/layout/hh_tms1k_test.lay +++ b/src/mame/layout/hh_tms1k_test.lay @@ -4,7 +4,7 @@ license:CC0 --> - + @@ -14,7 +14,7 @@ license:CC0 - + @@ -23,7 +23,6 @@ license:CC0 - diff --git a/src/mame/layout/hh_ucom4_test.lay b/src/mame/layout/hh_ucom4_test.lay index d737d012688..88bf8778030 100644 --- a/src/mame/layout/hh_ucom4_test.lay +++ b/src/mame/layout/hh_ucom4_test.lay @@ -4,7 +4,7 @@ license:CC0 --> - + @@ -14,7 +14,7 @@ license:CC0 - + @@ -23,7 +23,6 @@ license:CC0 - -- cgit v1.2.3