mirror of
https://github.com/holub/mame
synced 2025-10-08 09:30:17 +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 */
|
/* 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)
|
WRITE8_MEMBER(chqflag_state::chqflag_vreg_w)
|
||||||
{
|
{
|
||||||
/* bits 0 & 1 = coin counters */
|
/* bits 0 & 1 = coin counters */
|
||||||
@ -78,14 +86,10 @@ WRITE8_MEMBER(chqflag_state::chqflag_vreg_w)
|
|||||||
|
|
||||||
if ((data & 0x80) != m_last_vreg)
|
if ((data & 0x80) != m_last_vreg)
|
||||||
{
|
{
|
||||||
double brt = (data & 0x80) ? PALETTE_DEFAULT_SHADOW_FACTOR : 1.0;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
m_last_vreg = data & 0x80;
|
m_last_vreg = data & 0x80;
|
||||||
|
|
||||||
/* only affect the background */
|
/* only affect the background */
|
||||||
for (i = 512; i < 1024; i++)
|
update_background_shadows(data);
|
||||||
m_palette->set_pen_contrast(i, brt);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//if ((data & 0xf8) && (data & 0xf8) != 0x88)
|
//if ((data & 0xf8) && (data & 0xf8) != 0x88)
|
||||||
@ -286,6 +290,7 @@ void chqflag_state::machine_reset()
|
|||||||
m_analog_ctrl = 0;
|
m_analog_ctrl = 0;
|
||||||
m_accel = 0;
|
m_accel = 0;
|
||||||
m_wheel = 0;
|
m_wheel = 0;
|
||||||
|
update_background_shadows(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( chqflag )
|
static MACHINE_CONFIG_START( chqflag )
|
||||||
|
@ -30,6 +30,25 @@ public:
|
|||||||
m_soundlatch2(*this, "soundlatch2"),
|
m_soundlatch2(*this, "soundlatch2"),
|
||||||
m_rombank(*this, "rombank") { }
|
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 */
|
/* misc */
|
||||||
int m_k051316_readroms;
|
int m_k051316_readroms;
|
||||||
int m_last_vreg;
|
int m_last_vreg;
|
||||||
@ -51,22 +70,5 @@ public:
|
|||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
required_memory_bank m_rombank;
|
required_memory_bank m_rombank;
|
||||||
|
void update_background_shadows(uint8_t data);
|
||||||
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);
|
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user