From 8747f3a9ab77473e4bf41e4f0ebbc970349c81d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Banaan=20Ananas?= Date: Tue, 5 Aug 2014 21:36:20 +0000 Subject: [PATCH] changed vlm5030_device pin read/write functions to READ/WRITE_LINE --- src/emu/sound/vlm5030.c | 19 +- src/emu/sound/vlm5030.h | 8 +- src/mame/drivers/punchout.c | 352 ++++++++--------------------------- src/mame/includes/punchout.h | 1 - 4 files changed, 86 insertions(+), 294 deletions(-) diff --git a/src/emu/sound/vlm5030.c b/src/emu/sound/vlm5030.c index ab5f3b10055..8e0ca86b8aa 100644 --- a/src/emu/sound/vlm5030.c +++ b/src/emu/sound/vlm5030.c @@ -392,7 +392,7 @@ void vlm5030_device::set_rom(void *speech_rom) } /* get BSY pin level */ -int vlm5030_device::bsy() +READ_LINE_MEMBER( vlm5030_device::bsy ) { update(); return m_pin_BSY; @@ -405,11 +405,11 @@ WRITE8_MEMBER( vlm5030_device::data_w ) } /* set RST pin level : reset / set table address A8-A15 */ -void vlm5030_device::rst ( int pin ) +WRITE_LINE_MEMBER( vlm5030_device::rst ) { if( m_pin_RST ) { - if( !pin ) + if( !state ) { /* H -> L : latch parameters */ m_pin_RST = 0; setup_parameter( m_latch_data); @@ -417,7 +417,7 @@ void vlm5030_device::rst ( int pin ) } else { - if( pin ) + if( state ) { /* L -> H : reset chip */ m_pin_RST = 1; if( m_pin_BSY ) @@ -429,22 +429,21 @@ void vlm5030_device::rst ( int pin ) } /* set VCU pin level : ?? unknown */ -void vlm5030_device::vcu(int pin) +WRITE_LINE_MEMBER( vlm5030_device::vcu ) { /* direct mode / indirect mode */ - m_pin_VCU = pin; - return; + m_pin_VCU = state; } /* set ST pin level : set table address A0-A7 / start speech */ -void vlm5030_device::st( int pin ) +WRITE_LINE_MEMBER( vlm5030_device::st ) { int table; - if( m_pin_ST != pin ) + if( m_pin_ST != state ) { /* pin level is change */ - if( !pin ) + if( !state ) { /* H -> L */ m_pin_ST = 0; diff --git a/src/emu/sound/vlm5030.h b/src/emu/sound/vlm5030.h index a822b8e8673..e2287e5ba31 100644 --- a/src/emu/sound/vlm5030.h +++ b/src/emu/sound/vlm5030.h @@ -14,19 +14,19 @@ void set_rom(void *speech_rom); /* get BSY pin level */ - int bsy(); + DECLARE_READ_LINE_MEMBER( bsy ); /* latch contoll data */ DECLARE_WRITE8_MEMBER( data_w ); /* set RST pin level : reset / set table address A8-A15 */ - void rst (int pin ); + DECLARE_WRITE_LINE_MEMBER( rst ); /* set VCU pin level : ?? unknown */ - void vcu( int pin ); + DECLARE_WRITE_LINE_MEMBER( vcu ); /* set ST pin level : set table address A0-A7 / start speech */ - void st( int pin ); + DECLARE_WRITE_LINE_MEMBER( st ); protected: // device-level overrides diff --git a/src/mame/drivers/punchout.c b/src/mame/drivers/punchout.c index 968d51b7baf..112cfc09ede 100644 --- a/src/mame/drivers/punchout.c +++ b/src/mame/drivers/punchout.c @@ -271,12 +271,6 @@ ADDRESS_MAP_END ***************************************************************************/ -CUSTOM_INPUT_MEMBER(punchout_state::punchout_vlm5030_busy_r) -{ - /* bit 4 of DSW1 is vlm busy pin level */ - return (m_vlm->bsy()) ? 0x00 : 0x01; -} - static INPUT_PORTS_START( punchout ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) @@ -336,7 +330,7 @@ static INPUT_PORTS_START( punchout ) PORT_DIPSETTING( 0x0a, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x07, DEF_STR( 1C_6C ) ) PORT_DIPSETTING( 0x0f, DEF_STR( Free_Play ) ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, punchout_state,punchout_vlm5030_busy_r, NULL) /* VLM5030 busy signal */ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("vlm", vlm5030_device, bsy) /* VLM5030 busy signal */ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_DIPUNUSED_DIPLOC( 0x40, 0x00, "R18:!1" ) /* Not documented, R18 resistor */ PORT_DIPNAME( 0x80, 0x00, "Copyright" ) PORT_DIPLOCATION("R19:!1") /* Not documented, R19 resistor */ @@ -397,281 +391,79 @@ static INPUT_PORTS_START( armwrest ) Table 1 (for 2 Coin Slots): - DSW1 DSW2 -bit 3210 5432 L R C + DSW1 DSW2 DSW1 DSW2 DSW1 DSW2 DSW1 DSW2 +bit 3210 5432 L R C 3210 5432 L R C 3210 5432 L R C 3210 5432 L R C - 0000 0000 1 1 1 - 0000 0001 8 1 1 - 0000 0010 2 1 1 - 0000 0011 8 3 3 - 0000 0100 3 1 2 - 0000 0101 3 12 4 - 0000 0110 1 2 2 - 0000 0111 3 24 2 - 0000 1000 1 3 3 - 0000 1001 4 1 3 - 0000 1010 1 4 4 - 0000 1011 3 3 4 - 0000 1100 1 5 5 - 0000 1101 1 1 1 - 0000 1110 2 3 3 - 0000 1111 5 5 3 + 0000 0000 1 1 1 0001 0000 1 2 1 0010 0000 1 3 1 0011 0000 1 4 1 + 0000 0001 8 1 1 0001 0001 1 8 1 0010 0001 9 1 1 0011 0001 1 9 1 + 0000 0010 2 1 1 0001 0010 2 2 1 0010 0010 2 3 1 0011 0010 2 4 1 + 0000 0011 8 3 3 0001 0011 3 8 3 0010 0011 3 4 4 0011 0011 4 3 4 + 0000 0100 3 1 2 0001 0100 3 2 1 0010 0100 3 3 1 0011 0100 3 4 1 + 0000 0101 3 12 4 0001 0101 12 3 4 0010 0101 4 4 1 0011 0101 4 4 1 + 0000 0110 1 2 2 0001 0110 1 4 2 0010 0110 1 6 2 0011 0110 1 8 2 + 0000 0111 3 24 2 0001 0111 24 3 2 0010 0111 3 1 2 0011 0111 1 3 2 + 0000 1000 1 3 3 0001 1000 1 6 3 0010 1000 1 9 3 0011 1000 1 12 3 + 0000 1001 4 1 3 0001 1001 1 4 3 0010 1001 10 1 3 0011 1001 1 10 3 + 0000 1010 1 4 4 0001 1010 1 8 4 0010 1010 1 12 4 0011 1010 1 16 4 + 0000 1011 3 3 4 0001 1011 3 3 4 0010 1011 1 1 6 0011 1011 1 1 6 + 0000 1100 1 5 5 0001 1100 1 10 5 0010 1100 1 15 5 0011 1100 1 20 5 + 0000 1101 1 1 1 0001 1101 1 1 2 0010 1101 2 2 1 0011 1101 1 1 4 + 0000 1110 2 3 3 0001 1110 2 6 3 0010 1110 2 9 3 0011 1110 2 12 3 + 0000 1111 5 5 3 0001 1111 5 5 4 0010 1111 2 2 5 0011 1111 8 8 1 - 0001 0000 1 2 1 - 0001 0001 1 8 1 - 0001 0010 2 2 1 - 0001 0011 3 8 3 - 0001 0100 3 2 1 - 0001 0101 12 3 4 - 0001 0110 1 4 2 - 0001 0111 24 3 2 - 0001 1000 1 6 3 - 0001 1001 1 4 3 - 0001 1010 1 8 4 - 0001 1011 3 3 4 - 0001 1100 1 10 5 - 0001 1101 1 1 2 - 0001 1110 2 6 3 - 0001 1111 5 5 4 + 0100 0000 1 5 1 0101 0000 1 6 1 0110 0000 2 1 2 0111 0000 3 1 3 + 0100 0001 10 1 1 0101 0001 1 10 1 0110 0001 12 1 1 0111 0001 1 12 1 + 0100 0010 2 5 1 0101 0010 2 6 1 0110 0010 4 1 2 0111 0010 6 1 3 + 0100 0011 2 5 5 0101 0011 5 2 5 0110 0011 10 2 1 0111 0011 2 10 1 + 0100 0100 3 5 1 0101 0100 3 6 1 0110 0100 6 1 2 0111 0100 9 1 3 + 0100 0101 4 4 1 0101 0101 4 5 1 0110 0101 3 8 2 0111 0101 8 3 2 + 0100 0110 1 10 2 0101 0110 1 12 2 0110 0110 1 1 2 0111 0110 3 2 6 + 0100 0111 10 1 2 0101 0111 1 10 2 0110 0111 3 2 4 0111 0111 2 3 4 + 0100 1000 1 15 3 0101 1000 1 18 3 0110 1000 2 3 6 0111 1000 1 1 3 + 0100 1001 20 1 3 0101 1001 1 20 3 0110 1001 9 4 12 0111 1001 4 9 12 + 0100 1010 1 20 4 0101 1010 1 24 4 0110 1010 1 2 4 0111 1010 3 4 12 + 0100 1011 16 1 2 0101 1011 20 20 0* 0110 1011 1 1 1 0111 1011 1 1 1 + 0100 1100 1 25 5 0101 1100 1 30 5 0110 1100 2 5 10 0111 1100 3 5 15 + 0100 1101 1 1 5 0101 1101 3 3 3 0110 1101 4 4 1 0111 1101 6 6 1 + 0100 1110 2 15 3 0101 1110 2 18 1 0110 1110 4 3 6 0111 1110 2 2 3 + 0100 1111 8 8 3 0101 1111 9 9 1 0110 1111 9 9 2 0111 1111 10 10 1 - 0010 0000 1 3 1 - 0010 0001 9 1 1 - 0010 0010 2 3 1 - 0010 0011 3 4 4 - 0010 0100 3 3 1 - 0010 0101 4 4 1 - 0010 0110 1 6 2 - 0010 0111 3 1 2 - 0010 1000 1 9 3 - 0010 1001 10 1 3 - 0010 1010 1 12 4 - 0010 1011 1 1 6 - 0010 1100 1 15 5 - 0010 1101 2 2 1 - 0010 1110 2 9 3 - 0010 1111 2 2 5 + DSW1 DSW2 DSW1 DSW2 DSW1 DSW2 DSW1 DSW2 +bit 3210 5432 L R C 3210 5432 L R C 3210 5432 L R C 3210 5432 L R C - 0011 0000 1 4 1 - 0011 0001 1 9 1 - 0011 0010 2 4 1 - 0011 0011 4 3 4 - 0011 0100 3 4 1 - 0011 0101 4 4 1 - 0011 0110 1 8 2 - 0011 0111 1 3 2 - 0011 1000 1 12 3 - 0011 1001 1 10 3 - 0011 1010 1 16 4 - 0011 1011 1 1 6 - 0011 1100 1 20 5 - 0011 1101 1 1 4 - 0011 1110 2 12 3 - 0011 1111 8 8 1 - - 0100 0000 1 5 1 - 0100 0001 10 1 1 - 0100 0010 2 5 1 - 0100 0011 2 5 5 - 0100 0100 3 5 1 - 0100 0101 4 4 1 - 0100 0110 1 10 2 - 0100 0111 10 1 2 - 0100 1000 1 15 3 - 0100 1001 20 1 3 - 0100 1010 1 20 4 - 0100 1011 16 1 2 - 0100 1100 1 25 5 - 0100 1101 1 1 5 - 0100 1110 2 15 3 - 0100 1111 8 8 3 - - 0101 0000 1 6 1 - 0101 0001 1 10 1 - 0101 0010 2 6 1 - 0101 0011 5 2 5 - 0101 0100 3 6 1 - 0101 0101 4 5 1 - 0101 0110 1 12 2 - 0101 0111 1 10 2 - 0101 1000 1 18 3 - 0101 1001 1 20 3 - 0101 1010 1 24 4 - 0101 1011 20 20 0 Not a "Freeplay": you MUST insert a coin! - 0101 1100 1 30 5 - 0101 1101 3 3 3 - 0101 1110 2 18 1 - 0101 1111 9 9 1 - - 0110 0000 2 1 2 - 0110 0001 12 1 1 - 0110 0010 4 1 2 - 0110 0011 10 2 1 - 0110 0100 6 1 2 - 0110 0101 3 8 2 - 0110 0110 1 1 2 - 0110 0111 3 2 4 - 0110 1000 2 3 6 - 0110 1001 9 4 12 - 0110 1010 1 2 4 - 0110 1011 1 1 1 - 0110 1100 2 5 10 - 0110 1101 4 4 1 - 0110 1110 4 3 6 - 0110 1111 9 9 2 - - 0111 0000 3 1 3 - 0111 0001 1 12 1 - 0111 0010 6 1 3 - 0111 0011 2 10 1 - 0111 0100 9 1 3 - 0111 0101 8 3 2 - 0111 0110 3 2 6 - 0111 0111 2 3 4 - 0111 1000 1 1 3 - 0111 1001 4 9 12 - 0111 1010 3 4 12 - 0111 1011 1 1 1 - 0111 1100 3 5 15 - 0111 1101 6 6 1 - 0111 1110 2 2 3 - 0111 1111 10 10 1 - - 1000 0000 4 1 4 - 1000 0001 3 2 2 - 1000 0010 8 1 4 - 1000 0011 12 2 1 - 1000 0100 12 1 4 - 1000 0101 5 5 1 - 1000 0110 2 1 4 - 1000 0111 3 3 2 - 1000 1000 4 3 12 - 1000 1001 4 2 3 - 1000 1010 1 1 4 - 1000 1011 1 1 1 - 1000 1100 4 5 20 - 1000 1101 1 1 6 - 1000 1110 8 3 12 - 1000 1111 10 10 3 - - 1001 0000 5 1 5 - 1001 0001 2 3 2 - 1001 0010 10 1 5 - 1001 0011 2 12 1 - 1001 0100 15 1 5 - 1001 0101 5 5 1 - 1001 0110 5 2 10 - 1001 0111 3 3 2 - 1001 1000 5 3 15 - 1001 1001 2 4 3 - 1001 1010 5 4 20 - 1001 1011 1 1 1 - 1001 1100 1 1 5 - 1001 1101 2 2 3 - 1001 1110 10 3 15 - 1001 1111 11 11 1 - - 1010 0000 3 2 3 - 1010 0001 5 2 2 - 1010 0010 6 2 3 - 1010 0011 3 4 2 - 1010 0100 9 2 3 - 1010 0101 6 6 1 - 1010 0110 3 4 6 - 1010 0111 4 9 6 - 1010 1000 1 2 3 - 1010 1001 10 2 3 - 1010 1010 3 8 12 - 1010 1011 1 1 1 - 1010 1100 2 10 15 - 1010 1101 5 5 1 - 1010 1110 2 2 3 - 1010 1111 11 11 3 - - 1011 0000 3 5 3 - 1011 0001 2 5 2 - 1011 0010 6 5 3 - 1011 0011 4 3 2 - 1011 0100 9 5 3 - 1011 0101 6 6 1 - 1011 0110 3 10 6 - 1011 0111 9 4 6 - 1011 1000 1 5 3 - 1011 1001 2 10 3 - 1011 1010 3 20 12 - 1011 1011 1 1 1 - 1011 1100 3 25 15 - 1011 1101 3 3 2 - 1011 1110 2 5 3 - 1011 1111 12 12 1 - - 1100 0000 4 5 4 - 1100 0001 9 2 2 - 1100 0010 8 5 4 - 1100 0011 3 8 4 - 1100 0100 12 5 4 - 1100 0101 3 12 2 - 1100 0110 2 5 4 - 1100 0111 8 9 6 - 1100 1000 4 15 12 - 1100 1001 11 2 3 - 1100 1010 1 5 4 - 1100 1011 1 1 1 - 1100 1100 4 25 20 - 1100 1101 1 1 3 - 1100 1110 8 15 12 - 1100 1111 20 20 3 - - 1101 0000 4 1 1 - 1101 0001 2 9 2 - 1101 0010 4 2 1 - 1101 0011 8 3 4 - 1101 0100 4 3 1 - 1101 0101 12 3 2 - 1101 0110 8 1 2 - 1101 0111 9 8 6 - 1101 1000 12 1 3 - 1101 1001 2 11 3 - 1101 1010 12 2 3 - 1101 1011 1 1 1 - 1101 1100 20 1 5 - 1101 1101 5 5 2 - 1101 1110 18 2 3 - 1101 1111 3 3 4 - - 1110 0000 5 5 1 - 1110 0001 4 4 3 - 1110 0010 5 2 1 - 1110 0011 11 2 1 - 1110 0100 5 3 1 - 1110 0101 3 24 4 - 1110 0110 10 1 2 - 1110 0111 1 6 4 - 1110 1000 15 1 3 - 1110 1001 9 8 12 - 1110 1010 20 1 4 - 1110 1011 1 1 1 - 1110 1100 25 1 5 - 1110 1101 4 4 3 - 1110 1110 20 4 4 - 1110 1111 20 20 0 Not a "Freeplay": you MUST insert a coin! - - 1111 0000 6 1 1 - 1111 0001 3 4 3 - 1111 0010 6 2 1 - 1111 0011 2 11 1 - 1111 0100 6 3 1 - 1111 0101 24 3 1 - 1111 0110 12 1 2 - 1111 0111 6 1 4 - 1111 1000 18 1 3 - 1111 1001 8 9 12 - 1111 1010 24 1 4 - 1111 1011 1 1 1 - 1111 1100 15 2 3 - 1111 1101 3 3 4 - 1111 1110 "Freeplay" - 1111 1111 "Freeplay" + 1000 0000 4 1 4 1001 0000 5 1 5 1010 0000 3 2 3 1011 0000 3 5 3 + 1000 0001 3 2 2 1001 0001 2 3 2 1010 0001 5 2 2 1011 0001 2 5 2 + 1000 0010 8 1 4 1001 0010 10 1 5 1010 0010 6 2 3 1011 0010 6 5 3 + 1000 0011 12 2 1 1001 0011 2 12 1 1010 0011 3 4 2 1011 0011 4 3 2 + 1000 0100 12 1 4 1001 0100 15 1 5 1010 0100 9 2 3 1011 0100 9 5 3 + 1000 0101 5 5 1 1001 0101 5 5 1 1010 0101 6 6 1 1011 0101 6 6 1 + 1000 0110 2 1 4 1001 0110 5 2 10 1010 0110 3 4 6 1011 0110 3 10 6 + 1000 0111 3 3 2 1001 0111 3 3 2 1010 0111 4 9 6 1011 0111 9 4 6 + 1000 1000 4 3 12 1001 1000 5 3 15 1010 1000 1 2 3 1011 1000 1 5 3 + 1000 1001 4 2 3 1001 1001 2 4 3 1010 1001 10 2 3 1011 1001 2 10 3 + 1000 1010 1 1 4 1001 1010 5 4 20 1010 1010 3 8 12 1011 1010 3 20 12 + 1000 1011 1 1 1 1001 1011 1 1 1 1010 1011 1 1 1 1011 1011 1 1 1 + 1000 1100 4 5 20 1001 1100 1 1 5 1010 1100 2 10 15 1011 1100 3 25 15 + 1000 1101 1 1 6 1001 1101 2 2 3 1010 1101 5 5 1 1011 1101 3 3 2 + 1000 1110 8 3 12 1001 1110 10 3 15 1010 1110 2 2 3 1011 1110 2 5 3 + 1000 1111 10 10 3 1001 1111 11 11 1 1010 1111 11 11 3 1011 1111 12 12 1 + 1100 0000 4 5 4 1101 0000 4 1 1 1110 0000 5 5 1 1111 0000 6 1 1 + 1100 0001 9 2 2 1101 0001 2 9 2 1110 0001 4 4 3 1111 0001 3 4 3 + 1100 0010 8 5 4 1101 0010 4 2 1 1110 0010 5 2 1 1111 0010 6 2 1 + 1100 0011 3 8 4 1101 0011 8 3 4 1110 0011 11 2 1 1111 0011 2 11 1 + 1100 0100 12 5 4 1101 0100 4 3 1 1110 0100 5 3 1 1111 0100 6 3 1 + 1100 0101 3 12 2 1101 0101 12 3 2 1110 0101 3 24 4 1111 0101 24 3 1 + 1100 0110 2 5 4 1101 0110 8 1 2 1110 0110 10 1 2 1111 0110 12 1 2 + 1100 0111 8 9 6 1101 0111 9 8 6 1110 0111 1 6 4 1111 0111 6 1 4 + 1100 1000 4 15 12 1101 1000 12 1 3 1110 1000 15 1 3 1111 1000 18 1 3 + 1100 1001 11 2 3 1101 1001 2 11 3 1110 1001 9 8 12 1111 1001 8 9 12 + 1100 1010 1 5 4 1101 1010 12 2 3 1110 1010 20 1 4 1111 1010 24 1 4 + 1100 1011 1 1 1 1101 1011 1 1 1 1110 1011 1 1 1 1111 1011 1 1 1 + 1100 1100 4 25 20 1101 1100 20 1 5 1110 1100 25 1 5 1111 1100 15 2 3 + 1100 1101 1 1 3 1101 1101 5 5 2 1110 1101 4 4 3 1111 1101 3 3 4 + 1100 1110 8 15 12 1101 1110 18 2 3 1110 1110 20 4 4 1111 1110 "Freeplay" + 1100 1111 20 20 3 1101 1111 3 3 4 1110 1111 20 20 0* 1111 1111 "Freeplay" Table 2 (for 1 Coin Slot): @@ -721,9 +513,11 @@ bit 3210 5432 L R C 1101 1xxx 3 3 4 1110 0xxx 4 4 3 - 1110 1xxx 20 20 0 Not a "Freeplay": you MUST insert a coin! + 1110 1xxx 20 20 0* 1111 xxxx "Freeplay" + + 0*: Not a "Freeplay": you MUST insert a coin! */ @@ -767,7 +561,7 @@ bit 3210 5432 L R C PORT_DIPSETTING( 0x0d, "1101" ) PORT_DIPSETTING( 0x0e, "1110" ) PORT_DIPSETTING( 0x0f, "1111" ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, punchout_state,punchout_vlm5030_busy_r, NULL) /* VLM5030 busy signal */ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("vlm", vlm5030_device, bsy) /* VLM5030 busy signal */ PORT_DIPNAME( 0x40, 0x00, "Coin Slots" ) PORT_DIPLOCATION("R18:!1") /* R18 resistor */ PORT_DIPSETTING( 0x40, "1" ) PORT_DIPSETTING( 0x00, "2" ) diff --git a/src/mame/includes/punchout.h b/src/mame/includes/punchout.h index 7c9dff1bcca..088b103af54 100644 --- a/src/mame/includes/punchout.h +++ b/src/mame/includes/punchout.h @@ -64,7 +64,6 @@ public: DECLARE_WRITE8_MEMBER(armwrest_fg_videoram_w); DECLARE_WRITE8_MEMBER(punchout_spr1_videoram_w); DECLARE_WRITE8_MEMBER(punchout_spr2_videoram_w); - DECLARE_CUSTOM_INPUT_MEMBER(punchout_vlm5030_busy_r); DECLARE_WRITE8_MEMBER(punchout_speech_reset_w); DECLARE_WRITE8_MEMBER(punchout_speech_st_w); DECLARE_WRITE8_MEMBER(punchout_speech_vcu_w);