apple2gs, pc9801, slapshot, viper, x68k: initialized some variables which were causing incorrect behaviours in drvnoclear debug builds

This commit is contained in:
Ivan Vangelista 2021-03-04 13:18:00 +01:00
parent 606be5dbc3
commit e3d0004eed
5 changed files with 38 additions and 15 deletions

View File

@ -127,6 +127,9 @@
#include "bus/a2gameio/gameio.h"
namespace {
// various timing standards
#define A2GS_MASTER_CLOCK (XTAL(28'636'363))
#define A2GS_14M (A2GS_MASTER_CLOCK/2)
@ -223,6 +226,17 @@ public:
m_diskreg = 0;
}
void apple2gs(machine_config &config);
void apple2gsr1(machine_config &config);
void rom1_init() { m_is_rom3 = false; }
void rom3_init() { m_is_rom3 = true; }
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
private:
required_device<g65816_device> m_maincpu;
required_device<screen_device> m_screen;
required_device<timer_device> m_scantimer, m_acceltimer;
@ -377,15 +391,9 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(apple2_interrupt);
TIMER_DEVICE_CALLBACK_MEMBER(accel_timer);
virtual void machine_start() override;
virtual void machine_reset() override;
void palette_init(palette_device &palette);
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void apple2gs(machine_config &config);
void apple2gsr1(machine_config &config);
void apple2gs_map(address_map &map);
void vectors_map(address_map &map);
void c300bank_map(address_map &map);
@ -415,12 +423,8 @@ public:
floppy_image_device *m_cur_floppy;
int m_devsel;
u8 m_diskreg; // move into private when we can
u8 m_diskreg;
void rom1_init() { m_is_rom3 = false; }
void rom3_init() { m_is_rom3 = true; }
private:
u8 ram0000_r(offs_t offset);
void ram0000_w(offs_t offset, u8 data);
u8 auxram0000_r(offs_t offset);
@ -496,8 +500,8 @@ private:
u8 keyglu_mcu_read(u8 offset);
void keyglu_mcu_write(u8 offset, u8 data);
u8 keyglu_816_read(u8 offset);
void keyglu_816_write(u8 offset, u8 data);
[[maybe_unused]] u8 keyglu_816_read(u8 offset);
[[maybe_unused]] void keyglu_816_write(u8 offset, u8 data);
void keyglu_regen_irqs();
u8 adbmicro_p0_in();
@ -512,7 +516,6 @@ private:
offs_t dasm_trampoline(std::ostream &stream, offs_t pc, const util::disasm_interface::data_buffer &opcodes, const util::disasm_interface::data_buffer &params);
void wdm_trampoline(offs_t offset, u8 data) { }; //m_a2host->wdm_w(space, offset, data); }
private:
bool m_is_rom3;
int m_speaker_state;
@ -1364,6 +1367,9 @@ void apple2gs_state::machine_start()
m_b0_2000bank->set_bank(0);
m_b0_4000bank->set_bank(0);
m_inh_bank = 0;
m_transchar = 0;
m_anykeydown = false;
std::fill(std::begin(m_megaii_ram), std::end(m_megaii_ram), 0);
m_nvram->set_base(m_clock_bram, sizeof(m_clock_bram));
@ -5102,6 +5108,9 @@ ROM_START(apple2gsr0p2) // 3/10/1986 Cortland prototype, boots as "Apple //'ing
ROM_LOAD( "341-0132-d.e12", 0x000, 0x800, CRC(c506efb9) SHA1(8e14e85c645187504ec9d162b3ea614a0c421d32) )
ROM_END
} // Anonymous namespace
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */
COMP( 1989, apple2gs, 0, apple2, apple2gs, apple2gs, apple2gs_state, rom3_init, "Apple Computer", "Apple IIgs (ROM03)", MACHINE_SUPPORTS_SAVE )
COMP( 198?, apple2gsr3p, apple2gs, 0, apple2gs, apple2gs, apple2gs_state, rom3_init, "Apple Computer", "Apple IIgs (ROM03 prototype)", MACHINE_NOT_WORKING )

View File

@ -2418,9 +2418,15 @@ void viper_state::machine_start()
save_item(STRUCT_MEMBER(m_epic.global_timer, base_count));
save_item(STRUCT_MEMBER(m_epic.global_timer, enable));
m_unk_serial_bit_w = 0;
std::fill(std::begin(m_unk_serial_regs), std::end(m_unk_serial_regs), 0);
m_ds2430_data_count = 0;
m_ds2430_state = 0;
m_ds2430_reset = 0;
std::fill(std::begin(m_voodoo3_pci_reg), std::end(m_voodoo3_pci_reg), 0);
std::fill(std::begin(m_mpc8240_regs), std::end(m_mpc8240_regs), 0);
}
void viper_state::machine_reset()

View File

@ -1551,6 +1551,11 @@ void x68k_state::machine_start()
m_mouse.irqactive = false;
m_current_ipl = 0;
m_adpcm.rate = 0;
m_adpcm.clock = 0;
m_sysport.sram_writeprotect = 0;
m_sysport.monitor = 0;
m_bus_error = false;
m_led_state = 0;
}
void x68k_state::driver_init()

View File

@ -88,7 +88,9 @@ private:
s32 m_sprites_master_scrolly;
bool m_sprites_flipscreen;
bool m_prepare_sprites;
int m_dislayer[5];
#ifdef MAME_DEBUG
int m_dislayer[5] = { 0, 0, 0, 0, 0 };
#endif
emu_timer *m_int6_timer;

View File

@ -22,6 +22,7 @@ void pc9801_state::video_start()
m_kanji_rom = memregion("kanji")->base();
std::fill(std::begin(m_ex_video_ff), std::end(m_ex_video_ff), 0);
std::fill(std::begin(m_video_ff), std::end(m_video_ff), 0);
}
uint32_t pc9801_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)