gunpey, hexion, triplhnt, ultratnk: initialized some variables which were causing incorrect behaviours in drvnoclear debug builds

This commit is contained in:
Ivan Vangelista 2021-02-12 13:57:42 +01:00
parent 9ba8e4a8c8
commit dd8ee157d8
7 changed files with 27 additions and 9 deletions

View File

@ -250,6 +250,7 @@ public:
void gunpey(machine_config &config);
protected:
virtual void machine_start() override;
virtual void video_start() override;
private:
@ -309,6 +310,12 @@ private:
};
void gunpey_state::machine_start()
{
m_irq_cause = 0;
m_irq_mask = 0;
}
void gunpey_state::video_start()
{
// assumes it can make an address mask from m_blit_rom.length() - 1

View File

@ -92,6 +92,8 @@ uint8_t triplhnt_state::da_latch_r(offs_t offset)
void triplhnt_state::machine_start()
{
m_lamp.resolve();
m_hit_code = 0;
}

View File

@ -24,6 +24,9 @@ public:
void hexion(machine_config &config);
void hexionb(machine_config &config);
protected:
virtual void video_start() override;
private:
required_device<cpu_device> m_maincpu;
required_device<k053252_device> m_k053252;
@ -55,8 +58,6 @@ private:
TIMER_DEVICE_CALLBACK_MEMBER(scanline);
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
inline void get_tile_info(tile_data &tileinfo,int tile_index,uint8_t *ram);
void hexion_map(address_map &map);

View File

@ -52,6 +52,11 @@ public:
void init_triplhnt();
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual void machine_start() override;
virtual void video_start() override;
private:
enum
{
@ -67,15 +72,12 @@ private:
uint8_t da_latch_r(offs_t offset);
TILE_GET_INFO_MEMBER(get_tile_info);
virtual void video_start() override;
void triplhnt_palette(palette_device &palette) const;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
void set_collision(int code);
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual void machine_start() override;
void triplhnt_map(address_map &map);
required_device<cpu_device> m_maincpu;

View File

@ -36,6 +36,12 @@ public:
void ultratnk(machine_config &config);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
private:
enum
{
TIMER_NMI
@ -54,9 +60,6 @@ protected:
void attract_w(uint8_t data);
void explosion_w(uint8_t data);
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
void ultratnk_palette(palette_device &palette) const;
TILE_GET_INFO_MEMBER(tile_info);
@ -64,7 +67,6 @@ protected:
DECLARE_WRITE_LINE_MEMBER(screen_vblank);
TIMER_CALLBACK_MEMBER(nmi_callback);
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
void ultratnk_cpu_map(address_map &map);
required_device<cpu_device> m_maincpu;

View File

@ -53,6 +53,8 @@ void hexion_state::video_start()
m_unkram = m_vram[1] + 0x2000;
membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x2000);
m_gfxrom_select = 0;
}

View File

@ -50,6 +50,8 @@ void ultratnk_state::video_start()
m_screen->register_screen_bitmap(m_helper);
m_playfield = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(ultratnk_state::tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
std::fill(std::begin(m_collision), std::end(m_collision), 0);
}