summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/bw12.cpp2
-rw-r--r--src/mame/drivers/calchase.cpp14
-rw-r--r--src/mame/drivers/halleys.cpp11
-rw-r--r--src/mame/drivers/mediagx.cpp9
-rw-r--r--src/mame/drivers/model2.cpp10
-rw-r--r--src/mame/drivers/namcos10.cpp14
-rw-r--r--src/mame/drivers/s3.cpp8
-rw-r--r--src/mame/drivers/s4.cpp8
-rw-r--r--src/mame/drivers/seattle.cpp5
-rw-r--r--src/mame/includes/arcadia.h26
-rw-r--r--src/mame/includes/model2.h10
-rw-r--r--src/mame/video/arcadia.cpp6
-rw-r--r--src/mame/video/beathead.cpp2
13 files changed, 101 insertions, 24 deletions
diff --git a/src/mame/drivers/bw12.cpp b/src/mame/drivers/bw12.cpp
index 7a45b119eb2..a13fa17be20 100644
--- a/src/mame/drivers/bw12.cpp
+++ b/src/mame/drivers/bw12.cpp
@@ -460,6 +460,8 @@ void bw12_state::machine_start()
void bw12_state::machine_reset()
{
+ m_key_stb = 0;
+ m_key_shift = 0;
}
static void bw12_floppies(device_slot_interface &device)
diff --git a/src/mame/drivers/calchase.cpp b/src/mame/drivers/calchase.cpp
index ded34063bcb..d67a94fa8b5 100644
--- a/src/mame/drivers/calchase.cpp
+++ b/src/mame/drivers/calchase.cpp
@@ -145,6 +145,8 @@ something wrong in the disk geometry reported by calchase.chd (20,255,63) since
#include "speaker.h"
+namespace {
+
class calchase_state : public pcat_base_state
{
public:
@@ -158,6 +160,10 @@ public:
void init_calchase();
void init_hostinv();
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
private:
std::unique_ptr<uint32_t[]> m_bios_ram;
std::unique_ptr<uint32_t[]> m_bios_ext_ram;
@@ -178,8 +184,6 @@ private:
uint32_t calchase_idle_skip_r();
void calchase_idle_skip_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
- virtual void machine_start() override;
- virtual void machine_reset() override;
void intel82439tx_init();
void calchase_io(address_map &map);
void calchase_map(address_map &map);
@@ -619,6 +623,9 @@ void calchase_state::machine_start()
m_nvram_data = std::make_unique<uint8_t[]>(0x800);
subdevice<nvram_device>("nvram")->set_base(m_nvram_data.get(), 0x800);
+
+ for (int i = 0; i < 4; i++)
+ std::fill(std::begin(m_piix4_config_reg[i]), std::end(m_piix4_config_reg[i]), 0);
}
void calchase_state::machine_reset()
@@ -764,6 +771,9 @@ ROM_START( eggsplc )
DISK_IMAGE_READONLY( "eggsplc", 0, SHA1(fa38dd6b0d25cde644f68cf639768f137c607eb5) )
ROM_END
+} // Anonymous namespace
+
+
GAME( 1998, hostinv, 0, hostinv, calchase, calchase_state, init_hostinv, ROT0, "The Game Room", "Host Invaders", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
GAME( 1999, calchase, 0, calchase, calchase, calchase_state, init_calchase, ROT0, "The Game Room", "California Chase", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
GAME( 2002, eggsplc, 0, calchase, calchase, calchase_state, init_hostinv, ROT0, "The Game Room", "Eggs Playing Chicken", 0 )
diff --git a/src/mame/drivers/halleys.cpp b/src/mame/drivers/halleys.cpp
index 18b653d6908..ac1f6c90997 100644
--- a/src/mame/drivers/halleys.cpp
+++ b/src/mame/drivers/halleys.cpp
@@ -174,6 +174,8 @@ Video sync 6 F Video sync Post 6 F Post
#include "speaker.h"
+namespace {
+
#define HALLEYS_DEBUG 0
@@ -235,6 +237,7 @@ public:
void init_halleysp();
protected:
+ virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
@@ -1916,9 +1919,13 @@ INPUT_PORTS_END
//**************************************************************************
// Machine Definitions and Initializations
-void halleys_state::machine_reset()
+void halleys_state::machine_start()
{
m_mVectorType = 0;
+}
+
+void halleys_state::machine_reset()
+{
m_firq_level = 0;
m_blitter_busy = 0;
m_collision_count = 0;
@@ -2270,6 +2277,8 @@ void halleys_state::init_halley87()
init_common();
}
+} // Anonymous namespace
+
//**************************************************************************
// Game Definitions
diff --git a/src/mame/drivers/mediagx.cpp b/src/mame/drivers/mediagx.cpp
index 6e20ffb9e58..d6091fecb56 100644
--- a/src/mame/drivers/mediagx.cpp
+++ b/src/mame/drivers/mediagx.cpp
@@ -79,6 +79,9 @@
#include "screen.h"
#include "speaker.h"
+
+namespace {
+
#define SPEEDUP_HACKS 1
class mediagx_state : public pcat_base_state
@@ -912,6 +915,10 @@ void mediagx_state::mediagx(machine_config &config)
void mediagx_state::init_mediagx()
{
m_frame_width = m_frame_height = 1;
+ m_parallel_pointer = 0;
+ std::fill(std::begin(m_disp_ctrl_reg), std::end(m_disp_ctrl_reg), 0);
+ std::fill(std::begin(m_biu_ctrl_reg), std::end(m_biu_ctrl_reg), 0);
+ std::fill(std::begin(m_speedup_hits), std::end(m_speedup_hits), 0);
}
#if SPEEDUP_HACKS
@@ -1015,6 +1022,8 @@ ROM_START( a51site4a ) /* When dumped connected straight to IDE the cylinders we
DISK_IMAGE( "a51site4-2_0", 0, SHA1(4de421e4d1708ecbdfb50730000814a1ea36a044) ) /* Stock drive, sticker on drive shows REV 2.0 and Test Mode screen shows the date September 11, 1998 */
ROM_END
+} // Anonymous namespace
+
/*****************************************************************************/
diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp
index b049f067f90..4b0272630ab 100644
--- a/src/mame/drivers/model2.cpp
+++ b/src/mame/drivers/model2.cpp
@@ -301,6 +301,13 @@ void model2_tgp_state::machine_reset()
m_copro_tgp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
+void model2o_gtx_state::machine_reset()
+{
+ model2_tgp_state::machine_reset();
+
+ m_gtx_state = 0;
+}
+
void model2a_state::machine_reset()
{
model2_tgp_state::machine_reset();
@@ -318,6 +325,9 @@ void model2b_state::machine_reset()
m_copro_adsp->set_input_line(SHARC_INPUT_FLAG0, ASSERT_LINE);
// clear FIFOOUT buffer full flag on SHARC
m_copro_adsp->set_input_line(SHARC_INPUT_FLAG1, CLEAR_LINE);
+
+ m_iop_data = 0;
+ m_iop_write_num = 0;
}
void model2c_state::machine_reset()
diff --git a/src/mame/drivers/namcos10.cpp b/src/mame/drivers/namcos10.cpp
index 5aabe9b3387..306c43ed4be 100644
--- a/src/mame/drivers/namcos10.cpp
+++ b/src/mame/drivers/namcos10.cpp
@@ -415,6 +415,8 @@ earlier TK games, so it appears to be optional or is only used by the later TK51
#include "speaker.h"
+namespace {
+
class namcos10_state : public driver_device
{
public:
@@ -451,6 +453,9 @@ public:
void init_chocovdr();
void init_konotako();
+protected:
+ virtual void machine_start() override;
+
private:
// memm variant interface
void crypto_switch_w(uint16_t data);
@@ -516,6 +521,12 @@ private:
};
+void namcos10_state::machine_start()
+{
+ nand_address = 0;
+}
+
+
void namcos10_state::namcos10_map(address_map &map)
{
map(0x1f500000, 0x1f501fff).ram().share("share3"); /* ram? stores block numbers */
@@ -1339,6 +1350,9 @@ ROM_START( pacmball )
ROM_LOAD( "k9f2808u0c.8d", 0x1080000, 0x1080000, CRC(f79d7199) SHA1(4ef9b758ee778e12f7fef717e063597299fb8219) )
ROM_END
+} // Anonymous namespace
+
+
GAME( 2000, mrdrilr2, 0, ns10_mrdrilr2, namcos10, namcos10_state, init_mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (Japan, DR21 Ver.A)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // PORT_4WAY joysticks
GAME( 2000, mrdrlr2a, mrdrilr2, ns10_mrdrilr2, namcos10, namcos10_state, init_mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (World, DR22 Ver.A)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // PORT_4WAY joysticks
GAME( 2000, ptblank3, 0, namcos10_memn_exio, namcos10, namcos10_state, init_gunbalna, ROT0, "Namco", "Point Blank 3 (World, GNN2 Ver.A)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // needs to hookup gun IO
diff --git a/src/mame/drivers/s3.cpp b/src/mame/drivers/s3.cpp
index 1890924dd16..c8d53f57291 100644
--- a/src/mame/drivers/s3.cpp
+++ b/src/mame/drivers/s3.cpp
@@ -49,6 +49,8 @@ ToDo:
#include "s3.lh"
+namespace {
+
class s3_state : public genpin_class
{
public:
@@ -71,6 +73,9 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
+protected:
+ virtual void machine_start() override { m_digits.resolve(); m_strobe = 0; }
+
private:
uint8_t sound_r();
void dig0_w(uint8_t data);
@@ -104,7 +109,6 @@ private:
uint8_t m_switch_col;
bool m_data_ok;
bool m_chimes;
- virtual void machine_start() override { m_digits.resolve(); }
required_device<cpu_device> m_maincpu;
optional_device<cpu_device> m_audiocpu;
required_device<pia6821_device> m_pia22;
@@ -602,6 +606,8 @@ ROM_START(pkrno_l1)
ROM_LOAD("488_s0_pokerino.716", 0x0000, 0x0800, CRC(5de02e62) SHA1(f838439a731511a264e508a576ae7193d9fed1af))
ROM_END
+} // Anonymous namespace
+
GAME( 1977, httip_l1, 0, s3, s3, s3_state, empty_init, ROT0, "Williams", "Hot Tip (L-1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING )
GAME( 1977, lucky_l1, 0, s3, s3, s3_state, empty_init, ROT0, "Williams", "Lucky Seven (L-1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING )
GAME( 1978, wldcp_l1, 0, s3a, s3, s3_state, empty_init, ROT0, "Williams", "World Cup (L-1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING )
diff --git a/src/mame/drivers/s4.cpp b/src/mame/drivers/s4.cpp
index a41a8c11e53..bad163eaba8 100644
--- a/src/mame/drivers/s4.cpp
+++ b/src/mame/drivers/s4.cpp
@@ -43,6 +43,8 @@ ToDo:
#include "s4.lh"
+namespace {
+
class s4_state : public genpin_class
{
public:
@@ -65,6 +67,9 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
+protected:
+ virtual void machine_start() override { m_digits.resolve(); m_strobe = 0; }
+
private:
uint8_t sound_r();
void dig0_w(uint8_t data);
@@ -98,7 +103,6 @@ private:
uint8_t m_switch_col;
bool m_data_ok;
bool m_chimes;
- virtual void machine_start() override { m_digits.resolve(); }
required_device<cpu_device> m_maincpu;
optional_device<cpu_device> m_audiocpu;
required_device<pia6821_device> m_pia22;
@@ -713,6 +717,8 @@ ROM_START(tstrk_l1)
ROM_LOAD("b_ic17.716", 0x1800, 0x0800, CRC(cfc2518a) SHA1(5e99e40dcb7e178137db8d7d7d6da82ba87130fa))
ROM_END
+} // Anonymous namespace
+
GAME( 1979, flash_l2, 0, s4a, s4, s4_state, empty_init, ROT0, "Williams", "Flash (Williams, L-2)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING )
GAME( 1979, flash_l1, flash_l2, s4a, s4, s4_state, empty_init, ROT0, "Williams", "Flash (Williams, L-1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING )
diff --git a/src/mame/drivers/seattle.cpp b/src/mame/drivers/seattle.cpp
index ec3100dff10..c4bb2ccef9a 100644
--- a/src/mame/drivers/seattle.cpp
+++ b/src/mame/drivers/seattle.cpp
@@ -205,6 +205,9 @@
#include "hyprdriv.lh"
#include "sfrush.lh"
+
+namespace {
+
/*************************************
*
* Debugging constants
@@ -493,6 +496,7 @@ void seattle_state::machine_reset()
m_wheel_force = 0;
m_wheel_offset = 0;
m_wheel_calibrated = false;
+ m_ethernet_irq_num = 0;
// reset either the DCS2 board or the CAGE board
if (m_dcs != nullptr)
{
@@ -2810,6 +2814,7 @@ void seattle_state::init_hyprdriv()
}
+} // Anonymous namespace
/*************************************
*
diff --git a/src/mame/includes/arcadia.h b/src/mame/includes/arcadia.h
index 935cf77dfcf..3354fb9fc5f 100644
--- a/src/mame/includes/arcadia.h
+++ b/src/mame/includes/arcadia.h
@@ -56,21 +56,8 @@ public:
void arcadia(machine_config &config);
protected:
- DECLARE_READ_LINE_MEMBER(vsync_r);
- uint8_t video_r(offs_t offset);
- void video_w(offs_t offset, uint8_t data);
-
virtual void machine_start() override;
virtual void video_start() override;
- void palette_init(palette_device &palette) const;
- uint32_t screen_update_arcadia(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- INTERRUPT_GEN_MEMBER(video_line);
- void arcadia_mem(address_map &map);
-
- void draw_char(uint8_t *ch, int charcode, int y, int x);
- void vh_draw_line(int y, uint8_t chars1[16]);
- int sprite_collision(int n1, int n2);
- void draw_sprites();
private:
int m_line;
@@ -135,6 +122,19 @@ private:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
required_device<screen_device> m_screen;
+
+ DECLARE_READ_LINE_MEMBER(vsync_r);
+ uint8_t video_r(offs_t offset);
+ void video_w(offs_t offset, uint8_t data);
+ void palette_init(palette_device &palette) const;
+ uint32_t screen_update_arcadia(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ INTERRUPT_GEN_MEMBER(video_line);
+ void arcadia_mem(address_map &map);
+
+ void draw_char(uint8_t *ch, int charcode, int y, int x);
+ void vh_draw_line(int y, uint8_t chars1[16]);
+ int sprite_collision(int n1, int n2);
+ void draw_sprites();
};
#endif // MAME_INCLUDES_ARCADIA_H
diff --git a/src/mame/includes/model2.h b/src/mame/includes/model2.h
index 54a34e01327..9a0deff5935 100644
--- a/src/mame/includes/model2.h
+++ b/src/mame/includes/model2.h
@@ -141,8 +141,6 @@ protected:
u8 m_driveio_comm_data;
int m_iop_write_num;
u32 m_iop_data;
- int m_geo_iop_write_num;
- u32 m_geo_iop_data;
u32 m_geo_read_start_address;
u32 m_geo_write_start_address;
@@ -441,12 +439,16 @@ public:
: model2o_state(mconfig, type, tag)
{}
- u8 gtx_r(offs_t offset);
void daytona_gtx(machine_config &config);
- void model2o_gtx_mem(address_map &map);
+
+protected:
+ virtual void machine_reset() override;
private:
int m_gtx_state;
+
+ u8 gtx_r(offs_t offset);
+ void model2o_gtx_mem(address_map &map);
};
/*****************************
diff --git a/src/mame/video/arcadia.cpp b/src/mame/video/arcadia.cpp
index 8940bdbc8ae..46bb94bd90e 100644
--- a/src/mame/video/arcadia.cpp
+++ b/src/mame/video/arcadia.cpp
@@ -288,9 +288,8 @@ static const uint8_t chars[0x40][8]={
void arcadia_state::video_start()
{
- int i;
memcpy(&m_chars, chars, sizeof(chars));
- for (i=0; i<0x40; i++)
+ for (int i=0; i<0x40; i++)
{
m_rectangle[i][0]=0;
m_rectangle[i][4]=0;
@@ -309,6 +308,9 @@ void arcadia_state::video_start()
int height = m_screen->height();
m_bitmap = std::make_unique<bitmap_ind16>(width, height);
}
+
+ m_line = 0;
+ std::fill(std::begin(m_reg.d.pal), std::end(m_reg.d.pal), 0);
}
uint8_t arcadia_state::video_r(offs_t offset)
diff --git a/src/mame/video/beathead.cpp b/src/mame/video/beathead.cpp
index 42598de2481..33e3c822bf1 100644
--- a/src/mame/video/beathead.cpp
+++ b/src/mame/video/beathead.cpp
@@ -24,6 +24,8 @@ void beathead_state::video_start()
save_item(NAME(m_hsyncram_offset));
save_item(NAME(m_hsyncram_start));
save_item(NAME(m_hsyncram));
+
+ m_hsyncram_offset = 0;
}