summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2021-03-04 13:18:00 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2021-03-04 13:18:00 +0100
commite3d0004eed9f933844fbf8db6a9f78174fecd3c6 (patch)
tree80550ace7b2d69fbbdefc353f697b2b308358636
parent606be5dbc35551bbef4232b526bc2187e0541a87 (diff)
apple2gs, pc9801, slapshot, viper, x68k: initialized some variables which were causing incorrect behaviours in drvnoclear debug builds
-rw-r--r--src/mame/drivers/apple2gs.cpp37
-rw-r--r--src/mame/drivers/viper.cpp6
-rw-r--r--src/mame/drivers/x68k.cpp5
-rw-r--r--src/mame/includes/slapshot.h4
-rw-r--r--src/mame/video/pc9801.cpp1
5 files changed, 38 insertions, 15 deletions
diff --git a/src/mame/drivers/apple2gs.cpp b/src/mame/drivers/apple2gs.cpp
index f2482e2f4bd..dfd45ac88b3 100644
--- a/src/mame/drivers/apple2gs.cpp
+++ b/src/mame/drivers/apple2gs.cpp
@@ -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
-
- void rom1_init() { m_is_rom3 = false; }
- void rom3_init() { m_is_rom3 = true; }
+ u8 m_diskreg;
-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 )
diff --git a/src/mame/drivers/viper.cpp b/src/mame/drivers/viper.cpp
index ef1d673a04e..346b2d2eea0 100644
--- a/src/mame/drivers/viper.cpp
+++ b/src/mame/drivers/viper.cpp
@@ -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()
diff --git a/src/mame/drivers/x68k.cpp b/src/mame/drivers/x68k.cpp
index 84bfb542fa0..254f62d79e8 100644
--- a/src/mame/drivers/x68k.cpp
+++ b/src/mame/drivers/x68k.cpp
@@ -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()
diff --git a/src/mame/includes/slapshot.h b/src/mame/includes/slapshot.h
index 9463402b898..68deee608d3 100644
--- a/src/mame/includes/slapshot.h
+++ b/src/mame/includes/slapshot.h
@@ -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;
diff --git a/src/mame/video/pc9801.cpp b/src/mame/video/pc9801.cpp
index 3936ab8f1ca..007929063c8 100644
--- a/src/mame/video/pc9801.cpp
+++ b/src/mame/video/pc9801.cpp
@@ -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)