zac_proto: added labels for inputs

This commit is contained in:
Robbbert 2021-10-02 14:11:31 +10:00
parent 95e474d19d
commit 0a6c82e048

View File

@ -54,7 +54,7 @@ private:
void sound_w(offs_t offset, uint8_t data);
DECLARE_WRITE_LINE_MEMBER(audio_clock);
void zac_proto_map(address_map &map);
u8 m_u36 = 0; // preset divider for u44/u45
u8 m_u36 = 0x80; // preset divider for u44/u45
u8 m_u37 = 0; // selector for u48
u8 m_u44u45 = 0; // counters for u44/u45
u8 m_u46u47 = 0; // counters for u46/u47
@ -73,14 +73,14 @@ void zac_proto_state::zac_proto_map(address_map &map)
{
map(0x0000, 0x0bff).rom();
map(0x0d00, 0x0dff).ram().share("nvram");
map(0x0e00, 0x0e00).portr("PL0");
map(0x0e01, 0x0e01).portr("PL1");
map(0x0e02, 0x0e02).portr("PL2");
map(0x0e03, 0x0e03).portr("PL3");
map(0x0e04, 0x0e04).portr("PL4");
map(0x0e05, 0x0e05).portr("PL5");
map(0x0e06, 0x0e06).portr("PL6");
map(0x0e07, 0x0e07).portr("PL7");
map(0x0e00, 0x0e00).portr("X0");
map(0x0e01, 0x0e01).portr("X1");
map(0x0e02, 0x0e02).portr("X2");
map(0x0e03, 0x0e03).portr("X3");
map(0x0e04, 0x0e04).portr("X4");
map(0x0e05, 0x0e05).portr("X5");
map(0x0e06, 0x0e06).portr("X6");
map(0x0e07, 0x0e07).portr("X7");
map(0x0e00, 0x0e01).w(FUNC(zac_proto_state::out0_w));
map(0x0e02, 0x0e06).w(FUNC(zac_proto_state::digit_w));
map(0x0e07, 0x0e08).w(FUNC(zac_proto_state::sound_w));
@ -90,47 +90,47 @@ void zac_proto_state::zac_proto_map(address_map &map)
static INPUT_PORTS_START( zac_proto )
// playfield inputs
PORT_START("PL0")
PORT_START("X0")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_START )
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_9)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Z)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_9) PORT_NAME("Tilt")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Z) PORT_NAME("Ball Ready")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_X) PORT_NAME("Outhole")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B)
PORT_START("PL1")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_J)
PORT_START("PL2")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_K)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_O)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_P)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R)
PORT_START("PL3")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_COMMA)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_STOP)
PORT_START("PL4")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_NAME("INP 06")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_NAME("INP 07")
PORT_START("X1")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_NAME("INP 10")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) PORT_NAME("INP 11")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("INP 12")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_NAME("INP 13")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_NAME("INP 14")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_NAME("INP 15")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) PORT_NAME("INP 16")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_J) PORT_NAME("INP 17")
PORT_START("X2")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_K) PORT_NAME("INP 20")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("INP 21")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("INP 22")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_NAME("INP 23")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_O) PORT_NAME("INP 24")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_P) PORT_NAME("INP 25")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_NAME("INP 26")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("INP 27")
PORT_START("X3")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_NAME("INP 30")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_NAME("INP 31")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) PORT_NAME("INP 32")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) PORT_NAME("INP 33")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) PORT_NAME("INP 34")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) PORT_NAME("INP 35")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_COMMA) PORT_NAME("INP 36")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_STOP) PORT_NAME("INP 37")
PORT_START("X4")
PORT_BIT(0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
// dipswitches
PORT_START("PL5")
PORT_START("X5")
PORT_DIPNAME( 0x0f, 0x02, "Coinage Slot 1" )
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
@ -164,7 +164,7 @@ static INPUT_PORTS_START( zac_proto )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0xf0, "2 Coins/15 Credits" )
PORT_START("PL6")
PORT_START("X6")
PORT_DIPNAME( 0x03, 0x01, "High Score" )
PORT_DIPSETTING( 0x00, "0" )
PORT_DIPSETTING( 0x01, "1" )
@ -187,7 +187,7 @@ static INPUT_PORTS_START( zac_proto )
PORT_DIPSETTING( 0x80, "Extra Game" )
PORT_DIPSETTING( 0xc0, "Super Bonus" )
PORT_START("PL7")
PORT_START("X7")
PORT_DIPNAME( 0x01, 0x00, "Random" )
PORT_DIPSETTING( 0x00, "Enabled" )
PORT_DIPSETTING( 0x01, "Disabled" )
@ -275,15 +275,15 @@ void zac_proto_state::sound_w(offs_t offset, uint8_t data)
WRITE_LINE_MEMBER(zac_proto_state::audio_clock)
{
if (state)// && BIT(m_u37, 3))
if (state)
{
m_u44u45--;
if (m_u44u45 == 0)
{
m_u44u45 = m_u36;
m_u46u47--;
if (BIT(m_u37, 3))
m_speaker->level_w(BIT(m_u46u47, m_u37 & 7) ? 1 : -1);
// if sound muted set speaker to 0, otherwise use the selected frequency.
m_speaker->level_w(BIT(m_u37, 3) ? (BIT(m_u46u47, m_u37 & 7) ? 1 : -1) : 0);
}
}
}