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
-