mirror of
https://github.com/holub/mame
synced 2025-10-07 09:25:34 +03:00
chqflag.cpp: fixed dimmed screen condition bug when soft resetting [Angelo Salese]
This commit is contained in:
parent
a37b95a7ce
commit
d2b962fbf9
@ -57,6 +57,14 @@ WRITE8_MEMBER(chqflag_state::chqflag_bankswitch_w)
|
||||
/* other bits unknown/unused */
|
||||
}
|
||||
|
||||
inline void chqflag_state::update_background_shadows(uint8_t data)
|
||||
{
|
||||
double brt = (data & 0x80) ? PALETTE_DEFAULT_SHADOW_FACTOR : 1.0;
|
||||
|
||||
for (int i = 512; i < 1024; i++)
|
||||
m_palette->set_pen_contrast(i, brt);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(chqflag_state::chqflag_vreg_w)
|
||||
{
|
||||
/* bits 0 & 1 = coin counters */
|
||||
@ -78,14 +86,10 @@ WRITE8_MEMBER(chqflag_state::chqflag_vreg_w)
|
||||
|
||||
if ((data & 0x80) != m_last_vreg)
|
||||
{
|
||||
double brt = (data & 0x80) ? PALETTE_DEFAULT_SHADOW_FACTOR : 1.0;
|
||||
int i;
|
||||
|
||||
m_last_vreg = data & 0x80;
|
||||
|
||||
/* only affect the background */
|
||||
for (i = 512; i < 1024; i++)
|
||||
m_palette->set_pen_contrast(i, brt);
|
||||
update_background_shadows(data);
|
||||
}
|
||||
|
||||
//if ((data & 0xf8) && (data & 0xf8) != 0x88)
|
||||
@ -286,6 +290,7 @@ void chqflag_state::machine_reset()
|
||||
m_analog_ctrl = 0;
|
||||
m_accel = 0;
|
||||
m_wheel = 0;
|
||||
update_background_shadows(0);
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( chqflag )
|
||||
|
@ -30,6 +30,25 @@ public:
|
||||
m_soundlatch2(*this, "soundlatch2"),
|
||||
m_rombank(*this, "rombank") { }
|
||||
|
||||
DECLARE_READ8_MEMBER(k051316_1_ramrom_r);
|
||||
DECLARE_READ8_MEMBER(k051316_2_ramrom_r);
|
||||
DECLARE_WRITE8_MEMBER(chqflag_bankswitch_w);
|
||||
DECLARE_WRITE8_MEMBER(chqflag_vreg_w);
|
||||
DECLARE_WRITE8_MEMBER(select_analog_ctrl_w);
|
||||
DECLARE_READ8_MEMBER(analog_read_r);
|
||||
DECLARE_WRITE8_MEMBER(chqflag_sh_irqtrigger_w);
|
||||
DECLARE_WRITE8_MEMBER(k007232_bankswitch_w);
|
||||
DECLARE_WRITE8_MEMBER(k007232_extvolume_w);
|
||||
DECLARE_WRITE8_MEMBER(volume_callback0);
|
||||
DECLARE_WRITE8_MEMBER(volume_callback1);
|
||||
K051316_CB_MEMBER(zoom_callback_1);
|
||||
K051316_CB_MEMBER(zoom_callback_2);
|
||||
K051960_CB_MEMBER(sprite_callback);
|
||||
uint32_t screen_update_chqflag(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
private:
|
||||
/* misc */
|
||||
int m_k051316_readroms;
|
||||
int m_last_vreg;
|
||||
@ -51,22 +70,5 @@ public:
|
||||
|
||||
/* memory pointers */
|
||||
required_memory_bank m_rombank;
|
||||
|
||||
DECLARE_READ8_MEMBER(k051316_1_ramrom_r);
|
||||
DECLARE_READ8_MEMBER(k051316_2_ramrom_r);
|
||||
DECLARE_WRITE8_MEMBER(chqflag_bankswitch_w);
|
||||
DECLARE_WRITE8_MEMBER(chqflag_vreg_w);
|
||||
DECLARE_WRITE8_MEMBER(select_analog_ctrl_w);
|
||||
DECLARE_READ8_MEMBER(analog_read_r);
|
||||
DECLARE_WRITE8_MEMBER(chqflag_sh_irqtrigger_w);
|
||||
DECLARE_WRITE8_MEMBER(k007232_bankswitch_w);
|
||||
DECLARE_WRITE8_MEMBER(k007232_extvolume_w);
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
uint32_t screen_update_chqflag(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
DECLARE_WRITE8_MEMBER(volume_callback0);
|
||||
DECLARE_WRITE8_MEMBER(volume_callback1);
|
||||
K051316_CB_MEMBER(zoom_callback_1);
|
||||
K051316_CB_MEMBER(zoom_callback_2);
|
||||
K051960_CB_MEMBER(sprite_callback);
|
||||
void update_background_shadows(uint8_t data);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user