mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
New working machines
-------------------- Playmaker: Hockey, Soccer, Basketball [hap, Sean Riddle]
This commit is contained in:
parent
dc7d590ae2
commit
c17b6c5dd9
46
hash/playmaker.xml
Normal file
46
hash/playmaker.xml
Normal file
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
<softwarelist name="playmaker" description="Tiger Playmaker playcards">
|
||||
<!--
|
||||
|
||||
3 playcards came with the handheld: Basketball, Hockey, Soccer.
|
||||
|
||||
Each playcard also functions as a screen overlay, but MAME doesn't support this yet
|
||||
through the softwarelist.
|
||||
|
||||
-->
|
||||
|
||||
<software name="baskball">
|
||||
<description>Basketball</description>
|
||||
<year>1980</year>
|
||||
<publisher>Tiger Electronics</publisher>
|
||||
<part name="cart" interface="playmaker_cart">
|
||||
<feature name="notch" value="0x1" />
|
||||
<dataarea name="nodata" size="0x10"></dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="hockey">
|
||||
<description>Hockey</description>
|
||||
<year>1980</year>
|
||||
<publisher>Tiger Electronics</publisher>
|
||||
<part name="cart" interface="playmaker_cart">
|
||||
<feature name="notch" value="0x3" />
|
||||
<dataarea name="nodata" size="0x10"></dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="soccer">
|
||||
<description>Soccer</description>
|
||||
<year>1980</year>
|
||||
<publisher>Tiger Electronics</publisher>
|
||||
<part name="cart" interface="playmaker_cart">
|
||||
<feature name="notch" value="0x2" />
|
||||
<dataarea name="nodata" size="0x10"></dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</softwarelist>
|
@ -22,7 +22,7 @@ through the softwarelist.
|
||||
<year>1981</year>
|
||||
<publisher>Coleco</publisher>
|
||||
<part name="cart" interface="tc4_cart">
|
||||
<feature name="pinout" value="0x01" />
|
||||
<feature name="pinout" value="0x1" />
|
||||
<dataarea name="nodata" size="0x10"></dataarea>
|
||||
</part>
|
||||
</software>
|
||||
@ -32,7 +32,7 @@ through the softwarelist.
|
||||
<year>1981</year>
|
||||
<publisher>Coleco</publisher>
|
||||
<part name="cart" interface="tc4_cart">
|
||||
<feature name="pinout" value="0x08" />
|
||||
<feature name="pinout" value="0x8" />
|
||||
<dataarea name="nodata" size="0x10"></dataarea>
|
||||
</part>
|
||||
</software>
|
||||
@ -42,7 +42,7 @@ through the softwarelist.
|
||||
<year>1981</year>
|
||||
<publisher>Coleco</publisher>
|
||||
<part name="cart" interface="tc4_cart">
|
||||
<feature name="pinout" value="0x04" />
|
||||
<feature name="pinout" value="0x4" />
|
||||
<dataarea name="nodata" size="0x10"></dataarea>
|
||||
</part>
|
||||
</software>
|
||||
@ -52,7 +52,7 @@ through the softwarelist.
|
||||
<year>1981</year>
|
||||
<publisher>Coleco</publisher>
|
||||
<part name="cart" interface="tc4_cart">
|
||||
<feature name="pinout" value="0x02" />
|
||||
<feature name="pinout" value="0x2" />
|
||||
<dataarea name="nodata" size="0x10"></dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
@ -23,7 +23,7 @@ using the same ROM as the original Chesster. Model 6124 extra hardware is on a
|
||||
daughterboard, the housing is the same as model 6100, except for button labels.
|
||||
|
||||
Model 6126 has a dedicated PCB, this version also has a motion sensor at the front
|
||||
and 2 leds to mimick eyes, and the housing is green instead of beige.
|
||||
and 2 leds to mimick eyes, and the housing color theme is green instead of beige.
|
||||
|
||||
To play, wait until the motor is finished before making a move. At boot-up, the
|
||||
computer will do a self-test.
|
||||
@ -35,6 +35,12 @@ TODO:
|
||||
- cphantom artwork should be green instead of beige
|
||||
- motor position in artwork?
|
||||
|
||||
BTANB:
|
||||
- cphantom: As the manual suggests, the computer's move should be displayed on the
|
||||
LCD while it's moving the piece just like in fphantom, but this is often too brief
|
||||
or not displayed at all. (This may seem like a minor bug in the game, but it
|
||||
actually makes it more difficult to write a MAME UCI plugin for this driver.)
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
@ -53,7 +53,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm
|
||||
@MP1204 TMS1100 1980, Entex Baseball 3 (6007)
|
||||
*MP1209 TMS1100 1980, U.S. Games Space Cruiser/Strategy Football
|
||||
@MP1211 TMS1100 1980, Entex Space Invader (6012)
|
||||
*MP1215 TMS1100 1980, Tiger Playmaker
|
||||
@MP1215 TMS1100 1980, Tiger Playmaker
|
||||
@MP1218 TMS1100 1980, Entex Basketball 2 (6010)
|
||||
@MP1219 TMS1100 1980, U.S. Games Super Sports-4
|
||||
@MP1221 TMS1100 1980, Entex Raise The Devil (6011)
|
||||
@ -261,6 +261,7 @@ TODO:
|
||||
#include "palmmd8.lh"
|
||||
#include "pbmastm.lh"
|
||||
#include "phpball.lh"
|
||||
#include "playmaker.lh"
|
||||
#include "qfire.lh" // clickable
|
||||
#include "quizwizc.lh"
|
||||
#include "raisedvl.lh"
|
||||
@ -2381,8 +2382,7 @@ class quizwizc_state : public hh_tms1k_state
|
||||
{
|
||||
public:
|
||||
quizwizc_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
hh_tms1k_state(mconfig, type, tag),
|
||||
m_pinout(0)
|
||||
hh_tms1k_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void quizwizc(machine_config &config);
|
||||
@ -2392,7 +2392,7 @@ protected:
|
||||
|
||||
private:
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load);
|
||||
u16 m_pinout; // cartridge R pins
|
||||
u16 m_pinout = 0x07; // cartridge R pins
|
||||
|
||||
void update_display();
|
||||
void write_r(u16 data);
|
||||
@ -2419,10 +2419,16 @@ DEVICE_IMAGE_LOAD_MEMBER(quizwizc_state::cart_load)
|
||||
}
|
||||
|
||||
// get cartridge pinout K1 to R connections
|
||||
std::string pinout(image.get_feature("pinout"));
|
||||
m_pinout = std::stoul(pinout, nullptr, 2) & 0xe7;
|
||||
const char *pinout = image.get_feature("pinout");
|
||||
m_pinout = pinout ? strtoul(pinout, nullptr, 2) & 0xe7 : 0;
|
||||
m_pinout = bitswap<8>(m_pinout,4,3,7,5,2,1,6,0) << 4;
|
||||
|
||||
if (m_pinout == 0)
|
||||
{
|
||||
image.seterror(image_error::INVALIDIMAGE, "Invalid cartridge pinout");
|
||||
return image_init_result::FAIL;
|
||||
}
|
||||
|
||||
return image_init_result::PASS;
|
||||
}
|
||||
|
||||
@ -2571,8 +2577,7 @@ class tc4_state : public hh_tms1k_state
|
||||
{
|
||||
public:
|
||||
tc4_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
hh_tms1k_state(mconfig, type, tag),
|
||||
m_pinout(0)
|
||||
hh_tms1k_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void tc4(machine_config &config);
|
||||
@ -2582,7 +2587,7 @@ protected:
|
||||
|
||||
private:
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load);
|
||||
u8 m_pinout; // cartridge K pins
|
||||
u8 m_pinout = 0xf; // cartridge K pins
|
||||
|
||||
void update_display();
|
||||
void write_r(u16 data);
|
||||
@ -2609,8 +2614,8 @@ DEVICE_IMAGE_LOAD_MEMBER(tc4_state::cart_load)
|
||||
}
|
||||
|
||||
// get cartridge pinout R9 to K connections
|
||||
std::string pinout(image.get_feature("pinout"));
|
||||
m_pinout = std::stoul(pinout, nullptr, 0) & 0xf;
|
||||
const char *pinout = image.get_feature("pinout");
|
||||
m_pinout = pinout ? strtoul(pinout, nullptr, 0) & 0xf : 0xf;
|
||||
|
||||
return image_init_result::PASS;
|
||||
}
|
||||
@ -5242,8 +5247,6 @@ public:
|
||||
void gpoker(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_reset() override;
|
||||
|
||||
required_device<beep_device> m_beeper;
|
||||
|
||||
void update_display();
|
||||
@ -5252,12 +5255,6 @@ protected:
|
||||
virtual u8 read_k();
|
||||
};
|
||||
|
||||
void gpoker_state::machine_reset()
|
||||
{
|
||||
hh_tms1k_state::machine_reset();
|
||||
m_beeper->set_state(0);
|
||||
}
|
||||
|
||||
// handlers
|
||||
|
||||
void gpoker_state::update_display()
|
||||
@ -12316,7 +12313,170 @@ ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Tiger Deluxe Football (model 7-550)
|
||||
Tiger Playmaker: Hockey, Soccer, Basketball (model 7-540 or 7-540A)
|
||||
* TMS1100 MP1215 (die label 1100B MP1215)
|
||||
* 2-digit 7seg LED display + 40 other LEDs, 1-bit sound
|
||||
|
||||
The games are on playcards(Tiger calls them that), the hardware detects which
|
||||
game is inserted from a notch at the lower-right. The playcards also function
|
||||
as an overlay. MAME external artwork is needed for those.
|
||||
|
||||
Booting the handheld with no playcard inserted will initiate a halftime show.
|
||||
|
||||
"Playmaker" is actually Tiger's trademark for the d-pad controller, this
|
||||
controller term was also used in for example Deluxe Football, and 7 in 1 Sports
|
||||
Stadium. The d-pad has a ball shape at the bottom that sits on a concave base.
|
||||
Note that this was 2 years before Nintendo's d-pad invention.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
class playmaker_state : public hh_tms1k_state
|
||||
{
|
||||
public:
|
||||
playmaker_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
hh_tms1k_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void playmaker(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
||||
private:
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load);
|
||||
u8 m_notch = 0; // cartridge K1/K2
|
||||
|
||||
void update_display();
|
||||
void write_r(u16 data);
|
||||
void write_o(u16 data);
|
||||
u8 read_k();
|
||||
};
|
||||
|
||||
void playmaker_state::machine_start()
|
||||
{
|
||||
hh_tms1k_state::machine_start();
|
||||
|
||||
// register for savestates
|
||||
save_item(NAME(m_notch));
|
||||
}
|
||||
|
||||
// handlers
|
||||
|
||||
DEVICE_IMAGE_LOAD_MEMBER(playmaker_state::cart_load)
|
||||
{
|
||||
if (!image.loaded_through_softlist())
|
||||
{
|
||||
image.seterror(image_error::UNSUPPORTED, "Can only load through softwarelist");
|
||||
return image_init_result::FAIL;
|
||||
}
|
||||
|
||||
// get cartridge notch
|
||||
const char *notch = image.get_feature("notch");
|
||||
m_notch = notch ? strtoul(notch, nullptr, 0) & 3 : 0;
|
||||
|
||||
return image_init_result::PASS;
|
||||
}
|
||||
|
||||
void playmaker_state::update_display()
|
||||
{
|
||||
m_display->matrix(m_r, m_o);
|
||||
}
|
||||
|
||||
void playmaker_state::write_r(u16 data)
|
||||
{
|
||||
// R10: speaker out
|
||||
m_speaker->level_w(data >> 10 & 1);
|
||||
|
||||
// R0-R3: input mux
|
||||
m_inp_mux = data & 0xf;
|
||||
|
||||
// R0-R7: led select
|
||||
// R8,R9: digit select
|
||||
m_r = data;
|
||||
update_display();
|
||||
}
|
||||
|
||||
void playmaker_state::write_o(u16 data)
|
||||
{
|
||||
// O0-O6: led data
|
||||
m_o = data;
|
||||
update_display();
|
||||
}
|
||||
|
||||
u8 playmaker_state::read_k()
|
||||
{
|
||||
// K: multiplexed inputs, cartridge notch from R3
|
||||
return read_inputs(3) | ((m_inp_mux & 8) ? m_notch : 0);
|
||||
}
|
||||
|
||||
// config
|
||||
|
||||
static INPUT_PORTS_START( playmaker )
|
||||
PORT_START("IN.0") // R0
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
|
||||
|
||||
PORT_START("IN.1") // R1
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
|
||||
|
||||
PORT_START("IN.2") // R2
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Shoot")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Pass")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Shoot / P1 Skill")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Pass / P2 Skill")
|
||||
INPUT_PORTS_END
|
||||
|
||||
void playmaker_state::playmaker(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
TMS1100(config, m_maincpu, 375000); // approximation - RC osc. R=20K, C=250pF
|
||||
m_maincpu->k().set(FUNC(playmaker_state::read_k));
|
||||
m_maincpu->r().set(FUNC(playmaker_state::write_r));
|
||||
m_maincpu->o().set(FUNC(playmaker_state::write_o));
|
||||
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_display).set_size(10, 7);
|
||||
m_display->set_segmask(0x300, 0x7f);
|
||||
m_display->set_bri_levels(0.004, 0.04); // player 1 leds are brighter
|
||||
config.set_default_layout(layout_playmaker);
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
SPEAKER_SOUND(config, m_speaker);
|
||||
m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
|
||||
// cartridge
|
||||
generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "playmaker_cart"));
|
||||
cartslot.set_must_be_loaded(false);
|
||||
cartslot.set_device_load(FUNC(playmaker_state::cart_load));
|
||||
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("playmaker");
|
||||
}
|
||||
|
||||
// roms
|
||||
|
||||
ROM_START( playmaker )
|
||||
ROM_REGION( 0x0800, "maincpu", 0 )
|
||||
ROM_LOAD( "mp1215", 0x0000, 0x0800, CRC(bfc7b6c8) SHA1(33f6e2b86fae2fd9e4b0a4b8dc842c257ca3047d) )
|
||||
|
||||
ROM_REGION( 867, "maincpu:mpla", 0 )
|
||||
ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
|
||||
ROM_REGION( 365, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms1100_playmaker_output.pla", 0, 365, CRC(0cd484d6) SHA1(4a9af9f3d18af504145690cb0f6444ff1aef26ca) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Tiger Deluxe Football with Instant Replay (model 7-550)
|
||||
* TMS1400NLL MP7302 (die label TMS1400 MP7302)
|
||||
* 4-digit 7seg LED display, 80 red/green LEDs, 1-bit sound
|
||||
|
||||
@ -12324,6 +12484,9 @@ ROM_END
|
||||
playing a 1-player game, the CPU controls green, so on MAME, player 1
|
||||
is the red side.
|
||||
|
||||
Booting the handheld with the Score and Replay buttons held down will
|
||||
initiate a halftime show.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
class dxfootb_state : public hh_tms1k_state
|
||||
@ -12388,10 +12551,10 @@ static INPUT_PORTS_START( dxfootb )
|
||||
PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.1") // R4
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Kick")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Pass")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Kick")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Pass")
|
||||
|
||||
PORT_START("IN.2") // R5
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
|
||||
@ -12549,7 +12712,7 @@ void ss7in1_state::ss7in1(machine_config &config)
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_display).set_size(9, 8);
|
||||
m_display->set_segmask(0xf, 0x7f);
|
||||
m_display->set_bri_levels(0.01, 0.04); // player led is brighter
|
||||
m_display->set_bri_levels(0.004, 0.04); // player led is brighter
|
||||
config.set_default_layout(layout_7in1ss);
|
||||
|
||||
// sound hardware
|
||||
@ -13652,6 +13815,7 @@ CONS( 1979, timaze, 0, 0, timaze, timaze, timaze_state, emp
|
||||
SYST( 1979, tithermos, 0, 0, tithermos, tithermos, tithermos_state, empty_init, "Texas Instruments", "Electronic Digital Thermostat", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW | MACHINE_NOT_WORKING )
|
||||
|
||||
CONS( 1979, subwars, 0, 0, subwars, subwars, subwars_state, empty_init, "Tiger Electronics", "Sub Wars (LED version)", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1980, playmaker, 0, 0, playmaker, playmaker, playmaker_state, empty_init, "Tiger Electronics", "Playmaker: Hockey, Soccer, Basketball", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK )
|
||||
CONS( 1980, dxfootb, 0, 0, dxfootb, dxfootb, dxfootb_state, empty_init, "Tiger Electronics", "Deluxe Football with Instant Replay", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1980, 7in1ss, 0, 0, ss7in1, ss7in1, ss7in1_state, empty_init, "Tiger Electronics", "7 in 1 Sports Stadium", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK )
|
||||
CONS( 1979, copycat, 0, 0, copycat, copycat, copycat_state, empty_init, "Tiger Electronics", "Copy Cat (model 7-520)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
@ -7,13 +7,13 @@ license:CC0
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.25" blue="0.28" /></led7seg>
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<disk state="0"><color red="0.1" green="0.025" blue="0.028" /></disk>
|
||||
<disk state="1"><color red="0.5" green="0.125" blue="0.14" /></disk>
|
||||
<disk state="2"><color red="1.0" green="0.25" blue="0.28" /></disk>
|
||||
<disk state="0"><color red="0.1" green="0.01" blue="0.015" /></disk>
|
||||
<disk state="1"><color red="0.5" green="0.05" blue="0.075" /></disk>
|
||||
<disk state="2"><color red="1.0" green="0.1" blue="0.15" /></disk>
|
||||
</element>
|
||||
|
||||
|
||||
|
@ -7,7 +7,7 @@ license:CC0
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="black"><rect><color red="0" green="0" blue="0" /></rect></element>
|
||||
<element name="dark"><rect><color red="0.14" green="0.14" blue="0.14" /></rect></element>
|
||||
<element name="dark"><rect><color red="0.14" green="0.15" blue="0.14" /></rect></element>
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
@ -26,11 +26,11 @@ license:CC0
|
||||
<!-- main display -->
|
||||
|
||||
<group name="display1">
|
||||
<bounds x="0" y="0" width="30.3" height="15.4" />
|
||||
<bounds x="0" y="0" width="30.2" height="15.4" />
|
||||
|
||||
<!-- bezel (etched, not white) -->
|
||||
<element ref="dark"><bounds x="0" y="0" width="30.3" height="15.4" /></element>
|
||||
<element ref="black"><bounds x="0.2" y="0.2" width="29.9" height="15" /></element>
|
||||
<element ref="dark"><bounds x="0" y="0" width="30.2" height="15.4" /></element>
|
||||
<element ref="black"><bounds x="0.2" y="0.2" width="29.8" height="15" /></element>
|
||||
|
||||
<repeat count="9">
|
||||
<param name="x" start="3" increment="3" />
|
||||
@ -73,9 +73,9 @@ license:CC0
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="-1" right="21.2" top="-1" bottom="31.3" />
|
||||
<bounds left="-1" right="21.2" top="-1" bottom="31.2" />
|
||||
|
||||
<group ref="display1"><bounds x="0" y="0" width="15.4" height="30.3" /><orientation rotate="90" /></group>
|
||||
<group ref="display1"><bounds x="0" y="0" width="15.4" height="30.2" /><orientation rotate="90" /></group>
|
||||
<group ref="display2"><bounds x="17.2" y="10.2" width="3" height="9.8" /><orientation rotate="90" /></group>
|
||||
</view>
|
||||
</mamelayout>
|
||||
|
56
src/mame/layout/playmaker.lay
Normal file
56
src/mame/layout/playmaker.lay
Normal file
@ -0,0 +1,56 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<disk state="0"><color red="0.1" green="0.01" blue="0.015" /></disk>
|
||||
<disk state="1"><color red="0.5" green="0.05" blue="0.075" /></disk>
|
||||
<disk state="2"><color red="1.0" green="0.1" blue="0.15" /></disk>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- led matrix -->
|
||||
|
||||
<group name="display1">
|
||||
<bounds x="0" y="0" width="36" height="21" />
|
||||
|
||||
<repeat count="5">
|
||||
<param name="y" start="0" increment="5" />
|
||||
<param name="i2" start="4" increment="-1" />
|
||||
|
||||
<repeat count="8">
|
||||
<param name="x" start="0" increment="5" />
|
||||
<param name="i1" start="7" increment="-1" />
|
||||
<element name="~i1~.~i2~" ref="led"><bounds x="~x~" y="~y~" width="1" height="1" /></element>
|
||||
</repeat>
|
||||
</repeat>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- 7seg leds -->
|
||||
|
||||
<group name="display2">
|
||||
<bounds x="0" y="0" width="5.5" height="3" />
|
||||
|
||||
<element name="digit8" ref="digit"><bounds x="0" y="0" width="2" height="3" /></element>
|
||||
<element name="digit9" ref="digit"><bounds x="3.5" y="0" width="2" height="3" /></element>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="2.2" right="35" top="-2" bottom="38" />
|
||||
|
||||
<group ref="display1"><bounds x="12" y="0" width="21" height="36" /><orientation rotate="270" /></group>
|
||||
<group ref="display2"><bounds x="4.2" y="14" width="3.8" height="8" /><orientation rotate="270" /></group>
|
||||
</view>
|
||||
</mamelayout>
|
@ -16733,6 +16733,7 @@ palmf31 // Canon
|
||||
palmmd8 // Canon
|
||||
pbmastm // Parker Bros
|
||||
phpball // Tomy
|
||||
playmaker // Tiger Electronics
|
||||
qfire // Electroplay
|
||||
quizwizc // Coleco
|
||||
raisedvl // Entex
|
||||
|
Loading…
Reference in New Issue
Block a user