astrocde, drw80pkr, fm7, hp9845, igs011, mc1000, nmk16, ti99_8, williams, xor100: initialized some variables which were causing asserts / crashes / regressions in drvnoclear builds

This commit is contained in:
Ivan Vangelista 2020-10-31 16:04:49 +01:00
parent cf7fe1e04d
commit 7967be840d
14 changed files with 46 additions and 6 deletions

View File

@ -39,6 +39,8 @@
#include "tilemap.h"
namespace {
class drw80pkr_state : public driver_device
{
public:
@ -105,6 +107,8 @@ private:
void drw80pkr_state::machine_start()
{
subdevice<nvram_device>("nvram")->set_base(m_pkr_io_ram, sizeof(m_pkr_io_ram));
m_active_bank = 0;
}
/*****************
@ -502,6 +506,8 @@ ROM_START( drw80pk2 )
ROM_LOAD( "cap13.u92", 0x0000, 0x0100, CRC(be67a8d9) SHA1(24b8cd19a5ec09779a737f6fc8c07b44f1226c8f) )
ROM_END
} // Anonymous namespace
/*************************
* Game Drivers *
*************************/

View File

@ -1875,6 +1875,7 @@ void fm7_state::init_fm7()
m_subtimer = timer_alloc(TIMER_FM7_SUBTIMER_IRQ);
m_keyboard_timer = timer_alloc(TIMER_FM7_KEYBOARD_POLL);
m_fm77av_vsync_timer = timer_alloc(TIMER_FM77AV_VSYNC);
m_init_rom_en = 0;
}
MACHINE_START_MEMBER(fm7_state,fm7)

View File

@ -77,6 +77,8 @@ Notes:
#include "speaker.h"
namespace {
class igs011_state : public driver_device
{
public:
@ -618,6 +620,8 @@ void igs011_state::igs011_blit_flags_w(offs_t offset, u16 data, u16 mem_mask)
void igs011_state::machine_start()
{
m_prot1_addr = 0;
save_item(NAME(m_igs_dips_sel));
save_item(NAME(m_igs_input_sel));
save_item(NAME(m_igs_hopper));
@ -4905,6 +4909,8 @@ ROM_START( xymg )
ROM_CONTINUE( 0x00000, 0x80000 ) // 1ST+2ND IDENTICAL
ROM_END
} // Anonymous namespace
/***************************************************************************

View File

@ -39,6 +39,8 @@
#include "speaker.h"
namespace {
#define SCREEN_TAG "screen"
#define Z80_TAG "u13"
#define AY8910_TAG "u21"
@ -109,8 +111,8 @@ private:
/* memory state */
int m_rom0000;
int m_mc6845_bank;
int m_mc6847_bank;
uint8_t m_mc6845_bank;
uint8_t m_mc6847_bank;
/* keyboard state */
int m_keylatch;
@ -458,6 +460,8 @@ void mc1000_state::machine_start()
membank("bank1")->set_entry(1);
m_rom0000 = 1;
m_mc6845_bank = 0;
m_mc6847_bank = 0;
membank("bank2")->configure_entry(0, m_banked_ram.get() + 0x2000);
membank("bank2")->configure_entry(1, m_mc6845_video_ram);
@ -603,6 +607,8 @@ ROM_START( mc1000 )
ROM_LOAD( "mc1000.ic12", 0x2000, 0x2000, CRC(750c95f0) SHA1(fd766f5ea4481ef7fd4df92cf7d8397cc2b5a6c4) )
ROM_END
} // Anonymous namespace
/* System Drivers */

View File

@ -5273,6 +5273,7 @@ void nmk16_state::init_tharrier()
m_okibank[0]->configure_entries(0, 4, memregion("oki1")->base() + 0x20000, 0x20000);
m_okibank[1]->configure_entries(0, 4, memregion("oki2")->base() + 0x20000, 0x20000);
save_item(NAME(m_prot_count));
m_prot_count = 0;
}
void nmk16_state::init_hachamf_prot()

View File

@ -673,6 +673,8 @@ void ti99_8_state::driver_reset()
// m_gromport->set_grom_base(0x9800, 0xfff1);
m_keyboard_column = 0;
// Clear INT1 and INT2 latch
m_int1 = CLEAR_LINE;
m_int2 = CLEAR_LINE;

View File

@ -443,6 +443,7 @@ void xor100_state::machine_start()
int banks = m_ram->size() / 0x10000;
uint8_t *ram = m_ram->pointer();
uint8_t *rom = m_rom->base();
m_bank = 0;
/* setup memory banking */
membank("bank1")->configure_entries(1, banks, ram, 0x10000);

View File

@ -142,7 +142,6 @@ public:
void init_ebases();
void init_gorf();
void init_astrocde();
virtual void video_start() override;
void astrocade_palette(palette_device &palette) const;
DECLARE_VIDEO_START(profpac);
void profpac_palette(palette_device &palette) const;
@ -156,7 +155,6 @@ public:
inline void increment_dest(uint8_t curwidth);
void execute_blit();
void init_sparklestar();
virtual void machine_start() override;
void votrax_speech_w(uint8_t data);
DECLARE_READ_LINE_MEMBER( votrax_speech_status_r );
@ -183,7 +181,10 @@ public:
void seawolf2_map(address_map &map);
void spacezap_map(address_map &map);
void wow_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void video_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};

View File

@ -89,7 +89,7 @@ protected:
typedef struct {
uint8_t chars[ 80 ];
uint8_t attrs[ 80 ];
bool full;
bool full = 0;
} video_buffer_t;
bitmap_rgb32 m_bitmap;

View File

@ -125,7 +125,7 @@ protected:
std::unique_ptr<u16[]> m_spriteram_old2;
int m_bgbank;
int m_bioship_background_bank;
tilemap_t *m_bg_tilemap[2];
tilemap_t *m_bg_tilemap[2] = {nullptr,nullptr};
tilemap_t *m_tx_tilemap;
int m_mustang_bg_xscroll;
u8 m_scroll[2][4];

View File

@ -378,6 +378,9 @@ void blaster_state::machine_start()
/* register for save states */
save_item(NAME(m_vram_bank));
save_item(NAME(m_rom_bank));
m_vram_bank = 0;
m_rom_bank = 0;
}

View File

@ -26,6 +26,8 @@ void astrocde_state::machine_start()
{
save_item(NAME(m_ram_write_enable));
save_item(NAME(m_input_select));
m_input_select = 0;
}
void seawolf2_state::machine_start()
@ -211,6 +213,8 @@ VIDEO_START_MEMBER(astrocde_state,profpac)
save_item(NAME(m_profpac_writemode));
save_item(NAME(m_profpac_writemask));
save_item(NAME(m_profpac_vw));
std::fill(std::begin(m_profpac_palette), std::end(m_profpac_palette), 0);
}

View File

@ -1403,6 +1403,8 @@ void fm7_state::fm7_console_ram_banked_w(offs_t offset, uint8_t data)
void fm7_state::video_start()
{
m_video.sub_busy = 0;
m_video.sub_halt = 0;
m_video.vram_access = 0;
m_video.crt_enable = 0;
m_video.vram_offset = 0x0000;
@ -1411,11 +1413,14 @@ void fm7_state::video_start()
m_video.multi_page = 0;
m_video.subrom = 0;
m_video.cgrom = 0;
m_video.modestatus = 0;
m_video.fine_offset = 0;
m_video.nmi_mask = 0;
m_video.active_video_page = 0;
m_video.display_video_page = 0;
m_video.vsync_flag = 0;
m_alu.command = 0;
}
uint32_t fm7_state::screen_update_fm7(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)

View File

@ -109,6 +109,7 @@ VIDEO_START_MEMBER(nmk16_state, bioship)
VIDEO_START_MEMBER(nmk16_state,macross)
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, NAME((&nmk16_state::common_get_bg_tile_info<0, 1>))), tilemap_mapper_delegate(*this, FUNC(nmk16_state::tilemap_scan_pages)), 16, 16, 256, 32);
m_bg_tilemap[1] = nullptr;
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(nmk16_state::common_get_tx_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
m_tx_tilemap->set_transparent_pen(15);
@ -128,6 +129,7 @@ VIDEO_START_MEMBER(nmk16_state,strahl)
VIDEO_START_MEMBER(nmk16_state,macross2)
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, NAME((&nmk16_state::common_get_bg_tile_info<0, 1>))), tilemap_mapper_delegate(*this, FUNC(nmk16_state::tilemap_scan_pages)), 16, 16, 256, 32);
m_bg_tilemap[1] = nullptr;
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(nmk16_state::common_get_tx_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
m_tx_tilemap->set_transparent_pen(15);
@ -147,6 +149,7 @@ VIDEO_START_MEMBER(nmk16_state,gunnail)
VIDEO_START_MEMBER(nmk16_state, bjtwin)
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(nmk16_state::bjtwin_get_bg_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
m_bg_tilemap[1] = nullptr;
video_init();
// 384x224 screen, leftmost 64 pixels have to be retrieved from the other side of the tilemap (!)
@ -405,6 +408,7 @@ VIDEO_START_MEMBER(afega_state,grdnstrm)
{
// 8bpp Tilemap
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(afega_state::get_bg_tile_info_8bit)), tilemap_mapper_delegate(*this, FUNC(afega_state::tilemap_scan_pages)), 16, 16, 256, 32);
m_bg_tilemap[1] = nullptr;
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(afega_state::common_get_tx_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
m_tx_tilemap->set_transparent_pen(15);