mirror of
https://github.com/holub/mame
synced 2025-07-07 02:50:50 +03:00
meadows.cpp: fixed MT07783
This commit is contained in:
parent
3e04e4b78e
commit
62c7af1813
@ -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 ) )
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user