mirror of
https://github.com/holub/mame
synced 2025-10-04 16:34:53 +03:00
GamePlan 1: WIP
This commit is contained in:
parent
34e3059cd6
commit
5ce15c1ca4
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -6516,6 +6516,7 @@ src/mame/layout/goldenc.lay svneol=native#text/xml
|
||||
src/mame/layout/goldnpkr.lay svneol=native#text/xml
|
||||
src/mame/layout/goldstar.lay svneol=native#text/xml
|
||||
src/mame/layout/gorf.lay svneol=native#text/xml
|
||||
src/mame/layout/gp_1.lay svneol=native#text/plain
|
||||
src/mame/layout/grchamp.lay svneol=native#text/xml
|
||||
src/mame/layout/gridiron.lay svneol=native#text/xml
|
||||
src/mame/layout/gunchamp.lay svneol=native#text/xml
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "cpu/z80/z80daisy.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/z80ctc.h"
|
||||
#include "gp_1.lh"
|
||||
|
||||
class gp_1_state : public genpin_class
|
||||
{
|
||||
@ -29,7 +30,7 @@ public:
|
||||
private:
|
||||
UINT8 m_u14;
|
||||
UINT8 m_digit;
|
||||
UINT8 m_sol;
|
||||
UINT8 m_segment;
|
||||
virtual void machine_reset();
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<z80ctc_device> m_ctc;
|
||||
@ -48,149 +49,146 @@ static ADDRESS_MAP_START( gp_1_io, AS_IO, 8, gp_1_state )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( gp_1 )
|
||||
PORT_START("TEST")
|
||||
//PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Self Test") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, gp_1_state, self_test, 0)
|
||||
|
||||
PORT_START("DSW0")
|
||||
PORT_DIPNAME( 0x01, 0x01, "S01") // S1-5: 32 combinations of coins/credits of coin slot 1.
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x02, 0x00, "S02")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x04, 0x04, "S03")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x08, 0x08, "S04")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x10, 0x10, "S05")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x20, 0x20, "S06")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x40, 0x40, "S07")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x80, 0x80, "Free Play")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x01, 0x00, "S01") // S1-5: 32 combinations of coins/credits of coin slot 1.
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x02, 0x02, "S02")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x04, 0x00, "S03")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x08, 0x00, "S04")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x10, 0x00, "S05")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x20, 0x00, "S06")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x40, 0x00, "S07")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x80, 0x00, "Free Play")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ))
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "S09") // S09-12 determine coinage for slot 2
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x02, 0x02, "S10")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x04, 0x04, "S11")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x08, 0x08, "S12")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x10, 0x10, "S13")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x20, 0x20, "S14")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x40, 0x40, "S15")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x01, 0x00, "S09") // S09-12 determine coinage for slot 2
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x02, 0x00, "S10")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x04, 0x00, "S11")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x08, 0x00, "S12")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x10, 0x00, "S13")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x20, 0x00, "S14")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x40, 0x00, "S15")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x80, 0x00, "Play Tunes")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ))
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_DIPNAME( 0x01, 0x01, "S17") // S17-21 coins for slot 3
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x02, 0x00, "S18")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x04, 0x04, "S19")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x08, 0x08, "S20")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x10, 0x10, "S21")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x20, 0x20, "S22")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x40, 0x40, "S23")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x80, 0x80, "S24")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x01, 0x00, "S17") // S17-21 coins for slot 3
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x02, 0x02, "S18")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x04, 0x00, "S19")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x08, 0x00, "S20")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x10, 0x00, "S21")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x20, 0x00, "S22")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x40, 0x00, "S23")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x80, 0x00, "S24")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ))
|
||||
|
||||
PORT_START("DSW3")
|
||||
PORT_DIPNAME( 0x07, 0x00, "Max number of credits")
|
||||
PORT_DIPSETTING( 0x07, "5" )
|
||||
PORT_DIPSETTING( 0x06, "10")
|
||||
PORT_DIPSETTING( 0x05, "15")
|
||||
PORT_DIPSETTING( 0x04, "20")
|
||||
PORT_DIPSETTING( 0x03, "25")
|
||||
PORT_DIPSETTING( 0x02, "30")
|
||||
PORT_DIPSETTING( 0x01, "35")
|
||||
PORT_DIPSETTING( 0x00, "40")
|
||||
PORT_DIPNAME( 0x08, 0x00, "Balls")
|
||||
PORT_DIPSETTING( 0x00, "5")
|
||||
PORT_DIPSETTING( 0x08, "3")
|
||||
PORT_DIPNAME( 0x10, 0x00, "Award")
|
||||
PORT_DIPSETTING( 0x00, "Replay")
|
||||
PORT_DIPSETTING( 0x10, "Extra Ball")
|
||||
PORT_DIPNAME( 0x20, 0x00, "Match")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ))
|
||||
PORT_DIPNAME( 0xC0, 0x40, "Credits for exceeding high score")
|
||||
PORT_DIPSETTING( 0xC0, "0")
|
||||
PORT_DIPSETTING( 0x80, "1")
|
||||
PORT_DIPSETTING( 0x40, "2")
|
||||
PORT_DIPNAME( 0x07, 0x07, "Max number of credits")
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPSETTING( 0x01, "10")
|
||||
PORT_DIPSETTING( 0x02, "15")
|
||||
PORT_DIPSETTING( 0x03, "20")
|
||||
PORT_DIPSETTING( 0x04, "25")
|
||||
PORT_DIPSETTING( 0x05, "30")
|
||||
PORT_DIPSETTING( 0x06, "35")
|
||||
PORT_DIPSETTING( 0x07, "40")
|
||||
PORT_DIPNAME( 0x08, 0x08, "Balls")
|
||||
PORT_DIPSETTING( 0x00, "3")
|
||||
PORT_DIPSETTING( 0x08, "5")
|
||||
PORT_DIPNAME( 0x10, 0x10, "Award")
|
||||
PORT_DIPSETTING( 0x00, "Extra Ball")
|
||||
PORT_DIPSETTING( 0x10, "Replay")
|
||||
PORT_DIPNAME( 0x20, 0x20, "Match")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0xC0, 0x80, "Credits for exceeding high score")
|
||||
PORT_DIPSETTING( 0x00, "0")
|
||||
PORT_DIPSETTING( 0x40, "1")
|
||||
PORT_DIPSETTING( 0x80, "2")
|
||||
PORT_DIPSETTING( 0xC0, "3")
|
||||
|
||||
PORT_START("X7")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Accounting Reset")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT1 ) PORT_NAME("Slam Tilt")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_NAME("Accounting Reset")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_TILT1 ) PORT_NAME("Slam Tilt")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN3 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_TILT )
|
||||
|
||||
PORT_START("X8")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("L and R Target") PORT_CODE(KEYCODE_A)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Spinner C") PORT_CODE(KEYCODE_S)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Outhole") PORT_CODE(KEYCODE_X)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Spinner B") PORT_CODE(KEYCODE_D)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("R. Slingshot") PORT_CODE(KEYCODE_F)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Special when lit") PORT_CODE(KEYCODE_G)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("L. Slingshot") PORT_CODE(KEYCODE_H)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Extra when lit") PORT_CODE(KEYCODE_J)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("L and R Target") PORT_CODE(KEYCODE_A)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Spinner C") PORT_CODE(KEYCODE_S)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Outhole") PORT_CODE(KEYCODE_X)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Spinner B") PORT_CODE(KEYCODE_D)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("R. Slingshot") PORT_CODE(KEYCODE_F)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Special when lit") PORT_CODE(KEYCODE_G)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("L. Slingshot") PORT_CODE(KEYCODE_H)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Extra when lit") PORT_CODE(KEYCODE_J)
|
||||
|
||||
PORT_START("X9")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("R. Spinner") PORT_CODE(KEYCODE_K)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1000 and advance") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Advance and Change") PORT_CODE(KEYCODE_Z)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("L. Bumper") PORT_CODE(KEYCODE_C)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("R. Bumper") PORT_CODE(KEYCODE_V)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("L. Spinner") PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Spinner A") PORT_CODE(KEYCODE_N)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("R. Spinner") PORT_CODE(KEYCODE_K)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("1000 and advance") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Advance and Change") PORT_CODE(KEYCODE_Z)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("L. Bumper") PORT_CODE(KEYCODE_C)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("R. Bumper") PORT_CODE(KEYCODE_V)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("L. Spinner") PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Spinner A") PORT_CODE(KEYCODE_N)
|
||||
|
||||
PORT_START("XA")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1000 Rollover") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("1000 Rollover") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("XB")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
READ8_MEMBER( gp_1_state::portb_r )
|
||||
@ -222,10 +220,10 @@ READ8_MEMBER( gp_1_state::portb_r )
|
||||
WRITE8_MEMBER( gp_1_state::porta_w )
|
||||
{
|
||||
m_u14 = data >> 4;
|
||||
/*if (m_u14 >= 8)*/ m_segment = data & 15;
|
||||
if ((data > 0x0f) && (data < 0x30))
|
||||
{
|
||||
m_sol = data;
|
||||
switch (m_sol)
|
||||
switch (data)
|
||||
{
|
||||
case 0x10:
|
||||
break;
|
||||
@ -265,14 +263,23 @@ WRITE8_MEMBER( gp_1_state::porta_w )
|
||||
break;
|
||||
}
|
||||
}
|
||||
static const UINT8 patterns[16] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0x00 }; // 7448
|
||||
if ((m_u14 >= 8) && (m_u14 <= 11))
|
||||
{
|
||||
output_set_digit_value(m_digit+(m_u14-8)*8, patterns[m_segment]);
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( gp_1_state::portc_w )
|
||||
{
|
||||
if (BIT(data, 4))
|
||||
output_set_value("led0", BIT(data, 3));
|
||||
|
||||
m_digit = data & 7;
|
||||
else
|
||||
m_digit = 0xff;
|
||||
static const UINT8 patterns[16] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0x00 }; // 7448
|
||||
if ((m_digit) && (m_u14 >= 8) && (m_u14 <= 11))
|
||||
{
|
||||
output_set_digit_value(m_digit+(m_u14-8)*8, patterns[m_segment]);
|
||||
}
|
||||
}
|
||||
|
||||
void gp_1_state::machine_reset()
|
||||
@ -281,10 +288,6 @@ void gp_1_state::machine_reset()
|
||||
m_digit = 0xff;
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(gp_1_state,gp_1)
|
||||
{
|
||||
}
|
||||
|
||||
// zero-cross detection
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( gp_1_state::zero_timer )
|
||||
{
|
||||
@ -305,6 +308,9 @@ static MACHINE_CONFIG_START( gp_1, gp_1_state )
|
||||
MCFG_CPU_IO_MAP(gp_1_io)
|
||||
MCFG_CPU_CONFIG(daisy_chain)
|
||||
|
||||
/* Video */
|
||||
MCFG_DEFAULT_LAYOUT(layout_gp_1)
|
||||
|
||||
/* Sound */
|
||||
MCFG_FRAGMENT_ADD( genpin_audio )
|
||||
|
||||
@ -371,12 +377,12 @@ ROM_START(startrip)
|
||||
ROM_LOAD( "startrip.u13", 0x0800, 0x0800, CRC(b941a1a8) SHA1(a43f8acadb3db3e2274162d5305e30006f912339))
|
||||
ROM_END
|
||||
|
||||
GAME(1978, gp_110, 0, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Model 110", GAME_IS_BIOS_ROOT)
|
||||
GAME(1978, blvelvet, gp_110, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Black Velvet", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, camlight, gp_110, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Camel Lights", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, foxylady, gp_110, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Foxy Lady", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, real, gp_110, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Real", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, rio, gp_110, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Rio", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, chucklck, gp_110, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Chuck-A-Luck", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, famlyfun, 0, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Family Fun!", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, startrip, 0, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Star Trip", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, gp_110, 0, gp_1, gp_1, driver_device, 0, ROT0, "Game Plan", "Model 110", GAME_IS_BIOS_ROOT)
|
||||
GAME(1978, blvelvet, gp_110, gp_1, gp_1, driver_device, 0, ROT0, "Game Plan", "Black Velvet", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, camlight, gp_110, gp_1, gp_1, driver_device, 0, ROT0, "Game Plan", "Camel Lights", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, foxylady, gp_110, gp_1, gp_1, driver_device, 0, ROT0, "Game Plan", "Foxy Lady", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, real, gp_110, gp_1, gp_1, driver_device, 0, ROT0, "Game Plan", "Real", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, rio, gp_110, gp_1, gp_1, driver_device, 0, ROT0, "Game Plan", "Rio", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, chucklck, gp_110, gp_1, gp_1, driver_device, 0, ROT0, "Game Plan", "Chuck-A-Luck", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, famlyfun, 0, gp_1, gp_1, driver_device, 0, ROT0, "Game Plan", "Family Fun!", GAME_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, startrip, 0, gp_1, gp_1, driver_device, 0, ROT0, "Game Plan", "Star Trip", GAME_IS_SKELETON_MECHANICAL)
|
||||
|
140
src/mame/layout/gp_1.lay
Normal file
140
src/mame/layout/gp_1.lay
Normal file
@ -0,0 +1,140 @@
|
||||
<!-- Game Plan 1 copied from s6.lay -->
|
||||
|
||||
<!-- 2014-07-22: Initial version. [Robbbert] -->
|
||||
|
||||
<mamelayout version="2">
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg>
|
||||
<color red="1.0" green="0.25" blue="0.0" />
|
||||
</led7seg>
|
||||
</element>
|
||||
<element name="red_led">
|
||||
<disk><color red="1.0" green="0.0" blue="0.0" /></disk>
|
||||
</element>
|
||||
<element name="background">
|
||||
<rect>
|
||||
<bounds left="0" top="0" right="1" bottom="1" />
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
</element>
|
||||
<element name="P0"><text string="Ball / Match"><color red="1.0" green="1.0" blue="1.0" /></text></element>
|
||||
<element name="P1"><text string="Credits"><color red="1.0" green="1.0" blue="1.0" /></text></element>
|
||||
<element name="P3"><text string="Player 1"><color red="1.0" green="1.0" blue="1.0" /></text></element>
|
||||
<element name="P4"><text string="Player 2"><color red="1.0" green="1.0" blue="1.0" /></text></element>
|
||||
<element name="P5"><text string="Player 3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
|
||||
<element name="P6"><text string="Player 4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
|
||||
|
||||
<view name="Default Layout">
|
||||
|
||||
<!-- Background -->
|
||||
<backdrop element="background">
|
||||
<bounds left="0" top="20" right="274" bottom="394" />
|
||||
</backdrop>
|
||||
|
||||
<!-- LEDs -->
|
||||
|
||||
<!-- Player 1 Score -->
|
||||
|
||||
<bezel name="digit0" element="digit">
|
||||
<bounds left="10" top="45" right="44" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit1" element="digit">
|
||||
<bounds left="54" top="45" right="88" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit2" element="digit">
|
||||
<bounds left="98" top="45" right="132" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit3" element="digit">
|
||||
<bounds left="142" top="45" right="176" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit4" element="digit">
|
||||
<bounds left="186" top="45" right="220" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit5" element="digit">
|
||||
<bounds left="230" top="45" right="264" bottom="84" />
|
||||
</bezel>
|
||||
|
||||
<!-- Player 2 Score -->
|
||||
<bezel name="digit8" element="digit">
|
||||
<bounds left="10" top="105" right="44" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit9" element="digit">
|
||||
<bounds left="54" top="105" right="88" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit10" element="digit">
|
||||
<bounds left="98" top="105" right="132" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit11" element="digit">
|
||||
<bounds left="142" top="105" right="176" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit12" element="digit">
|
||||
<bounds left="186" top="105" right="220" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit13" element="digit">
|
||||
<bounds left="230" top="105" right="264" bottom="144" />
|
||||
</bezel>
|
||||
|
||||
<!-- Player 3 Score -->
|
||||
<bezel name="digit16" element="digit">
|
||||
<bounds left="10" top="165" right="44" bottom="204" />
|
||||
</bezel>
|
||||
<bezel name="digit17" element="digit">
|
||||
<bounds left="54" top="165" right="88" bottom="204" />
|
||||
</bezel>
|
||||
<bezel name="digit18" element="digit">
|
||||
<bounds left="98" top="165" right="132" bottom="204" />
|
||||
</bezel>
|
||||
<bezel name="digit19" element="digit">
|
||||
<bounds left="142" top="165" right="176" bottom="204" />
|
||||
</bezel>
|
||||
<bezel name="digit20" element="digit">
|
||||
<bounds left="186" top="165" right="220" bottom="204" />
|
||||
</bezel>
|
||||
<bezel name="digit21" element="digit">
|
||||
<bounds left="230" top="165" right="264" bottom="204" />
|
||||
</bezel>
|
||||
|
||||
<!-- Player 4 Score -->
|
||||
<bezel name="digit24" element="digit">
|
||||
<bounds left="10" top="225" right="44" bottom="264" />
|
||||
</bezel>
|
||||
<bezel name="digit25" element="digit">
|
||||
<bounds left="54" top="225" right="88" bottom="264" />
|
||||
</bezel>
|
||||
<bezel name="digit26" element="digit">
|
||||
<bounds left="98" top="225" right="132" bottom="264" />
|
||||
</bezel>
|
||||
<bezel name="digit27" element="digit">
|
||||
<bounds left="142" top="225" right="176" bottom="264" />
|
||||
</bezel>
|
||||
<bezel name="digit28" element="digit">
|
||||
<bounds left="186" top="225" right="220" bottom="264" />
|
||||
</bezel>
|
||||
<bezel name="digit29" element="digit">
|
||||
<bounds left="230" top="225" right="264" bottom="264" />
|
||||
</bezel>
|
||||
|
||||
<!-- Credits and Balls -->
|
||||
<bezel name="digit14" element="digit">
|
||||
<bounds left="10" top="345" right="44" bottom="384" />
|
||||
</bezel>
|
||||
<bezel name="digit15" element="digit">
|
||||
<bounds left="54" top="345" right="88" bottom="384" />
|
||||
</bezel>
|
||||
<bezel name="digit6" element="digit">
|
||||
<bounds left="186" top="345" right="220" bottom="384" />
|
||||
</bezel>
|
||||
<bezel name="digit7" element="digit">
|
||||
<bounds left="230" top="345" right="264" bottom="384" />
|
||||
</bezel>
|
||||
<bezel element="P0"><bounds left="200" right="258" top="330" bottom="342" /></bezel>
|
||||
<bezel element="P1"><bounds left="30" right="88" top="330" bottom="342" /></bezel>
|
||||
<bezel name="text3" element="P3"><bounds left="100" right="180" top="30" bottom="42" /></bezel>
|
||||
<bezel name="text2" element="P4"><bounds left="100" right="180" top="90" bottom="102" /></bezel>
|
||||
<bezel name="text1" element="P5"><bounds left="100" right="180" top="150" bottom="162" /></bezel>
|
||||
<bezel name="text0" element="P6"><bounds left="100" right="180" top="210" bottom="222" /></bezel>
|
||||
<bezel name="led0" element="red_led">
|
||||
<bounds left="110" right="125" top="360" bottom="375" /></bezel>
|
||||
</view>
|
||||
</mamelayout>
|
@ -2603,6 +2603,7 @@ $(DRIVERS)/funworld.o: $(LAYOUT)/jollycrd.lh \
|
||||
$(LAYOUT)/royalcrd.lh
|
||||
|
||||
$(DRIVERS)/g627.o: $(LAYOUT)/g627.lh
|
||||
$(DRIVERS)/gp_1.o: $(LAYOUT)/gp_1.lh
|
||||
|
||||
$(DRIVERS)/galaxi.o: $(LAYOUT)/galaxi.lh
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user