diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2020-11-09 20:36:46 +0100 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2020-11-09 20:36:46 +0100 |
commit | 62c7af181331e9abe05461c17143eba54ead9581 (patch) | |
tree | c2fa43d642e0b4b23b8b74afefcc584101e0a9e3 | |
parent | 3e04e4b78eccb525031b322f2484417e2fbfc2ae (diff) |
meadows.cpp: fixed MT07783
-rw-r--r-- | src/mame/drivers/meadows.cpp | 36 | ||||
-rw-r--r-- | src/mame/includes/meadows.h | 5 | ||||
-rw-r--r-- | src/mame/video/meadows.cpp | 20 |
3 files changed, 29 insertions, 32 deletions
diff --git a/src/mame/drivers/meadows.cpp b/src/mame/drivers/meadows.cpp index bf0dc57544a..88d3baa3f82 100644 --- a/src/mame/drivers/meadows.cpp +++ b/src/mame/drivers/meadows.cpp @@ -444,44 +444,42 @@ INPUT_PORTS_END static INPUT_PORTS_START( bowl3d ) PORT_START("INPUTS1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_NAME("P1 Hook right") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("P1 Hook left") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Bowl slow") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Bowl fast") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("INPUTS2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME("P2 Hook right") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 Hook left") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Bowl slow") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Bowl fast") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) + PORT_DIPNAME( 0x03, 0x00, "CPU bowls ball after" ) + PORT_DIPSETTING( 0x00, "120 seconds" ) + PORT_DIPSETTING( 0x01, "3 seconds" ) + PORT_DIPSETTING( 0x02, "4 seconds" ) + PORT_DIPSETTING( 0x03, "5 seconds" ) PORT_DIPNAME( 0x04, 0x00, "Coin Option" ) PORT_DIPSETTING( 0x00, "2 Players / 1 Coin" ) PORT_DIPSETTING( 0x04, "1/2 Player(s) / 1/2 Coin(s)" ) PORT_DIPNAME( 0x08, 0x00, "Beer Frame" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) ) + PORT_DIPNAME( 0x30, 0x00, "Extended play" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x20, DEF_STR( On ) ) + PORT_DIPSETTING( 0x10, "250" ) + PORT_DIPSETTING( 0x20, "275" ) + PORT_DIPSETTING( 0x30, "300" ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unused ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x40, DEF_STR( On ) ) diff --git a/src/mame/includes/meadows.h b/src/mame/includes/meadows.h index 60b49339b21..9b25f4fd2c7 100644 --- a/src/mame/includes/meadows.h +++ b/src/mame/includes/meadows.h @@ -43,6 +43,10 @@ public: DECLARE_INPUT_CHANGED_MEMBER(coin_inserted); +protected: + virtual void machine_start() override { m_main_sense_state = 0; } + virtual void video_start() override; + private: required_device<s2650_device> m_maincpu; optional_device<s2650_device> m_audiocpu; @@ -77,7 +81,6 @@ private: void meadows_videoram_w(offs_t offset, uint8_t data); void meadows_spriteram_w(offs_t offset, uint8_t data); TILE_GET_INFO_MEMBER(get_tile_info); - virtual void video_start() override; uint32_t screen_update_meadows(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); DECLARE_WRITE_LINE_MEMBER(meadows_vblank_irq); DECLARE_WRITE_LINE_MEMBER(minferno_vblank_irq); diff --git a/src/mame/video/meadows.cpp b/src/mame/video/meadows.cpp index 353ba892d64..d3e01bd0d8d 100644 --- a/src/mame/video/meadows.cpp +++ b/src/mame/video/meadows.cpp @@ -22,8 +22,7 @@ TILE_GET_INFO_MEMBER(meadows_state::get_tile_info) { - uint8_t *videoram = m_videoram; - tileinfo.set(0, videoram[tile_index] & 0x7f, 0, 0); + tileinfo.set(0, m_videoram[tile_index] & 0x7f, 0, 0); } @@ -78,17 +77,14 @@ void meadows_state::meadows_spriteram_w(offs_t offset, uint8_t data) void meadows_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &clip) { - uint8_t *spriteram = m_spriteram; - int i; - - for (i = 0; i < 4; i++) + for (int i = 0; i < 4; i++) { - int x = spriteram[i+0] + SPR_ADJUST_X; - int y = spriteram[i+4] + SPR_ADJUST_Y; - int code = spriteram[i+8] & 0x0f; /* bit #0 .. #3 select sprite */ -/* int bank = (spriteram[i+8] >> 4) & 1; bit #4 selects prom ??? */ - int bank = i; /* that fixes it for now :-/ */ - int flip = spriteram[i+8] >> 5; /* bit #5 flip vertical flag */ + int x = m_spriteram[i+0] + SPR_ADJUST_X; + int y = m_spriteram[i+4] + SPR_ADJUST_Y; + int code = m_spriteram[i+8] & 0x0f; /* bit #0 .. #3 select sprite */ +/* int bank = (m_spriteram[i+8] >> 4) & 1; bit #4 selects prom ??? */ + int bank = i; /* that fixes it for now :-/ */ + int flip = m_spriteram[i+8] >> 5; /* bit #5 flip vertical flag */ m_gfxdecode->gfx(bank + 1)->transpen(bitmap,clip, code, 0, flip, 0, x, y, 0); } |