efball internal artwork wip

This commit is contained in:
hap 2015-04-30 13:50:43 +02:00
parent d33822a35c
commit c11e73de2a
3 changed files with 240 additions and 9 deletions

View File

@ -58,6 +58,7 @@
- vinvader locks up at boot
- gckong random lockups (tap the jump button repeatedly): mcu stack overflow,
works ok if stack levels is increased, 38800 B rev. has more stack levels?
Or it could be a race condition: irq happening too late/early.
- epacman booting the game in demo mode, pacman should go straight to the
upper-left power pill: mcu cycle/interrupt timing related
- Though very uncommon when compared to games with LED/lamp display,

View File

@ -57,7 +57,9 @@
#include "sound/speaker.h"
// internal artwork
#include "efball.lh"
#include "mvbfree.lh"
#include "hh_ucom4_test.lh" // test-layout - use external artwork
@ -1114,8 +1116,6 @@ MACHINE_CONFIG_END
- USA: Electronic Football (aka Pro-Bowl Football)
- Japan: American Football
NOTE!: MESS external artwork is recommended
***************************************************************************/
class efball_state : public hh_ucom4_state
@ -1169,19 +1169,19 @@ static INPUT_PORTS_START( efball )
PORT_CONFNAME( 0x02, 0x02, "Players" )
PORT_CONFSETTING( 0x02, "1" )
PORT_CONFSETTING( 0x00, "2" )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Down Field")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Score/Time")
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Down-Field")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("P1 Score-Time")
PORT_START("IN.1") // port B
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Pass")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("P1 Kick")
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Pass")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Kick")
PORT_START("IN.2") // port C
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_16WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_16WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Return")
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Kick Return")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY PORT_NAME("P1 Left/Right")
INPUT_PORTS_END
@ -1200,7 +1200,7 @@ static MACHINE_CONFIG_START( efball, efball_state )
MCFG_UCOM4_WRITE_I_CB(WRITE8(efball_state, plate_w))
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1))
MCFG_DEFAULT_LAYOUT(layout_hh_ucom4_test)
MCFG_DEFAULT_LAYOUT(layout_efball)
/* no video! */
@ -2446,7 +2446,7 @@ CONS( 1980, splasfgt, 0, 0, splasfgt, splasfgt, driver_device, 0, "Bambin
CONS( 1982, bcclimbr, 0, 0, bcclimbr, bcclimbr, driver_device, 0, "Bandai", "Crazy Climber (Bandai)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
CONS( 1980, invspace, 0, 0, invspace, invspace, driver_device, 0, "Epoch", "Invader From Space", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
CONS( 1980, efball, 0, 0, efball, efball, driver_device, 0, "Epoch", "Electronic Football (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
CONS( 1980, efball, 0, 0, efball, efball, driver_device, 0, "Epoch", "Electronic Football (Epoch)", GAME_SUPPORTS_SAVE )
CONS( 1981, galaxy2, 0, 0, galaxy2, galaxy2, driver_device, 0, "Epoch", "Galaxy II", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
CONS( 1982, astrocmd, 0, 0, astrocmd, astrocmd, driver_device, 0, "Epoch", "Astro Command", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )

230
src/mess/layout/efball.lay Normal file
View File

@ -0,0 +1,230 @@
<?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>
<element name="static_white"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
<element name="static_green"><rect><color red="0.39" green="0.64" blue="0.39" /></rect></element>
<element name="text_down">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="DOWN"><color red="0.0" green="0.0" blue="0.0" /></text>
</element>
<element name="text_home">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="HOME"><color red="0.0" green="0.0" blue="0.0" /></text>
</element>
<element name="text_yards">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="YARDS TO GO"><color red="0.0" green="0.0" blue="0.0" /></text>
</element>
<element name="text_time">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="TIME REMAINING"><color red="0.0" green="0.0" blue="0.0" /></text>
</element>
<element name="text_field">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="FIELD POSITION"><color red="0.0" green="0.0" blue="0.0" /></text>
</element>
<element name="text_visitor">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="VISITOR"><color red="0.0" green="0.0" blue="0.0" /></text>
</element>
<!-- 7segs are not italic here, so let's make custom ones -->
<element name="seg" defstate="0">
<rect state="0"><color red="0.1" green="0.1" blue="0.1" /></rect>
<rect state="1"><color red="0.2" green="1.0" blue="0.9" /></rect>
</element>
<element name="led" defstate="0">
<disk state="0"><color red="0.1" green="0.1" blue="0.1" /></disk>
<disk state="1"><color red="0.2" green="1.0" blue="0.9" /></disk>
</element>
<element name="ind" defstate="0">
<text state="0" string="^"><color red="0.1" green="0.1" blue="0.1" /></text>
<text state="1" string="^"><color red="0.2" green="1.0" blue="0.9" /></text>
</element>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="0" right="393" top="0" bottom="100" />
<bezel element="static_black">
<bounds left="0" right="393" top="0" bottom="100" />
</bezel>
<!-- vfd -->
<bezel name="0.0" element="ind"><bounds x="0" y="1" width="20" height="17" /></bezel>
<bezel name="1.0" element="ind"><bounds x="30" y="1" width="20" height="17" /></bezel>
<bezel name="2.0" element="ind"><bounds x="60" y="1" width="20" height="17" /></bezel>
<bezel name="3.0" element="ind"><bounds x="90" y="1" width="20" height="17" /></bezel>
<bezel name="4.0" element="ind"><bounds x="120" y="1" width="20" height="17" /></bezel>
<bezel name="5.0" element="ind"><bounds x="150" y="1" width="20" height="17" /></bezel>
<bezel name="6.0" element="ind"><bounds x="180" y="1" width="20" height="17" /></bezel>
<bezel name="7.0" element="ind"><bounds x="210" y="1" width="20" height="17" /></bezel>
<bezel name="8.0" element="ind"><bounds x="240" y="1" width="20" height="17" /></bezel>
<bezel name="9.0" element="ind"><bounds x="270" y="1" width="20" height="17" /></bezel>
<bezel name="0.10" element="led"><bounds x="6" y="17" width="8" height="6" /></bezel>
<bezel name="0.10" element="led"><bounds x="6" y="22" width="8" height="6" /></bezel>
<bezel name="0.2" element="led"><bounds x="6" y="41" width="8" height="6" /></bezel>
<bezel name="0.2" element="led"><bounds x="6" y="46" width="8" height="6" /></bezel>
<bezel name="0.5" element="led"><bounds x="6" y="65" width="8" height="6" /></bezel>
<bezel name="0.5" element="led"><bounds x="6" y="70" width="8" height="6" /></bezel>
<bezel name="1.10" element="led"><bounds x="36" y="17" width="8" height="6" /></bezel>
<bezel name="1.10" element="led"><bounds x="36" y="22" width="8" height="6" /></bezel>
<bezel name="1.2" element="led"><bounds x="36" y="41" width="8" height="6" /></bezel>
<bezel name="1.2" element="led"><bounds x="36" y="46" width="8" height="6" /></bezel>
<bezel name="1.5" element="led"><bounds x="36" y="65" width="8" height="6" /></bezel>
<bezel name="1.5" element="led"><bounds x="36" y="70" width="8" height="6" /></bezel>
<bezel name="2.10" element="led"><bounds x="66" y="17" width="8" height="6" /></bezel>
<bezel name="2.10" element="led"><bounds x="66" y="22" width="8" height="6" /></bezel>
<bezel name="2.2" element="led"><bounds x="66" y="41" width="8" height="6" /></bezel>
<bezel name="2.2" element="led"><bounds x="66" y="46" width="8" height="6" /></bezel>
<bezel name="2.5" element="led"><bounds x="66" y="65" width="8" height="6" /></bezel>
<bezel name="2.5" element="led"><bounds x="66" y="70" width="8" height="6" /></bezel>
<bezel name="3.10" element="led"><bounds x="96" y="17" width="8" height="6" /></bezel>
<bezel name="3.10" element="led"><bounds x="96" y="22" width="8" height="6" /></bezel>
<bezel name="3.2" element="led"><bounds x="96" y="41" width="8" height="6" /></bezel>
<bezel name="3.2" element="led"><bounds x="96" y="46" width="8" height="6" /></bezel>
<bezel name="3.5" element="led"><bounds x="96" y="65" width="8" height="6" /></bezel>
<bezel name="3.5" element="led"><bounds x="96" y="70" width="8" height="6" /></bezel>
<bezel name="4.10" element="led"><bounds x="126" y="17" width="8" height="6" /></bezel>
<bezel name="4.10" element="led"><bounds x="126" y="22" width="8" height="6" /></bezel>
<bezel name="4.2" element="led"><bounds x="126" y="41" width="8" height="6" /></bezel>
<bezel name="4.2" element="led"><bounds x="126" y="46" width="8" height="6" /></bezel>
<bezel name="4.5" element="led"><bounds x="126" y="65" width="8" height="6" /></bezel>
<bezel name="4.5" element="led"><bounds x="126" y="70" width="8" height="6" /></bezel>
<bezel name="5.10" element="led"><bounds x="156" y="17" width="8" height="6" /></bezel>
<bezel name="5.10" element="led"><bounds x="156" y="22" width="8" height="6" /></bezel>
<bezel name="5.2" element="led"><bounds x="156" y="41" width="8" height="6" /></bezel>
<bezel name="5.2" element="led"><bounds x="156" y="46" width="8" height="6" /></bezel>
<bezel name="5.5" element="led"><bounds x="156" y="65" width="8" height="6" /></bezel>
<bezel name="5.5" element="led"><bounds x="156" y="70" width="8" height="6" /></bezel>
<bezel name="6.10" element="led"><bounds x="186" y="17" width="8" height="6" /></bezel>
<bezel name="6.10" element="led"><bounds x="186" y="22" width="8" height="6" /></bezel>
<bezel name="6.2" element="led"><bounds x="186" y="41" width="8" height="6" /></bezel>
<bezel name="6.2" element="led"><bounds x="186" y="46" width="8" height="6" /></bezel>
<bezel name="6.5" element="led"><bounds x="186" y="65" width="8" height="6" /></bezel>
<bezel name="6.5" element="led"><bounds x="186" y="70" width="8" height="6" /></bezel>
<bezel name="7.10" element="led"><bounds x="216" y="17" width="8" height="6" /></bezel>
<bezel name="7.10" element="led"><bounds x="216" y="22" width="8" height="6" /></bezel>
<bezel name="7.2" element="led"><bounds x="216" y="41" width="8" height="6" /></bezel>
<bezel name="7.2" element="led"><bounds x="216" y="46" width="8" height="6" /></bezel>
<bezel name="7.5" element="led"><bounds x="216" y="65" width="8" height="6" /></bezel>
<bezel name="7.5" element="led"><bounds x="216" y="70" width="8" height="6" /></bezel>
<bezel name="8.10" element="led"><bounds x="246" y="17" width="8" height="6" /></bezel>
<bezel name="8.10" element="led"><bounds x="246" y="22" width="8" height="6" /></bezel>
<bezel name="8.2" element="led"><bounds x="246" y="41" width="8" height="6" /></bezel>
<bezel name="8.2" element="led"><bounds x="246" y="46" width="8" height="6" /></bezel>
<bezel name="8.5" element="led"><bounds x="246" y="65" width="8" height="6" /></bezel>
<bezel name="8.5" element="led"><bounds x="246" y="70" width="8" height="6" /></bezel>
<bezel name="9.10" element="led"><bounds x="276" y="17" width="8" height="6" /></bezel>
<bezel name="9.10" element="led"><bounds x="276" y="22" width="8" height="6" /></bezel>
<bezel name="9.2" element="led"><bounds x="276" y="41" width="8" height="6" /></bezel>
<bezel name="9.2" element="led"><bounds x="276" y="46" width="8" height="6" /></bezel>
<bezel name="9.5" element="led"><bounds x="276" y="65" width="8" height="6" /></bezel>
<bezel name="9.5" element="led"><bounds x="276" y="70" width="8" height="6" /></bezel>
<bezel element="static_black"><bounds x="0" y="19" width="290" height="7" /></bezel>
<bezel element="static_black"><bounds x="0" y="43" width="290" height="7" /></bezel>
<bezel element="static_black"><bounds x="0" y="67" width="290" height="7" /></bezel>
<bezel name="0.1" element="seg"><bounds x="0" y="20" width="20" height="5" /></bezel>
<bezel name="0.3" element="seg"><bounds x="0" y="44" width="20" height="5" /></bezel>
<bezel name="0.4" element="seg"><bounds x="0" y="68" width="20" height="5" /></bezel>
<bezel name="0.9" element="seg"><bounds x="0" y="26" width="5" height="17" /></bezel>
<bezel name="0.7" element="seg"><bounds x="0" y="50" width="5" height="17" /></bezel>
<bezel name="0.8" element="seg"><bounds x="15" y="26" width="5" height="17" /></bezel>
<bezel name="0.6" element="seg"><bounds x="15" y="50" width="5" height="17" /></bezel>
<bezel name="1.1" element="seg"><bounds x="30" y="20" width="20" height="5" /></bezel>
<bezel name="1.3" element="seg"><bounds x="30" y="44" width="20" height="5" /></bezel>
<bezel name="1.4" element="seg"><bounds x="30" y="68" width="20" height="5" /></bezel>
<bezel name="1.9" element="seg"><bounds x="30" y="26" width="5" height="17" /></bezel>
<bezel name="1.7" element="seg"><bounds x="30" y="50" width="5" height="17" /></bezel>
<bezel name="1.8" element="seg"><bounds x="45" y="26" width="5" height="17" /></bezel>
<bezel name="1.6" element="seg"><bounds x="45" y="50" width="5" height="17" /></bezel>
<bezel name="2.1" element="seg"><bounds x="60" y="20" width="20" height="5" /></bezel>
<bezel name="2.3" element="seg"><bounds x="60" y="44" width="20" height="5" /></bezel>
<bezel name="2.4" element="seg"><bounds x="60" y="68" width="20" height="5" /></bezel>
<bezel name="2.9" element="seg"><bounds x="60" y="26" width="5" height="17" /></bezel>
<bezel name="2.7" element="seg"><bounds x="60" y="50" width="5" height="17" /></bezel>
<bezel name="2.8" element="seg"><bounds x="75" y="26" width="5" height="17" /></bezel>
<bezel name="2.6" element="seg"><bounds x="75" y="50" width="5" height="17" /></bezel>
<bezel name="3.1" element="seg"><bounds x="90" y="20" width="20" height="5" /></bezel>
<bezel name="3.3" element="seg"><bounds x="90" y="44" width="20" height="5" /></bezel>
<bezel name="3.4" element="seg"><bounds x="90" y="68" width="20" height="5" /></bezel>
<bezel name="3.9" element="seg"><bounds x="90" y="26" width="5" height="17" /></bezel>
<bezel name="3.7" element="seg"><bounds x="90" y="50" width="5" height="17" /></bezel>
<bezel name="3.8" element="seg"><bounds x="105" y="26" width="5" height="17" /></bezel>
<bezel name="3.6" element="seg"><bounds x="105" y="50" width="5" height="17" /></bezel>
<bezel name="4.1" element="seg"><bounds x="120" y="20" width="20" height="5" /></bezel>
<bezel name="4.3" element="seg"><bounds x="120" y="44" width="20" height="5" /></bezel>
<bezel name="4.4" element="seg"><bounds x="120" y="68" width="20" height="5" /></bezel>
<bezel name="4.9" element="seg"><bounds x="120" y="26" width="5" height="17" /></bezel>
<bezel name="4.7" element="seg"><bounds x="120" y="50" width="5" height="17" /></bezel>
<bezel name="4.8" element="seg"><bounds x="135" y="26" width="5" height="17" /></bezel>
<bezel name="4.6" element="seg"><bounds x="135" y="50" width="5" height="17" /></bezel>
<bezel name="5.1" element="seg"><bounds x="150" y="20" width="20" height="5" /></bezel>
<bezel name="5.3" element="seg"><bounds x="150" y="44" width="20" height="5" /></bezel>
<bezel name="5.4" element="seg"><bounds x="150" y="68" width="20" height="5" /></bezel>
<bezel name="5.9" element="seg"><bounds x="150" y="26" width="5" height="17" /></bezel>
<bezel name="5.7" element="seg"><bounds x="150" y="50" width="5" height="17" /></bezel>
<bezel name="5.8" element="seg"><bounds x="165" y="26" width="5" height="17" /></bezel>
<bezel name="5.6" element="seg"><bounds x="165" y="50" width="5" height="17" /></bezel>
<bezel name="6.1" element="seg"><bounds x="180" y="20" width="20" height="5" /></bezel>
<bezel name="6.3" element="seg"><bounds x="180" y="44" width="20" height="5" /></bezel>
<bezel name="6.4" element="seg"><bounds x="180" y="68" width="20" height="5" /></bezel>
<bezel name="6.9" element="seg"><bounds x="180" y="26" width="5" height="17" /></bezel>
<bezel name="6.7" element="seg"><bounds x="180" y="50" width="5" height="17" /></bezel>
<bezel name="6.8" element="seg"><bounds x="195" y="26" width="5" height="17" /></bezel>
<bezel name="6.6" element="seg"><bounds x="195" y="50" width="5" height="17" /></bezel>
<bezel name="7.1" element="seg"><bounds x="210" y="20" width="20" height="5" /></bezel>
<bezel name="7.3" element="seg"><bounds x="210" y="44" width="20" height="5" /></bezel>
<bezel name="7.4" element="seg"><bounds x="210" y="68" width="20" height="5" /></bezel>
<bezel name="7.9" element="seg"><bounds x="210" y="26" width="5" height="17" /></bezel>
<bezel name="7.7" element="seg"><bounds x="210" y="50" width="5" height="17" /></bezel>
<bezel name="7.8" element="seg"><bounds x="225" y="26" width="5" height="17" /></bezel>
<bezel name="7.6" element="seg"><bounds x="225" y="50" width="5" height="17" /></bezel>
<bezel name="8.1" element="seg"><bounds x="240" y="20" width="20" height="5" /></bezel>
<bezel name="8.3" element="seg"><bounds x="240" y="44" width="20" height="5" /></bezel>
<bezel name="8.4" element="seg"><bounds x="240" y="68" width="20" height="5" /></bezel>
<bezel name="8.9" element="seg"><bounds x="240" y="26" width="5" height="17" /></bezel>
<bezel name="8.7" element="seg"><bounds x="240" y="50" width="5" height="17" /></bezel>
<bezel name="8.8" element="seg"><bounds x="255" y="26" width="5" height="17" /></bezel>
<bezel name="8.6" element="seg"><bounds x="255" y="50" width="5" height="17" /></bezel>
<bezel name="9.1" element="seg"><bounds x="270" y="20" width="20" height="5" /></bezel>
<bezel name="9.3" element="seg"><bounds x="270" y="44" width="20" height="5" /></bezel>
<bezel name="9.4" element="seg"><bounds x="270" y="68" width="20" height="5" /></bezel>
<bezel name="9.9" element="seg"><bounds x="270" y="26" width="5" height="17" /></bezel>
<bezel name="9.7" element="seg"><bounds x="270" y="50" width="5" height="17" /></bezel>
<bezel name="9.8" element="seg"><bounds x="285" y="26" width="5" height="17" /></bezel>
<bezel name="9.6" element="seg"><bounds x="285" y="50" width="5" height="17" /></bezel>
</view>
</mamelayout>