mirror of
https://github.com/holub/mame
synced 2025-10-08 09:30:17 +03:00
mrgame.c : fixed colours.
This commit is contained in:
parent
51d0087695
commit
fc8eb400c0
@ -18,13 +18,12 @@ How to set up the machine (motrshow, motrshowa, dakar):
|
|||||||
- Press Left shift and Right shift together (game stops responding)
|
- Press Left shift and Right shift together (game stops responding)
|
||||||
- Turn the Ram Protect Switch back on
|
- Turn the Ram Protect Switch back on
|
||||||
- Press F3 or reboot
|
- Press F3 or reboot
|
||||||
- The default settings have been loaded and you can insert coins
|
- The default settings have been saved to nvram and you can insert coins
|
||||||
- However, the game cannot be played due to missing balls.
|
- However, the game cannot be played due to missing balls.
|
||||||
|
|
||||||
ToDo:
|
ToDo:
|
||||||
- Support for electronic volume control
|
- Support for electronic volume control
|
||||||
- Audio rom banking
|
- Audio rom banking
|
||||||
- Wrong colours
|
|
||||||
- Most sounds missing due to unemulated M114 chip
|
- Most sounds missing due to unemulated M114 chip
|
||||||
- wcup90 is different hardware and there's no schematic
|
- wcup90 is different hardware and there's no schematic
|
||||||
|
|
||||||
@ -84,6 +83,7 @@ private:
|
|||||||
bool m_ack1;
|
bool m_ack1;
|
||||||
bool m_ack2;
|
bool m_ack2;
|
||||||
bool m_ackv;
|
bool m_ackv;
|
||||||
|
bool m_flip;
|
||||||
UINT8 m_irq_state;
|
UINT8 m_irq_state;
|
||||||
UINT8 m_row_data;
|
UINT8 m_row_data;
|
||||||
UINT8 m_sound_data;
|
UINT8 m_sound_data;
|
||||||
@ -264,6 +264,9 @@ WRITE8_MEMBER( mrgame_state::video_ctrl_w )
|
|||||||
else
|
else
|
||||||
if (offset == 4)
|
if (offset == 4)
|
||||||
m_gfx_bank = (m_gfx_bank & 3) | (BIT(data, 0) << 2);
|
m_gfx_bank = (m_gfx_bank & 3) | (BIT(data, 0) << 2);
|
||||||
|
else
|
||||||
|
if (offset == 6)
|
||||||
|
m_flip = BIT(data, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER( mrgame_state::ack1_w )
|
WRITE8_MEMBER( mrgame_state::ack1_w )
|
||||||
@ -307,6 +310,7 @@ void mrgame_state::machine_reset()
|
|||||||
m_ack1 = 0;
|
m_ack1 = 0;
|
||||||
m_ack2 = 0;
|
m_ack2 = 0;
|
||||||
m_ackv = 0;
|
m_ackv = 0;
|
||||||
|
m_flip = 0;
|
||||||
m_row_data = 0;
|
m_row_data = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -357,8 +361,8 @@ static const gfx_layout spritelayout =
|
|||||||
};
|
};
|
||||||
|
|
||||||
static GFXDECODE_START( mrgame )
|
static GFXDECODE_START( mrgame )
|
||||||
GFXDECODE_ENTRY( "chargen", 0, charlayout, 3, 1 )
|
GFXDECODE_ENTRY( "chargen", 0, charlayout, 0, 16 )
|
||||||
GFXDECODE_ENTRY( "chargen", 0, spritelayout, 3, 1 )
|
GFXDECODE_ENTRY( "chargen", 0, spritelayout, 0, 16 )
|
||||||
GFXDECODE_END
|
GFXDECODE_END
|
||||||
|
|
||||||
// this gives bad colours although it looks right
|
// this gives bad colours although it looks right
|
||||||
@ -396,6 +400,7 @@ PALETTE_INIT_MEMBER( mrgame_state, mrgame)
|
|||||||
b = combine_2_weights(bweights, bit0, bit1);
|
b = combine_2_weights(bweights, bit0, bit1);
|
||||||
|
|
||||||
palette.set_pen_color(i, rgb_t(r, g, b));
|
palette.set_pen_color(i, rgb_t(r, g, b));
|
||||||
|
palette.set_pen_color(i+32, rgb_t(r, g, b));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -420,7 +425,7 @@ UINT32 mrgame_state::screen_update_mrgame(screen_device &screen, bitmap_ind16 &b
|
|||||||
m_gfxdecode->gfx(0)->opaque(*m_tile_bitmap, m_tile_bitmap->cliprect(),
|
m_gfxdecode->gfx(0)->opaque(*m_tile_bitmap, m_tile_bitmap->cliprect(),
|
||||||
chr,
|
chr,
|
||||||
col,
|
col,
|
||||||
0,0,
|
m_flip,0,
|
||||||
x*8,y*8);
|
x*8,y*8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -475,7 +480,7 @@ static MACHINE_CONFIG_START( mrgame, mrgame_state )
|
|||||||
MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 247) // If you align with X on test screen some info is chopped off
|
MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 247) // If you align with X on test screen some info is chopped off
|
||||||
MCFG_SCREEN_UPDATE_DRIVER(mrgame_state, screen_update_mrgame)
|
MCFG_SCREEN_UPDATE_DRIVER(mrgame_state, screen_update_mrgame)
|
||||||
MCFG_SCREEN_PALETTE("palette")
|
MCFG_SCREEN_PALETTE("palette")
|
||||||
MCFG_PALETTE_ADD_INIT_BLACK("palette", 32)
|
MCFG_PALETTE_ADD("palette", 64)
|
||||||
MCFG_PALETTE_INIT_OWNER(mrgame_state, mrgame)
|
MCFG_PALETTE_INIT_OWNER(mrgame_state, mrgame)
|
||||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", mrgame)
|
MCFG_GFXDECODE_ADD("gfxdecode", "palette", mrgame)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user