summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2015-04-26 18:57:20 +0200
committer hap <happppp@users.noreply.github.com>2015-04-26 18:57:20 +0200
commitac0e596c89c8cf6e6226e997621eebce521382ea (patch)
tree1f7ee65b372b57ed5a8fec1d2234f57b13ae7346
parente95d8404e7ca179634d22dea606afb93b9055d20 (diff)
(MESS)New working game added
----------------- Coleco Head to Head Football [hap, Sean Riddle]
-rw-r--r--src/mess/drivers/hh_tms1k.c16
-rw-r--r--src/mess/drivers/hh_ucom4.c3
-rw-r--r--src/mess/layout/h2hfootb.lay124
3 files changed, 134 insertions, 9 deletions
diff --git a/src/mess/drivers/hh_tms1k.c b/src/mess/drivers/hh_tms1k.c
index cf5a9ed2f55..6dcbbc70507 100644
--- a/src/mess/drivers/hh_tms1k.c
+++ b/src/mess/drivers/hh_tms1k.c
@@ -75,7 +75,7 @@
- unknown MCU clocks for some: TMS1000 RC curve is documented in the data manual,
but not for newer ones (rev. E or TMS1400 MCUs). TMS0970/0980 osc. is on-die.
- some of the games rely on the fact that faster/longer strobed leds appear
- brighter: tc4(offensive players), bankshot(cue ball), ...
+ brighter: tc4/h2hfootb(offense), bankshot(cue ball), ...
- add softwarelist for tc4 cartridges?
- stopthiep: unable to start a game (may be intentional?)
@@ -97,6 +97,7 @@
#include "elecdet.lh"
#include "gjackpot.lh"
#include "gpoker.lh"
+#include "h2hfootb.lh"
#include "mathmagi.lh"
#include "merlin.lh" // clickable
#include "mmerlin.lh" // clickable
@@ -773,7 +774,8 @@ MACHINE_CONFIG_END
* TMS1100NLLE (rev. E!) MP3460 (die labeled MP3460)
* 2*SN75492N LED display drivers, 9-digit LED grid, 1bit sound
- x
+ To distinguish between offense and defense, offense blips (should)
+ appear brighter.
***************************************************************************/
@@ -842,9 +844,8 @@ static INPUT_PORTS_START( h2hfootb )
PORT_CONFSETTING( 0x02, "2" )
PORT_START("IN.1") // K2
- PORT_CONFNAME( 0x03, 0x02, "Play Selector" )
- PORT_CONFSETTING( 0x01, "Pass" )
- PORT_CONFSETTING( 0x02, "Run-Kick" )
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_TOGGLE PORT_NAME("P1 Play Selector") // pass
+ PORT_BIT( 0x02, 0x02, IPT_SPECIAL ) PORT_CONDITION("IN.1", 0x01, EQUALS, 0x00) // run/kick
PORT_START("IN.2") // K4
PORT_CONFNAME( 0x03, 0x01, "Skill Level" )
@@ -872,7 +873,7 @@ static MACHINE_CONFIG_START( h2hfootb, h2hfootb_state )
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(h2hfootb_state, write_o))
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
- MCFG_DEFAULT_LAYOUT(layout_hh_tms1k_test)
+ MCFG_DEFAULT_LAYOUT(layout_h2hfootb)
/* no video! */
@@ -2693,7 +2694,6 @@ static INPUT_PORTS_START( ssimon )
PORT_START("IN.5") // R10
PORT_BIT( 0x02, 0x02, IPT_SPECIAL ) PORT_CONDITION("IN.4", 0x0f, EQUALS, 0x00)
- PORT_BIT( 0x02, 0x00, IPT_SPECIAL ) PORT_CONDITION("IN.4", 0x0f, NOTEQUALS, 0x00)
PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("IN.6") // fake
@@ -4085,7 +4085,7 @@ COMP( 1980, mathmagi, 0, 0, mathmagi, mathmagi, driver_device, 0, "APF
CONS( 1979, amaztron, 0, 0, amaztron, amaztron, driver_device, 0, "Coleco", "Amaze-A-Tron", GAME_SUPPORTS_SAVE )
CONS( 1980, h2hbaseb, 0, 0, h2hbaseb, h2hbaseb, driver_device, 0, "Coleco", "Head to Head Baseball", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
-CONS( 1980, h2hfootb, 0, 0, h2hfootb, h2hfootb, driver_device, 0, "Coleco", "Head to Head Football", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
+CONS( 1980, h2hfootb, 0, 0, h2hfootb, h2hfootb, driver_device, 0, "Coleco", "Head to Head Football", GAME_SUPPORTS_SAVE )
CONS( 1981, tc4, 0, 0, tc4, tc4, driver_device, 0, "Coleco", "Total Control 4", GAME_SUPPORTS_SAVE )
CONS( 1979, ebball, 0, 0, ebball, ebball, driver_device, 0, "Entex", "Electronic Baseball (Entex)", GAME_SUPPORTS_SAVE )
diff --git a/src/mess/drivers/hh_ucom4.c b/src/mess/drivers/hh_ucom4.c
index 5722b4d1531..ea7fd06aded 100644
--- a/src/mess/drivers/hh_ucom4.c
+++ b/src/mess/drivers/hh_ucom4.c
@@ -299,6 +299,8 @@ void ufombs_state::prepare_display()
UINT16 grid = BITSWAP16(m_grid,15,14,13,12,11,10,9,3,2,1,0,4,5,6,7,8);
UINT16 plate = BITSWAP16(m_plate,15,14,13,12,11,7,10,6,9,5,8,4,0,1,2,3);
display_matrix(10, 9, plate, grid);
+
+ printf("%X ",m_inp_matrix[0]->read());
}
WRITE8_MEMBER(ufombs_state::grid_w)
@@ -331,7 +333,6 @@ static INPUT_PORTS_START( ufombs )
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
PORT_BIT( 0x04, 0x04, IPT_SPECIAL ) PORT_CONDITION("IN.0", 0x0a, EQUALS, 0x00) // pad in the middle, pressed when joystick is centered
- PORT_BIT( 0x04, 0x00, IPT_SPECIAL ) PORT_CONDITION("IN.0", 0x0a, NOTEQUALS, 0x00)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
PORT_START("IN.1") // port B
diff --git a/src/mess/layout/h2hfootb.lay b/src/mess/layout/h2hfootb.lay
new file mode 100644
index 00000000000..8e0daac5366
--- /dev/null
+++ b/src/mess/layout/h2hfootb.lay
@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+<mamelayout version="2">
+
+<!-- define elements -->
+
+ <element name="static_black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
+
+ <!-- 7segs are not italic here, so let's make custom ones -->
+
+ <element name="seg" defstate="0">
+ <rect state="0"><color red="0.2" green="0.05" blue="0.0525" /></rect>
+ <rect state="1"><color red="1.0" green="0.25" blue="0.26" /></rect>
+ </element>
+ <element name="led" defstate="0">
+ <disk state="0"><color red="0.2" green="0.05" blue="0.0525" /></disk>
+ <disk state="1"><color red="1.0" green="0.25" blue="0.26" /></disk>
+ </element>
+
+
+<!-- build screen -->
+
+ <view name="Internal Layout">
+ <bounds left="0" right="400" top="0" bottom="100" />
+ <bezel element="static_black">
+ <bounds left="0" right="400" top="0" bottom="100" />
+ </bezel>
+
+ <!-- leds -->
+
+ <bezel name="0.5" element="seg"><bounds x="0" y="0" width="5" height="20" /></bezel>
+ <bezel name="0.4" element="seg"><bounds x="0" y="21" width="5" height="20" /></bezel>
+ <bezel name="0.1" element="seg"><bounds x="27" y="0" width="5" height="20" /></bezel>
+ <bezel name="0.2" element="seg"><bounds x="27" y="21" width="5" height="20" /></bezel>
+ <bezel name="0.0" element="seg"><bounds x="6" y="0" width="20" height="5" /></bezel>
+ <bezel name="0.6" element="seg"><bounds x="6" y="18" width="20" height="5" /></bezel>
+ <bezel name="0.3" element="seg"><bounds x="6" y="36" width="20" height="5" /></bezel>
+ <bezel name="0.7" element="seg"><bounds x="6" y="54" width="20" height="5" /></bezel>
+ <bezel name="0.8" element="led"><bounds x="35.5" y="18" width="5" height="5" /></bezel>
+
+ <bezel name="1.5" element="seg"><bounds x="44" y="0" width="5" height="20" /></bezel>
+ <bezel name="1.4" element="seg"><bounds x="44" y="21" width="5" height="20" /></bezel>
+ <bezel name="1.1" element="seg"><bounds x="71" y="0" width="5" height="20" /></bezel>
+ <bezel name="1.2" element="seg"><bounds x="71" y="21" width="5" height="20" /></bezel>
+ <bezel name="1.0" element="seg"><bounds x="50" y="0" width="20" height="5" /></bezel>
+ <bezel name="1.6" element="seg"><bounds x="50" y="18" width="20" height="5" /></bezel>
+ <bezel name="1.3" element="seg"><bounds x="50" y="36" width="20" height="5" /></bezel>
+ <bezel name="1.7" element="seg"><bounds x="50" y="54" width="20" height="5" /></bezel>
+ <bezel name="1.8" element="led"><bounds x="79.5" y="18" width="5" height="5" /></bezel>
+
+ <bezel name="2.5" element="seg"><bounds x="88" y="0" width="5" height="20" /></bezel>
+ <bezel name="2.4" element="seg"><bounds x="88" y="21" width="5" height="20" /></bezel>
+ <bezel name="2.1" element="seg"><bounds x="115" y="0" width="5" height="20" /></bezel>
+ <bezel name="2.2" element="seg"><bounds x="115" y="21" width="5" height="20" /></bezel>
+ <bezel name="2.0" element="seg"><bounds x="94" y="0" width="20" height="5" /></bezel>
+ <bezel name="2.6" element="seg"><bounds x="94" y="18" width="20" height="5" /></bezel>
+ <bezel name="2.3" element="seg"><bounds x="94" y="36" width="20" height="5" /></bezel>
+ <bezel name="2.7" element="seg"><bounds x="94" y="54" width="20" height="5" /></bezel>
+ <bezel name="2.8" element="led"><bounds x="123.5" y="18" width="5" height="5" /></bezel>
+
+ <bezel name="3.5" element="seg"><bounds x="132" y="0" width="5" height="20" /></bezel>
+ <bezel name="3.4" element="seg"><bounds x="132" y="21" width="5" height="20" /></bezel>
+ <bezel name="3.1" element="seg"><bounds x="159" y="0" width="5" height="20" /></bezel>
+ <bezel name="3.2" element="seg"><bounds x="159" y="21" width="5" height="20" /></bezel>
+ <bezel name="3.0" element="seg"><bounds x="138" y="0" width="20" height="5" /></bezel>
+ <bezel name="3.6" element="seg"><bounds x="138" y="18" width="20" height="5" /></bezel>
+ <bezel name="3.3" element="seg"><bounds x="138" y="36" width="20" height="5" /></bezel>
+ <bezel name="3.7" element="seg"><bounds x="138" y="54" width="20" height="5" /></bezel>
+ <bezel name="3.8" element="led"><bounds x="167.5" y="18" width="5" height="5" /></bezel>
+
+ <bezel name="4.5" element="seg"><bounds x="176" y="0" width="5" height="20" /></bezel>
+ <bezel name="4.4" element="seg"><bounds x="176" y="21" width="5" height="20" /></bezel>
+ <bezel name="4.1" element="seg"><bounds x="203" y="0" width="5" height="20" /></bezel>
+ <bezel name="4.2" element="seg"><bounds x="203" y="21" width="5" height="20" /></bezel>
+ <bezel name="4.0" element="seg"><bounds x="182" y="0" width="20" height="5" /></bezel>
+ <bezel name="4.6" element="seg"><bounds x="182" y="18" width="20" height="5" /></bezel>
+ <bezel name="4.3" element="seg"><bounds x="182" y="36" width="20" height="5" /></bezel>
+ <bezel name="4.7" element="seg"><bounds x="182" y="54" width="20" height="5" /></bezel>
+ <bezel name="4.8" element="led"><bounds x="211.5" y="18" width="5" height="5" /></bezel>
+
+ <bezel name="5.5" element="seg"><bounds x="220" y="0" width="5" height="20" /></bezel>
+ <bezel name="5.4" element="seg"><bounds x="220" y="21" width="5" height="20" /></bezel>
+ <bezel name="5.1" element="seg"><bounds x="247" y="0" width="5" height="20" /></bezel>
+ <bezel name="5.2" element="seg"><bounds x="247" y="21" width="5" height="20" /></bezel>
+ <bezel name="5.0" element="seg"><bounds x="226" y="0" width="20" height="5" /></bezel>
+ <bezel name="5.6" element="seg"><bounds x="226" y="18" width="20" height="5" /></bezel>
+ <bezel name="5.3" element="seg"><bounds x="226" y="36" width="20" height="5" /></bezel>
+ <bezel name="5.7" element="seg"><bounds x="226" y="54" width="20" height="5" /></bezel>
+ <bezel name="5.8" element="led"><bounds x="255.5" y="18" width="5" height="5" /></bezel>
+
+ <bezel name="6.5" element="seg"><bounds x="264" y="0" width="5" height="20" /></bezel>
+ <bezel name="6.4" element="seg"><bounds x="264" y="21" width="5" height="20" /></bezel>
+ <bezel name="6.1" element="seg"><bounds x="291" y="0" width="5" height="20" /></bezel>
+ <bezel name="6.2" element="seg"><bounds x="291" y="21" width="5" height="20" /></bezel>
+ <bezel name="6.0" element="seg"><bounds x="270" y="0" width="20" height="5" /></bezel>
+ <bezel name="6.6" element="seg"><bounds x="270" y="18" width="20" height="5" /></bezel>
+ <bezel name="6.3" element="seg"><bounds x="270" y="36" width="20" height="5" /></bezel>
+ <bezel name="6.7" element="seg"><bounds x="270" y="54" width="20" height="5" /></bezel>
+ <bezel name="6.8" element="led"><bounds x="299.5" y="18" width="5" height="5" /></bezel>
+
+ <bezel name="7.5" element="seg"><bounds x="308" y="0" width="5" height="20" /></bezel>
+ <bezel name="7.4" element="seg"><bounds x="308" y="21" width="5" height="20" /></bezel>
+ <bezel name="7.1" element="seg"><bounds x="335" y="0" width="5" height="20" /></bezel>
+ <bezel name="7.2" element="seg"><bounds x="335" y="21" width="5" height="20" /></bezel>
+ <bezel name="7.0" element="seg"><bounds x="314" y="0" width="20" height="5" /></bezel>
+ <bezel name="7.6" element="seg"><bounds x="314" y="18" width="20" height="5" /></bezel>
+ <bezel name="7.3" element="seg"><bounds x="314" y="36" width="20" height="5" /></bezel>
+ <bezel name="7.7" element="seg"><bounds x="314" y="54" width="20" height="5" /></bezel>
+ <bezel name="7.8" element="led"><bounds x="343.5" y="18" width="5" height="5" /></bezel>
+
+ <bezel name="8.5" element="seg"><bounds x="352" y="0" width="5" height="20" /></bezel>
+ <bezel name="8.4" element="seg"><bounds x="352" y="21" width="5" height="20" /></bezel>
+ <bezel name="8.1" element="seg"><bounds x="379" y="0" width="5" height="20" /></bezel>
+ <bezel name="8.2" element="seg"><bounds x="379" y="21" width="5" height="20" /></bezel>
+ <bezel name="8.0" element="seg"><bounds x="358" y="0" width="20" height="5" /></bezel>
+ <bezel name="8.6" element="seg"><bounds x="358" y="18" width="20" height="5" /></bezel>
+ <bezel name="8.3" element="seg"><bounds x="358" y="36" width="20" height="5" /></bezel>
+ <bezel name="8.7" element="seg"><bounds x="358" y="54" width="20" height="5" /></bezel>
+
+
+ <!-- bezel -->
+
+
+ </view>
+</mamelayout>