summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mazerbla.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mazerbla.c')
-rw-r--r--src/mame/drivers/mazerbla.c156
1 files changed, 74 insertions, 82 deletions
diff --git a/src/mame/drivers/mazerbla.c b/src/mame/drivers/mazerbla.c
index 91ed8d768c7..236940e72c6 100644
--- a/src/mame/drivers/mazerbla.c
+++ b/src/mame/drivers/mazerbla.c
@@ -139,6 +139,10 @@ public:
DECLARE_READ8_MEMBER(soundcommand_r);
DECLARE_DRIVER_INIT(mazerbla);
DECLARE_DRIVER_INIT(greatgun);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -161,42 +165,40 @@ public:
***************************************************************************/
-static PALETTE_INIT( mazerbla )
+void mazerbla_state::palette_init()
{
- mazerbla_state *state = machine.driver_data<mazerbla_state>();
static const int resistances_r[2] = { 4700, 2200 };
static const int resistances_gb[3] = { 10000, 4700, 2200 };
/* just to calculate coefficients for later use */
compute_resistor_weights(0, 255, -1.0,
- 3, resistances_gb, state->m_weights_g, 3600, 0,
- 3, resistances_gb, state->m_weights_b, 3600, 0,
- 2, resistances_r, state->m_weights_r, 3600, 0);
+ 3, resistances_gb, m_weights_g, 3600, 0,
+ 3, resistances_gb, m_weights_b, 3600, 0,
+ 2, resistances_r, m_weights_r, 3600, 0);
}
-static VIDEO_START( mazerbla )
+void mazerbla_state::video_start()
{
- mazerbla_state *state = machine.driver_data<mazerbla_state>();
#if 0
- state->m_planes_enabled[0] = state->m_planes_enabled[1] = state->m_planes_enabled[2] = state->m_planes_enabled[3] = 1;
- state->m_dbg_info = 1;
- state->m_dbg_gfx_e = 1;
- state->m_dbg_clr_e = 0;
- state->m_dbg_vbank = 1;
- state->m_dbg_lookup = 4;
+ m_planes_enabled[0] = m_planes_enabled[1] = m_planes_enabled[2] = m_planes_enabled[3] = 1;
+ m_dbg_info = 1;
+ m_dbg_gfx_e = 1;
+ m_dbg_clr_e = 0;
+ m_dbg_vbank = 1;
+ m_dbg_lookup = 4;
#endif
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmaps[0]);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmaps[1]);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmaps[2]);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmaps[3]);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmaps[0]);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmaps[1]);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmaps[2]);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmaps[3]);
- state->save_item(NAME(state->m_tmpbitmaps[0]));
- state->save_item(NAME(state->m_tmpbitmaps[1]));
- state->save_item(NAME(state->m_tmpbitmaps[2]));
- state->save_item(NAME(state->m_tmpbitmaps[3]));
+ save_item(NAME(m_tmpbitmaps[0]));
+ save_item(NAME(m_tmpbitmaps[1]));
+ save_item(NAME(m_tmpbitmaps[2]));
+ save_item(NAME(m_tmpbitmaps[3]));
}
#ifdef UNUSED_DEFINITION
@@ -1431,78 +1433,76 @@ static INTERRUPT_GEN( sound_interrupt )
*
*************************************/
-static MACHINE_START( mazerbla )
+void mazerbla_state::machine_start()
{
- mazerbla_state *state = machine.driver_data<mazerbla_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("sub");
- state->save_item(NAME(state->m_vcu_video_reg));
- state->save_item(NAME(state->m_vcu_gfx_addr));
- state->save_item(NAME(state->m_vcu_gfx_param_addr));
+ save_item(NAME(m_vcu_video_reg));
+ save_item(NAME(m_vcu_gfx_addr));
+ save_item(NAME(m_vcu_gfx_param_addr));
- state->save_item(NAME(state->m_bknd_col));
- state->save_item(NAME(state->m_port02_status));
- state->save_item(NAME(state->m_vbank));
- state->save_item(NAME(state->m_xpos));
- state->save_item(NAME(state->m_ypos));
- state->save_item(NAME(state->m_pix_xsize));
- state->save_item(NAME(state->m_pix_ysize));
- state->save_item(NAME(state->m_color1));
- state->save_item(NAME(state->m_color2));
- state->save_item(NAME(state->m_mode));
- state->save_item(NAME(state->m_plane));
- state->save_item(NAME(state->m_lookup_ram));
- state->save_item(NAME(state->m_gfx_rom_bank));
+ save_item(NAME(m_bknd_col));
+ save_item(NAME(m_port02_status));
+ save_item(NAME(m_vbank));
+ save_item(NAME(m_xpos));
+ save_item(NAME(m_ypos));
+ save_item(NAME(m_pix_xsize));
+ save_item(NAME(m_pix_ysize));
+ save_item(NAME(m_color1));
+ save_item(NAME(m_color2));
+ save_item(NAME(m_mode));
+ save_item(NAME(m_plane));
+ save_item(NAME(m_lookup_ram));
+ save_item(NAME(m_gfx_rom_bank));
- state->save_item(NAME(state->m_ls670_0));
- state->save_item(NAME(state->m_ls670_1));
+ save_item(NAME(m_ls670_0));
+ save_item(NAME(m_ls670_1));
- state->save_item(NAME(state->m_zpu_int_vector));
+ save_item(NAME(m_zpu_int_vector));
- state->save_item(NAME(state->m_bcd_7445));
+ save_item(NAME(m_bcd_7445));
- state->save_item(NAME(state->m_vsb_ls273));
- state->save_item(NAME(state->m_soundlatch));
+ save_item(NAME(m_vsb_ls273));
+ save_item(NAME(m_soundlatch));
}
-static MACHINE_RESET( mazerbla )
+void mazerbla_state::machine_reset()
{
- mazerbla_state *state = machine.driver_data<mazerbla_state>();
int i;
- state->m_zpu_int_vector = 0xff;
-
- state->m_bknd_col = 0xaa;
- state->m_gfx_rom_bank = 0xff;
-
- state->m_vcu_gfx_addr = 0;
- state->m_vcu_gfx_param_addr = 0;
- state->m_port02_status = 0;
- state->m_vbank = 0;
- state->m_xpos = 0;
- state->m_ypos = 0;
- state->m_pix_xsize = 0;
- state->m_pix_ysize = 0;
- state->m_color1 = 0;
- state->m_color2 = 0;
- state->m_mode = 0;
- state->m_plane = 0;
- state->m_bcd_7445 = 0;
- state->m_vsb_ls273 = 0;
- state->m_soundlatch = 0;
+ m_zpu_int_vector = 0xff;
+
+ m_bknd_col = 0xaa;
+ m_gfx_rom_bank = 0xff;
+
+ m_vcu_gfx_addr = 0;
+ m_vcu_gfx_param_addr = 0;
+ m_port02_status = 0;
+ m_vbank = 0;
+ m_xpos = 0;
+ m_ypos = 0;
+ m_pix_xsize = 0;
+ m_pix_ysize = 0;
+ m_color1 = 0;
+ m_color2 = 0;
+ m_mode = 0;
+ m_plane = 0;
+ m_bcd_7445 = 0;
+ m_vsb_ls273 = 0;
+ m_soundlatch = 0;
for (i = 0; i < 4; i++)
{
- state->m_vcu_video_reg[i] = 0;
- state->m_ls670_0[i] = 0;
- state->m_ls670_1[i] = 0;
+ m_vcu_video_reg[i] = 0;
+ m_ls670_0[i] = 0;
+ m_ls670_1[i] = 0;
}
- memset(state->m_lookup_ram, 0, ARRAY_LENGTH(state->m_lookup_ram));
+ memset(m_lookup_ram, 0, ARRAY_LENGTH(m_lookup_ram));
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
}
@@ -1528,8 +1528,6 @@ static MACHINE_CONFIG_START( mazerbla, mazerbla_state )
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
/* synchronization forced on the fly */
- MCFG_MACHINE_START(mazerbla)
- MCFG_MACHINE_RESET(mazerbla)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1541,8 +1539,6 @@ static MACHINE_CONFIG_START( mazerbla, mazerbla_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(mazerbla)
- MCFG_VIDEO_START(mazerbla)
/* sound hardware */
MACHINE_CONFIG_END
@@ -1568,8 +1564,6 @@ static MACHINE_CONFIG_START( greatgun, mazerbla_state )
*/
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(mazerbla)
- MCFG_MACHINE_RESET(mazerbla)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1581,8 +1575,6 @@ static MACHINE_CONFIG_START( greatgun, mazerbla_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(mazerbla)
- MCFG_VIDEO_START(mazerbla)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")