diff --git a/src/mame/audio/mw8080bw.c b/src/mame/audio/mw8080bw.c index 507709e4909..ec7ac5049aa 100644 --- a/src/mame/audio/mw8080bw.c +++ b/src/mame/audio/mw8080bw.c @@ -337,7 +337,7 @@ WRITE8_MEMBER(mw8080bw_state::tornbase_audio_w) /* if (data & 0x10) enable CHEER sound */ - if (tornbase_get_cabinet_type(machine()) == TORNBASE_CAB_TYPE_UPRIGHT_OLD) + if (tornbase_get_cabinet_type() == TORNBASE_CAB_TYPE_UPRIGHT_OLD) { /* if (data & 0x20) enable WHISTLE sound */ @@ -4195,7 +4195,7 @@ WRITE8_MEMBER(mw8080bw_state::invaders_audio_2_w) discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_SAUCER_HIT_EN, 1), data & 0x10); /* the flip screen line is only connected on the cocktail PCB */ - if (invaders_is_cabinet_cocktail(machine())) + if (invaders_is_cabinet_cocktail()) { m_flip_screen = (data >> 5) & 0x01; } diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c index 42b8051add5..bb5314285df 100644 --- a/src/mame/drivers/m72.c +++ b/src/mame/drivers/m72.c @@ -412,10 +412,10 @@ the NMI handler in the other games. ***************************************************************************/ #if 0 -static int find_sample(int num) +int m72_state::find_sample(int num) { - UINT8 *rom = machine.root_device().memregion("samples")->base(); - int len = machine.root_device().memregion("samples")->bytes(); + UINT8 *rom = machine().root_device().memregion("samples")->base(); + int len = machine().root_device().memregion("samples")->bytes(); int addr = 0; while (num--) @@ -683,7 +683,7 @@ static const UINT8 dkgenm72_crc[CRC_LEN] = { 0xc8,0xb4,0xdc,0xf8, 0xd3,0xba,0 -static void copy_le(UINT16 *dest, const UINT8 *src, UINT8 bytes) +void m72_state::copy_le(UINT16 *dest, const UINT8 *src, UINT8 bytes) { int i; @@ -708,45 +708,44 @@ WRITE16_MEMBER(m72_state::protection_w) copy_le(&m_protection_ram[0x0fe0],m_protection_crc,CRC_LEN); } -static void install_protection_handler(running_machine &machine, const UINT8 *code,const UINT8 *crc) +void m72_state::install_protection_handler(const UINT8 *code,const UINT8 *crc) { - m72_state *state = machine.driver_data(); - state->m_protection_ram = auto_alloc_array(machine, UINT16, 0x1000/2); - state->m_protection_code = code; - state->m_protection_crc = crc; - machine.device("maincpu")->memory().space(AS_PROGRAM).install_read_bank(0xb0000, 0xb0fff, "bank1"); - machine.device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0xb0ffa, 0xb0ffb, read16_delegate(FUNC(m72_state::protection_r),state)); - machine.device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0xb0000, 0xb0fff, write16_delegate(FUNC(m72_state::protection_w),state)); - state->membank("bank1")->set_base(state->m_protection_ram); + m_protection_ram = auto_alloc_array(machine(), UINT16, 0x1000/2); + m_protection_code = code; + m_protection_crc = crc; + machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_bank(0xb0000, 0xb0fff, "bank1"); + machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0xb0ffa, 0xb0ffb, read16_delegate(FUNC(m72_state::protection_r),this)); + machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0xb0000, 0xb0fff, write16_delegate(FUNC(m72_state::protection_w),this)); + membank("bank1")->set_base(m_protection_ram); } DRIVER_INIT_MEMBER(m72_state,bchopper) { - install_protection_handler(machine(), bchopper_code,bchopper_crc); + install_protection_handler(bchopper_code,bchopper_crc); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::bchopper_sample_trigger_w),this)); } DRIVER_INIT_MEMBER(m72_state,mrheli) { - install_protection_handler(machine(), bchopper_code,mrheli_crc); + install_protection_handler(bchopper_code,mrheli_crc); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::bchopper_sample_trigger_w),this)); } DRIVER_INIT_MEMBER(m72_state,nspirit) { - install_protection_handler(machine(), nspirit_code,nspirit_crc); + install_protection_handler(nspirit_code,nspirit_crc); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::nspirit_sample_trigger_w),this)); } DRIVER_INIT_MEMBER(m72_state,imgfight) { - install_protection_handler(machine(), imgfight_code,imgfightj_crc); + install_protection_handler(imgfight_code,imgfightj_crc); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::imgfight_sample_trigger_w),this)); } DRIVER_INIT_MEMBER(m72_state,loht) { - install_protection_handler(machine(), loht_code,loht_crc); + install_protection_handler(loht_code,loht_crc); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::loht_sample_trigger_w),this)); @@ -756,25 +755,25 @@ DRIVER_INIT_MEMBER(m72_state,loht) DRIVER_INIT_MEMBER(m72_state,xmultiplm72) { - install_protection_handler(machine(), xmultiplm72_code,xmultiplm72_crc); + install_protection_handler(xmultiplm72_code,xmultiplm72_crc); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::xmultiplm72_sample_trigger_w),this)); } DRIVER_INIT_MEMBER(m72_state,dbreedm72) { - install_protection_handler(machine(), dbreedm72_code,dbreedm72_crc); + install_protection_handler(dbreedm72_code,dbreedm72_crc); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::dbreedm72_sample_trigger_w),this)); } DRIVER_INIT_MEMBER(m72_state,airduel) { - install_protection_handler(machine(), airduel_code,airduel_crc); + install_protection_handler(airduel_code,airduel_crc); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::airduel_sample_trigger_w),this)); } DRIVER_INIT_MEMBER(m72_state,dkgenm72) { - install_protection_handler(machine(), dkgenm72_code,dkgenm72_crc); + install_protection_handler(dkgenm72_code,dkgenm72_crc); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::dkgenm72_sample_trigger_w),this)); } diff --git a/src/mame/drivers/m92.c b/src/mame/drivers/m92.c index 0be3bbd847a..f1b389e83e4 100644 --- a/src/mame/drivers/m92.c +++ b/src/mame/drivers/m92.c @@ -204,9 +204,9 @@ psoldier dip locations still need verification. #include "sound/okim6295.h" -#define M92_IRQ_0 ((state->m_irq_vectorbase+0)/4) /* VBL interrupt */ -#define M92_IRQ_1 ((state->m_irq_vectorbase+4)/4) /* Sprite buffer complete interrupt */ -#define M92_IRQ_2 ((state->m_irq_vectorbase+8)/4) /* Raster interrupt */ +#define M92_IRQ_0 ((m_irq_vectorbase+0)/4) /* VBL interrupt */ +#define M92_IRQ_1 ((m_irq_vectorbase+4)/4) /* Sprite buffer complete interrupt */ +#define M92_IRQ_2 ((m_irq_vectorbase+8)/4) /* Raster interrupt */ #define M92_IRQ_3 ((m_irq_vectorbase+12)/4) /* Sound cpu interrupt */ @@ -226,21 +226,20 @@ MACHINE_RESET_MEMBER(m92_state,m92) TIMER_DEVICE_CALLBACK_MEMBER(m92_state::m92_scanline_interrupt) { - m92_state *state = machine().driver_data(); int scanline = param; /* raster interrupt */ if (scanline == m_raster_irq_position) { machine().primary_screen->update_partial(scanline); - state->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, M92_IRQ_2); + m_maincpu->set_input_line_and_vector(0, HOLD_LINE, M92_IRQ_2); } /* VBLANK interrupt */ else if (scanline == machine().primary_screen->visible_area().max_y + 1) { machine().primary_screen->update_partial(scanline); - state->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, M92_IRQ_0); + m_maincpu->set_input_line_and_vector(0, HOLD_LINE, M92_IRQ_0); } } @@ -908,11 +907,9 @@ GFXDECODE_END /***************************************************************************/ -void m92_sprite_interrupt(running_machine &machine) +void m92_state::m92_sprite_interrupt() { - m92_state *state = machine.driver_data(); - - state->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, M92_IRQ_1); + m_maincpu->set_input_line_and_vector(0, HOLD_LINE, M92_IRQ_1); } static MACHINE_CONFIG_START( m92, m92_state ) diff --git a/src/mame/drivers/macrossp.c b/src/mame/drivers/macrossp.c index 5b8f4ff962c..795aac0a0e8 100644 --- a/src/mame/drivers/macrossp.c +++ b/src/mame/drivers/macrossp.c @@ -349,33 +349,32 @@ READ16_MEMBER(macrossp_state::macrossp_soundcmd_r) return soundlatch_word_r(space, offset, mem_mask); } -static void update_colors( running_machine &machine ) +void macrossp_state::update_colors( ) { - macrossp_state *state = machine.driver_data(); int i, r, g, b; for (i = 0; i < 0x1000; i++) { - b = ((state->m_paletteram[i] & 0x0000ff00) >> 8); - g = ((state->m_paletteram[i] & 0x00ff0000) >> 16); - r = ((state->m_paletteram[i] & 0xff000000) >> 24); + b = ((m_paletteram[i] & 0x0000ff00) >> 8); + g = ((m_paletteram[i] & 0x00ff0000) >> 16); + r = ((m_paletteram[i] & 0xff000000) >> 24); - if (state->m_fade_effect > b) + if (m_fade_effect > b) b = 0; else - b -= state->m_fade_effect; + b -= m_fade_effect; - if (state->m_fade_effect > g) + if (m_fade_effect > g) g = 0; else - g -= state->m_fade_effect; + g -= m_fade_effect; - if (state->m_fade_effect > r) + if (m_fade_effect > r) r = 0; else - r -= state->m_fade_effect; + r -= m_fade_effect; - palette_set_color(machine, i, MAKE_RGB(r, g, b)); + palette_set_color(machine(), i, MAKE_RGB(r, g, b)); } } @@ -387,7 +386,7 @@ WRITE32_MEMBER(macrossp_state::macrossp_palette_fade_w) if (m_old_fade != m_fade_effect) { m_old_fade = m_fade_effect; - update_colors(machine()); + update_colors(); } } diff --git a/src/mame/drivers/madalien.c b/src/mame/drivers/madalien.c index db48773ff91..94abb47cf50 100644 --- a/src/mame/drivers/madalien.c +++ b/src/mame/drivers/madalien.c @@ -23,16 +23,16 @@ INPUT_CHANGED_MEMBER(madalien_state::coin_inserted) } -INLINE UINT8 shift_common(running_machine &machine, UINT8 hi, UINT8 lo) +inline UINT8 madalien_state::shift_common(UINT8 hi, UINT8 lo) { - const UINT8 *table = machine.root_device().memregion("user2")->base(); + const UINT8 *table = machine().root_device().memregion("user2")->base(); return table[((hi & 0x07) << 8) | lo]; } READ8_MEMBER(madalien_state::shift_r) { - return shift_common(machine(), *m_shift_hi, *m_shift_lo); + return shift_common(*m_shift_hi, *m_shift_lo); } READ8_MEMBER(madalien_state::shift_rev_r) @@ -40,7 +40,7 @@ READ8_MEMBER(madalien_state::shift_rev_r) UINT8 hi = *m_shift_hi ^ 0x07; UINT8 lo = BITSWAP8(*m_shift_lo,0,1,2,3,4,5,6,7); - UINT8 ret = shift_common(machine(), hi, lo); + UINT8 ret = shift_common(hi, lo); return BITSWAP8(ret,7,0,1,2,3,4,5,6) & 0x7f; } diff --git a/src/mame/drivers/maygay1b.c b/src/mame/drivers/maygay1b.c index f0ee82eb0be..8ffb4c8e76a 100644 --- a/src/mame/drivers/maygay1b.c +++ b/src/mame/drivers/maygay1b.c @@ -99,7 +99,7 @@ void maygay1b_state::m1_draw_lamps(int data,int strobe, int col) * *************************************/ -static void update_outputs(i8279_state *chip, UINT16 which) +void maygay1b_state::update_outputs(i8279_state *chip, UINT16 which) { static const UINT8 ls48_map[16] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0x00 }; @@ -456,23 +456,22 @@ WRITE8_MEMBER(maygay1b_state::m1_8279_2_w) // called if board is reset /////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// -static void m1_stepper_reset(running_machine &machine) +void maygay1b_state::m1_stepper_reset() { - maygay1b_state *state = machine.driver_data(); int pattern = 0,i; for ( i = 0; i < 6; i++) { stepper_reset_position(i); if ( stepper_optic_state(i) ) pattern |= 1<m_optic_pattern = pattern; + m_optic_pattern = pattern; } void maygay1b_state::machine_reset() { m_vfd->reset(); // reset display1 m_duart68681 = machine().device( "duart68681" ); - m1_stepper_reset(machine()); + m1_stepper_reset(); } /////////////////////////////////////////////////////////////////////////// diff --git a/src/mame/drivers/mcr.c b/src/mame/drivers/mcr.c index 808563a10fc..c0370eb5fe9 100644 --- a/src/mame/drivers/mcr.c +++ b/src/mame/drivers/mcr.c @@ -2751,7 +2751,7 @@ ROM_END * *************************************/ -static void mcr_init(running_machine &machine, int cpuboard, int vidboard, int ssioboard) +void mcr_state::mcr_init(int cpuboard, int vidboard, int ssioboard) { mcr_cpu_board = cpuboard; mcr_sprite_board = vidboard; @@ -2759,21 +2759,20 @@ static void mcr_init(running_machine &machine, int cpuboard, int vidboard, int s mcr12_sprite_xoffs = 0; mcr12_sprite_xoffs_flip = 0; - state_save_register_global(machine, input_mux); - state_save_register_global(machine, last_op4); + state_save_register_global(machine(), input_mux); + state_save_register_global(machine(), last_op4); - midway_ssio_device *ssio = machine.device("ssio"); + midway_ssio_device *ssio = machine().device("ssio"); if (ssio != NULL) { - mcr_state *state = machine.driver_data(); - ssio->set_custom_output(0, 0xff, write8_delegate(FUNC(mcr_state::mcr_control_port_w), state)); + ssio->set_custom_output(0, 0xff, write8_delegate(FUNC(mcr_state::mcr_control_port_w), this)); } } DRIVER_INIT_MEMBER(mcr_state,solarfox) { - mcr_init(machine(), 90009, 91399, 90908); + mcr_init(90009, 91399, 90908); mcr12_sprite_xoffs = 16; machine().device("ssio")->set_custom_input(0, 0x1c, read8_delegate(FUNC(mcr_state::solarfox_ip0_r),this)); @@ -2783,7 +2782,7 @@ DRIVER_INIT_MEMBER(mcr_state,solarfox) DRIVER_INIT_MEMBER(mcr_state,kick) { - mcr_init(machine(), 90009, 91399, 90908); + mcr_init(90009, 91399, 90908); mcr12_sprite_xoffs_flip = 16; machine().device("ssio")->set_custom_input(1, 0xf0, read8_delegate(FUNC(mcr_state::kick_ip1_r),this)); @@ -2792,7 +2791,7 @@ DRIVER_INIT_MEMBER(mcr_state,kick) DRIVER_INIT_MEMBER(mcr_state,dpoker) { - mcr_init(machine(), 90009, 91399, 90908); + mcr_init(90009, 91399, 90908); mcr12_sprite_xoffs_flip = 16; machine().device("ssio")->set_custom_input(0, 0x8e, read8_delegate(FUNC(mcr_state::dpoker_ip0_r),this)); @@ -2820,13 +2819,13 @@ DRIVER_INIT_MEMBER(mcr_state,dpoker) DRIVER_INIT_MEMBER(mcr_state,mcr_90010) { - mcr_init(machine(), 90010, 91399, 90913); + mcr_init(90010, 91399, 90913); } DRIVER_INIT_MEMBER(mcr_state,wacko) { - mcr_init(machine(), 90010, 91399, 90913); + mcr_init(90010, 91399, 90913); machine().device("ssio")->set_custom_input(1, 0xff, read8_delegate(FUNC(mcr_state::wacko_ip1_r),this)); machine().device("ssio")->set_custom_input(2, 0xff, read8_delegate(FUNC(mcr_state::wacko_ip2_r),this)); @@ -2836,7 +2835,7 @@ DRIVER_INIT_MEMBER(mcr_state,wacko) DRIVER_INIT_MEMBER(mcr_state,twotiger) { - mcr_init(machine(), 90010, 91399, 90913); + mcr_init(90010, 91399, 90913); machine().device("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr_state::twotiger_op4_w),this)); machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0xe800, 0xefff, 0, 0x1000, read8_delegate(FUNC(mcr_state::twotiger_videoram_r),this), write8_delegate(FUNC(mcr_state::twotiger_videoram_w),this)); @@ -2845,7 +2844,7 @@ DRIVER_INIT_MEMBER(mcr_state,twotiger) DRIVER_INIT_MEMBER(mcr_state,kroozr) { - mcr_init(machine(), 90010, 91399, 91483); + mcr_init(90010, 91399, 91483); machine().device("ssio")->set_custom_input(1, 0x47, read8_delegate(FUNC(mcr_state::kroozr_ip1_r),this)); machine().device("ssio")->set_custom_output(4, 0x34, write8_delegate(FUNC(mcr_state::kroozr_op4_w),this)); @@ -2854,7 +2853,7 @@ DRIVER_INIT_MEMBER(mcr_state,kroozr) DRIVER_INIT_MEMBER(mcr_state,journey) { - mcr_init(machine(), 91475, 91464, 90913); + mcr_init(91475, 91464, 90913); machine().device("ssio")->set_custom_output(4, 0x01, write8_delegate(FUNC(mcr_state::journey_op4_w),this)); } @@ -2862,13 +2861,13 @@ DRIVER_INIT_MEMBER(mcr_state,journey) DRIVER_INIT_MEMBER(mcr_state,mcr_91490) { - mcr_init(machine(), 91490, 91464, 90913); + mcr_init(91490, 91464, 90913); } DRIVER_INIT_MEMBER(mcr_state,dotrone) { - mcr_init(machine(), 91490, 91464, 91657); + mcr_init(91490, 91464, 91657); machine().device("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr_state::dotron_op4_w),this)); } @@ -2876,7 +2875,7 @@ DRIVER_INIT_MEMBER(mcr_state,dotrone) DRIVER_INIT_MEMBER(mcr_state,nflfoot) { - mcr_init(machine(), 91490, 91464, 91657); + mcr_init(91490, 91464, 91657); machine().device("ssio")->set_custom_input(2, 0x80, read8_delegate(FUNC(mcr_state::nflfoot_ip2_r),this)); machine().device("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr_state::nflfoot_op4_w),this)); @@ -2895,7 +2894,7 @@ DRIVER_INIT_MEMBER(mcr_state,nflfoot) DRIVER_INIT_MEMBER(mcr_state,demoderb) { - mcr_init(machine(), 91490, 91464, 90913); + mcr_init(91490, 91464, 90913); machine().device("ssio")->set_custom_input(1, 0xfc, read8_delegate(FUNC(mcr_state::demoderb_ip1_r),this)); machine().device("ssio")->set_custom_input(2, 0xfc, read8_delegate(FUNC(mcr_state::demoderb_ip2_r),this)); diff --git a/src/mame/drivers/mcr3.c b/src/mame/drivers/mcr3.c index bf6af9bc0ba..d8d6a23cd0b 100644 --- a/src/mame/drivers/mcr3.c +++ b/src/mame/drivers/mcr3.c @@ -1523,19 +1523,17 @@ ROM_END * *************************************/ -static void mcr_common_init(running_machine &machine) +void mcr3_state::mcr_common_init() { - mcr3_state *state = machine.driver_data(); - - state_save_register_global(machine, state->m_input_mux); - state_save_register_global(machine, state->m_latched_input); - state_save_register_global(machine, state->m_last_op4); + state_save_register_global(machine(), m_input_mux); + state_save_register_global(machine(), m_latched_input); + state_save_register_global(machine(), m_last_op4); } DRIVER_INIT_MEMBER(mcr3_state,demoderm) { - mcr_common_init(machine()); + mcr_common_init(); machine().device("maincpu")->memory().space(AS_IO).install_read_handler(0x01, 0x01, read8_delegate(FUNC(mcr3_state::demoderm_ip1_r),this)); machine().device("maincpu")->memory().space(AS_IO).install_read_handler(0x02, 0x02, read8_delegate(FUNC(mcr3_state::demoderm_ip2_r),this)); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::demoderm_op6_w),this)); @@ -1544,14 +1542,14 @@ DRIVER_INIT_MEMBER(mcr3_state,demoderm) DRIVER_INIT_MEMBER(mcr3_state,sarge) { - mcr_common_init(machine()); + mcr_common_init(); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0x06, 0x06, write8_delegate(FUNC(midway_turbo_chip_squeak_device::write),m_turbo_chip_squeak.target())); } DRIVER_INIT_MEMBER(mcr3_state,maxrpm) { - mcr_common_init(machine()); + mcr_common_init(); machine().device("maincpu")->memory().space(AS_IO).install_read_handler(0x01, 0x01, read8_delegate(FUNC(mcr3_state::maxrpm_ip1_r),this)); machine().device("maincpu")->memory().space(AS_IO).install_read_handler(0x02, 0x02, read8_delegate(FUNC(mcr3_state::maxrpm_ip2_r),this)); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0x05, 0x05, write8_delegate(FUNC(mcr3_state::maxrpm_op5_w),this)); @@ -1567,7 +1565,7 @@ DRIVER_INIT_MEMBER(mcr3_state,maxrpm) DRIVER_INIT_MEMBER(mcr3_state,rampage) { - mcr_common_init(machine()); + mcr_common_init(); machine().device("maincpu")->memory().space(AS_IO).install_read_handler(0x04, 0x04, read8_delegate(FUNC(mcr3_state::rampage_ip4_r),this)); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::rampage_op6_w),this)); } @@ -1575,7 +1573,7 @@ DRIVER_INIT_MEMBER(mcr3_state,rampage) DRIVER_INIT_MEMBER(mcr3_state,powerdrv) { - mcr_common_init(machine()); + mcr_common_init(); machine().device("maincpu")->memory().space(AS_IO).install_read_handler(0x02, 0x02, read8_delegate(FUNC(mcr3_state::powerdrv_ip2_r),this)); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0x05, 0x05, write8_delegate(FUNC(mcr3_state::powerdrv_op5_w),this)); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::powerdrv_op6_w),this)); @@ -1584,7 +1582,7 @@ DRIVER_INIT_MEMBER(mcr3_state,powerdrv) DRIVER_INIT_MEMBER(mcr3_state,stargrds) { - mcr_common_init(machine()); + mcr_common_init(); machine().device("maincpu")->memory().space(AS_IO).install_read_handler(0x00, 0x00, read8_delegate(FUNC(mcr3_state::stargrds_ip0_r),this)); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0x05, 0x05, write8_delegate(FUNC(mcr3_state::stargrds_op5_w),this)); machine().device("maincpu")->memory().space(AS_IO).install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::stargrds_op6_w),this)); @@ -1593,7 +1591,7 @@ DRIVER_INIT_MEMBER(mcr3_state,stargrds) DRIVER_INIT_MEMBER(mcr3_state,spyhunt) { - mcr_common_init(machine()); + mcr_common_init(); machine().device("ssio")->set_custom_input(1, 0x60, read8_delegate(FUNC(mcr3_state::spyhunt_ip1_r),this)); machine().device("ssio")->set_custom_input(2, 0xff, read8_delegate(FUNC(mcr3_state::spyhunt_ip2_r),this)); machine().device("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr3_state::spyhunt_op4_w),this)); @@ -1605,7 +1603,7 @@ DRIVER_INIT_MEMBER(mcr3_state,spyhunt) DRIVER_INIT_MEMBER(mcr3_state,crater) { - mcr_common_init(machine()); + mcr_common_init(); m_spyhunt_sprite_color_mask = 0x03; m_spyhunt_scroll_offset = 96; @@ -1614,7 +1612,7 @@ DRIVER_INIT_MEMBER(mcr3_state,crater) DRIVER_INIT_MEMBER(mcr3_state,turbotag) { - mcr_common_init(machine()); + mcr_common_init(); machine().device("ssio")->set_custom_input(1, 0x60, read8_delegate(FUNC(mcr3_state::spyhunt_ip1_r),this)); machine().device("ssio")->set_custom_input(2, 0xff, read8_delegate(FUNC(mcr3_state::turbotag_ip2_r),this)); machine().device("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr3_state::spyhunt_op4_w),this)); diff --git a/src/mame/drivers/mcr68.c b/src/mame/drivers/mcr68.c index c7fae5d28e4..e2245b3a9ad 100644 --- a/src/mame/drivers/mcr68.c +++ b/src/mame/drivers/mcr68.c @@ -1534,20 +1534,19 @@ ROM_END * *************************************/ -static void mcr68_common_init(running_machine &machine, int clip, int xoffset) +void mcr68_state::mcr68_common_init(int clip, int xoffset) { - mcr68_state *state = machine.driver_data(); - state->m_sprite_clip = clip; - state->m_sprite_xoffset = xoffset; + m_sprite_clip = clip; + m_sprite_xoffset = xoffset; - state_save_register_global(machine, state->m_control_word); + state_save_register_global(machine(), m_control_word); } DRIVER_INIT_MEMBER(mcr68_state,zwackery) { - mcr68_common_init(machine(), 0, 0); + mcr68_common_init(0, 0); /* Zwackery doesn't care too much about this value; currently taken from Blasted */ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * (256 + 16); @@ -1556,7 +1555,7 @@ DRIVER_INIT_MEMBER(mcr68_state,zwackery) DRIVER_INIT_MEMBER(mcr68_state,xenophob) { - mcr68_common_init(machine(), 0, -4); + mcr68_common_init(0, -4); /* Xenophobe doesn't care too much about this value; currently taken from Blasted */ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * (256 + 16); @@ -1568,7 +1567,7 @@ DRIVER_INIT_MEMBER(mcr68_state,xenophob) DRIVER_INIT_MEMBER(mcr68_state,spyhunt2) { - mcr68_common_init(machine(), 0, -6); + mcr68_common_init(0, -6); /* Spy Hunter II doesn't care too much about this value; currently taken from Blasted */ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * (256 + 16); @@ -1582,7 +1581,7 @@ DRIVER_INIT_MEMBER(mcr68_state,spyhunt2) DRIVER_INIT_MEMBER(mcr68_state,blasted) { - mcr68_common_init(machine(), 0, 0); + mcr68_common_init(0, 0); /* Blasted checks the timing of VBLANK relative to the 493 interrupt */ /* VBLANK is required to come within 220-256 E clocks (i.e., 2200-2560 CPU clocks) */ @@ -1598,7 +1597,7 @@ DRIVER_INIT_MEMBER(mcr68_state,blasted) DRIVER_INIT_MEMBER(mcr68_state,intlaser) { - mcr68_common_init(machine(), 0, 0); + mcr68_common_init(0, 0); /* Copied from Blasted */ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * (256 + 16); @@ -1612,7 +1611,7 @@ DRIVER_INIT_MEMBER(mcr68_state,intlaser) DRIVER_INIT_MEMBER(mcr68_state,archrivl) { - mcr68_common_init(machine(), 16, 0); + mcr68_common_init(16, 0); /* Arch Rivals doesn't care too much about this value; currently taken from Blasted */ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * (256 + 16); @@ -1630,7 +1629,7 @@ DRIVER_INIT_MEMBER(mcr68_state,archrivl) DRIVER_INIT_MEMBER(mcr68_state,pigskin) { - mcr68_common_init(machine(), 16, 0); + mcr68_common_init(16, 0); /* Pigskin doesn't care too much about this value; currently taken from Tri-Sports */ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * 115; @@ -1641,7 +1640,7 @@ DRIVER_INIT_MEMBER(mcr68_state,pigskin) DRIVER_INIT_MEMBER(mcr68_state,trisport) { - mcr68_common_init(machine(), 0, 0); + mcr68_common_init(0, 0); /* Tri-Sports checks the timing of VBLANK relative to the 493 interrupt */ /* VBLANK is required to come within 87-119 E clocks (i.e., 870-1190 CPU clocks) */ diff --git a/src/mame/drivers/megasys1.c b/src/mame/drivers/megasys1.c index f31d06e9066..840a1a096be 100644 --- a/src/mame/drivers/megasys1.c +++ b/src/mame/drivers/megasys1.c @@ -3608,10 +3608,10 @@ ROM_START( tshingen ) ROM_END -static void rodlandj_gfx_unmangle(running_machine &machine, const char *region) +void megasys1_state::rodlandj_gfx_unmangle(const char *region) { - UINT8 *rom = machine.root_device().memregion(region)->base(); - int size = machine.root_device().memregion(region)->bytes(); + UINT8 *rom = machine().root_device().memregion(region)->base(); + int size = machine().root_device().memregion(region)->bytes(); UINT8 *buffer; int i; @@ -3622,7 +3622,7 @@ static void rodlandj_gfx_unmangle(running_machine &machine, const char *region) | ((rom[i] & 0x48) << 1) | ((rom[i] & 0x10) << 2); - buffer = auto_alloc_array(machine, UINT8, size); + buffer = auto_alloc_array(machine(), UINT8, size); memcpy(buffer,rom,size); @@ -3637,13 +3637,13 @@ static void rodlandj_gfx_unmangle(running_machine &machine, const char *region) rom[i] = buffer[a]; } - auto_free(machine, buffer); + auto_free(machine(), buffer); } -static void jitsupro_gfx_unmangle(running_machine &machine, const char *region) +void megasys1_state::jitsupro_gfx_unmangle(const char *region) { - UINT8 *rom = machine.root_device().memregion(region)->base(); - int size = machine.root_device().memregion(region)->bytes(); + UINT8 *rom = machine().root_device().memregion(region)->base(); + int size = machine().root_device().memregion(region)->bytes(); UINT8 *buffer; int i; @@ -3651,7 +3651,7 @@ static void jitsupro_gfx_unmangle(running_machine &machine, const char *region) for (i = 0;i < size;i++) rom[i] = BITSWAP8(rom[i],0x4,0x3,0x5,0x7,0x6,0x2,0x1,0x0); - buffer = auto_alloc_array(machine, UINT8, size); + buffer = auto_alloc_array(machine(), UINT8, size); memcpy(buffer,rom,size); @@ -3664,13 +3664,13 @@ static void jitsupro_gfx_unmangle(running_machine &machine, const char *region) rom[i] = buffer[a]; } - auto_free(machine, buffer); + auto_free(machine(), buffer); } -static void stdragona_gfx_unmangle(running_machine &machine, const char *region) +void megasys1_state::stdragona_gfx_unmangle(const char *region) { - UINT8 *rom = machine.root_device().memregion(region)->base(); - int size = machine.root_device().memregion(region)->bytes(); + UINT8 *rom = machine().root_device().memregion(region)->base(); + int size = machine().root_device().memregion(region)->bytes(); UINT8 *buffer; int i; @@ -3678,7 +3678,7 @@ static void stdragona_gfx_unmangle(running_machine &machine, const char *region) for (i = 0;i < size;i++) rom[i] = BITSWAP8(rom[i],3,7,5,6,4,2,1,0); - buffer = auto_alloc_array(machine, UINT8, size); + buffer = auto_alloc_array(machine(), UINT8, size); memcpy(buffer,rom,size); @@ -3691,7 +3691,7 @@ static void stdragona_gfx_unmangle(running_machine &machine, const char *region) rom[i] = buffer[a]; } - auto_free(machine, buffer); + auto_free(machine(), buffer); } /************************************* @@ -3927,8 +3927,8 @@ DRIVER_INIT_MEMBER(megasys1_state,jitsupro) astyanax_rom_decode(machine(), "maincpu"); // Code - jitsupro_gfx_unmangle(machine(), "gfx1"); // Gfx - jitsupro_gfx_unmangle(machine(), "gfx4"); + jitsupro_gfx_unmangle("gfx1"); // Gfx + jitsupro_gfx_unmangle("gfx4"); machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_r),this)); machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x20000, 0x20009, write16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_w),this)); @@ -3954,8 +3954,8 @@ DRIVER_INIT_MEMBER(megasys1_state,rodland) DRIVER_INIT_MEMBER(megasys1_state,rodlandj) { - rodlandj_gfx_unmangle(machine(), "gfx1"); - rodlandj_gfx_unmangle(machine(), "gfx4"); + rodlandj_gfx_unmangle("gfx1"); + rodlandj_gfx_unmangle("gfx4"); astyanax_rom_decode(machine(), "maincpu"); } @@ -4025,8 +4025,8 @@ DRIVER_INIT_MEMBER(megasys1_state,stdragona) { phantasm_rom_decode(machine(), "maincpu"); - stdragona_gfx_unmangle(machine(), "gfx1"); - stdragona_gfx_unmangle(machine(), "gfx4"); + stdragona_gfx_unmangle("gfx1"); + stdragona_gfx_unmangle("gfx4"); machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_r),this)); machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x23ff0, 0x23ff9, write16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_w),this)); diff --git a/src/mame/drivers/metro.c b/src/mame/drivers/metro.c index a423d2f7a36..a75f8d0d28a 100644 --- a/src/mame/drivers/metro.c +++ b/src/mame/drivers/metro.c @@ -558,7 +558,7 @@ TIMER_CALLBACK_MEMBER(metro_state::metro_blit_done) update_irq_state(); } -INLINE int blt_read( const UINT8 *ROM, const int offs ) +inline int metro_state::blt_read( const UINT8 *ROM, const int offs ) { return ROM[offs]; } @@ -6263,16 +6263,15 @@ ROM_END ***************************************************************************/ -static void metro_common( running_machine &machine ) +void metro_state::metro_common( ) { - metro_state *state = machine.driver_data(); - memset(state->m_requested_int, 0, ARRAY_LENGTH(state->m_requested_int)); - state->m_vblank_bit = 0; - state->m_blitter_bit = 2; - state->m_irq_line = 2; + memset(m_requested_int, 0, ARRAY_LENGTH(m_requested_int)); + m_vblank_bit = 0; + m_blitter_bit = 2; + m_irq_line = 2; - *state->m_irq_enable = 0; + *m_irq_enable = 0; } @@ -6280,7 +6279,7 @@ DRIVER_INIT_MEMBER(metro_state,metro) { address_space &space = machine().device("maincpu")->memory().space(AS_PROGRAM); - metro_common(machine()); + metro_common(); m_porta = 0x00; m_portb = 0x00; @@ -6307,7 +6306,7 @@ DRIVER_INIT_MEMBER(metro_state,daitorid) { address_space &space = machine().device("maincpu")->memory().space(AS_PROGRAM); - metro_common(machine()); + metro_common(); m_porta = 0x00; m_portb = 0x00; @@ -6333,7 +6332,7 @@ DRIVER_INIT_MEMBER(metro_state,balcube) src += 2; } - metro_common(machine()); + metro_common(); m_irq_line = 1; } @@ -6360,13 +6359,13 @@ DRIVER_INIT_MEMBER(metro_state,dharmak) DRIVER_INIT_MEMBER(metro_state,blzntrnd) { - metro_common(machine()); + metro_common(); m_irq_line = 1; } DRIVER_INIT_MEMBER(metro_state,mouja) { - metro_common(machine()); + metro_common(); m_irq_line = -1; /* split interrupt handlers */ m_vblank_bit = 1; m_mouja_irq_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(metro_state::mouja_irq_callback),this)); @@ -6374,7 +6373,7 @@ DRIVER_INIT_MEMBER(metro_state,mouja) DRIVER_INIT_MEMBER(metro_state,gakusai) { - metro_common(machine()); + metro_common(); m_irq_line = -1; m_vblank_bit = 1; m_blitter_bit = 3; @@ -6382,7 +6381,7 @@ DRIVER_INIT_MEMBER(metro_state,gakusai) DRIVER_INIT_MEMBER(metro_state,puzzlet) { - metro_common(machine()); + metro_common(); m_irq_line = 0; m_vblank_bit = 1; m_blitter_bit = 0; diff --git a/src/mame/drivers/mitchell.c b/src/mame/drivers/mitchell.c index 342417c26e1..4e20abb1c68 100644 --- a/src/mame/drivers/mitchell.c +++ b/src/mame/drivers/mitchell.c @@ -2080,17 +2080,17 @@ ROM_END * *************************************/ -static void bootleg_decode( running_machine &machine ) +void mitchell_state::bootleg_decode( ) { - address_space &space = machine.device("maincpu")->memory().space(AS_PROGRAM); - space.set_decrypted_region(0x0000, 0x7fff, machine.root_device().memregion("maincpu")->base() + 0x50000); - machine.root_device().membank("bank1")->configure_decrypted_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x60000, 0x4000); + address_space &space = machine().device("maincpu")->memory().space(AS_PROGRAM); + space.set_decrypted_region(0x0000, 0x7fff, machine().root_device().memregion("maincpu")->base() + 0x50000); + machine().root_device().membank("bank1")->configure_decrypted_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x60000, 0x4000); } -static void configure_banks( running_machine &machine ) +void mitchell_state::configure_banks( ) { - machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000); + machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000); } @@ -2098,19 +2098,19 @@ DRIVER_INIT_MEMBER(mitchell_state,dokaben) { m_input_type = 0; mgakuen2_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,pang) { m_input_type = 0; pang_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,pangb) { m_input_type = 0; - bootleg_decode(machine()); - configure_banks(machine()); + bootleg_decode(); + configure_banks(); if (m_nvram != NULL) m_nvram->set_base(&m_dummy_nvram, sizeof(m_dummy_nvram)); /* for pangba */ } @@ -2118,28 +2118,28 @@ DRIVER_INIT_MEMBER(mitchell_state,cworld) { m_input_type = 0; cworld_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,hatena) { m_input_type = 0; hatena_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,spang) { m_input_type = 3; m_nvram->set_base(&memregion("maincpu")->base()[0xe000], 0x80); /* NVRAM */ spang_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,spangbl) { m_input_type = 3; m_nvram->set_base(&memregion("maincpu")->base()[0xe000], 0x80); /* NVRAM */ - bootleg_decode(machine()); - configure_banks(machine()); + bootleg_decode(); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,spangj) @@ -2147,31 +2147,31 @@ DRIVER_INIT_MEMBER(mitchell_state,spangj) m_input_type = 3; m_nvram->set_base(&memregion("maincpu")->base()[0xe000], 0x80); /* NVRAM */ spangj_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,sbbros) { m_input_type = 3; m_nvram->set_base(&memregion("maincpu")->base()[0xe000], 0x80); /* NVRAM */ sbbros_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,qtono1) { m_input_type = 0; qtono1_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,qsangoku) { m_input_type = 0; qsangoku_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,mgakuen) { m_input_type = 1; - configure_banks(machine()); + configure_banks(); machine().device("maincpu")->memory().space(AS_IO).install_read_port(0x03, 0x03, "DSW0"); machine().device("maincpu")->memory().space(AS_IO).install_read_port(0x04, 0x04, "DSW1"); } @@ -2179,39 +2179,39 @@ DRIVER_INIT_MEMBER(mitchell_state,mgakuen2) { m_input_type = 1; mgakuen2_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,pkladies) { m_input_type = 1; mgakuen2_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,pkladiesbl) { m_input_type = 1; - bootleg_decode(machine()); - configure_banks(machine()); + bootleg_decode(); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,marukin) { m_input_type = 1; marukin_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,block) { m_input_type = 2; m_nvram->set_base(&memregion("maincpu")->base()[0xff80], 0x80); /* NVRAM */ block_decode(machine()); - configure_banks(machine()); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,blockbl) { m_input_type = 2; m_nvram->set_base(&memregion("maincpu")->base()[0xff80], 0x80); /* NVRAM */ - bootleg_decode(machine()); - configure_banks(machine()); + bootleg_decode(); + configure_banks(); } DRIVER_INIT_MEMBER(mitchell_state,mstworld) @@ -2257,8 +2257,8 @@ DRIVER_INIT_MEMBER(mitchell_state,mstworld) } auto_free(machine(), source); - bootleg_decode(machine()); - configure_banks(machine()); + bootleg_decode(); + configure_banks(); } diff --git a/src/mame/drivers/ms32.c b/src/mame/drivers/ms32.c index 10c9a79a60d..e89d11bda7e 100644 --- a/src/mame/drivers/ms32.c +++ b/src/mame/drivers/ms32.c @@ -2191,18 +2191,17 @@ ROM_START( wpksocv2 ) ROM_END -static void configure_banks(running_machine &machine) +void ms32_state::configure_banks() { - ms32_state *state = machine.driver_data(); - state_save_register_global(machine, state->m_to_main); - state->membank("bank4")->configure_entries(0, 16, state->memregion("audiocpu")->base() + 0x14000, 0x4000); - state->membank("bank5")->configure_entries(0, 16, state->memregion("audiocpu")->base() + 0x14000, 0x4000); + state_save_register_global(machine(), m_to_main); + membank("bank4")->configure_entries(0, 16, memregion("audiocpu")->base() + 0x14000, 0x4000); + membank("bank5")->configure_entries(0, 16, memregion("audiocpu")->base() + 0x14000, 0x4000); } DRIVER_INIT_MEMBER(ms32_state,ms32_common) { m_nvram_8 = auto_alloc_array(machine(), UINT8, 0x2000); - configure_banks(machine()); + configure_banks(); } /* SS91022-10: desertwr, gratiaa, tp2m32, gametngk */ diff --git a/src/mame/drivers/mw8080bw.c b/src/mame/drivers/mw8080bw.c index 2bc7bd03b17..956f9eb7d36 100644 --- a/src/mame/drivers/mw8080bw.c +++ b/src/mame/drivers/mw8080bw.c @@ -552,9 +552,9 @@ MACHINE_CONFIG_END #define TORNBASE_CAB_TYPE_PORT_TAG ("CAB") -UINT8 tornbase_get_cabinet_type(running_machine &machine) +UINT8 mw8080bw_state::tornbase_get_cabinet_type() { - return machine.root_device().ioport(TORNBASE_CAB_TYPE_PORT_TAG)->read(); + return machine().root_device().ioport(TORNBASE_CAB_TYPE_PORT_TAG)->read(); } @@ -568,7 +568,7 @@ CUSTOM_INPUT_MEMBER(mw8080bw_state::tornbase_hit_right_input_r) { UINT32 ret; - switch (tornbase_get_cabinet_type(machine())) + switch (tornbase_get_cabinet_type()) { case TORNBASE_CAB_TYPE_UPRIGHT_OLD: ret = ioport(TORNBASE_L_HIT_PORT_TAG)->read(); @@ -589,7 +589,7 @@ CUSTOM_INPUT_MEMBER(mw8080bw_state::tornbase_pitch_left_input_r) { UINT32 ret; - switch (tornbase_get_cabinet_type(machine())) + switch (tornbase_get_cabinet_type()) { case TORNBASE_CAB_TYPE_UPRIGHT_OLD: case TORNBASE_CAB_TYPE_UPRIGHT_NEW: @@ -2122,24 +2122,21 @@ MACHINE_START_MEMBER(mw8080bw_state,spcenctr) } #if 0 -UINT8 spcenctr_get_trench_width( *running_machine &machine ) +UINT8 mw8080bw_state::spcenctr_get_trench_width() { - mw8080bw_state *state = machine.driver_data(); - return state->m_spcenctr_trench_width; + return m_spcenctr_trench_width; } -UINT8 spcenctr_get_trench_center( *running_machine &machine ) +UINT8 mw8080bw_state::spcenctr_get_trench_center() { - mw8080bw_state *state = machine.driver_data(); - return state->m_spcenctr_trench_center; + return m_spcenctr_trench_center; } -UINT8 spcenctr_get_trench_slope( *running_machine &machine, UINT8 addr ) +UINT8 mw8080bw_state::spcenctr_get_trench_slope(UINT8 addr ) { - mw8080bw_state *state = machine.driver_data(); - return state->m_spcenctr_trench_slope[addr & 0x0f]; + return m_spcenctr_trench_slope[addr & 0x0f]; } #endif @@ -2519,7 +2516,7 @@ CUSTOM_INPUT_MEMBER(mw8080bw_state::invaders_sw6_sw7_r) /* upright PCB : switches visible cocktail PCB: HI */ - if (invaders_is_cabinet_cocktail(machine())) + if (invaders_is_cabinet_cocktail()) ret = 0x03; else ret = ioport(INVADERS_SW6_SW7_PORT_TAG)->read(); @@ -2535,7 +2532,7 @@ CUSTOM_INPUT_MEMBER(mw8080bw_state::invaders_sw5_r) /* upright PCB : switch visible cocktail PCB: HI */ - if (invaders_is_cabinet_cocktail(machine())) + if (invaders_is_cabinet_cocktail()) ret = 0x01; else ret = ioport(INVADERS_SW5_PORT_TAG)->read(); @@ -2551,7 +2548,7 @@ CUSTOM_INPUT_MEMBER(mw8080bw_state::invaders_in0_control_r) /* upright PCB : P1 controls cocktail PCB: HI */ - if (invaders_is_cabinet_cocktail(machine())) + if (invaders_is_cabinet_cocktail()) ret = 0x07; else ret = ioport(INVADERS_P1_CONTROL_PORT_TAG)->read(); @@ -2573,7 +2570,7 @@ CUSTOM_INPUT_MEMBER(mw8080bw_state::invaders_in2_control_r) /* upright PCB : P1 controls cocktail PCB: P2 controls */ - if (invaders_is_cabinet_cocktail(machine())) + if (invaders_is_cabinet_cocktail()) ret = ioport(INVADERS_P2_CONTROL_PORT_TAG)->read(); else ret = ioport(INVADERS_P1_CONTROL_PORT_TAG)->read(); @@ -2582,9 +2579,9 @@ CUSTOM_INPUT_MEMBER(mw8080bw_state::invaders_in2_control_r) } -int invaders_is_cabinet_cocktail(running_machine &machine) +int mw8080bw_state::invaders_is_cabinet_cocktail() { - return machine.root_device().ioport(INVADERS_CAB_TYPE_PORT_TAG)->read(); + return machine().root_device().ioport(INVADERS_CAB_TYPE_PORT_TAG)->read(); } @@ -2788,9 +2785,9 @@ MACHINE_CONFIG_END #ifdef UNUSED_FUNCTION -static UINT32 invad2ct_coin_input_r(void *param) +UINT32 mw8080bw_state::invad2ct_coin_input_r(void *param) { - UINT32 ret = machine.root_device().ioport(INVAD2CT_COIN_INPUT_PORT_TAG)->read(); + UINT32 ret = machine().root_device().ioport(INVAD2CT_COIN_INPUT_PORT_TAG)->read(); coin_counter_w(machine, 0, !ret); diff --git a/src/mame/drivers/mystston.c b/src/mame/drivers/mystston.c index ac9deaff1f6..f121c5c230b 100644 --- a/src/mame/drivers/mystston.c +++ b/src/mame/drivers/mystston.c @@ -37,9 +37,9 @@ * *************************************/ -void mystston_on_scanline_interrupt(running_machine &machine) +void mystston_state::mystston_on_scanline_interrupt() { - machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE); + machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); } diff --git a/src/mame/includes/m10.h b/src/mame/includes/m10.h index e4092025d11..675b899f040 100644 --- a/src/mame/includes/m10.h +++ b/src/mame/includes/m10.h @@ -94,4 +94,5 @@ public: TIMER_CALLBACK_MEMBER(interrupt_callback); DECLARE_WRITE8_MEMBER(ic8j1_output_changed); DECLARE_WRITE8_MEMBER(ic8j2_output_changed); + inline void plot_pixel_m10( bitmap_ind16 &bm, int x, int y, int col ); }; diff --git a/src/mame/includes/m107.h b/src/mame/includes/m107.h index a76b644e34c..ac96e1180a3 100644 --- a/src/mame/includes/m107.h +++ b/src/mame/includes/m107.h @@ -53,4 +53,8 @@ public: virtual void video_start(); UINT32 screen_update_m107(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_DEVICE_CALLBACK_MEMBER(m107_scanline_interrupt); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); + void m107_update_scroll_positions(); + void m107_tilemap_draw(bitmap_ind16 &bitmap, const rectangle &cliprect, int laynum, int category,int opaque); + void m107_screenrefresh(bitmap_ind16 &bitmap, const rectangle &cliprect); }; diff --git a/src/mame/includes/m52.h b/src/mame/includes/m52.h index e0c5fba275b..41ead983be6 100644 --- a/src/mame/includes/m52.h +++ b/src/mame/includes/m52.h @@ -35,4 +35,5 @@ public: virtual void video_start(); virtual void palette_init(); UINT32 screen_update_m52(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect, int xpos, int ypos, int image); }; diff --git a/src/mame/includes/m57.h b/src/mame/includes/m57.h index 05da360334e..4fcda59b077 100644 --- a/src/mame/includes/m57.h +++ b/src/mame/includes/m57.h @@ -21,4 +21,6 @@ public: virtual void video_start(); virtual void palette_init(); UINT32 screen_update_m57(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); }; diff --git a/src/mame/includes/m58.h b/src/mame/includes/m58.h index b285fabd6fe..a98af98159b 100644 --- a/src/mame/includes/m58.h +++ b/src/mame/includes/m58.h @@ -31,4 +31,6 @@ public: virtual void video_start(); virtual void palette_init(); UINT32 screen_update_yard(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect ); + void draw_panel( bitmap_ind16 &bitmap, const rectangle &cliprect ); }; diff --git a/src/mame/includes/m62.h b/src/mame/includes/m62.h index 24339c9a469..45f695501fc 100644 --- a/src/mame/includes/m62.h +++ b/src/mame/includes/m62.h @@ -106,4 +106,9 @@ public: UINT32 screen_update_spelunk2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); UINT32 screen_update_youjyudn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); UINT32 screen_update_horizon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void m62_amplify_contrast(palette_t *palette, UINT32 numcolors); + void register_savestate( ); + void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int colormask, int prioritymask, int priority ); + void m62_start( tilemap_get_info_delegate tile_get_info, int rows, int cols, int x1, int y1, int x2, int y2 ); + void m62_textlayer( tilemap_get_info_delegate tile_get_info, int rows, int cols, int x1, int y1, int x2, int y2 ); }; diff --git a/src/mame/includes/m72.h b/src/mame/includes/m72.h index f37c46e752f..315c595a0c0 100644 --- a/src/mame/includes/m72.h +++ b/src/mame/includes/m72.h @@ -123,4 +123,13 @@ public: TIMER_CALLBACK_MEMBER(m72_scanline_interrupt); TIMER_CALLBACK_MEMBER(kengo_scanline_interrupt); TIMER_CALLBACK_MEMBER(delayed_ram16_w); + inline void m72_get_tile_info(tile_data &tileinfo,int tile_index,const UINT16 *vram,int gfxnum); + inline void rtype2_get_tile_info(tile_data &tileinfo,int tile_index,const UINT16 *vram,int gfxnum); + void register_savestate(); + inline void changecolor(int color,int r,int g,int b); + void m72_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect); + void majtitle_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect); + int find_sample(int num); + void copy_le(UINT16 *dest, const UINT8 *src, UINT8 bytes); + void install_protection_handler(const UINT8 *code,const UINT8 *crc); }; diff --git a/src/mame/includes/m90.h b/src/mame/includes/m90.h index bbf822e89e2..16f060afacc 100644 --- a/src/mame/includes/m90.h +++ b/src/mame/includes/m90.h @@ -48,4 +48,11 @@ public: INTERRUPT_GEN_MEMBER(m90_interrupt); INTERRUPT_GEN_MEMBER(dynablsb_interrupt); INTERRUPT_GEN_MEMBER(bomblord_interrupt); + inline void get_tile_info(tile_data &tileinfo,int tile_index,int layer,int page_mask); + inline void bomblord_get_tile_info(tile_data &tileinfo,int tile_index,int layer); + inline void dynablsb_get_tile_info(tile_data &tileinfo,int tile_index,int layer); + void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect); + void bomblord_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect); + void dynablsb_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect); + void markdirty(tilemap_t *tmap,int page,offs_t offset); }; diff --git a/src/mame/includes/m92.h b/src/mame/includes/m92.h index 69f7f50815e..6d76d46ef1f 100644 --- a/src/mame/includes/m92.h +++ b/src/mame/includes/m92.h @@ -79,6 +79,11 @@ public: UINT32 screen_update_ppan(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_CALLBACK_MEMBER(spritebuffer_callback); TIMER_DEVICE_CALLBACK_MEMBER(m92_scanline_interrupt); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); + void ppan_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); + void m92_update_scroll_positions(); + void m92_draw_tiles(bitmap_ind16 &bitmap,const rectangle &cliprect); + void m92_sprite_interrupt(); }; /*----------- defined in drivers/m92.c -----------*/ diff --git a/src/mame/includes/macrossp.h b/src/mame/includes/macrossp.h index 431b04e61ab..04f1d2add68 100644 --- a/src/mame/includes/macrossp.h +++ b/src/mame/includes/macrossp.h @@ -73,4 +73,8 @@ public: virtual void video_start(); UINT32 screen_update_macrossp(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); void screen_eof_macrossp(screen_device &screen, bool state); + void draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect, int priority ); + void draw_layer( bitmap_rgb32 &bitmap, const rectangle &cliprect, int layer ); + void sortlayers(int *layer,int *pri); + void update_colors( ); }; diff --git a/src/mame/includes/madalien.h b/src/mame/includes/madalien.h index d5998bfcde7..ef419b1f8e7 100644 --- a/src/mame/includes/madalien.h +++ b/src/mame/includes/madalien.h @@ -63,6 +63,11 @@ public: DECLARE_VIDEO_START(madalien); DECLARE_PALETTE_INIT(madalien); UINT32 screen_update_madalien(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + inline int scan_helper(int col, int row, int section); + void draw_edges(bitmap_ind16 &bitmap, const rectangle &cliprect, int flip, int scroll_mode); + void draw_headlight(bitmap_ind16 &bitmap, const rectangle &cliprect, int flip); + void draw_foreground(bitmap_ind16 &bitmap, const rectangle &cliprect, int flip); + inline UINT8 shift_common(UINT8 hi, UINT8 lo); }; /*----------- defined in video/madalien.c -----------*/ diff --git a/src/mame/includes/mainsnk.h b/src/mame/includes/mainsnk.h index fb25247ad73..9615913b568 100644 --- a/src/mame/includes/mainsnk.h +++ b/src/mame/includes/mainsnk.h @@ -28,4 +28,5 @@ public: virtual void video_start(); virtual void palette_init(); UINT32 screen_update_mainsnk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int scrollx, int scrolly ); }; diff --git a/src/mame/includes/mappy.h b/src/mame/includes/mappy.h index 5dac6124b19..550b28e936c 100644 --- a/src/mame/includes/mappy.h +++ b/src/mame/includes/mappy.h @@ -62,4 +62,6 @@ public: TIMER_CALLBACK_MEMBER(pacnpal_io_run); TIMER_CALLBACK_MEMBER(phozon_io_run); TIMER_CALLBACK_MEMBER(mappy_io_run); + void mappy_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 *spriteram_base); + void phozon_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 *spriteram_base); }; diff --git a/src/mame/includes/marineb.h b/src/mame/includes/marineb.h index 00115de7e31..22d72780f8b 100644 --- a/src/mame/includes/marineb.h +++ b/src/mame/includes/marineb.h @@ -46,4 +46,5 @@ public: UINT32 screen_update_hopprobo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(marineb_vblank_irq); INTERRUPT_GEN_MEMBER(wanted_vblank_irq); + void set_tilemap_scrolly( int cols ); }; diff --git a/src/mame/includes/mario.h b/src/mame/includes/mario.h index e771c9f88e9..8e085e087c3 100644 --- a/src/mame/includes/mario.h +++ b/src/mame/includes/mario.h @@ -90,6 +90,7 @@ public: DECLARE_WRITE8_MEMBER(mario_sh_sound_w); DECLARE_WRITE8_MEMBER(mario_sh1_w); DECLARE_WRITE8_MEMBER(mario_sh2_w); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); }; /*----------- defined in audio/mario.c -----------*/ diff --git a/src/mame/includes/markham.h b/src/mame/includes/markham.h index de850330a7a..d844edca3f4 100644 --- a/src/mame/includes/markham.h +++ b/src/mame/includes/markham.h @@ -27,4 +27,5 @@ public: virtual void video_start(); virtual void palette_init(); UINT32 screen_update_markham(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); }; diff --git a/src/mame/includes/maygay1b.h b/src/mame/includes/maygay1b.h index 348d45f7839..e11c392b577 100644 --- a/src/mame/includes/maygay1b.h +++ b/src/mame/includes/maygay1b.h @@ -81,4 +81,6 @@ public: DECLARE_DRIVER_INIT(m1); virtual void machine_start(); virtual void machine_reset(); + void update_outputs(i8279_state *chip, UINT16 which); + void m1_stepper_reset(); }; diff --git a/src/mame/includes/mcatadv.h b/src/mame/includes/mcatadv.h index e01b0a042e4..7199670b87b 100644 --- a/src/mame/includes/mcatadv.h +++ b/src/mame/includes/mcatadv.h @@ -43,4 +43,6 @@ public: virtual void video_start(); UINT32 screen_update_mcatadv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void screen_eof_mcatadv(screen_device &screen, bool state); + void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); + void mcatadv_draw_tilemap_part( UINT16* current_scroll, UINT16* current_videoram1, int i, tilemap_t* current_tilemap, bitmap_ind16 &bitmap, const rectangle &cliprect ); }; diff --git a/src/mame/includes/mcr.h b/src/mame/includes/mcr.h index 1f6534b1808..7026452426b 100644 --- a/src/mame/includes/mcr.h +++ b/src/mame/includes/mcr.h @@ -109,6 +109,11 @@ public: DECLARE_WRITE16_MEMBER(mcr_ipu_sio_transmit); DECLARE_WRITE_LINE_MEMBER(ipu_ctc_interrupt); DECLARE_WRITE8_MEMBER(ipu_break_changed); + void mcr_set_color(int index, int data); + void journey_set_color(int index, int data); + void render_sprites_91399(bitmap_ind16 &bitmap, const rectangle &cliprect); + void render_sprites_91464(bitmap_ind16 &bitmap, const rectangle &cliprect, int primask, int sprmask, int colormask); + void mcr_init(int cpuboard, int vidboard, int ssioboard); }; /*----------- defined in machine/mcr.c -----------*/ diff --git a/src/mame/includes/mcr3.h b/src/mame/includes/mcr3.h index 1104d4254d9..2735ac3abf6 100644 --- a/src/mame/includes/mcr3.h +++ b/src/mame/includes/mcr3.h @@ -65,4 +65,6 @@ public: DECLARE_PALETTE_INIT(spyhunt); UINT32 screen_update_mcr3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); UINT32 screen_update_spyhunt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void mcr3_update_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int color_mask, int code_xor, int dx, int dy); + void mcr_common_init(); }; diff --git a/src/mame/includes/mcr68.h b/src/mame/includes/mcr68.h index 5aa90f53449..736a4b35813 100644 --- a/src/mame/includes/mcr68.h +++ b/src/mame/includes/mcr68.h @@ -109,6 +109,13 @@ public: DECLARE_WRITE8_MEMBER(zwackery_pia1_w); DECLARE_WRITE_LINE_MEMBER(zwackery_ca2_w); DECLARE_WRITE_LINE_MEMBER(zwackery_pia_irq); + void mcr68_update_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority); + void zwackery_update_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority); + void mcr68_common_init(); + void update_mcr68_interrupts(); + inline void update_interrupts(); + void subtract_from_counter(int counter, int count); + void mcr68_common_init(int clip, int xoffset); }; /*----------- defined in machine/mcr68.c -----------*/ diff --git a/src/mame/includes/meadows.h b/src/mame/includes/meadows.h index 183027ca1e2..0a5b8b401e8 100644 --- a/src/mame/includes/meadows.h +++ b/src/mame/includes/meadows.h @@ -49,6 +49,7 @@ public: INTERRUPT_GEN_MEMBER(meadows_interrupt); INTERRUPT_GEN_MEMBER(minferno_interrupt); INTERRUPT_GEN_MEMBER(audio_interrupt); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &clip); }; diff --git a/src/mame/includes/megasys1.h b/src/mame/includes/megasys1.h index 545439e82e4..861acd1b296 100644 --- a/src/mame/includes/megasys1.h +++ b/src/mame/includes/megasys1.h @@ -116,4 +116,10 @@ public: INTERRUPT_GEN_MEMBER(megasys1D_irq); TIMER_DEVICE_CALLBACK_MEMBER(megasys1A_scanline); TIMER_DEVICE_CALLBACK_MEMBER(megasys1B_scanline); + inline void scrollram_w(offs_t offset, UINT16 data, UINT16 mem_mask, int which); + void create_tilemaps(); + void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect); + void rodlandj_gfx_unmangle(const char *region); + void jitsupro_gfx_unmangle(const char *region); + void stdragona_gfx_unmangle(const char *region); }; diff --git a/src/mame/includes/mermaid.h b/src/mame/includes/mermaid.h index 735e3870bd0..449e9d85b7e 100644 --- a/src/mame/includes/mermaid.h +++ b/src/mame/includes/mermaid.h @@ -80,4 +80,6 @@ public: UINT32 screen_update_mermaid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void screen_eof_mermaid(screen_device &screen, bool state); INTERRUPT_GEN_MEMBER(vblank_irq); + void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); + UINT8 collision_check( rectangle& rect ); }; diff --git a/src/mame/includes/metlclsh.h b/src/mame/includes/metlclsh.h index 71e76d7c21a..a9f2159b52d 100644 --- a/src/mame/includes/metlclsh.h +++ b/src/mame/includes/metlclsh.h @@ -50,4 +50,5 @@ public: virtual void machine_reset(); virtual void video_start(); UINT32 screen_update_metlclsh(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); }; diff --git a/src/mame/includes/metro.h b/src/mame/includes/metro.h index 0aac925b4f4..774f3dbdde1 100644 --- a/src/mame/includes/metro.h +++ b/src/mame/includes/metro.h @@ -178,6 +178,14 @@ public: TIMER_CALLBACK_MEMBER(metro_blit_done); void update_irq_state(); IRQ_CALLBACK_MEMBER(metro_irq_callback); + inline UINT8 get_tile_pix( UINT16 code, UINT8 x, UINT8 y, int big, UINT16 *pix ); + inline void metro_vram_w( offs_t offset, UINT16 data, UINT16 mem_mask, int layer, UINT16 *vram ); + void metro_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); + void draw_layers( bitmap_ind16 &bitmap, const rectangle &cliprect, int pri, int layers_ctrl ); + inline int blt_read( const UINT8 *ROM, const int offs ); + void metro_common( ); + void draw_tilemap( bitmap_ind16 &bitmap, const rectangle &cliprect, UINT32 flags, UINT32 pcode, + int sx, int sy, int wx, int wy, int big, UINT16 *tilemapram, int layer ); }; diff --git a/src/mame/includes/mexico86.h b/src/mame/includes/mexico86.h index 363e574c0fa..94c60a8c0d1 100644 --- a/src/mame/includes/mexico86.h +++ b/src/mame/includes/mexico86.h @@ -57,4 +57,6 @@ public: UINT32 screen_update_kikikai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(kikikai_interrupt); INTERRUPT_GEN_MEMBER(mexico86_m68705_interrupt); + void mcu_simulate( ); + void kiki_clogic(int address, int latch); }; diff --git a/src/mame/includes/midwunit.h b/src/mame/includes/midwunit.h index cb08582bf7d..17b8c1317a4 100644 --- a/src/mame/includes/midwunit.h +++ b/src/mame/includes/midwunit.h @@ -41,4 +41,7 @@ public: DECLARE_DRIVER_INIT(mk3r20); DECLARE_MACHINE_RESET(midwunit); DECLARE_VIDEO_START(midwunit); + void register_state_saving(); + void init_wunit_generic(); + void init_mk3_common(); }; diff --git a/src/mame/includes/midxunit.h b/src/mame/includes/midxunit.h index 196ada48a12..19ac0f7013a 100644 --- a/src/mame/includes/midxunit.h +++ b/src/mame/includes/midxunit.h @@ -37,4 +37,5 @@ public: DECLARE_DRIVER_INIT(revx); DECLARE_MACHINE_RESET(midxunit); DECLARE_VIDEO_START(midxunit); + void register_state_saving(); }; diff --git a/src/mame/includes/mikie.h b/src/mame/includes/mikie.h index a6439352ddd..4b39a4915be 100644 --- a/src/mame/includes/mikie.h +++ b/src/mame/includes/mikie.h @@ -45,4 +45,5 @@ public: virtual void palette_init(); UINT32 screen_update_mikie(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(vblank_irq); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); }; diff --git a/src/mame/includes/mitchell.h b/src/mame/includes/mitchell.h index 42c5574e6dd..c5cef3d8f06 100644 --- a/src/mame/includes/mitchell.h +++ b/src/mame/includes/mitchell.h @@ -104,4 +104,7 @@ public: DECLARE_VIDEO_START(pang); UINT32 screen_update_pang(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_DEVICE_CALLBACK_MEMBER(mitchell_irq); + void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); + void bootleg_decode( ); + void configure_banks( ); }; diff --git a/src/mame/includes/mjkjidai.h b/src/mame/includes/mjkjidai.h index 1b3541e2c61..73c898566c2 100644 --- a/src/mame/includes/mjkjidai.h +++ b/src/mame/includes/mjkjidai.h @@ -30,4 +30,5 @@ public: virtual void video_start(); UINT32 screen_update_mjkjidai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(vblank_irq); + void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect); }; diff --git a/src/mame/includes/momoko.h b/src/mame/includes/momoko.h index 6281b4fc34c..74898fb2345 100644 --- a/src/mame/includes/momoko.h +++ b/src/mame/includes/momoko.h @@ -46,4 +46,5 @@ public: virtual void machine_start(); virtual void machine_reset(); UINT32 screen_update_momoko(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void momoko_draw_bg_pri( bitmap_ind16 &bitmap, int chr, int col, int flipx, int flipy, int x, int y, int pri ); }; diff --git a/src/mame/includes/mrdo.h b/src/mame/includes/mrdo.h index f3cd905d8a3..71a413bdc2b 100644 --- a/src/mame/includes/mrdo.h +++ b/src/mame/includes/mrdo.h @@ -33,4 +33,5 @@ public: virtual void video_start(); virtual void palette_init(); UINT32 screen_update_mrdo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void draw_sprites( bitmap_ind16 &bitmap,const rectangle &cliprect ); }; diff --git a/src/mame/includes/mrflea.h b/src/mame/includes/mrflea.h index bf758f48950..b0dc2f586b5 100644 --- a/src/mame/includes/mrflea.h +++ b/src/mame/includes/mrflea.h @@ -46,4 +46,6 @@ public: virtual void machine_reset(); UINT32 screen_update_mrflea(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_DEVICE_CALLBACK_MEMBER(mrflea_slave_interrupt); + void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); + void draw_background( bitmap_ind16 &bitmap, const rectangle &cliprect ); }; diff --git a/src/mame/includes/mrjong.h b/src/mame/includes/mrjong.h index 5d4fbc0378d..7ab561442fb 100644 --- a/src/mame/includes/mrjong.h +++ b/src/mame/includes/mrjong.h @@ -26,4 +26,5 @@ public: virtual void video_start(); virtual void palette_init(); UINT32 screen_update_mrjong(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); }; diff --git a/src/mame/includes/ms32.h b/src/mame/includes/ms32.h index 7c1a5b17ce1..b3fc40c64e9 100644 --- a/src/mame/includes/ms32.h +++ b/src/mame/includes/ms32.h @@ -92,4 +92,8 @@ public: IRQ_CALLBACK_MEMBER(irq_callback); void irq_init(); void irq_raise(int level); + void update_color(int color); + void draw_sprites(bitmap_ind16 &bitmap, bitmap_ind8 &bitmap_pri, const rectangle &cliprect, UINT16 *sprram_top, size_t sprram_size, int gfxnum, int reverseorder); + void draw_roz(bitmap_ind16 &bitmap, const rectangle &cliprect,int priority); + void configure_banks(); }; diff --git a/src/mame/includes/msisaac.h b/src/mame/includes/msisaac.h index b8cda6f3fcf..3c90cbb97b1 100644 --- a/src/mame/includes/msisaac.h +++ b/src/mame/includes/msisaac.h @@ -74,4 +74,5 @@ public: DECLARE_MACHINE_RESET(ta7630); UINT32 screen_update_msisaac(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_CALLBACK_MEMBER(nmi_callback); + void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); }; diff --git a/src/mame/includes/mugsmash.h b/src/mame/includes/mugsmash.h index 57e67ac9fa8..f306a9b0835 100644 --- a/src/mame/includes/mugsmash.h +++ b/src/mame/includes/mugsmash.h @@ -31,4 +31,5 @@ public: virtual void machine_start(); virtual void video_start(); UINT32 screen_update_mugsmash(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect ); }; diff --git a/src/mame/includes/munchmo.h b/src/mame/includes/munchmo.h index 240e70a8716..07046e73926 100644 --- a/src/mame/includes/munchmo.h +++ b/src/mame/includes/munchmo.h @@ -49,4 +49,7 @@ public: UINT32 screen_update_mnchmobl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(mnchmobl_vblank_irq); INTERRUPT_GEN_MEMBER(mnchmobl_sound_irq); + void draw_status( bitmap_ind16 &bitmap, const rectangle &cliprect ); + void draw_background( bitmap_ind16 &bitmap, const rectangle &cliprect ); + void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); }; diff --git a/src/mame/includes/mustache.h b/src/mame/includes/mustache.h index f9f29db24a1..d554fbacdc1 100644 --- a/src/mame/includes/mustache.h +++ b/src/mame/includes/mustache.h @@ -19,4 +19,5 @@ public: virtual void palette_init(); UINT32 screen_update_mustache(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_DEVICE_CALLBACK_MEMBER(mustache_scanline); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect ); }; diff --git a/src/mame/includes/mw8080bw.h b/src/mame/includes/mw8080bw.h index 711786c539e..ad463b13a7c 100644 --- a/src/mame/includes/mw8080bw.h +++ b/src/mame/includes/mw8080bw.h @@ -174,6 +174,16 @@ public: DECLARE_WRITE8_MEMBER(invad2ct_audio_3_w); DECLARE_WRITE8_MEMBER(invad2ct_audio_4_w); void maze_update_discrete(); + UINT8 vpos_to_vysnc_chain_counter( int vpos ); + int vysnc_chain_counter_to_vpos( UINT8 counter, int vblank ); + void mw8080bw_create_interrupt_timer( ); + void mw8080bw_start_interrupt_timer( ); + UINT8 tornbase_get_cabinet_type(); + UINT8 spcenctr_get_trench_width(); + UINT8 spcenctr_get_trench_center(); + UINT8 spcenctr_get_trench_slope(UINT8 addr ); + int invaders_is_cabinet_cocktail(); + UINT32 invad2ct_coin_input_r(void *param); }; diff --git a/src/mame/includes/mystston.h b/src/mame/includes/mystston.h index 664501940f7..6cb68343da9 100644 --- a/src/mame/includes/mystston.h +++ b/src/mame/includes/mystston.h @@ -48,12 +48,11 @@ public: DECLARE_VIDEO_RESET(mystston); UINT32 screen_update_mystston(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_CALLBACK_MEMBER(interrupt_callback); + void set_palette(); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, int flip); + void mystston_on_scanline_interrupt(); }; -/*----------- defined in drivers/mystston.c -----------*/ - -void mystston_on_scanline_interrupt(running_machine &machine); - /*----------- defined in video/mystston.c -----------*/ MACHINE_CONFIG_EXTERN( mystston_video ); diff --git a/src/mame/machine/mcr68.c b/src/mame/machine/mcr68.c index f9a7b18c77a..d376c9577eb 100644 --- a/src/mame/machine/mcr68.c +++ b/src/mame/machine/mcr68.c @@ -12,15 +12,6 @@ #define VERBOSE 0 #define LOG(x) do { if (VERBOSE) logerror x; } while (0) - -/************************************* - * - * Function prototypes - * - *************************************/ - -static void subtract_from_counter(running_machine &machine, int counter, int count); - /************************************* * * 6821 PIA declarations @@ -131,40 +122,39 @@ MACHINE_START_MEMBER(mcr68_state,mcr68) } -static void mcr68_common_init(running_machine &machine) +void mcr68_state::mcr68_common_init() { - mcr68_state *state = machine.driver_data(); int i; /* reset the 6840's */ - state->m_m6840_counter_periods[0] = attotime::from_hz(30); /* clocked by /VBLANK */ - state->m_m6840_counter_periods[1] = attotime::never; /* grounded */ - state->m_m6840_counter_periods[2] = attotime::from_hz(512 * 30); /* clocked by /HSYNC */ + m_m6840_counter_periods[0] = attotime::from_hz(30); /* clocked by /VBLANK */ + m_m6840_counter_periods[1] = attotime::never; /* grounded */ + m_m6840_counter_periods[2] = attotime::from_hz(512 * 30); /* clocked by /HSYNC */ - state->m_m6840_status = 0x00; - state->m_m6840_status_read_since_int = 0x00; - state->m_m6840_msb_buffer = state->m_m6840_lsb_buffer = 0; + m_m6840_status = 0x00; + m_m6840_status_read_since_int = 0x00; + m_m6840_msb_buffer = m_m6840_lsb_buffer = 0; for (i = 0; i < 3; i++) { - struct counter_state *m6840 = &state->m_m6840_state[i]; + struct counter_state *m6840 = &m_m6840_state[i]; m6840->control = 0x00; m6840->latch = 0xffff; m6840->count = 0xffff; m6840->timer->enable(false); m6840->timer_active = 0; - m6840->period = state->m_m6840_counter_periods[i]; + m6840->period = m_m6840_counter_periods[i]; } /* initialize the clock */ - state->m_m6840_internal_counter_period = attotime::from_hz(machine.device("maincpu")->unscaled_clock() / 10); + m_m6840_internal_counter_period = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10); } MACHINE_RESET_MEMBER(mcr68_state,mcr68) { /* for the most part all MCR/68k games are the same */ - mcr68_common_init(machine()); + mcr68_common_init(); m_v493_callback = timer_expired_delegate(FUNC(mcr68_state::mcr68_493_callback),this); /* vectors are 1 and 2 */ @@ -182,7 +172,7 @@ MACHINE_START_MEMBER(mcr68_state,zwackery) MACHINE_RESET_MEMBER(mcr68_state,zwackery) { /* for the most part all MCR/68k games are the same */ - mcr68_common_init(machine()); + mcr68_common_init(); m_v493_callback = timer_expired_delegate(FUNC(mcr68_state::zwackery_493_callback),this); /* vectors are 5 and 6 */ @@ -202,7 +192,7 @@ INTERRUPT_GEN_MEMBER(mcr68_state::mcr68_interrupt) { /* update the 6840 VBLANK clock */ if (!m_m6840_state[0].timer_active) - subtract_from_counter(machine(), 0, 1); + subtract_from_counter(0, 1); logerror("--- VBLANK ---\n"); @@ -220,25 +210,24 @@ INTERRUPT_GEN_MEMBER(mcr68_state::mcr68_interrupt) * *************************************/ -static void update_mcr68_interrupts(running_machine &machine) +void mcr68_state::update_mcr68_interrupts() { - mcr68_state *state = machine.driver_data(); - machine.device("maincpu")->execute().set_input_line(state->m_v493_irq_vector, state->m_v493_irq_state ? ASSERT_LINE : CLEAR_LINE); - machine.device("maincpu")->execute().set_input_line(state->m_m6840_irq_vector, state->m_m6840_irq_state ? ASSERT_LINE : CLEAR_LINE); + machine().device("maincpu")->execute().set_input_line(m_v493_irq_vector, m_v493_irq_state ? ASSERT_LINE : CLEAR_LINE); + machine().device("maincpu")->execute().set_input_line(m_m6840_irq_vector, m_m6840_irq_state ? ASSERT_LINE : CLEAR_LINE); } TIMER_CALLBACK_MEMBER(mcr68_state::mcr68_493_off_callback) { m_v493_irq_state = 0; - update_mcr68_interrupts(machine()); + update_mcr68_interrupts(); } TIMER_CALLBACK_MEMBER(mcr68_state::mcr68_493_callback) { m_v493_irq_state = 1; - update_mcr68_interrupts(machine()); + update_mcr68_interrupts(); machine().scheduler().timer_set(machine().primary_screen->scan_period(), timer_expired_delegate(FUNC(mcr68_state::mcr68_493_off_callback),this)); logerror("--- (INT1) ---\n"); } @@ -279,7 +268,7 @@ WRITE_LINE_MEMBER(mcr68_state::zwackery_pia_irq) { pia6821_device *pia = machine().device("pia0"); m_v493_irq_state = pia->irq_a_state() | pia->irq_b_state(); - update_mcr68_interrupts(machine()); + update_mcr68_interrupts(); } @@ -306,24 +295,22 @@ TIMER_CALLBACK_MEMBER(mcr68_state::zwackery_493_callback) * *************************************/ -INLINE void update_interrupts(running_machine &machine) +inline void mcr68_state::update_interrupts() { - mcr68_state *state = machine.driver_data(); - state->m_m6840_status &= ~0x80; + m_m6840_status &= ~0x80; - if ((state->m_m6840_status & 0x01) && (state->m_m6840_state[0].control & 0x40)) state->m_m6840_status |= 0x80; - if ((state->m_m6840_status & 0x02) && (state->m_m6840_state[1].control & 0x40)) state->m_m6840_status |= 0x80; - if ((state->m_m6840_status & 0x04) && (state->m_m6840_state[2].control & 0x40)) state->m_m6840_status |= 0x80; + if ((m_m6840_status & 0x01) && (m_m6840_state[0].control & 0x40)) m_m6840_status |= 0x80; + if ((m_m6840_status & 0x02) && (m_m6840_state[1].control & 0x40)) m_m6840_status |= 0x80; + if ((m_m6840_status & 0x04) && (m_m6840_state[2].control & 0x40)) m_m6840_status |= 0x80; - state->m_m6840_irq_state = state->m_m6840_status >> 7; - update_mcr68_interrupts(machine); + m_m6840_irq_state = m_m6840_status >> 7; + update_mcr68_interrupts(); } -static void subtract_from_counter(running_machine &machine, int counter, int count) +void mcr68_state::subtract_from_counter(int counter, int count) { - mcr68_state *state = machine.driver_data(); - struct counter_state *m6840 = &state->m_m6840_state[counter]; + struct counter_state *m6840 = &m_m6840_state[counter]; /* dual-byte mode */ if (m6840->control & 0x04) @@ -344,9 +331,9 @@ static void subtract_from_counter(running_machine &machine, int counter, int cou /* if MSB goes less than zero, we've expired */ if (msb < 0) { - state->m_m6840_status |= 1 << counter; - state->m_m6840_status_read_since_int &= ~(1 << counter); - update_interrupts(machine); + m_m6840_status |= 1 << counter; + m_m6840_status_read_since_int &= ~(1 << counter); + update_interrupts(); msb = (m6840->latch >> 8) + 1; LOG(("** Counter %d fired\n", counter)); } @@ -371,9 +358,9 @@ static void subtract_from_counter(running_machine &machine, int counter, int cou word += m6840->latch + 1; /* we've expired */ - state->m_m6840_status |= 1 << counter; - state->m_m6840_status_read_since_int &= ~(1 << counter); - update_interrupts(machine); + m_m6840_status |= 1 << counter; + m_m6840_status_read_since_int &= ~(1 << counter); + update_interrupts(); LOG(("** Counter %d fired\n", counter)); } @@ -393,7 +380,7 @@ TIMER_CALLBACK_MEMBER(mcr68_state::counter_fired_callback) m6840->timer_active = 0; /* subtract it all from the counter; this will generate an interrupt */ - subtract_from_counter(machine(), counter, count); + subtract_from_counter(counter, count); } @@ -508,7 +495,7 @@ WRITE8_MEMBER(mcr68_state::mcr68_6840_w_common) } m_m6840_status = 0; - update_interrupts(machine()); + update_interrupts(); } /* changing the clock source? (needed for Zwackery) */ @@ -534,7 +521,7 @@ WRITE8_MEMBER(mcr68_state::mcr68_6840_w_common) /* clear the interrupt */ m_m6840_status &= ~(1 << counter); - update_interrupts(machine()); + update_interrupts(); /* reload the count if in an appropriate mode */ if (!(m6840->control & 0x10)) @@ -568,7 +555,7 @@ READ16_MEMBER(mcr68_state::mcr68_6840_r_common) /* clear the interrupt if the status has been read */ if (m_m6840_status_read_since_int & (1 << counter)) m_m6840_status &= ~(1 << counter); - update_interrupts(machine()); + update_interrupts(); m_m6840_lsb_buffer = result & 0xff; diff --git a/src/mame/machine/mexico86.c b/src/mame/machine/mexico86.c index aa0938410a9..5adaf2c8397 100644 --- a/src/mame/machine/mexico86.c +++ b/src/mame/machine/mexico86.c @@ -41,66 +41,65 @@ WRITE8_MEMBER(mexico86_state::mexico86_f008_w) ***************************************************************************/ -static void mcu_simulate( running_machine &machine ) +void mexico86_state::mcu_simulate( ) { - mexico86_state *state = machine.driver_data(); - if (!state->m_mcu_initialised) + if (!m_mcu_initialised) { - if (state->m_protection_ram[0x01] == 0x00) + if (m_protection_ram[0x01] == 0x00) { logerror("initialising MCU\n"); - state->m_protection_ram[0x04] = 0xfc; // coin inputs - state->m_protection_ram[0x02] = 0xff; // player 1 - state->m_protection_ram[0x03] = 0xff; // player 2 - state->m_protection_ram[0x1b] = 0xff; // active player - state->m_protection_ram[0x06] = 0xff; // must be FF otherwise PS4 ERROR - state->m_protection_ram[0x07] = 0x03; // must be 03 otherwise PS4 ERROR - state->m_protection_ram[0x00] = 0x00; - state->m_mcu_initialised = 1; + m_protection_ram[0x04] = 0xfc; // coin inputs + m_protection_ram[0x02] = 0xff; // player 1 + m_protection_ram[0x03] = 0xff; // player 2 + m_protection_ram[0x1b] = 0xff; // active player + m_protection_ram[0x06] = 0xff; // must be FF otherwise PS4 ERROR + m_protection_ram[0x07] = 0x03; // must be 03 otherwise PS4 ERROR + m_protection_ram[0x00] = 0x00; + m_mcu_initialised = 1; } } - if (state->m_mcu_initialised) + if (m_mcu_initialised) { int i; int coin_curr; - coin_curr = ~machine.root_device().ioport("IN0")->read() & 1; - if (coin_curr && !state->m_coin_last && state->m_protection_ram[0x01] < 9) + coin_curr = ~machine().root_device().ioport("IN0")->read() & 1; + if (coin_curr && !m_coin_last && m_protection_ram[0x01] < 9) { - state->m_protection_ram[0x01]++; // increase credits counter - state->m_protection_ram[0x0a] = 0x01; // set flag (coin inserted sound is not played otherwise) + m_protection_ram[0x01]++; // increase credits counter + m_protection_ram[0x0a] = 0x01; // set flag (coin inserted sound is not played otherwise) } - state->m_coin_last = coin_curr; + m_coin_last = coin_curr; - state->m_protection_ram[0x04] = 0x3c; // coin inputs + m_protection_ram[0x04] = 0x3c; // coin inputs - state->m_protection_ram[0x02] = BITSWAP8(machine.root_device().ioport("IN1")->read(), 7,6,5,4,2,3,1,0); // player 1 - state->m_protection_ram[0x03] = BITSWAP8(machine.root_device().ioport("IN2")->read(), 7,6,5,4,2,3,1,0); // player 2 + m_protection_ram[0x02] = BITSWAP8(machine().root_device().ioport("IN1")->read(), 7,6,5,4,2,3,1,0); // player 1 + m_protection_ram[0x03] = BITSWAP8(machine().root_device().ioport("IN2")->read(), 7,6,5,4,2,3,1,0); // player 2 - if (state->m_protection_ram[0x19] == 0xaa) // player 2 active - state->m_protection_ram[0x1b] = state->m_protection_ram[0x03]; + if (m_protection_ram[0x19] == 0xaa) // player 2 active + m_protection_ram[0x1b] = m_protection_ram[0x03]; else - state->m_protection_ram[0x1b] = state->m_protection_ram[0x02]; + m_protection_ram[0x1b] = m_protection_ram[0x02]; for (i = 0; i < 0x10; i += 2) - state->m_protection_ram[i + 0xb1] = state->m_protection_ram[i + 0xb0]; + m_protection_ram[i + 0xb1] = m_protection_ram[i + 0xb0]; for (i = 0; i < 0x0a; i++) - state->m_protection_ram[i + 0xc0] = state->m_protection_ram[i + 0x90] + 1; + m_protection_ram[i + 0xc0] = m_protection_ram[i + 0x90] + 1; - if (state->m_protection_ram[0xd1] == 0xff) + if (m_protection_ram[0xd1] == 0xff) { - if (state->m_protection_ram[0xd0] > 0 && state->m_protection_ram[0xd0] < 4) + if (m_protection_ram[0xd0] > 0 && m_protection_ram[0xd0] < 4) { - state->m_protection_ram[0xd2] = 0x81; - state->m_protection_ram[0xd0] = 0xff; + m_protection_ram[0xd2] = 0x81; + m_protection_ram[0xd0] = 0xff; } } - if (state->m_protection_ram[0xe0] > 0 && state->m_protection_ram[0xe0] < 4) + if (m_protection_ram[0xe0] > 0 && m_protection_ram[0xe0] < 4) { static const UINT8 answers[3][16] = { @@ -108,17 +107,17 @@ static void mcu_simulate( running_machine &machine ) { 0x00,0x04,0x08,0x0C,0x10,0x14,0x18,0x1C,0x20,0x31,0x2B,0x35,0x00,0x00,0x00,0x00 }, { 0x00,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x12,0x03,0x0A,0x0B,0x14,0x00,0x00,0x00,0x00 }, }; - int table = state->m_protection_ram[0xe0] - 1; + int table = m_protection_ram[0xe0] - 1; for (i = 1; i < 0x10; i++) - state->m_protection_ram[0xe0 + i] = answers[table][i]; - state->m_protection_ram[0xe0] = 0xff; + m_protection_ram[0xe0 + i] = answers[table][i]; + m_protection_ram[0xe0] = 0xff; } - if (state->m_protection_ram[0xf0] > 0 && state->m_protection_ram[0xf0] < 4) + if (m_protection_ram[0xf0] > 0 && m_protection_ram[0xf0] < 4) { - state->m_protection_ram[0xf1] = 0xb3; - state->m_protection_ram[0xf0] = 0xff; + m_protection_ram[0xf1] = 0xb3; + m_protection_ram[0xf0] = 0xff; } @@ -126,21 +125,21 @@ static void mcu_simulate( running_machine &machine ) // this should be equivalent to the obfuscated kiki_clogic() below { static const UINT8 db[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x10,0x18,0x00,0x00,0x00,0x00}; - UINT16 sy = state->m_protection_ram[0xa0] + ((0x18) >> 1); - UINT16 sx = state->m_protection_ram[0xa1] + ((0x18) >> 1); + UINT16 sy = m_protection_ram[0xa0] + ((0x18) >> 1); + UINT16 sx = m_protection_ram[0xa1] + ((0x18) >> 1); for (i = 0; i < 0x38; i += 8) { - UINT8 hw = db[state->m_protection_ram[0x20 + i] & 0xf]; + UINT8 hw = db[m_protection_ram[0x20 + i] & 0xf]; if (hw) { - UINT16 xdiff = sx - ((UINT16)state->m_protection_ram[0x20 + i + 6] << 8 | state->m_protection_ram[0x20 + i + 7]); + UINT16 xdiff = sx - ((UINT16)m_protection_ram[0x20 + i + 6] << 8 | m_protection_ram[0x20 + i + 7]); if (xdiff < hw) { - UINT16 ydiff = sy - ((UINT16)state->m_protection_ram[0x20 + i + 4] << 8 | state->m_protection_ram[0x20 + i + 5]); + UINT16 ydiff = sy - ((UINT16)m_protection_ram[0x20 + i + 4] << 8 | m_protection_ram[0x20 + i + 5]); if (ydiff < hw) - state->m_protection_ram[0xa2] = 1; // we have a collision + m_protection_ram[0xa2] = 1; // we have a collision } } } @@ -152,7 +151,7 @@ static void mcu_simulate( running_machine &machine ) INTERRUPT_GEN_MEMBER(mexico86_state::kikikai_interrupt) { if (m_mcu_running) - mcu_simulate(machine()); + mcu_simulate(); device.execute().set_input_line_vector(0, m_protection_ram[0]); device.execute().set_input_line(0, HOLD_LINE); @@ -171,35 +170,34 @@ INTERRUPT_GEN_MEMBER(mexico86_state::kikikai_interrupt) #define DCWIDTH 0 #define DCHEIGHT 0 -static void kiki_clogic(running_machine &machine, int address, int latch) +void mexico86_state::kiki_clogic(int address, int latch) { - mexico86_state *state = machine.driver_data(); static const UINT8 db[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x10,0x18,0x00,0x00,0x00,0x00}; int sy, sx, hw, i, qptr, diff1, diff2; - if (address != KIKI_CL_TRIGGER) // state->m_queue latched data + if (address != KIKI_CL_TRIGGER) // m_queue latched data { - state->m_queue[state->m_qfront++] = latch; - state->m_qfront &= 0x3f; + m_queue[m_qfront++] = latch; + m_qfront &= 0x3f; } - else if (state->m_qstate ^= 1) // scan state->m_queue + else if (m_qstate ^= 1) // scan m_queue { - sy = state->m_queue[(state->m_qfront-0x3a)&0x3f] + ((0x18-DCHEIGHT)>>1); - sx = state->m_queue[(state->m_qfront-0x39)&0x3f] + ((0x18-DCWIDTH)>>1); + sy = m_queue[(m_qfront-0x3a)&0x3f] + ((0x18-DCHEIGHT)>>1); + sx = m_queue[(m_qfront-0x39)&0x3f] + ((0x18-DCWIDTH)>>1); for (i=0x38; i; i-=8) { - qptr = state->m_qfront - i; - if (!(hw = db[state->m_queue[qptr&0x3f]&0xf])) continue; + qptr = m_qfront - i; + if (!(hw = db[m_queue[qptr&0x3f]&0xf])) continue; - diff1 = sx - (short)(state->m_queue[(qptr+6)&0x3f]<<8|state->m_queue[(qptr+7)&0x3f]) + DCWIDTH; + diff1 = sx - (short)(m_queue[(qptr+6)&0x3f]<<8|m_queue[(qptr+7)&0x3f]) + DCWIDTH; diff2 = diff1 - (hw + DCWIDTH); if ((diff1^diff2)<0) { - diff1 = sy - (short)(state->m_queue[(qptr+4)&0x3f]<<8|state->m_queue[(qptr+5)&0x3f]) + DCHEIGHT; + diff1 = sy - (short)(m_queue[(qptr+4)&0x3f]<<8|m_queue[(qptr+5)&0x3f]) + DCHEIGHT; diff2 = diff1 - (hw + DCHEIGHT); if ((diff1^diff2)<0) - state->m_protection_ram[KIKI_CL_OUT] = 1; // we have a collision + m_protection_ram[KIKI_CL_OUT] = 1; // we have a collision } } } diff --git a/src/mame/machine/midwunit.c b/src/mame/machine/midwunit.c index 2d226c18b38..a0ca809b86c 100644 --- a/src/mame/machine/midwunit.c +++ b/src/mame/machine/midwunit.c @@ -18,14 +18,13 @@ * *************************************/ -static void register_state_saving(running_machine &machine) +void midwunit_state::register_state_saving() { - midwunit_state *state = machine.driver_data(); - state_save_register_global(machine, state->m_cmos_write_enable); - state_save_register_global_array(machine, state->m_iodata); - state_save_register_global_array(machine, state->m_ioshuffle); - state_save_register_global_array(machine, state->m_uart); - state_save_register_global(machine, state->m_security_bits); + state_save_register_global(machine(), m_cmos_write_enable); + state_save_register_global_array(machine(), m_iodata); + state_save_register_global_array(machine(), m_ioshuffle); + state_save_register_global_array(machine(), m_uart); + state_save_register_global(machine(), m_security_bits); } @@ -146,13 +145,13 @@ READ16_MEMBER(midwunit_state::midwunit_io_r) * *************************************/ -static void init_wunit_generic(running_machine &machine) +void midwunit_state::init_wunit_generic() { /* register for state saving */ - register_state_saving(machine); + register_state_saving(); /* init sound */ - dcs_init(machine); + dcs_init(machine()); } @@ -194,39 +193,39 @@ WRITE16_MEMBER(midwunit_state::umk3_palette_hack_w) /* printf("in=%04X%04X out=%04X%04X\n", m_umk3_palette[3], m_umk3_palette[2], m_umk3_palette[1], m_umk3_palette[0]); */ } -static void init_mk3_common(running_machine &machine) +void midwunit_state::init_mk3_common() { /* common init */ - init_wunit_generic(machine); + init_wunit_generic(); /* serial prefixes 439, 528 */ - midway_serial_pic_init(machine, 528); + midway_serial_pic_init(machine(), 528); } DRIVER_INIT_MEMBER(midwunit_state,mk3) { - init_mk3_common(machine()); + init_mk3_common(); } DRIVER_INIT_MEMBER(midwunit_state,mk3r20) { - init_mk3_common(machine()); + init_mk3_common(); } DRIVER_INIT_MEMBER(midwunit_state,mk3r10) { - init_mk3_common(machine()); + init_mk3_common(); } DRIVER_INIT_MEMBER(midwunit_state,umk3) { - init_mk3_common(machine()); + init_mk3_common(); m_umk3_palette = machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x0106a060, 0x0106a09f, write16_delegate(FUNC(midwunit_state::umk3_palette_hack_w),this)); } DRIVER_INIT_MEMBER(midwunit_state,umk3r11) { - init_mk3_common(machine()); + init_mk3_common(); m_umk3_palette = machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x0106a060, 0x0106a09f,write16_delegate(FUNC(midwunit_state::umk3_palette_hack_w),this)); } @@ -236,7 +235,7 @@ DRIVER_INIT_MEMBER(midwunit_state,umk3r11) DRIVER_INIT_MEMBER(midwunit_state,openice) { /* common init */ - init_wunit_generic(machine()); + init_wunit_generic(); /* serial prefixes 438, 528 */ midway_serial_pic_init(machine(), 528); @@ -248,7 +247,7 @@ DRIVER_INIT_MEMBER(midwunit_state,openice) DRIVER_INIT_MEMBER(midwunit_state,nbahangt) { /* common init */ - init_wunit_generic(machine()); + init_wunit_generic(); /* serial prefixes 459, 470, 528 */ midway_serial_pic_init(machine(), 528); @@ -309,7 +308,7 @@ WRITE16_MEMBER(midwunit_state::wwfmania_io_0_w) DRIVER_INIT_MEMBER(midwunit_state,wwfmania) { /* common init */ - init_wunit_generic(machine()); + init_wunit_generic(); /* enable I/O shuffling */ machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x01800000, 0x0180000f, write16_delegate(FUNC(midwunit_state::wwfmania_io_0_w),this)); @@ -324,7 +323,7 @@ DRIVER_INIT_MEMBER(midwunit_state,wwfmania) DRIVER_INIT_MEMBER(midwunit_state,rmpgwt) { /* common init */ - init_wunit_generic(machine()); + init_wunit_generic(); /* serial prefixes 465, 528 */ midway_serial_pic_init(machine(), 528); diff --git a/src/mame/machine/midxunit.c b/src/mame/machine/midxunit.c index 846d8adc901..c92e0bfa219 100644 --- a/src/mame/machine/midxunit.c +++ b/src/mame/machine/midxunit.c @@ -24,15 +24,14 @@ static void midxunit_dcs_output_full(running_machine &machine, int state); * *************************************/ -static void register_state_saving(running_machine &machine) +void midxunit_state::register_state_saving() { - midxunit_state *state = machine.driver_data(); - state_save_register_global(machine, state->m_cmos_write_enable); - state_save_register_global_array(machine, state->m_iodata); - state_save_register_global_array(machine, state->m_ioshuffle); - state_save_register_global(machine, state->m_analog_port); - state_save_register_global_array(machine, state->m_uart); - state_save_register_global(machine, state->m_security_bits); + state_save_register_global(machine(), m_cmos_write_enable); + state_save_register_global_array(machine(), m_iodata); + state_save_register_global_array(machine(), m_ioshuffle); + state_save_register_global(machine(), m_analog_port); + state_save_register_global_array(machine(), m_uart); + state_save_register_global(machine(), m_security_bits); } @@ -292,7 +291,7 @@ WRITE16_MEMBER(midxunit_state::midxunit_uart_w) DRIVER_INIT_MEMBER(midxunit_state,revx) { /* register for state saving */ - register_state_saving(machine()); + register_state_saving(); /* init sound */ dcs_init(machine()); diff --git a/src/mame/machine/mw8080bw.c b/src/mame/machine/mw8080bw.c index a60b0103f4d..ba2247cf9dd 100644 --- a/src/mame/machine/mw8080bw.c +++ b/src/mame/machine/mw8080bw.c @@ -13,7 +13,7 @@ * *************************************/ -static UINT8 vpos_to_vysnc_chain_counter( int vpos ) +UINT8 mw8080bw_state::vpos_to_vysnc_chain_counter( int vpos ) { /* convert from a vertical position to the actual values on the vertical sync counters */ UINT8 counter; @@ -28,7 +28,7 @@ static UINT8 vpos_to_vysnc_chain_counter( int vpos ) } -static int vysnc_chain_counter_to_vpos( UINT8 counter, int vblank ) +int mw8080bw_state::vysnc_chain_counter_to_vpos( UINT8 counter, int vblank ) { /* convert from the vertical sync counters to an actual vertical position */ int vpos; @@ -71,18 +71,16 @@ TIMER_CALLBACK_MEMBER(mw8080bw_state::mw8080bw_interrupt_callback) } -static void mw8080bw_create_interrupt_timer( running_machine &machine ) +void mw8080bw_state::mw8080bw_create_interrupt_timer( ) { - mw8080bw_state *state = machine.driver_data(); - state->m_interrupt_timer = machine.scheduler().timer_alloc(timer_expired_delegate(FUNC(mw8080bw_state::mw8080bw_interrupt_callback),state)); + m_interrupt_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(mw8080bw_state::mw8080bw_interrupt_callback),this)); } -static void mw8080bw_start_interrupt_timer( running_machine &machine ) +void mw8080bw_state::mw8080bw_start_interrupt_timer( ) { - mw8080bw_state *state = machine.driver_data(); int vpos = vysnc_chain_counter_to_vpos(MW8080BW_INT_TRIGGER_COUNT_1, MW8080BW_INT_TRIGGER_VBLANK_1); - state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(vpos)); + m_interrupt_timer->adjust(machine().primary_screen->time_until_pos(vpos)); } @@ -95,7 +93,7 @@ static void mw8080bw_start_interrupt_timer( running_machine &machine ) MACHINE_START_MEMBER(mw8080bw_state,mw8080bw) { - mw8080bw_create_interrupt_timer(machine()); + mw8080bw_create_interrupt_timer(); m_samples = machine().device("samples"); m_samples1 = machine().device("samples1"); @@ -115,5 +113,5 @@ MACHINE_START_MEMBER(mw8080bw_state,mw8080bw) MACHINE_RESET_MEMBER(mw8080bw_state,mw8080bw) { - mw8080bw_start_interrupt_timer(machine()); + mw8080bw_start_interrupt_timer(); } diff --git a/src/mame/video/m10.c b/src/mame/video/m10.c index a77e44d9582..7544c85f301 100644 --- a/src/mame/video/m10.c +++ b/src/mame/video/m10.c @@ -84,11 +84,10 @@ WRITE8_MEMBER(m10_state::m15_chargen_w) } -INLINE void plot_pixel_m10( running_machine &machine, bitmap_ind16 &bm, int x, int y, int col ) +inline void m10_state::plot_pixel_m10( bitmap_ind16 &bm, int x, int y, int col ) { - m10_state *state = machine.driver_data(); - if (!state->m_flip) + if (!m_flip) bm.pix16(y, x) = col; else bm.pix16((IREMM10_VBSTART - 1) - (y - IREMM10_VBEND) + 6, @@ -145,7 +144,7 @@ UINT32 m10_state::screen_update_m10(screen_device &screen, bitmap_ind16 &bitmap, int y; for (y = IREMM10_VBEND; y < IREMM10_VBSTART; y++) - plot_pixel_m10(machine(), bitmap, 16, y, 1); + plot_pixel_m10(bitmap, 16, y, 1); } for (offs = m_videoram.bytes() - 1; offs >= 0; offs--) diff --git a/src/mame/video/m107.c b/src/mame/video/m107.c index f295f3d9b45..7cd0d676065 100644 --- a/src/mame/video/m107.c +++ b/src/mame/video/m107.c @@ -146,12 +146,11 @@ void m107_state::video_start() /*****************************************************************************/ -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) +void m107_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) { - m107_state *state = machine.driver_data(); - UINT16 *spriteram = state->m_buffered_spriteram; + UINT16 *spriteram = m_buffered_spriteram; int offs; - UINT8 *rom = state->memregion("user1")->base(); + UINT8 *rom = memregion("user1")->base(); for (offs = 0;offs < 0x800;offs += 4) { @@ -176,7 +175,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r fy=(spriteram[offs+2]>>8)&0x2; y_multi=(spriteram[offs+0]>>11)&0x3; - if (state->m_spritesystem == 0) + if (m_spritesystem == 0) { y_multi=1 << y_multi; /* 1, 2, 4 or 8 */ @@ -185,20 +184,20 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r for (i=0; i(); int laynum; int i; @@ -283,14 +281,14 @@ static void m107_update_scroll_positions(running_machine &machine) for (laynum = 0; laynum < 4; laynum++) { - pf_layer_info *layer = &state->m_pf_layer[laynum]; + pf_layer_info *layer = &m_pf_layer[laynum]; - int scrolly = state->m_control[0 + 2 * laynum]; - int scrollx = state->m_control[1 + 2 * laynum]; + int scrolly = m_control[0 + 2 * laynum]; + int scrollx = m_control[1 + 2 * laynum]; - if (state->m_control[0x08 + laynum] & 0x01) //used by World PK Soccer goal scrolling and Fire Barrel sea wave effect (stage 2) / canyon parallax effect (stage 6) + if (m_control[0x08 + laynum] & 0x01) //used by World PK Soccer goal scrolling and Fire Barrel sea wave effect (stage 2) / canyon parallax effect (stage 6) { - const UINT16 *scrolldata = state->m_vram_data + (0xe000 + 0x200 * laynum) / 2; + const UINT16 *scrolldata = m_vram_data + (0xe000 + 0x200 * laynum) / 2; layer->tmap->set_scroll_rows(512); for (i = 0; i < 512; i++) @@ -309,55 +307,53 @@ static void m107_update_scroll_positions(running_machine &machine) /*****************************************************************************/ -static void m107_tilemap_draw(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int laynum, int category,int opaque) +void m107_state::m107_tilemap_draw(bitmap_ind16 &bitmap, const rectangle &cliprect, int laynum, int category,int opaque) { - m107_state *state = machine.driver_data(); int line; rectangle clip; - const rectangle &visarea = machine.primary_screen->visible_area(); + const rectangle &visarea = machine().primary_screen->visible_area(); clip = visarea; - if (state->m_control[0x08 + laynum] & 0x02) + if (m_control[0x08 + laynum] & 0x02) { for (line = cliprect.min_y; line <= cliprect.max_y;line++) { - const UINT16 *scrolldata = state->m_vram_data + (0xe800 + 0x200 * laynum) / 2; + const UINT16 *scrolldata = m_vram_data + (0xe800 + 0x200 * laynum) / 2; clip.min_y = clip.max_y = line; - state->m_pf_layer[laynum].tmap->set_scrollx(0, state->m_control[1 + 2 * laynum]); - state->m_pf_layer[laynum].tmap->set_scrolly(0, (state->m_control[0 + 2 * laynum] + scrolldata[line])); + m_pf_layer[laynum].tmap->set_scrollx(0, m_control[1 + 2 * laynum]); + m_pf_layer[laynum].tmap->set_scrolly(0, (m_control[0 + 2 * laynum] + scrolldata[line])); - state->m_pf_layer[laynum].tmap->draw(bitmap, clip, category | opaque, category); + m_pf_layer[laynum].tmap->draw(bitmap, clip, category | opaque, category); } } else - state->m_pf_layer[laynum].tmap->draw(bitmap, cliprect, category | opaque, category); + m_pf_layer[laynum].tmap->draw(bitmap, cliprect, category | opaque, category); } -static void m107_screenrefresh(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) +void m107_state::m107_screenrefresh(bitmap_ind16 &bitmap, const rectangle &cliprect) { - m107_state *state = machine.driver_data(); - machine.priority_bitmap.fill(0, cliprect); + machine().priority_bitmap.fill(0, cliprect); - if ((~state->m_control[0x0b] >> 7) & 1) + if ((~m_control[0x0b] >> 7) & 1) { - m107_tilemap_draw(machine, bitmap, cliprect, 3, 0,0); - m107_tilemap_draw(machine, bitmap, cliprect, 3, 1,0); + m107_tilemap_draw(bitmap, cliprect, 3, 0,0); + m107_tilemap_draw(bitmap, cliprect, 3, 1,0); } else bitmap.fill(0, cliprect); /* note: the opaque flag is used if layer 3 is disabled, noticeable in World PK Soccer title and gameplay screens */ - m107_tilemap_draw(machine, bitmap, cliprect, 2, 0,(((state->m_control[0x0b] >> 7) & 1) ? TILEMAP_DRAW_OPAQUE : 0)); - m107_tilemap_draw(machine, bitmap, cliprect, 1, 0,0); - m107_tilemap_draw(machine, bitmap, cliprect, 0, 0,0); - m107_tilemap_draw(machine, bitmap, cliprect, 2, 1,0); - m107_tilemap_draw(machine, bitmap, cliprect, 1, 1,0); - m107_tilemap_draw(machine, bitmap, cliprect, 0, 1,0); + m107_tilemap_draw(bitmap, cliprect, 2, 0,(((m_control[0x0b] >> 7) & 1) ? TILEMAP_DRAW_OPAQUE : 0)); + m107_tilemap_draw(bitmap, cliprect, 1, 0,0); + m107_tilemap_draw(bitmap, cliprect, 0, 0,0); + m107_tilemap_draw(bitmap, cliprect, 2, 1,0); + m107_tilemap_draw(bitmap, cliprect, 1, 1,0); + m107_tilemap_draw(bitmap, cliprect, 0, 1,0); - if(state->m_sprite_display) - draw_sprites(machine, bitmap, cliprect); + if(m_sprite_display) + draw_sprites(bitmap, cliprect); /* This hardware probably has more priority values - but I haven't found any used yet */ @@ -382,7 +378,7 @@ WRITE16_MEMBER(m107_state::m107_spritebuffer_w) UINT32 m107_state::screen_update_m107(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - m107_update_scroll_positions(machine()); - m107_screenrefresh(machine(), bitmap, cliprect); + m107_update_scroll_positions(); + m107_screenrefresh(bitmap, cliprect); return 0; } diff --git a/src/mame/video/m52.c b/src/mame/video/m52.c index 8f35cb2119a..300e4c9f582 100644 --- a/src/mame/video/m52.c +++ b/src/mame/video/m52.c @@ -290,14 +290,13 @@ WRITE8_MEMBER(m52_state::alpha1v_flipscreen_w) * *************************************/ -void draw_background(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int xpos, int ypos, int image) +void m52_state::draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect, int xpos, int ypos, int image) { rectangle rect; - const rectangle &visarea = machine.primary_screen->visible_area(); + const rectangle &visarea = machine().primary_screen->visible_area(); - m52_state *state = machine.driver_data(); - if (state->flip_screen()) + if (flip_screen()) { xpos = 127 - xpos; ypos = 255 - ypos - BGHEIGHT; @@ -309,25 +308,25 @@ void draw_background(running_machine &machine, bitmap_ind16 &bitmap, const recta ypos = ypos + (22 - 8); drawgfx_transpen(bitmap, cliprect, - machine.gfx[image], + machine().gfx[image], 0, 0, - state->flip_screen(), - state->flip_screen(), + flip_screen(), + flip_screen(), xpos, ypos, 0); drawgfx_transpen(bitmap, cliprect, - machine.gfx[image], + machine().gfx[image], 0, 0, - state->flip_screen(), - state->flip_screen(), + flip_screen(), + flip_screen(), xpos - 256, ypos, 0); rect.min_x = visarea.min_x; rect.max_x = visarea.max_x; - if (state->flip_screen()) + if (flip_screen()) { rect.min_y = ypos - BGHEIGHT; rect.max_y = ypos - 1; @@ -338,7 +337,7 @@ void draw_background(running_machine &machine, bitmap_ind16 &bitmap, const recta rect.max_y = ypos + 2 * BGHEIGHT - 1; } - bitmap.fill(machine.gfx[image]->colorbase() + 3, rect); + bitmap.fill(machine().gfx[image]->colorbase() + 3, rect); } @@ -358,13 +357,13 @@ UINT32 m52_state::screen_update_m52(screen_device &screen, bitmap_ind16 &bitmap, if (!(m_bgcontrol & 0x20)) { if (!(m_bgcontrol & 0x10)) - draw_background(machine(), bitmap, cliprect, m_bg2xpos, m_bg2ypos, 2); /* distant mountains */ + draw_background(bitmap, cliprect, m_bg2xpos, m_bg2ypos, 2); /* distant mountains */ if (!(m_bgcontrol & 0x02)) - draw_background(machine(), bitmap, cliprect, m_bg1xpos, m_bg1ypos, 3); /* hills */ + draw_background(bitmap, cliprect, m_bg1xpos, m_bg1ypos, 3); /* hills */ if (!(m_bgcontrol & 0x04)) - draw_background(machine(), bitmap, cliprect, m_bg1xpos, m_bg1ypos, 4); /* cityscape */ + draw_background(bitmap, cliprect, m_bg1xpos, m_bg1ypos, 4); /* cityscape */ } m_bg_tilemap->set_flip(flip_screen() ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0); diff --git a/src/mame/video/m57.c b/src/mame/video/m57.c index da653a928b5..f8589055a15 100644 --- a/src/mame/video/m57.c +++ b/src/mame/video/m57.c @@ -170,22 +170,21 @@ WRITE8_MEMBER(m57_state::m57_flipscreen_w) * *************************************/ -static void draw_background(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) +void m57_state::draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect) { - m57_state *state = machine.driver_data(); int y,x; INT16 scrolly; // from 64 to 127: not wrapped for (y = 64; y < 128; y++) - state->m_bg_tilemap->set_scrollx(y, state->m_scrollram[0x40]); + m_bg_tilemap->set_scrollx(y, m_scrollram[0x40]); - state->m_bg_tilemap->draw(bitmap, cliprect, 0, 0); + m_bg_tilemap->draw(bitmap, cliprect, 0, 0); // from 128 to 255: wrapped for (y = 128; y <= cliprect.max_y; y++) { - scrolly = state->m_scrollram[y] + (state->m_scrollram[y + 0x100] << 8); + scrolly = m_scrollram[y] + (m_scrollram[y + 0x100] << 8); if (scrolly >= 0) { @@ -214,17 +213,16 @@ static void draw_background(running_machine &machine, bitmap_ind16 &bitmap, cons * *************************************/ -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) +void m57_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) { - m57_state *state = machine.driver_data(); int offs; - for (offs = state->m_spriteram.bytes() - 4; offs >= 0; offs -= 4) + for (offs = m_spriteram.bytes() - 4; offs >= 0; offs -= 4) { - UINT8 attributes = state->m_spriteram[offs + 1]; - int sx = state->m_spriteram[offs + 3]; - int sy = ((224 - state->m_spriteram[offs + 0] - 32) & 0xff) + 32; - int code = state->m_spriteram[offs + 2]; + UINT8 attributes = m_spriteram[offs + 1]; + int sx = m_spriteram[offs + 3]; + int sy = ((224 - m_spriteram[offs + 0] - 32) & 0xff) + 32; + int code = m_spriteram[offs + 2]; int color = attributes & 0x1f; int flipy = attributes & 0x80; int flipx = attributes & 0x40; @@ -235,7 +233,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r if (code & 0x80) bank += 1; if (attributes & 0x20) bank += 2; - if (state->m_flipscreen) + if (m_flipscreen) { sx = 240 - sx; sy = 224 - sy; @@ -243,12 +241,12 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r flipy = !flipy; } - drawgfx_transmask(bitmap, cliprect, machine.gfx[1 + bank], + drawgfx_transmask(bitmap, cliprect, machine().gfx[1 + bank], tile_number, color, flipx, flipy, sx, sy, - colortable_get_transpen_mask(machine.colortable, machine.gfx[1], color, 256 + 15)); + colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 256 + 15)); } } @@ -262,7 +260,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r UINT32 m57_state::screen_update_m57(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - draw_background(machine(), bitmap, cliprect); - draw_sprites(machine(), bitmap, cliprect); + draw_background(bitmap, cliprect); + draw_sprites(bitmap, cliprect); return 0; } diff --git a/src/mame/video/m58.c b/src/mame/video/m58.c index 967d022b4cc..af8b29f8db3 100644 --- a/src/mame/video/m58.c +++ b/src/mame/video/m58.c @@ -209,25 +209,24 @@ WRITE8_MEMBER(m58_state::yard_flipscreen_w) * *************************************/ -#define DRAW_SPRITE(code, sy) drawgfx_transmask(bitmap, cliprect, machine.gfx[1], code, color, flipx, flipy, sx, sy, colortable_get_transpen_mask(machine.colortable, machine.gfx[1], color, 512)); +#define DRAW_SPRITE(code, sy) drawgfx_transmask(bitmap, cliprect, machine().gfx[1], code, color, flipx, flipy, sx, sy, colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 512)); -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void m58_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect ) { - m58_state *state = machine.driver_data(); int offs; - const rectangle &visarea = machine.primary_screen->visible_area(); + const rectangle &visarea = machine().primary_screen->visible_area(); - for (offs = state->m_spriteram.bytes() - 4; offs >= 0; offs -= 4) + for (offs = m_spriteram.bytes() - 4; offs >= 0; offs -= 4) { - int attr = state->m_spriteram[offs + 1]; + int attr = m_spriteram[offs + 1]; int bank = (attr & 0x20) >> 5; - int code1 = state->m_spriteram[offs + 2] & 0xbf; + int code1 = m_spriteram[offs + 2] & 0xbf; int code2 = 0; int color = attr & 0x1f; int flipx = attr & 0x40; int flipy = attr & 0x80; - int sx = state->m_spriteram[offs + 3]; - int sy1 = 233 - state->m_spriteram[offs]; + int sx = m_spriteram[offs + 3]; + int sy1 = 233 - m_spriteram[offs]; int sy2 = 0; if (flipy) @@ -240,7 +239,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r code2 = code1 + 0x40; } - if (state->flip_screen()) + if (flip_screen()) { sx = 240 - sx; sy2 = 192 - sy1; @@ -266,24 +265,23 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r * *************************************/ -static void draw_panel( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void m58_state::draw_panel( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - m58_state *state = machine.driver_data(); - if (!*state->m_yard_score_panel_disabled) + if (!*m_yard_score_panel_disabled) { const rectangle clippanel(26*8, 32*8-1, 1*8, 31*8-1); const rectangle clippanelflip(0*8, 6*8-1, 1*8, 31*8-1); - rectangle clip = state->flip_screen() ? clippanelflip : clippanel; - const rectangle &visarea = machine.primary_screen->visible_area(); - int sx = state->flip_screen() ? cliprect.min_x - 8 : cliprect.max_x + 1 - SCROLL_PANEL_WIDTH; - int yoffs = state->flip_screen() ? -40 : -16; + rectangle clip = flip_screen() ? clippanelflip : clippanel; + const rectangle &visarea = machine().primary_screen->visible_area(); + int sx = flip_screen() ? cliprect.min_x - 8 : cliprect.max_x + 1 - SCROLL_PANEL_WIDTH; + int yoffs = flip_screen() ? -40 : -16; clip.min_y += visarea.min_y + yoffs; clip.max_y += visarea.max_y + yoffs; clip &= cliprect; - copybitmap(bitmap, *state->m_scroll_panel_bitmap, state->flip_screen(), state->flip_screen(), + copybitmap(bitmap, *m_scroll_panel_bitmap, flip_screen(), flip_screen(), sx, visarea.min_y + yoffs, clip); } } @@ -302,7 +300,7 @@ UINT32 m58_state::screen_update_yard(screen_device &screen, bitmap_ind16 &bitmap m_bg_tilemap->set_scrolly(0, *m_yard_scroll_y_low); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect); - draw_panel(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); + draw_panel(bitmap, cliprect); return 0; } diff --git a/src/mame/video/m62.c b/src/mame/video/m62.c index 96af66c9883..15321ed412a 100644 --- a/src/mame/video/m62.c +++ b/src/mame/video/m62.c @@ -180,7 +180,7 @@ static const res_net_decode_info spelunk2_sprite_decode_info = }; -static void m62_amplify_contrast(palette_t *palette, UINT32 numcolors) +void m62_state::m62_amplify_contrast(palette_t *palette, UINT32 numcolors) { // m62 palette is very dark, so amplify default contrast UINT32 i, ymax=1; @@ -283,18 +283,17 @@ PALETTE_INIT_MEMBER(m62_state,spelunk2) } -static void register_savestate( running_machine &machine ) +void m62_state::register_savestate( ) { - m62_state *state = machine.driver_data(); - state->save_item(NAME(state->m_flipscreen)); - state->save_item(NAME(state->m_m62_background_hscroll)); - state->save_item(NAME(state->m_m62_background_vscroll)); + save_item(NAME(m_flipscreen)); + save_item(NAME(m_m62_background_hscroll)); + save_item(NAME(m_m62_background_vscroll)); - state->save_item(NAME(state->m_kidniki_background_bank)); - state->save_item(NAME(state->m_kidniki_text_vscroll)); - state->save_item(NAME(state->m_ldrun3_topbottom_mask)); - state->save_item(NAME(state->m_spelunkr_palbank)); + save_item(NAME(m_kidniki_background_bank)); + save_item(NAME(m_kidniki_text_vscroll)); + save_item(NAME(m_ldrun3_topbottom_mask)); + save_item(NAME(m_spelunkr_palbank)); } @@ -346,25 +345,24 @@ WRITE8_MEMBER(m62_state::m62_textram_w) } -static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int colormask, int prioritymask, int priority ) +void m62_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int colormask, int prioritymask, int priority ) { - m62_state *state = machine.driver_data(); int offs; - for (offs = 0; offs < state->m_spriteram.bytes(); offs += 8) + for (offs = 0; offs < m_spriteram.bytes(); offs += 8) { int i, incr, code, col, flipx, flipy, sx, sy; - if ((state->m_spriteram[offs] & prioritymask) == priority) + if ((m_spriteram[offs] & prioritymask) == priority) { - code = state->m_spriteram[offs + 4] + ((state->m_spriteram[offs + 5] & 0x07) << 8); - col = state->m_spriteram[offs + 0] & colormask; - sx = 256 * (state->m_spriteram[offs + 7] & 1) + state->m_spriteram[offs + 6], - sy = 256 + 128 - 15 - (256 * (state->m_spriteram[offs + 3] & 1) + state->m_spriteram[offs + 2]), - flipx = state->m_spriteram[offs + 5] & 0x40; - flipy = state->m_spriteram[offs + 5] & 0x80; + code = m_spriteram[offs + 4] + ((m_spriteram[offs + 5] & 0x07) << 8); + col = m_spriteram[offs + 0] & colormask; + sx = 256 * (m_spriteram[offs + 7] & 1) + m_spriteram[offs + 6], + sy = 256 + 128 - 15 - (256 * (m_spriteram[offs + 3] & 1) + m_spriteram[offs + 2]), + flipx = m_spriteram[offs + 5] & 0x40; + flipy = m_spriteram[offs + 5] & 0x80; - i = state->m_sprite_height_prom[(code >> 5) & 0x1f]; + i = m_sprite_height_prom[(code >> 5) & 0x1f]; if (i == 1) /* double height */ { code &= ~1; @@ -377,7 +375,7 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const sy -= 3*16; } - if (state->m_flipscreen) + if (m_flipscreen) { sx = 496 - sx; sy = 242 - i*16 - sy; /* sprites are slightly misplaced by the hardware */ @@ -394,7 +392,7 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const do { - drawgfx_transpen(bitmap,cliprect,machine.gfx[1], + drawgfx_transpen(bitmap,cliprect,machine().gfx[1], code + i * incr,col, flipx,flipy, sx,sy + 16 * i,0); @@ -405,30 +403,28 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const } } -static void m62_start( running_machine &machine, tilemap_get_info_delegate tile_get_info, int rows, int cols, int x1, int y1, int x2, int y2 ) +void m62_state::m62_start( tilemap_get_info_delegate tile_get_info, int rows, int cols, int x1, int y1, int x2, int y2 ) { - m62_state *state = machine.driver_data(); - state->m_bg_tilemap = &machine.tilemap().create(tile_get_info, TILEMAP_SCAN_ROWS, x1, y1, x2, y2); + m_bg_tilemap = &machine().tilemap().create(tile_get_info, TILEMAP_SCAN_ROWS, x1, y1, x2, y2); - register_savestate(machine); + register_savestate(); if (rows != 0) - state->m_bg_tilemap->set_scroll_rows(rows); + m_bg_tilemap->set_scroll_rows(rows); if (cols != 0) - state->m_bg_tilemap->set_scroll_cols(cols); + m_bg_tilemap->set_scroll_cols(cols); } -static void m62_textlayer( running_machine &machine, tilemap_get_info_delegate tile_get_info, int rows, int cols, int x1, int y1, int x2, int y2 ) +void m62_state::m62_textlayer( tilemap_get_info_delegate tile_get_info, int rows, int cols, int x1, int y1, int x2, int y2 ) { - m62_state *state = machine.driver_data(); - state->m_fg_tilemap = &machine.tilemap().create(tile_get_info, TILEMAP_SCAN_ROWS, x1, y1, x2, y2); + m_fg_tilemap = &machine().tilemap().create(tile_get_info, TILEMAP_SCAN_ROWS, x1, y1, x2, y2); if (rows != 0) - state->m_fg_tilemap->set_scroll_rows(rows); + m_fg_tilemap->set_scroll_rows(rows); if (cols != 0) - state->m_fg_tilemap->set_scroll_cols(cols); + m_fg_tilemap->set_scroll_cols(cols); } WRITE8_MEMBER(m62_state::kungfum_tileram_w) @@ -460,7 +456,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_kungfum_bg_tile_info) VIDEO_START_MEMBER(m62_state,kungfum) { - m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_kungfum_bg_tile_info),this), 32, 0, 8, 8, 64, 32); + m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_kungfum_bg_tile_info),this), 32, 0, 8, 8, 64, 32); } UINT32 m62_state::screen_update_kungfum(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -475,7 +471,7 @@ UINT32 m62_state::screen_update_kungfum(screen_device &screen, bitmap_ind16 &bit m_bg_tilemap->set_scrollx(i, m_m62_background_hscroll); } m_bg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect, 0x1f, 0x00, 0x00); + draw_sprites(bitmap, cliprect, 0x1f, 0x00, 0x00); m_bg_tilemap->draw(bitmap, cliprect, 1, 0); return 0; } @@ -502,7 +498,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_ldrun_bg_tile_info) void m62_state::video_start() { - m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_ldrun_bg_tile_info),this), 1, 1, 8, 8, 64, 32); + m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_ldrun_bg_tile_info),this), 1, 1, 8, 8, 64, 32); m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */ m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */ } @@ -513,9 +509,9 @@ UINT32 m62_state::screen_update_ldrun(screen_device &screen, bitmap_ind16 &bitma m_bg_tilemap->set_scrolly(0, m_m62_background_vscroll); m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); - draw_sprites(machine(), bitmap, cliprect, 0x0f, 0x10, 0x00); + draw_sprites(bitmap, cliprect, 0x0f, 0x10, 0x00); m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 0); - draw_sprites(machine(), bitmap, cliprect, 0x0f, 0x10, 0x10); + draw_sprites(bitmap, cliprect, 0x0f, 0x10, 0x10); return 0; } @@ -540,7 +536,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_ldrun2_bg_tile_info) VIDEO_START_MEMBER(m62_state,ldrun2) { - m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_ldrun2_bg_tile_info),this), 1, 1, 8, 8, 64, 32); + m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_ldrun2_bg_tile_info),this), 1, 1, 8, 8, 64, 32); m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */ m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */ } @@ -602,8 +598,8 @@ TILE_GET_INFO_MEMBER(m62_state::get_battroad_fg_tile_info) VIDEO_START_MEMBER(m62_state,battroad) { - m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_battroad_bg_tile_info),this), 1, 1, 8, 8, 64, 32); - m62_textlayer(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_battroad_fg_tile_info),this), 1, 1, 8, 8, 32, 32); + m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_battroad_bg_tile_info),this), 1, 1, 8, 8, 64, 32); + m62_textlayer(tilemap_get_info_delegate(FUNC(m62_state::get_battroad_fg_tile_info),this), 1, 1, 8, 8, 32, 32); m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */ m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */ } @@ -617,9 +613,9 @@ UINT32 m62_state::screen_update_battroad(screen_device &screen, bitmap_ind16 &bi m_fg_tilemap->set_transparent_pen(0); m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); - draw_sprites(machine(), bitmap, cliprect, 0x0f, 0x10, 0x00); + draw_sprites(bitmap, cliprect, 0x0f, 0x10, 0x00); m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 0); - draw_sprites(machine(), bitmap, cliprect, 0x0f, 0x10, 0x10); + draw_sprites(bitmap, cliprect, 0x0f, 0x10, 0x10); m_fg_tilemap->draw(bitmap, cliprect, 0, 0); return 0; } @@ -638,7 +634,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_ldrun4_bg_tile_info) VIDEO_START_MEMBER(m62_state,ldrun4) { - m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_ldrun4_bg_tile_info),this), 1, 0, 8, 8, 64, 32); + m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_ldrun4_bg_tile_info),this), 1, 0, 8, 8, 64, 32); } UINT32 m62_state::screen_update_ldrun4(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -646,7 +642,7 @@ UINT32 m62_state::screen_update_ldrun4(screen_device &screen, bitmap_ind16 &bitm m_bg_tilemap->set_scrollx(0, m_m62_background_hscroll - 2); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect, 0x1f, 0x00, 0x00); + draw_sprites(bitmap, cliprect, 0x1f, 0x00, 0x00); return 0; } @@ -677,8 +673,8 @@ TILE_GET_INFO_MEMBER(m62_state::get_lotlot_fg_tile_info) VIDEO_START_MEMBER(m62_state,lotlot) { - m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_bg_tile_info),this), 1, 1, 12, 10, 32, 64); - m62_textlayer(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_fg_tile_info),this), 1, 1, 12, 10, 32, 64); + m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_bg_tile_info),this), 1, 1, 12, 10, 32, 64); + m62_textlayer(tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_fg_tile_info),this), 1, 1, 12, 10, 32, 64); } UINT32 m62_state::screen_update_lotlot(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -691,7 +687,7 @@ UINT32 m62_state::screen_update_lotlot(screen_device &screen, bitmap_ind16 &bitm m_bg_tilemap->draw(bitmap, cliprect, 0, 0); m_fg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect, 0x1f, 0x00, 0x00); + draw_sprites(bitmap, cliprect, 0x1f, 0x00, 0x00); return 0; } @@ -740,9 +736,9 @@ VIDEO_START_MEMBER(m62_state,kidniki) m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */ m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */ - register_savestate(machine()); + register_savestate(); - m62_textlayer(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_kidniki_fg_tile_info),this), 1, 1, 12, 8, 32, 64); + m62_textlayer(tilemap_get_info_delegate(FUNC(m62_state::get_kidniki_fg_tile_info),this), 1, 1, 12, 8, 32, 64); } UINT32 m62_state::screen_update_kidniki(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -753,7 +749,7 @@ UINT32 m62_state::screen_update_kidniki(screen_device &screen, bitmap_ind16 &bit m_fg_tilemap->set_transparent_pen(0); m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); - draw_sprites(machine(), bitmap, cliprect, 0x1f, 0x00, 0x00); + draw_sprites(bitmap, cliprect, 0x1f, 0x00, 0x00); m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 0); m_fg_tilemap->draw(bitmap, cliprect, 0, 0); return 0; @@ -791,8 +787,8 @@ TILE_GET_INFO_MEMBER(m62_state::get_spelunkr_fg_tile_info) VIDEO_START_MEMBER(m62_state,spelunkr) { - m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_bg_tile_info),this), 1, 1, 8, 8, 64, 64); - m62_textlayer(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),this), 1, 1, 12, 8, 32, 32); + m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_bg_tile_info),this), 1, 1, 8, 8, 64, 64); + m62_textlayer(tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),this), 1, 1, 12, 8, 32, 32); } UINT32 m62_state::screen_update_spelunkr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -804,7 +800,7 @@ UINT32 m62_state::screen_update_spelunkr(screen_device &screen, bitmap_ind16 &bi m_fg_tilemap->set_transparent_pen(0); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect, 0x1f, 0x00, 0x00); + draw_sprites(bitmap, cliprect, 0x1f, 0x00, 0x00); m_fg_tilemap->draw(bitmap, cliprect, 0, 0); return 0; } @@ -833,8 +829,8 @@ TILE_GET_INFO_MEMBER(m62_state::get_spelunk2_bg_tile_info) VIDEO_START_MEMBER(m62_state,spelunk2) { - m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_spelunk2_bg_tile_info),this), 1, 1, 8, 8, 64, 64); - m62_textlayer(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),this), 1, 1, 12, 8, 32, 32); + m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_spelunk2_bg_tile_info),this), 1, 1, 8, 8, 64, 64); + m62_textlayer(tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),this), 1, 1, 12, 8, 32, 32); } UINT32 m62_state::screen_update_spelunk2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -846,7 +842,7 @@ UINT32 m62_state::screen_update_spelunk2(screen_device &screen, bitmap_ind16 &bi m_fg_tilemap->set_transparent_pen(0); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect, 0x1f, 0x00, 0x00); + draw_sprites(bitmap, cliprect, 0x1f, 0x00, 0x00); m_fg_tilemap->draw(bitmap, cliprect, 0, 0); return 0; } @@ -876,8 +872,8 @@ TILE_GET_INFO_MEMBER(m62_state::get_youjyudn_fg_tile_info) VIDEO_START_MEMBER(m62_state,youjyudn) { - m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_bg_tile_info),this), 1, 0, 8, 16, 64, 16); - m62_textlayer(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_fg_tile_info),this), 1, 1, 12, 8, 32, 32); + m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_bg_tile_info),this), 1, 0, 8, 16, 64, 16); + m62_textlayer(tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_fg_tile_info),this), 1, 1, 12, 8, 32, 32); m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */ m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */ } @@ -890,7 +886,7 @@ UINT32 m62_state::screen_update_youjyudn(screen_device &screen, bitmap_ind16 &bi m_fg_tilemap->set_transparent_pen(0); m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); - draw_sprites(machine(), bitmap, cliprect, 0x1f, 0x00, 0x00); + draw_sprites(bitmap, cliprect, 0x1f, 0x00, 0x00); m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 0); m_fg_tilemap->draw(bitmap, cliprect, 0, 0); return 0; @@ -918,7 +914,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_horizon_bg_tile_info) VIDEO_START_MEMBER(m62_state,horizon) { - m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_horizon_bg_tile_info),this), 32, 0, 8, 8, 64, 32); + m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_horizon_bg_tile_info),this), 32, 0, 8, 8, 64, 32); m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */ m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */ } @@ -931,7 +927,7 @@ UINT32 m62_state::screen_update_horizon(screen_device &screen, bitmap_ind16 &bit m_bg_tilemap->set_scrollx(i, m_scrollram[i << 1] | (m_scrollram[(i << 1) | 1] << 8)); } m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); - draw_sprites(machine(), bitmap, cliprect, 0x1f, 0x00, 0x00); + draw_sprites(bitmap, cliprect, 0x1f, 0x00, 0x00); m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 0); return 0; } diff --git a/src/mame/video/m72.c b/src/mame/video/m72.c index b3028b37061..aea63b72cb3 100644 --- a/src/mame/video/m72.c +++ b/src/mame/video/m72.c @@ -8,7 +8,7 @@ ***************************************************************************/ -INLINE void m72_get_tile_info(running_machine &machine,tile_data &tileinfo,int tile_index,const UINT16 *vram,int gfxnum) +inline void m72_state::m72_get_tile_info(tile_data &tileinfo,int tile_index,const UINT16 *vram,int gfxnum) { int code,attr,color,pri; @@ -23,7 +23,7 @@ INLINE void m72_get_tile_info(running_machine &machine,tile_data &tileinfo,int t else pri = 0; /* color & 0x10 is used in bchopper and hharry, more priority? */ - SET_TILE_INFO( + SET_TILE_INFO_MEMBER( gfxnum, code + ((attr & 0x3f) << 8), color & 0x0f, @@ -31,7 +31,7 @@ INLINE void m72_get_tile_info(running_machine &machine,tile_data &tileinfo,int t tileinfo.group = pri; } -INLINE void rtype2_get_tile_info(running_machine &machine,tile_data &tileinfo,int tile_index,const UINT16 *vram,int gfxnum) +inline void m72_state::rtype2_get_tile_info(tile_data &tileinfo,int tile_index,const UINT16 *vram,int gfxnum) { int code,attr,color,pri; @@ -48,7 +48,7 @@ INLINE void rtype2_get_tile_info(running_machine &machine,tile_data &tileinfo,in /* (vram[tile_index+2] & 0x10) is used by majtitle on the green, but it's not clear for what */ /* (vram[tile_index+3] & 0xfe) are used as well */ - SET_TILE_INFO( + SET_TILE_INFO_MEMBER( gfxnum, code, color & 0x0f, @@ -59,27 +59,27 @@ INLINE void rtype2_get_tile_info(running_machine &machine,tile_data &tileinfo,in TILE_GET_INFO_MEMBER(m72_state::m72_get_bg_tile_info) { - m72_get_tile_info(machine(),tileinfo,tile_index,m_videoram2,2); + m72_get_tile_info(tileinfo,tile_index,m_videoram2,2); } TILE_GET_INFO_MEMBER(m72_state::m72_get_fg_tile_info) { - m72_get_tile_info(machine(),tileinfo,tile_index,m_videoram1,1); + m72_get_tile_info(tileinfo,tile_index,m_videoram1,1); } TILE_GET_INFO_MEMBER(m72_state::hharry_get_bg_tile_info) { - m72_get_tile_info(machine(),tileinfo,tile_index,m_videoram2,1); + m72_get_tile_info(tileinfo,tile_index,m_videoram2,1); } TILE_GET_INFO_MEMBER(m72_state::rtype2_get_bg_tile_info) { - rtype2_get_tile_info(machine(),tileinfo,tile_index,m_videoram2,1); + rtype2_get_tile_info(tileinfo,tile_index,m_videoram2,1); } TILE_GET_INFO_MEMBER(m72_state::rtype2_get_fg_tile_info) { - rtype2_get_tile_info(machine(),tileinfo,tile_index,m_videoram1,1); + rtype2_get_tile_info(tileinfo,tile_index,m_videoram1,1); } @@ -96,16 +96,15 @@ TILEMAP_MAPPER_MEMBER(m72_state::majtitle_scan_rows) ***************************************************************************/ -static void register_savestate(running_machine &machine) +void m72_state::register_savestate() { - m72_state *state = machine.driver_data(); - state->save_item(NAME(state->m_raster_irq_position)); - state->save_item(NAME(state->m_video_off)); - state->save_item(NAME(state->m_scrollx1)); - state->save_item(NAME(state->m_scrolly1)); - state->save_item(NAME(state->m_scrollx2)); - state->save_item(NAME(state->m_scrolly2)); - state->save_pointer(NAME(state->m_buffered_spriteram), state->m_spriteram.bytes()/2); + save_item(NAME(m_raster_irq_position)); + save_item(NAME(m_video_off)); + save_item(NAME(m_scrollx1)); + save_item(NAME(m_scrolly1)); + save_item(NAME(m_scrollx2)); + save_item(NAME(m_scrolly2)); + save_pointer(NAME(m_buffered_spriteram), m_spriteram.bytes()/2); } @@ -136,7 +135,7 @@ VIDEO_START_MEMBER(m72_state,m72) m_bg_tilemap->set_scrolldx(0,0); m_bg_tilemap->set_scrolldy(-128,-128); - register_savestate(machine()); + register_savestate(); } VIDEO_START_MEMBER(m72_state,xmultipl) @@ -171,7 +170,7 @@ VIDEO_START_MEMBER(m72_state,rtype2) m_bg_tilemap->set_scrolldx(4,0); m_bg_tilemap->set_scrolldy(-128,16); - register_savestate(machine()); + register_savestate(); } VIDEO_START_MEMBER(m72_state,poundfor) @@ -221,7 +220,7 @@ VIDEO_START_MEMBER(m72_state,majtitle) m_bg_tilemap->set_scrolldx(4,0); m_bg_tilemap->set_scrolldy(-128,-128); - register_savestate(machine()); + register_savestate(); } VIDEO_START_MEMBER(m72_state,hharry) @@ -247,7 +246,7 @@ VIDEO_START_MEMBER(m72_state,hharry) m_bg_tilemap->set_scrolldx(6,0); m_bg_tilemap->set_scrolldy(-128,16); - register_savestate(machine()); + register_savestate(); } @@ -273,9 +272,9 @@ READ16_MEMBER(m72_state::m72_palette2_r) return m_generic_paletteram2_16[offset] | 0xffe0; /* only D0-D4 are connected */ } -INLINE void changecolor(running_machine &machine,int color,int r,int g,int b) +inline void m72_state::changecolor(int color,int r,int g,int b) { - palette_set_color_rgb(machine,color,pal5bit(r),pal5bit(g),pal5bit(b)); + palette_set_color_rgb(machine(),color,pal5bit(r),pal5bit(g),pal5bit(b)); } WRITE16_MEMBER(m72_state::m72_palette1_w) @@ -285,8 +284,7 @@ WRITE16_MEMBER(m72_state::m72_palette1_w) COMBINE_DATA(&m_generic_paletteram_16[offset]); offset &= 0x0ff; - changecolor(machine(), - offset, + changecolor(offset, m_generic_paletteram_16[offset + 0x000], m_generic_paletteram_16[offset + 0x200], m_generic_paletteram_16[offset + 0x400]); @@ -299,8 +297,7 @@ WRITE16_MEMBER(m72_state::m72_palette2_w) COMBINE_DATA(&m_generic_paletteram2_16[offset]); offset &= 0x0ff; - changecolor(machine(), - offset + 256, + changecolor(offset + 256, m_generic_paletteram2_16[offset + 0x000], m_generic_paletteram2_16[offset + 0x200], m_generic_paletteram2_16[offset + 0x400]); @@ -415,14 +412,13 @@ WRITE16_MEMBER(m72_state::majtitle_gfx_ctrl_w) ***************************************************************************/ -static void m72_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect) +void m72_state::m72_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect) { - m72_state *state = machine.driver_data(); - UINT16 *spriteram = state->m_buffered_spriteram; + UINT16 *spriteram = m_buffered_spriteram; int offs; offs = 0; - while (offs < state->m_spriteram.bytes()/2) + while (offs < m_spriteram.bytes()/2) { int code,color,sx,sy,flipx,flipy,w,h,x,y; @@ -438,7 +434,7 @@ static void m72_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,cons h = 1 << ((spriteram[offs+2] & 0x3000) >> 12); sy -= 16 * h; - if (state->flip_screen()) + if (flip_screen()) { sx = 512 - 16*w - sx; sy = 284 - 16*h - sy; @@ -457,7 +453,7 @@ static void m72_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,cons if (flipy) c += h-1-y; else c += y; - drawgfx_transpen(bitmap,cliprect,machine.gfx[0], + drawgfx_transpen(bitmap,cliprect,machine().gfx[0], c, color, flipx,flipy, @@ -469,13 +465,12 @@ static void m72_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,cons } } -static void majtitle_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect) +void m72_state::majtitle_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect) { - m72_state *state = machine.driver_data(); - UINT16 *spriteram16_2 = state->m_spriteram2; + UINT16 *spriteram16_2 = m_spriteram2; int offs; - for (offs = 0;offs < state->m_spriteram.bytes();offs += 4) + for (offs = 0;offs < m_spriteram.bytes();offs += 4) { int code,color,sx,sy,flipx,flipy,w,h,x,y; @@ -491,7 +486,7 @@ static void majtitle_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap h = 1 << ((spriteram16_2[offs+2] & 0x3000) >> 12); sy -= 16 * h; - if (state->flip_screen()) + if (flip_screen()) { sx = 512 - 16*w - sx; sy = 256 - 16*h - sy; @@ -510,7 +505,7 @@ static void majtitle_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap if (flipy) c += h-1-y; else c += y; - drawgfx_transpen(bitmap,cliprect,machine.gfx[2], + drawgfx_transpen(bitmap,cliprect,machine().gfx[2], c, color, flipx,flipy, @@ -536,7 +531,7 @@ UINT32 m72_state::screen_update_m72(screen_device &screen, bitmap_ind16 &bitmap, m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1,0); m_fg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1,0); - m72_draw_sprites(machine(), bitmap,cliprect); + m72_draw_sprites(bitmap,cliprect); m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0,0); m_fg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0,0); return 0; @@ -572,8 +567,8 @@ UINT32 m72_state::screen_update_majtitle(screen_device &screen, bitmap_ind16 &bi m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1,0); m_fg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1,0); - majtitle_draw_sprites(machine(), bitmap,cliprect); - m72_draw_sprites(machine(), bitmap,cliprect); + majtitle_draw_sprites(bitmap,cliprect); + m72_draw_sprites(bitmap,cliprect); m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0,0); m_fg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0,0); return 0; diff --git a/src/mame/video/m90.c b/src/mame/video/m90.c index 81a2e9ae5be..df79a43b4ff 100644 --- a/src/mame/video/m90.c +++ b/src/mame/video/m90.c @@ -30,15 +30,14 @@ #include "includes/m90.h" -INLINE void get_tile_info(running_machine &machine,tile_data &tileinfo,int tile_index,int layer,int page_mask) +inline void m90_state::get_tile_info(tile_data &tileinfo,int tile_index,int layer,int page_mask) { - m90_state *state = machine.driver_data(); int tile,color; - tile_index = 2*tile_index + ((state->m_video_control_data[5+layer] & page_mask) * 0x2000); + tile_index = 2*tile_index + ((m_video_control_data[5+layer] & page_mask) * 0x2000); - tile=state->m_video_data[tile_index]; - color=state->m_video_data[tile_index+1]; - SET_TILE_INFO( + tile=m_video_data[tile_index]; + color=m_video_data[tile_index+1]; + SET_TILE_INFO_MEMBER( 0, tile, color&0xf, @@ -46,15 +45,14 @@ INLINE void get_tile_info(running_machine &machine,tile_data &tileinfo,int tile_ tileinfo.category = (color & 0x30) ? 1 : 0; } -INLINE void bomblord_get_tile_info(running_machine &machine,tile_data &tileinfo,int tile_index,int layer) +inline void m90_state::bomblord_get_tile_info(tile_data &tileinfo,int tile_index,int layer) { - m90_state *state = machine.driver_data(); int tile,color; tile_index = 2*tile_index + (layer * 0x2000); - tile=state->m_video_data[tile_index]; - color=state->m_video_data[tile_index+1]; - SET_TILE_INFO( + tile=m_video_data[tile_index]; + color=m_video_data[tile_index+1]; + SET_TILE_INFO_MEMBER( 0, tile, color&0xf, @@ -62,15 +60,14 @@ INLINE void bomblord_get_tile_info(running_machine &machine,tile_data &tileinfo, tileinfo.category = (color & 0x30) ? 1 : 0; } -INLINE void dynablsb_get_tile_info(running_machine &machine,tile_data &tileinfo,int tile_index,int layer) +inline void m90_state::dynablsb_get_tile_info(tile_data &tileinfo,int tile_index,int layer) { - m90_state *state = machine.driver_data(); int tile,color; tile_index = 2*tile_index + (layer * 0x2000); - tile=state->m_video_data[tile_index]; - color=state->m_video_data[tile_index+1]; - SET_TILE_INFO( + tile=m_video_data[tile_index]; + color=m_video_data[tile_index+1]; + SET_TILE_INFO_MEMBER( 0, tile, color&0xf, @@ -78,20 +75,20 @@ INLINE void dynablsb_get_tile_info(running_machine &machine,tile_data &tileinfo, tileinfo.category = (color & 0x30) ? 1 : 0; } -TILE_GET_INFO_MEMBER(m90_state::get_pf1_tile_info){ get_tile_info(machine(),tileinfo,tile_index,0,0x3); } -TILE_GET_INFO_MEMBER(m90_state::get_pf1w_tile_info){ get_tile_info(machine(),tileinfo,tile_index,0,0x2); } -TILE_GET_INFO_MEMBER(m90_state::get_pf2_tile_info){ get_tile_info(machine(),tileinfo,tile_index,1,0x3); } -TILE_GET_INFO_MEMBER(m90_state::get_pf2w_tile_info){ get_tile_info(machine(),tileinfo,tile_index,1,0x2); } +TILE_GET_INFO_MEMBER(m90_state::get_pf1_tile_info){ get_tile_info(tileinfo,tile_index,0,0x3); } +TILE_GET_INFO_MEMBER(m90_state::get_pf1w_tile_info){ get_tile_info(tileinfo,tile_index,0,0x2); } +TILE_GET_INFO_MEMBER(m90_state::get_pf2_tile_info){ get_tile_info(tileinfo,tile_index,1,0x3); } +TILE_GET_INFO_MEMBER(m90_state::get_pf2w_tile_info){ get_tile_info(tileinfo,tile_index,1,0x2); } -TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf1_tile_info){ bomblord_get_tile_info(machine(),tileinfo,tile_index,0); } -TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf1w_tile_info){ bomblord_get_tile_info(machine(),tileinfo,tile_index,0); } -TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf2_tile_info){ bomblord_get_tile_info(machine(),tileinfo,tile_index,2); } -TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf2w_tile_info){ bomblord_get_tile_info(machine(),tileinfo,tile_index,2); } +TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf1_tile_info){ bomblord_get_tile_info(tileinfo,tile_index,0); } +TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf1w_tile_info){ bomblord_get_tile_info(tileinfo,tile_index,0); } +TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf2_tile_info){ bomblord_get_tile_info(tileinfo,tile_index,2); } +TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf2w_tile_info){ bomblord_get_tile_info(tileinfo,tile_index,2); } -TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf1_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,0); } -TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf1w_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,0); } -TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf2_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,2); } -TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf2w_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,2); } +TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf1_tile_info){ dynablsb_get_tile_info(tileinfo,tile_index,0); } +TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf1w_tile_info){ dynablsb_get_tile_info(tileinfo,tile_index,0); } +TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf2_tile_info){ dynablsb_get_tile_info(tileinfo,tile_index,2); } +TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf2w_tile_info){ dynablsb_get_tile_info(tileinfo,tile_index,2); } void m90_state::video_start() { @@ -136,10 +133,9 @@ VIDEO_START_MEMBER(m90_state,dynablsb) state_save_register_global_array(machine(), m_video_control_data); } -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect) +void m90_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect) { - m90_state *state = machine.driver_data(); - UINT16 *spriteram = state->m_video_data + 0xee00/2;; + UINT16 *spriteram = m_video_data + 0xee00/2;; int offs; for (offs = 0x1f2/2; offs >= 0; offs -= 3) @@ -163,42 +159,41 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const re for (i = 0;i < y_multi;i++) - if (state->m_video_control_data[7] & 0x01) - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + if (m_video_control_data[7] & 0x01) + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], sprite + (fy ? y_multi-1 - i : i), colour, fx,fy, x,y+i*16, - machine.priority_bitmap, + machine().priority_bitmap, (colour & 0x08) ? 0x00 : 0x02,0); - else if (state->m_video_control_data[7] & 0x02) - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + else if (m_video_control_data[7] & 0x02) + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], sprite + (fy ? y_multi-1 - i : i), colour, fx,fy, x,y+i*16, - machine.priority_bitmap, + machine().priority_bitmap, ((colour & 0x0c)==0x0c) ? 0x00 : 0x02,0); else - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], sprite + (fy ? y_multi-1 - i : i), colour, fx,fy, x,y+i*16, - machine.priority_bitmap, + machine().priority_bitmap, 0x02,0); } } -static void bomblord_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect) +void m90_state::bomblord_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect) { - m90_state *state = machine.driver_data(); - UINT16 *spriteram16 = state->m_spriteram; + UINT16 *spriteram16 = m_spriteram; int offs = 0, last_sprite = 0; int x,y,sprite,colour,fx,fy; - while ((offs < state->m_spriteram.bytes()/2) & (spriteram16[offs+0] != 0x8000)) + while ((offs < m_spriteram.bytes()/2) & (spriteram16[offs+0] != 0x8000)) { last_sprite = offs; offs += 4; @@ -220,24 +215,23 @@ static void bomblord_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap fx = (spriteram16[offs+3] >> 8) & 0x02; fy = (spriteram16[offs+2] >> 8) & 0x80; - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], sprite, colour, fx,fy, x,y, - machine.priority_bitmap, + machine().priority_bitmap, (colour & 0x08) ? 0x00 : 0x02,0); } } -static void dynablsb_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect) +void m90_state::dynablsb_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect) { - m90_state *state = machine.driver_data(); - UINT16 *spriteram16 = state->m_spriteram; + UINT16 *spriteram16 = m_spriteram; int offs = 0, last_sprite = 0; int x,y,sprite,colour,fx,fy; - while ((offs < state->m_spriteram.bytes()/2) & (spriteram16[offs+0] != 0xffff)) + while ((offs < m_spriteram.bytes()/2) & (spriteram16[offs+0] != 0xffff)) { last_sprite = offs; offs += 4; @@ -259,12 +253,12 @@ static void dynablsb_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap fx = (spriteram16[offs+3] >> 8) & 0x02; fy = (spriteram16[offs+2] >> 8) & 0x80; - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], sprite, colour, fx,fy, x,y, - machine.priority_bitmap, + machine().priority_bitmap, (colour & 0x08) ? 0x00 : 0x02,0); } } @@ -274,7 +268,7 @@ WRITE16_MEMBER(m90_state::m90_video_control_w) COMBINE_DATA(&m_video_control_data[offset]); } -static void markdirty(tilemap_t *tmap,int page,offs_t offset) +void m90_state::markdirty(tilemap_t *tmap,int page,offs_t offset) { offset -= page * 0x2000; @@ -447,7 +441,7 @@ UINT32 m90_state::screen_update_m90(screen_device &screen, bitmap_ind16 &bitmap, } } - draw_sprites(machine(),bitmap,cliprect); + draw_sprites(bitmap,cliprect); } else { bitmap.fill(get_black_pen(machine()), cliprect); @@ -503,7 +497,7 @@ UINT32 m90_state::screen_update_bomblord(screen_device &screen, bitmap_ind16 &bi m_pf1_layer->draw(bitmap, cliprect, 1,1); } - bomblord_draw_sprites(machine(),bitmap,cliprect); + bomblord_draw_sprites(bitmap,cliprect); return 0; } @@ -545,7 +539,7 @@ UINT32 m90_state::screen_update_dynablsb(screen_device &screen, bitmap_ind16 &bi m_pf2_layer->draw(bitmap, cliprect, 1,1); } - dynablsb_draw_sprites(machine(),bitmap,cliprect); + dynablsb_draw_sprites(bitmap,cliprect); return 0; } diff --git a/src/mame/video/m92.c b/src/mame/video/m92.c index a64a2d0d7b0..5af4d5be32a 100644 --- a/src/mame/video/m92.c +++ b/src/mame/video/m92.c @@ -48,7 +48,7 @@ TIMER_CALLBACK_MEMBER(m92_state::spritebuffer_callback) { m_sprite_buffer_busy = 1; if (m_game_kludge!=2) /* Major Title 2 doesn't like this interrupt!? */ - m92_sprite_interrupt(machine()); + m92_sprite_interrupt(); } WRITE16_MEMBER(m92_state::m92_spritecontrol_w) @@ -308,15 +308,14 @@ VIDEO_START_MEMBER(m92_state,ppan) /*****************************************************************************/ -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) +void m92_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) { - m92_state *state = machine.driver_data(); - UINT16 *source = state->m_spriteram->buffer(); + UINT16 *source = m_spriteram->buffer(); int offs, layer; for (layer = 0; layer < 8; layer++) { - for (offs = 0; offs < state->m_sprite_list; ) + for (offs = 0; offs < m_sprite_list; ) { int x = source[offs+3] & 0x1ff; int y = source[offs+0] & 0x1ff; @@ -345,31 +344,31 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r for (row = 0; row < numrows; row++) { - if (state->flip_screen()) + if (flip_screen()) { - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], code + s_ptr, color, !flipx, !flipy, 464 - x, 240 - (y - row * 16), - machine.priority_bitmap, pri, 0); + machine().priority_bitmap, pri, 0); // wrap around x - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], code + s_ptr, color, !flipx, !flipy, 464 - x + 512, 240 - (y - row * 16), - machine.priority_bitmap, pri, 0); + machine().priority_bitmap, pri, 0); } else { - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], code + s_ptr, color, flipx, flipy, x, y - row * 16, - machine.priority_bitmap, pri, 0); + machine().priority_bitmap, pri, 0); // wrap around x - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], code + s_ptr, color, flipx, flipy, x - 512, y - row * 16, - machine.priority_bitmap, pri, 0); + machine().priority_bitmap, pri, 0); } if (flipy) s_ptr++; else s_ptr--; @@ -382,15 +381,14 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r } // This needs a lot of work... -static void ppan_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) +void m92_state::ppan_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) { - m92_state *state = machine.driver_data(); - UINT16 *source = state->m_spriteram->live(); // sprite buffer control is never triggered + UINT16 *source = m_spriteram->live(); // sprite buffer control is never triggered int offs, layer; for (layer = 0; layer < 8; layer++) { - for (offs = 0; offs < state->m_sprite_list; ) + for (offs = 0; offs < m_sprite_list; ) { int x = source[offs+3] & 0x1ff; int y = source[offs+0] & 0x1ff; @@ -420,31 +418,31 @@ static void ppan_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, co for (row = 0; row < numrows; row++) { - if (state->flip_screen()) + if (flip_screen()) { - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], code + s_ptr, color, !flipx, !flipy, 464 - x, 240 - (y - row * 16), - machine.priority_bitmap, pri, 0); + machine().priority_bitmap, pri, 0); // wrap around x - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], code + s_ptr, color, !flipx, !flipy, 464 - x + 512, 240 - (y - row * 16), - machine.priority_bitmap, pri, 0); + machine().priority_bitmap, pri, 0); } else { - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], code + s_ptr, color, flipx, flipy, x, y - row * 16, - machine.priority_bitmap, pri, 0); + machine().priority_bitmap, pri, 0); // wrap around x - pdrawgfx_transpen(bitmap,cliprect,machine.gfx[1], + pdrawgfx_transpen(bitmap,cliprect,machine().gfx[1], code + s_ptr, color, flipx, flipy, x - 512, y - row * 16, - machine.priority_bitmap, pri, 0); + machine().priority_bitmap, pri, 0); } if (flipy) s_ptr++; else s_ptr--; @@ -458,9 +456,8 @@ static void ppan_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, co /*****************************************************************************/ -static void m92_update_scroll_positions(running_machine &machine) +void m92_state::m92_update_scroll_positions() { - m92_state *state = machine.driver_data(); int laynum; int i; @@ -477,11 +474,11 @@ static void m92_update_scroll_positions(running_machine &machine) for (laynum = 0; laynum < 3; laynum++) { - pf_layer_info *layer = &state->m_pf_layer[laynum]; + pf_layer_info *layer = &m_pf_layer[laynum]; - if (state->m_pf_master_control[laynum] & 0x40) + if (m_pf_master_control[laynum] & 0x40) { - const UINT16 *scrolldata = state->m_vram_data + (0xf400 + 0x400 * laynum) / 2; + const UINT16 *scrolldata = m_vram_data + (0xf400 + 0x400 * laynum) / 2; layer->tmap->set_scroll_rows(512); layer->wide_tmap->set_scroll_rows(512); @@ -506,27 +503,26 @@ static void m92_update_scroll_positions(running_machine &machine) /*****************************************************************************/ -static void m92_draw_tiles(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect) +void m92_state::m92_draw_tiles(bitmap_ind16 &bitmap,const rectangle &cliprect) { - m92_state *state = machine.driver_data(); - if ((~state->m_pf_master_control[2] >> 4) & 1) + if ((~m_pf_master_control[2] >> 4) & 1) { - state->m_pf_layer[2].wide_tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); - state->m_pf_layer[2].tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); - state->m_pf_layer[2].wide_tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 1); - state->m_pf_layer[2].tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 1); + m_pf_layer[2].wide_tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); + m_pf_layer[2].tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); + m_pf_layer[2].wide_tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 1); + m_pf_layer[2].tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 1); } - state->m_pf_layer[1].wide_tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); - state->m_pf_layer[1].tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); - state->m_pf_layer[1].wide_tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 1); - state->m_pf_layer[1].tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 1); + m_pf_layer[1].wide_tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); + m_pf_layer[1].tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); + m_pf_layer[1].wide_tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 1); + m_pf_layer[1].tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 1); - state->m_pf_layer[0].wide_tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); - state->m_pf_layer[0].tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); - state->m_pf_layer[0].wide_tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 1); - state->m_pf_layer[0].tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 1); + m_pf_layer[0].wide_tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); + m_pf_layer[0].tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0); + m_pf_layer[0].wide_tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 1); + m_pf_layer[0].tmap->draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 1); } @@ -534,10 +530,10 @@ UINT32 m92_state::screen_update_m92(screen_device &screen, bitmap_ind16 &bitmap, { machine().priority_bitmap.fill(0, cliprect); bitmap.fill(0, cliprect); - m92_update_scroll_positions(machine()); - m92_draw_tiles(machine(), bitmap, cliprect); + m92_update_scroll_positions(); + m92_draw_tiles(bitmap, cliprect); - draw_sprites(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); /* Flipscreen appears hardwired to the dipswitch - strange */ if (machine().root_device().ioport("DSW")->read() & 0x100) @@ -551,10 +547,10 @@ UINT32 m92_state::screen_update_ppan(screen_device &screen, bitmap_ind16 &bitmap { machine().priority_bitmap.fill(0, cliprect); bitmap.fill(0, cliprect); - m92_update_scroll_positions(machine()); - m92_draw_tiles(machine(), bitmap, cliprect); + m92_update_scroll_positions(); + m92_draw_tiles(bitmap, cliprect); - ppan_draw_sprites(machine(), bitmap, cliprect); + ppan_draw_sprites(bitmap, cliprect); /* Flipscreen appears hardwired to the dipswitch - strange */ if (machine().root_device().ioport("DSW")->read() & 0x100) diff --git a/src/mame/video/macrossp.c b/src/mame/video/macrossp.c index 4a6c38bd955..4290c88af74 100644 --- a/src/mame/video/macrossp.c +++ b/src/mame/video/macrossp.c @@ -159,13 +159,12 @@ void macrossp_state::video_start() -static void draw_sprites(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, int priority ) +void macrossp_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect, int priority ) { - macrossp_state *state = machine.driver_data(); - gfx_element *gfx = machine.gfx[0]; - // UINT32 *source = state->m_spriteram; - UINT32 *source = state->m_spriteram_old2; /* buffers by two frames */ - UINT32 *finish = source + state->m_spriteram.bytes() / 4; + gfx_element *gfx = machine().gfx[0]; + // UINT32 *source = m_spriteram; + UINT32 *source = m_spriteram_old2; /* buffers by two frames */ + UINT32 *finish = source + m_spriteram.bytes() / 4; while (source < finish) { @@ -217,7 +216,7 @@ static void draw_sprites(running_machine &machine, bitmap_rgb32 &bitmap, const r break; default: - col = machine.rand(); + col = machine().rand(); break; } @@ -305,9 +304,8 @@ static void draw_sprites(running_machine &machine, bitmap_rgb32 &bitmap, const r } -static void draw_layer( running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, int layer ) +void macrossp_state::draw_layer( bitmap_rgb32 &bitmap, const rectangle &cliprect, int layer ) { - macrossp_state *state = machine.driver_data(); tilemap_t *tm; UINT32 *vr; @@ -315,18 +313,18 @@ static void draw_layer( running_machine &machine, bitmap_rgb32 &bitmap, const re { case 0: default: - tm = state->m_scra_tilemap; - vr = state->m_scra_videoregs; + tm = m_scra_tilemap; + vr = m_scra_videoregs; break; case 1: - tm = state->m_scrb_tilemap; - vr = state->m_scrb_videoregs; + tm = m_scrb_tilemap; + vr = m_scrb_videoregs; break; case 2: - tm = state->m_scrc_tilemap; - vr = state->m_scrc_videoregs; + tm = m_scrc_tilemap; + vr = m_scrc_videoregs; break; } @@ -357,7 +355,7 @@ static void draw_layer( running_machine &machine, bitmap_rgb32 &bitmap, const re } /* useful function to sort the three tile layers by priority order */ -static void sortlayers(int *layer,int *pri) +void macrossp_state::sortlayers(int *layer,int *pri) { #define SWAP(a,b) \ if (pri[a] >= pri[b]) \ @@ -387,13 +385,13 @@ UINT32 macrossp_state::screen_update_macrossp(screen_device &screen, bitmap_rgb3 sortlayers(layers, layerpri); - draw_layer(machine(), bitmap, cliprect, layers[0]); - draw_sprites(machine(), bitmap, cliprect, 0); - draw_layer(machine(), bitmap, cliprect, layers[1]); - draw_sprites(machine(), bitmap, cliprect, 1); - draw_layer(machine(), bitmap, cliprect, layers[2]); - draw_sprites(machine(), bitmap, cliprect, 2); - draw_sprites(machine(), bitmap, cliprect, 3); + draw_layer(bitmap, cliprect, layers[0]); + draw_sprites(bitmap, cliprect, 0); + draw_layer(bitmap, cliprect, layers[1]); + draw_sprites(bitmap, cliprect, 1); + draw_layer(bitmap, cliprect, layers[2]); + draw_sprites(bitmap, cliprect, 2); + draw_sprites(bitmap, cliprect, 3); m_text_tilemap->draw(bitmap, cliprect, 0, 0); #if 0 diff --git a/src/mame/video/madalien.c b/src/mame/video/madalien.c index f61d58a23ec..f185b595d9e 100644 --- a/src/mame/video/madalien.c +++ b/src/mame/video/madalien.c @@ -65,7 +65,7 @@ PALETTE_INIT_MEMBER(madalien_state,madalien) } -INLINE int scan_helper(int col, int row, int section) +inline int madalien_state::scan_helper(int col, int row, int section) { return (section << 8) | ((~col & 0x0f) << 3) | row; } @@ -159,9 +159,8 @@ VIDEO_START_MEMBER(madalien_state,madalien) } -static void draw_edges(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int flip, int scroll_mode) +void madalien_state::draw_edges(bitmap_ind16 &bitmap, const rectangle &cliprect, int flip, int scroll_mode) { - madalien_state *state = machine.driver_data(); rectangle clip_edge1; rectangle clip_edge2; @@ -170,45 +169,44 @@ static void draw_edges(running_machine &machine, bitmap_ind16 &bitmap, const rec if (flip) { - clip_edge1.min_y = *state->m_edge1_pos | 0x80; - clip_edge2.max_y = (*state->m_edge2_pos & 0x7f) ^ 0x7f; + clip_edge1.min_y = *m_edge1_pos | 0x80; + clip_edge2.max_y = (*m_edge2_pos & 0x7f) ^ 0x7f; } else { - clip_edge1.max_y = (*state->m_edge1_pos & 0x7f) ^ 0x7f; - clip_edge2.min_y = *state->m_edge2_pos | 0x80; + clip_edge1.max_y = (*m_edge1_pos & 0x7f) ^ 0x7f; + clip_edge2.min_y = *m_edge2_pos | 0x80; } clip_edge1 &= cliprect; clip_edge2 &= cliprect; - state->m_tilemap_edge1[scroll_mode]->mark_all_dirty(); - state->m_tilemap_edge2[scroll_mode]->mark_all_dirty(); + m_tilemap_edge1[scroll_mode]->mark_all_dirty(); + m_tilemap_edge2[scroll_mode]->mark_all_dirty(); - state->m_tilemap_edge1[scroll_mode]->set_flip(flip ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0); - state->m_tilemap_edge1[scroll_mode]->set_scrollx(0, -(*state->m_scroll & 0xfc)); - state->m_tilemap_edge1[scroll_mode]->set_scrolly(0, *state->m_edge1_pos & 0x7f); + m_tilemap_edge1[scroll_mode]->set_flip(flip ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0); + m_tilemap_edge1[scroll_mode]->set_scrollx(0, -(*m_scroll & 0xfc)); + m_tilemap_edge1[scroll_mode]->set_scrolly(0, *m_edge1_pos & 0x7f); - state->m_tilemap_edge2[scroll_mode]->set_flip(flip ? TILEMAP_FLIPX : TILEMAP_FLIPY); - state->m_tilemap_edge2[scroll_mode]->set_scrollx(0, -(*state->m_scroll & 0xfc)); - state->m_tilemap_edge2[scroll_mode]->set_scrolly(0, *state->m_edge2_pos & 0x7f); + m_tilemap_edge2[scroll_mode]->set_flip(flip ? TILEMAP_FLIPX : TILEMAP_FLIPY); + m_tilemap_edge2[scroll_mode]->set_scrollx(0, -(*m_scroll & 0xfc)); + m_tilemap_edge2[scroll_mode]->set_scrolly(0, *m_edge2_pos & 0x7f); - state->m_tilemap_edge1[scroll_mode]->draw(bitmap, clip_edge1, 0, 0); - state->m_tilemap_edge2[scroll_mode]->draw(bitmap, clip_edge2, 0, 0); + m_tilemap_edge1[scroll_mode]->draw(bitmap, clip_edge1, 0, 0); + m_tilemap_edge2[scroll_mode]->draw(bitmap, clip_edge2, 0, 0); } -static void draw_headlight(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int flip) +void madalien_state::draw_headlight(bitmap_ind16 &bitmap, const rectangle &cliprect, int flip) { - madalien_state *state = machine.driver_data(); - if (BIT(*state->m_video_flags, 0)) + if (BIT(*m_video_flags, 0)) { UINT8 y; for (y = 0; y < 0x80; y++) { UINT8 x; - UINT8 hy = y - *state->m_headlight_pos; + UINT8 hy = y - *m_headlight_pos; if (flip) hy = ~hy; @@ -226,7 +224,7 @@ static void draw_headlight(running_machine &machine, bitmap_ind16 &bitmap, const if ((hx < cliprect.min_x) || (hx > cliprect.max_x)) continue; - if (state->m_headlight_bitmap->pix16(y, x) != 0) + if (m_headlight_bitmap->pix16(y, x) != 0) bitmap.pix16(hy, hx) |= 8; } } @@ -234,11 +232,10 @@ static void draw_headlight(running_machine &machine, bitmap_ind16 &bitmap, const } -static void draw_foreground(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int flip) +void madalien_state::draw_foreground(bitmap_ind16 &bitmap, const rectangle &cliprect, int flip) { - madalien_state *state = machine.driver_data(); - state->m_tilemap_fg->set_flip(flip ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0); - state->m_tilemap_fg->draw(bitmap, cliprect, 0, 0); + m_tilemap_fg->set_flip(flip ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0); + m_tilemap_fg->draw(bitmap, cliprect, 0, 0); } @@ -263,8 +260,8 @@ UINT32 madalien_state::screen_update_madalien(screen_device &screen, bitmap_ind1 int scroll_mode = *m_scroll & 3; bitmap.fill(0, cliprect); - draw_edges(machine(), bitmap, cliprect, flip, scroll_mode); - draw_foreground(machine(), bitmap, cliprect, flip); + draw_edges(bitmap, cliprect, flip, scroll_mode); + draw_foreground(bitmap, cliprect, flip); /* highlight section A (outside of tunnels). * also, bit 1 of the video_flags register (6A) is @@ -298,7 +295,7 @@ UINT32 madalien_state::screen_update_madalien(screen_device &screen, bitmap_ind1 bitmap.pix16(y, x) |= 8; } - draw_headlight(machine(), bitmap, cliprect, flip); + draw_headlight(bitmap, cliprect, flip); return 0; } diff --git a/src/mame/video/mainsnk.c b/src/mame/video/mainsnk.c index cf05f527731..a9bf0e0ee1e 100644 --- a/src/mame/video/mainsnk.c +++ b/src/mame/video/mainsnk.c @@ -117,12 +117,11 @@ WRITE8_MEMBER(mainsnk_state::mainsnk_bgram_w) -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int scrollx, int scrolly ) +void mainsnk_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int scrollx, int scrolly ) { - mainsnk_state *state = machine.driver_data(); - gfx_element *gfx = machine.gfx[1]; + gfx_element *gfx = machine().gfx[1]; const UINT8 *source, *finish; - source = state->m_spriteram; + source = m_spriteram; finish = source + 25*4; while( sourceflip_screen()) + if (flip_screen()) { sx = 288-16 - sx; sy = 224-16 - sy; @@ -163,7 +162,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r UINT32 mainsnk_state::screen_update_mainsnk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_bg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect, 0, 0); + draw_sprites(bitmap, cliprect, 0, 0); m_tx_tilemap->draw(bitmap, cliprect, 0, 0); return 0; diff --git a/src/mame/video/mappy.c b/src/mame/video/mappy.c index b40cf2bc5d3..895b8e5c543 100644 --- a/src/mame/video/mappy.c +++ b/src/mame/video/mappy.c @@ -387,9 +387,8 @@ WRITE8_MEMBER(mappy_state::mappy_scroll_w) ***************************************************************************/ -static void mappy_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 *spriteram_base) +void mappy_state::mappy_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 *spriteram_base) { - mappy_state *state = machine.driver_data(); UINT8 *spriteram = spriteram_base + 0x780; UINT8 *spriteram_2 = spriteram + 0x800; UINT8 *spriteram_3 = spriteram_2 + 0x800; @@ -422,7 +421,7 @@ static void mappy_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, c sy -= 16 * sizey; sy = (sy & 0xff) - 32; // fix wraparound - if (state->flip_screen()) + if (flip_screen()) { flipx ^= 1; flipy ^= 1; @@ -434,12 +433,12 @@ static void mappy_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, c { for (x = 0;x <= sizex;x++) { - drawgfx_transmask(bitmap,cliprect,machine.gfx[1], + drawgfx_transmask(bitmap,cliprect,machine().gfx[1], sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)], color, flipx,flipy, sx + 16*x,sy + 16*y, - colortable_get_transpen_mask(machine.colortable, machine.gfx[1], color, 15)); + colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 15)); } } } @@ -468,9 +467,8 @@ spriteram_3 1 -------x X position MSB */ -static void phozon_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 *spriteram_base) +void mappy_state::phozon_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 *spriteram_base) { - mappy_state *state = machine.driver_data(); UINT8 *spriteram = spriteram_base + 0x780; UINT8 *spriteram_2 = spriteram + 0x800; UINT8 *spriteram_3 = spriteram_2 + 0x800; @@ -502,7 +500,7 @@ static void phozon_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, sy -= 8 * sizey; sy = (sy & 0xff) - 32; // fix wraparound - if (state->flip_screen()) + if (flip_screen()) { flipx ^= 1; flipy ^= 1; @@ -514,12 +512,12 @@ static void phozon_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, { for (x = 0;x <= sizex;x++) { - drawgfx_transmask(bitmap,cliprect,machine.gfx[1], + drawgfx_transmask(bitmap,cliprect,machine().gfx[1], sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)], color, flipx,flipy, sx + 8*x,sy + 8*y, - colortable_get_transpen_mask(machine.colortable, machine.gfx[1], color, 31)); + colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 31)); } } } @@ -535,7 +533,7 @@ UINT32 mappy_state::screen_update_superpac(screen_device &screen, bitmap_ind16 & m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_OPAQUE | TILEMAP_DRAW_ALL_CATEGORIES,0); sprite_bitmap.fill(15, cliprect); - mappy_draw_sprites(machine(),sprite_bitmap,cliprect,m_spriteram); + mappy_draw_sprites(sprite_bitmap,cliprect,m_spriteram); copybitmap_trans(bitmap,sprite_bitmap,0,0,0,0,cliprect,15); /* Redraw the high priority characters */ @@ -562,7 +560,7 @@ UINT32 mappy_state::screen_update_phozon(screen_device &screen, bitmap_ind16 &bi m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_OPAQUE | TILEMAP_DRAW_ALL_CATEGORIES,0); - phozon_draw_sprites(machine(),bitmap,cliprect,m_spriteram); + phozon_draw_sprites(bitmap,cliprect,m_spriteram); /* Redraw the high priority characters */ m_bg_tilemap->draw(bitmap, cliprect, 1,0); @@ -578,7 +576,7 @@ UINT32 mappy_state::screen_update_mappy(screen_device &screen, bitmap_ind16 &bit m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_OPAQUE | TILEMAP_DRAW_ALL_CATEGORIES,0); - mappy_draw_sprites(machine(),bitmap,cliprect,m_spriteram); + mappy_draw_sprites(bitmap,cliprect,m_spriteram); /* Redraw the high priority characters */ m_bg_tilemap->draw(bitmap, cliprect, 1,0); diff --git a/src/mame/video/marineb.c b/src/mame/video/marineb.c index 7357f664b5e..c35b302d222 100644 --- a/src/mame/video/marineb.c +++ b/src/mame/video/marineb.c @@ -150,16 +150,15 @@ WRITE8_MEMBER(marineb_state::marineb_flipscreen_y_w) * *************************************/ -static void set_tilemap_scrolly( running_machine &machine, int cols ) +void marineb_state::set_tilemap_scrolly( int cols ) { - marineb_state *state = machine.driver_data(); int col; for (col = 0; col < cols; col++) - state->m_bg_tilemap->set_scrolly(col, state->m_column_scroll); + m_bg_tilemap->set_scrolly(col, m_column_scroll); for (; col < 32; col++) - state->m_bg_tilemap->set_scrolly(col, 0); + m_bg_tilemap->set_scrolly(col, 0); } @@ -167,7 +166,7 @@ UINT32 marineb_state::screen_update_marineb(screen_device &screen, bitmap_ind16 { int offs; - set_tilemap_scrolly(machine(), 24); + set_tilemap_scrolly(24); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); /* draw the sprites */ @@ -228,7 +227,7 @@ UINT32 marineb_state::screen_update_changes(screen_device &screen, bitmap_ind16 { int offs, sx, sy, code, col, flipx, flipy; - set_tilemap_scrolly(machine(), 26); + set_tilemap_scrolly(26); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); /* draw the small sprites */ @@ -306,7 +305,7 @@ UINT32 marineb_state::screen_update_springer(screen_device &screen, bitmap_ind16 { int offs; - set_tilemap_scrolly(machine(), 0); + set_tilemap_scrolly(0); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); /* draw the sprites */ @@ -365,7 +364,7 @@ UINT32 marineb_state::screen_update_hoccer(screen_device &screen, bitmap_ind16 & { int offs; - set_tilemap_scrolly(machine(), 0); + set_tilemap_scrolly(0); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); /* draw the sprites */ @@ -408,7 +407,7 @@ UINT32 marineb_state::screen_update_hopprobo(screen_device &screen, bitmap_ind16 { int offs; - set_tilemap_scrolly(machine(), 0); + set_tilemap_scrolly(0); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); /* draw the sprites */ diff --git a/src/mame/video/mario.c b/src/mame/video/mario.c index 31be10e0528..3f99fa8b970 100644 --- a/src/mame/video/mario.c +++ b/src/mame/video/mario.c @@ -149,47 +149,46 @@ void mario_state::video_start() * confirmed on mametests.org as being present on real PCB as well. */ -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) +void mario_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) { /* TODO: draw_sprites should adopt the scanline logic from dkong.c * The schematics have the same logic for sprite buffering. */ - mario_state *state = machine.driver_data(); int offs; - for (offs = 0; offs < state->m_spriteram.bytes(); offs += 4) + for (offs = 0; offs < m_spriteram.bytes(); offs += 4) { - if (state->m_spriteram[offs]) + if (m_spriteram[offs]) { int x, y; // from schematics .... - y = (state->m_spriteram[offs] + (state->m_flip ? 0xF7 : 0xF9) + 1) & 0xFF; - x = state->m_spriteram[offs+3]; + y = (m_spriteram[offs] + (m_flip ? 0xF7 : 0xF9) + 1) & 0xFF; + x = m_spriteram[offs+3]; // sprite will be drawn if (y + scanline) & 0xF0 = 0xF0 y = 240 - y; /* logical screen position */ - y = y ^ (state->m_flip ? 0xFF : 0x00); /* physical screen location */ - x = x ^ (state->m_flip ? 0xFF : 0x00); /* physical screen location */ + y = y ^ (m_flip ? 0xFF : 0x00); /* physical screen location */ + x = x ^ (m_flip ? 0xFF : 0x00); /* physical screen location */ - if (state->m_flip) + if (m_flip) { y -= 14; x -= 7; - drawgfx_transpen(bitmap,cliprect,machine.gfx[1], - state->m_spriteram[offs + 2], - (state->m_spriteram[offs + 1] & 0x0f) + 16 * state->m_palette_bank + 32 * state->m_monitor, - !(state->m_spriteram[offs + 1] & 0x80),!(state->m_spriteram[offs + 1] & 0x40), + drawgfx_transpen(bitmap,cliprect,machine().gfx[1], + m_spriteram[offs + 2], + (m_spriteram[offs + 1] & 0x0f) + 16 * m_palette_bank + 32 * m_monitor, + !(m_spriteram[offs + 1] & 0x80),!(m_spriteram[offs + 1] & 0x40), x, y,0); } else { y += 1; x -= 8; - drawgfx_transpen(bitmap,cliprect,machine.gfx[1], - state->m_spriteram[offs + 2], - (state->m_spriteram[offs + 1] & 0x0f) + 16 * state->m_palette_bank + 32 * state->m_monitor, - (state->m_spriteram[offs + 1] & 0x80),(state->m_spriteram[offs + 1] & 0x40), + drawgfx_transpen(bitmap,cliprect,machine().gfx[1], + m_spriteram[offs + 2], + (m_spriteram[offs + 1] & 0x0f) + 16 * m_palette_bank + 32 * m_monitor, + (m_spriteram[offs + 1] & 0x80),(m_spriteram[offs + 1] & 0x40), x, y,0); } } @@ -211,7 +210,7 @@ UINT32 mario_state::screen_update_mario(screen_device &screen, bitmap_ind16 &bit m_bg_tilemap->set_scrolly(0, m_gfx_scroll - (m_flip ? 8 : 0)); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); return 0; } diff --git a/src/mame/video/markham.c b/src/mame/video/markham.c index 57b192b12d3..7832b12c717 100644 --- a/src/mame/video/markham.c +++ b/src/mame/video/markham.c @@ -71,10 +71,9 @@ void markham_state::video_start() m_bg_tilemap->set_scroll_rows(32); } -static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void markham_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - markham_state *state = machine.driver_data(); - UINT8 *spriteram = state->m_spriteram; + UINT8 *spriteram = m_spriteram; int offs; for (offs = 0x60; offs < 0x100; offs += 4) @@ -82,15 +81,15 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const int chr = spriteram[offs + 1]; int col = spriteram[offs + 2]; - int fx = state->flip_screen(); - int fy = state->flip_screen(); + int fx = flip_screen(); + int fy = flip_screen(); int x = spriteram[offs + 3]; int y = spriteram[offs + 0]; int px, py; col &= 0x3f ; - if (state->flip_screen() == 0) + if (flip_screen() == 0) { px = x - 2; py = 240 - y; @@ -106,12 +105,12 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const if (px > 248) px = px - 256; - drawgfx_transmask(bitmap,cliprect,machine.gfx[1], + drawgfx_transmask(bitmap,cliprect,machine().gfx[1], chr, col, fx,fy, px,py, - colortable_get_transpen_mask(machine.colortable, machine.gfx[1], col, 0)); + colortable_get_transpen_mask(machine().colortable, machine().gfx[1], col, 0)); } } @@ -128,6 +127,6 @@ UINT32 markham_state::screen_update_markham(screen_device &screen, bitmap_ind16 } m_bg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); return 0; } diff --git a/src/mame/video/mcatadv.c b/src/mame/video/mcatadv.c index 824dc90ab26..7472fe986f2 100644 --- a/src/mame/video/mcatadv.c +++ b/src/mame/video/mcatadv.c @@ -46,28 +46,27 @@ WRITE16_MEMBER(mcatadv_state::mcatadv_videoram2_w) } -static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void mcatadv_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - mcatadv_state *state = machine.driver_data(); - UINT16 *source = state->m_spriteram_old; - UINT16 *finish = source + (state->m_spriteram.bytes() / 2) /2; - int global_x = state->m_vidregs[0] - 0x184; - int global_y = state->m_vidregs[1] - 0x1f1; + UINT16 *source = m_spriteram_old; + UINT16 *finish = source + (m_spriteram.bytes() / 2) /2; + int global_x = m_vidregs[0] - 0x184; + int global_y = m_vidregs[1] - 0x1f1; UINT16 *destline; UINT8 *priline; - UINT8 *sprdata = state->memregion("gfx1")->base(); - int sprmask = state->memregion("gfx1")->bytes()-1; + UINT8 *sprdata = memregion("gfx1")->base(); + int sprmask = memregion("gfx1")->bytes()-1; int xstart, xend, xinc; int ystart, yend, yinc; - if (state->m_vidregs_old[2] == 0x0001) /* Double Buffered */ + if (m_vidregs_old[2] == 0x0001) /* Double Buffered */ { - source += (state->m_spriteram.bytes() / 2) / 2; - finish += (state->m_spriteram.bytes() / 2) / 2; + source += (m_spriteram.bytes() / 2) / 2; + finish += (m_spriteram.bytes() / 2) / 2; } - else if (state->m_vidregs_old[2]) /* I suppose it's possible that there is 4 banks, haven't seen it used though */ + else if (m_vidregs_old[2]) /* I suppose it's possible that there is 4 banks, haven't seen it used though */ { logerror("Spritebank != 0/1\n"); } @@ -94,11 +93,11 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const if (y & 0x200) y-=0x400; #if 0 // For Flipscreen/Cocktail - if(state->m_vidregs[0] & 0x8000) + if(m_vidregs[0] & 0x8000) { flipx = !flipx; } - if(state->m_vidregs[1] & 0x8000) + if(m_vidregs[1] & 0x8000) { flipy = !flipy; } @@ -118,7 +117,7 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const if ((drawypos >= cliprect.min_y) && (drawypos <= cliprect.max_y)) { destline = &bitmap.pix16(drawypos); - priline = &machine.priority_bitmap.pix8(drawypos); + priline = &machine().priority_bitmap.pix8(drawypos); for (xcnt = xstart; xcnt != xend; xcnt += xinc) { @@ -152,7 +151,7 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const } } -static void mcatadv_draw_tilemap_part( UINT16* current_scroll, UINT16* current_videoram1, int i, tilemap_t* current_tilemap, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void mcatadv_state::mcatadv_draw_tilemap_part( UINT16* current_scroll, UINT16* current_videoram1, int i, tilemap_t* current_tilemap, bitmap_ind16 &bitmap, const rectangle &cliprect ) { int flip; UINT32 drawline; @@ -240,7 +239,7 @@ UINT32 mcatadv_state::screen_update_mcatadv(screen_device &screen, bitmap_ind16 #ifdef MAME_DEBUG if (!machine().input().code_pressed(KEYCODE_E)) #endif - draw_sprites (machine(), bitmap, cliprect); + draw_sprites (bitmap, cliprect); g_profiler.stop(); return 0; } diff --git a/src/mame/video/mcr.c b/src/mame/video/mcr.c index b87f510a8f3..0228eb478f1 100644 --- a/src/mame/video/mcr.c +++ b/src/mame/video/mcr.c @@ -130,13 +130,13 @@ VIDEO_START_MEMBER(mcr_state,mcr) * *************************************/ -static void mcr_set_color(running_machine &machine, int index, int data) +void mcr_state::mcr_set_color(int index, int data) { - palette_set_color_rgb(machine, index, pal3bit(data >> 6), pal3bit(data >> 0), pal3bit(data >> 3)); + palette_set_color_rgb(machine(), index, pal3bit(data >> 6), pal3bit(data >> 0), pal3bit(data >> 3)); } -static void journey_set_color(running_machine &machine, int index, int data) +void mcr_state::journey_set_color(int index, int data) { /* 3 bits each, RGB */ int r = (data >> 6) & 7; @@ -149,7 +149,7 @@ static void journey_set_color(running_machine &machine, int index, int data) b = (b << 5) | (b << 1); /* set the BG color */ - palette_set_color(machine, index, MAKE_RGB(r, g, b)); + palette_set_color(machine(), index, MAKE_RGB(r, g, b)); /* if this is an odd entry in the upper palette bank, the hardware */ /* hard-codes a low 1 bit -- this is used for better grayscales */ @@ -161,7 +161,7 @@ static void journey_set_color(running_machine &machine, int index, int data) } /* set the FG color */ - palette_set_color(machine, index + 64, MAKE_RGB(r, g, b)); + palette_set_color(machine(), index + 64, MAKE_RGB(r, g, b)); } @@ -169,7 +169,7 @@ WRITE8_MEMBER(mcr_state::mcr_91490_paletteram_w) { m_generic_paletteram_8[offset] = data; offset &= 0x7f; - mcr_set_color(machine(), (offset / 2) & 0x3f, data | ((offset & 1) << 8)); + mcr_set_color((offset / 2) & 0x3f, data | ((offset & 1) << 8)); } @@ -198,9 +198,9 @@ WRITE8_MEMBER(mcr_state::mcr_90010_videoram_w) if ((offset & 0x780) == 0x780) { if (mcr_cpu_board != 91475) - mcr_set_color(machine(), (offset / 2) & 0x3f, data | ((offset & 1) << 8)); + mcr_set_color((offset / 2) & 0x3f, data | ((offset & 1) << 8)); else - journey_set_color(machine(), (offset / 2) & 0x3f, data | ((offset & 1) << 8)); + journey_set_color((offset / 2) & 0x3f, data | ((offset & 1) << 8)); } } @@ -224,7 +224,7 @@ WRITE8_MEMBER(mcr_state::twotiger_videoram_w) /* palette RAM is mapped into the upper 0x80 bytes here */ if ((effoffs & 0x780) == 0x780) - mcr_set_color(machine(), ((offset & 0x400) >> 5) | ((offset >> 1) & 0x1f), data | ((offset & 1) << 8)); + mcr_set_color(((offset & 0x400) >> 5) | ((offset >> 1) & 0x1f), data | ((offset & 1) << 8)); } @@ -247,15 +247,14 @@ WRITE8_MEMBER(mcr_state::mcr_91490_videoram_w) * *************************************/ -static void render_sprites_91399(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) +void mcr_state::render_sprites_91399(bitmap_ind16 &bitmap, const rectangle &cliprect) { - mcr_state *state = machine.driver_data(); - UINT8 *spriteram = state->m_spriteram; - gfx_element *gfx = machine.gfx[1]; + UINT8 *spriteram = m_spriteram; + gfx_element *gfx = machine().gfx[1]; int offs; /* render the sprites into the bitmap, ORing together */ - for (offs = 0; offs < state->m_spriteram.bytes(); offs += 4) + for (offs = 0; offs < m_spriteram.bytes(); offs += 4) { int code, x, y, sx, sy, hflip, vflip; @@ -287,7 +286,7 @@ static void render_sprites_91399(running_machine &machine, bitmap_ind16 &bitmap, { const UINT8 *src = gfx->get_data(code) + gfx->rowbytes() * (y ^ vflip); UINT16 *dst = &bitmap.pix16(sy); - UINT8 *pri = &machine.priority_bitmap.pix8(sy); + UINT8 *pri = &machine().priority_bitmap.pix8(sy); /* loop over columns */ for (x = 0; x < 32; x++) @@ -320,15 +319,14 @@ static void render_sprites_91399(running_machine &machine, bitmap_ind16 &bitmap, * *************************************/ -static void render_sprites_91464(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int primask, int sprmask, int colormask) +void mcr_state::render_sprites_91464(bitmap_ind16 &bitmap, const rectangle &cliprect, int primask, int sprmask, int colormask) { - mcr_state *state = machine.driver_data(); - UINT8 *spriteram = state->m_spriteram; - gfx_element *gfx = machine.gfx[1]; + UINT8 *spriteram = m_spriteram; + gfx_element *gfx = machine().gfx[1]; int offs; /* render the sprites into the bitmap, working from topmost to bottommost */ - for (offs = state->m_spriteram.bytes() - 4; offs >= 0; offs -= 4) + for (offs = m_spriteram.bytes() - 4; offs >= 0; offs -= 4) { int code, color, x, y, sx, sy, hflip, vflip; @@ -359,7 +357,7 @@ static void render_sprites_91464(running_machine &machine, bitmap_ind16 &bitmap, { const UINT8 *src = gfx->get_data(code) + gfx->rowbytes() * (y ^ vflip); UINT16 *dst = &bitmap.pix16(sy); - UINT8 *pri = &machine.priority_bitmap.pix8(sy); + UINT8 *pri = &machine().priority_bitmap.pix8(sy); /* loop over columns */ for (x = 0; x < 32; x++) @@ -411,18 +409,18 @@ UINT32 mcr_state::screen_update_mcr(screen_device &screen, bitmap_ind16 &bitmap, switch (mcr_sprite_board) { case 91399: - render_sprites_91399(machine(), bitmap, cliprect); + render_sprites_91399(bitmap, cliprect); break; case 91464: if (mcr_cpu_board == 91442) - render_sprites_91464(machine(), bitmap, cliprect, 0x00, 0x30, 0x00); + render_sprites_91464(bitmap, cliprect, 0x00, 0x30, 0x00); else if (mcr_cpu_board == 91475) - render_sprites_91464(machine(), bitmap, cliprect, 0x00, 0x30, 0x40); + render_sprites_91464(bitmap, cliprect, 0x00, 0x30, 0x40); else if (mcr_cpu_board == 91490) - render_sprites_91464(machine(), bitmap, cliprect, 0x00, 0x30, 0x00); + render_sprites_91464(bitmap, cliprect, 0x00, 0x30, 0x00); else if (mcr_cpu_board == 91721) - render_sprites_91464(machine(), bitmap, cliprect, 0x00, 0x30, 0x00); + render_sprites_91464(bitmap, cliprect, 0x00, 0x30, 0x00); break; } return 0; diff --git a/src/mame/video/mcr3.c b/src/mame/video/mcr3.c index 1116edf384e..b603bdb5dc7 100644 --- a/src/mame/video/mcr3.c +++ b/src/mame/video/mcr3.c @@ -194,16 +194,15 @@ WRITE8_MEMBER(mcr3_state::spyhunt_scroll_value_w) * *************************************/ -static void mcr3_update_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int color_mask, int code_xor, int dx, int dy) +void mcr3_state::mcr3_update_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int color_mask, int code_xor, int dx, int dy) { - mcr3_state *state = machine.driver_data(); - UINT8 *spriteram = state->m_spriteram; + UINT8 *spriteram = m_spriteram; int offs; - machine.priority_bitmap.fill(1, cliprect); + machine().priority_bitmap.fill(1, cliprect); /* loop over sprite RAM */ - for (offs = state->m_spriteram.bytes() - 4; offs >= 0; offs -= 4) + for (offs = m_spriteram.bytes() - 4; offs >= 0; offs -= 4) { int code, color, flipx, flipy, sx, sy, flags; @@ -241,22 +240,22 @@ static void mcr3_update_sprites(running_machine &machine, bitmap_ind16 &bitmap, if (!mcr_cocktail_flip) { /* first draw the sprite, visible */ - pdrawgfx_transmask(bitmap, cliprect, machine.gfx[1], code, color, flipx, flipy, sx, sy, - machine.priority_bitmap, 0x00, 0x0101); + pdrawgfx_transmask(bitmap, cliprect, machine().gfx[1], code, color, flipx, flipy, sx, sy, + machine().priority_bitmap, 0x00, 0x0101); /* then draw the mask, behind the background but obscuring following sprites */ - pdrawgfx_transmask(bitmap, cliprect, machine.gfx[1], code, color, flipx, flipy, sx, sy, - machine.priority_bitmap, 0x02, 0xfeff); + pdrawgfx_transmask(bitmap, cliprect, machine().gfx[1], code, color, flipx, flipy, sx, sy, + machine().priority_bitmap, 0x02, 0xfeff); } else { /* first draw the sprite, visible */ - pdrawgfx_transmask(bitmap, cliprect, machine.gfx[1], code, color, !flipx, !flipy, 480 - sx, 452 - sy, - machine.priority_bitmap, 0x00, 0x0101); + pdrawgfx_transmask(bitmap, cliprect, machine().gfx[1], code, color, !flipx, !flipy, 480 - sx, 452 - sy, + machine().priority_bitmap, 0x00, 0x0101); /* then draw the mask, behind the background but obscuring following sprites */ - pdrawgfx_transmask(bitmap, cliprect, machine.gfx[1], code, color, !flipx, !flipy, 480 - sx, 452 - sy, - machine.priority_bitmap, 0x02, 0xfeff); + pdrawgfx_transmask(bitmap, cliprect, machine().gfx[1], code, color, !flipx, !flipy, 480 - sx, 452 - sy, + machine().priority_bitmap, 0x02, 0xfeff); } } } @@ -278,7 +277,7 @@ UINT32 mcr3_state::screen_update_mcr3(screen_device &screen, bitmap_ind16 &bitma m_bg_tilemap->draw(bitmap, cliprect, 0, 0); /* draw the sprites */ - mcr3_update_sprites(machine(), bitmap, cliprect, 0x03, 0, 0, 0); + mcr3_update_sprites(bitmap, cliprect, 0x03, 0, 0, 0); return 0; } @@ -292,7 +291,7 @@ UINT32 mcr3_state::screen_update_spyhunt(screen_device &screen, bitmap_ind16 &bi m_bg_tilemap->draw(bitmap, cliprect, 0, 0); /* draw the sprites */ - mcr3_update_sprites(machine(), bitmap, cliprect, m_spyhunt_sprite_color_mask, 0, -12, 0); + mcr3_update_sprites(bitmap, cliprect, m_spyhunt_sprite_color_mask, 0, -12, 0); /* render any characters on top */ m_alpha_tilemap->draw(bitmap, cliprect, 0, 0); diff --git a/src/mame/video/mcr68.c b/src/mame/video/mcr68.c index c3651f20288..6d74e3ce05c 100644 --- a/src/mame/video/mcr68.c +++ b/src/mame/video/mcr68.c @@ -195,22 +195,21 @@ WRITE16_MEMBER(mcr68_state::zwackery_spriteram_w) * *************************************/ -static void mcr68_update_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority) +void mcr68_state::mcr68_update_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority) { - mcr68_state *state = machine.driver_data(); - rectangle sprite_clip = machine.primary_screen->visible_area(); - UINT16 *spriteram = state->m_spriteram; + rectangle sprite_clip = machine().primary_screen->visible_area(); + UINT16 *spriteram = m_spriteram; int offs; /* adjust for clipping */ - sprite_clip.min_x += state->m_sprite_clip; - sprite_clip.max_x -= state->m_sprite_clip; + sprite_clip.min_x += m_sprite_clip; + sprite_clip.max_x -= m_sprite_clip; sprite_clip &= cliprect; - machine.priority_bitmap.fill(1, sprite_clip); + machine().priority_bitmap.fill(1, sprite_clip); /* loop over sprite RAM */ - for (offs = state->m_spriteram.bytes() / 2 - 4;offs >= 0;offs -= 4) + for (offs = m_spriteram.bytes() / 2 - 4;offs >= 0;offs -= 4) { int code, color, flipx, flipy, x, y, flags; @@ -229,7 +228,7 @@ static void mcr68_update_sprites(running_machine &machine, bitmap_ind16 &bitmap, color = ~flags & 0x03; flipx = flags & 0x10; flipy = flags & 0x20; - x = LOW_BYTE(spriteram[offs + 3]) * 2 + state->m_sprite_xoffset; + x = LOW_BYTE(spriteram[offs + 3]) * 2 + m_sprite_xoffset; y = (241 - LOW_BYTE(spriteram[offs])) * 2; /* allow sprites to clip off the left side */ @@ -239,26 +238,25 @@ static void mcr68_update_sprites(running_machine &machine, bitmap_ind16 &bitmap, The color 8 is used to cover over other sprites. */ /* first draw the sprite, visible */ - pdrawgfx_transmask(bitmap, sprite_clip, machine.gfx[1], code, color, flipx, flipy, x, y, - machine.priority_bitmap, 0x00, 0x0101); + pdrawgfx_transmask(bitmap, sprite_clip, machine().gfx[1], code, color, flipx, flipy, x, y, + machine().priority_bitmap, 0x00, 0x0101); /* then draw the mask, behind the background but obscuring following sprites */ - pdrawgfx_transmask(bitmap, sprite_clip, machine.gfx[1], code, color, flipx, flipy, x, y, - machine.priority_bitmap, 0x02, 0xfeff); + pdrawgfx_transmask(bitmap, sprite_clip, machine().gfx[1], code, color, flipx, flipy, x, y, + machine().priority_bitmap, 0x02, 0xfeff); } } -static void zwackery_update_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority) +void mcr68_state::zwackery_update_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority) { - mcr68_state *state = machine.driver_data(); - UINT16 *spriteram = state->m_spriteram; + UINT16 *spriteram = m_spriteram; int offs; - machine.priority_bitmap.fill(1, cliprect); + machine().priority_bitmap.fill(1, cliprect); /* loop over sprite RAM */ - for (offs = state->m_spriteram.bytes() / 2 - 4;offs >= 0;offs -= 4) + for (offs = m_spriteram.bytes() / 2 - 4;offs >= 0;offs -= 4) { int code, color, flipx, flipy, x, y, flags; @@ -297,12 +295,12 @@ static void zwackery_update_sprites(running_machine &machine, bitmap_ind16 &bitm The color 8 is used to cover over other sprites. */ /* first draw the sprite, visible */ - pdrawgfx_transmask(bitmap, cliprect, machine.gfx[1], code, color, flipx, flipy, x, y, - machine.priority_bitmap, 0x00, 0x0101); + pdrawgfx_transmask(bitmap, cliprect, machine().gfx[1], code, color, flipx, flipy, x, y, + machine().priority_bitmap, 0x00, 0x0101); /* then draw the mask, behind the background but obscuring following sprites */ - pdrawgfx_transmask(bitmap, cliprect, machine.gfx[1], code, color, flipx, flipy, x, y, - machine.priority_bitmap, 0x02, 0xfeff); + pdrawgfx_transmask(bitmap, cliprect, machine().gfx[1], code, color, flipx, flipy, x, y, + machine().priority_bitmap, 0x02, 0xfeff); } } @@ -320,13 +318,13 @@ UINT32 mcr68_state::screen_update_mcr68(screen_device &screen, bitmap_ind16 &bit m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_OPAQUE | TILEMAP_DRAW_ALL_CATEGORIES, 0); /* draw the low-priority sprites */ - mcr68_update_sprites(machine(), bitmap, cliprect, 0); + mcr68_update_sprites(bitmap, cliprect, 0); /* redraw tiles with priority over sprites */ m_bg_tilemap->draw(bitmap, cliprect, 1, 0); /* draw the high-priority sprites */ - mcr68_update_sprites(machine(), bitmap, cliprect, 1); + mcr68_update_sprites(bitmap, cliprect, 1); return 0; } @@ -337,12 +335,12 @@ UINT32 mcr68_state::screen_update_zwackery(screen_device &screen, bitmap_ind16 & m_bg_tilemap->draw(bitmap, cliprect, 0, 0); /* draw the low-priority sprites */ - zwackery_update_sprites(machine(), bitmap, cliprect, 0); + zwackery_update_sprites(bitmap, cliprect, 0); /* redraw tiles with priority over sprites */ m_fg_tilemap->draw(bitmap, cliprect, 1, 0); /* draw the high-priority sprites */ - zwackery_update_sprites(machine(), bitmap, cliprect, 1); + zwackery_update_sprites(bitmap, cliprect, 1); return 0; } diff --git a/src/mame/video/meadows.c b/src/mame/video/meadows.c index 56cfad4cc2a..90e6e0494e9 100644 --- a/src/mame/video/meadows.c +++ b/src/mame/video/meadows.c @@ -74,10 +74,9 @@ WRITE8_MEMBER(meadows_state::meadows_spriteram_w) * *************************************/ -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &clip) +void meadows_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &clip) { - meadows_state *state = machine.driver_data(); - UINT8 *spriteram = state->m_spriteram; + UINT8 *spriteram = m_spriteram; int i; for (i = 0; i < 4; i++) @@ -89,7 +88,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r int bank = i; /* that fixes it for now :-/ */ int flip = spriteram[i+8] >> 5; /* bit #5 flip vertical flag */ - drawgfx_transpen(bitmap, clip, machine.gfx[bank + 1], code, 0, flip, 0, x, y, 0); + drawgfx_transpen(bitmap, clip, machine().gfx[bank + 1], code, 0, flip, 0, x, y, 0); } } @@ -108,6 +107,6 @@ UINT32 meadows_state::screen_update_meadows(screen_device &screen, bitmap_ind16 /* draw the sprites */ if (machine().gfx[1]) - draw_sprites(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); return 0; } diff --git a/src/mame/video/megasys1.c b/src/mame/video/megasys1.c index 8a35bcdf77c..2c336ef813d 100644 --- a/src/mame/video/megasys1.c +++ b/src/mame/video/megasys1.c @@ -194,9 +194,6 @@ actual code sent to the hardware. #include "emu.h" #include "includes/megasys1.h" -static void create_tilemaps(running_machine &machine); - - #ifdef MAME_DEBUG #define SHOW_WRITE_ERROR(_format_,_offset_,_data_)\ @@ -231,7 +228,7 @@ VIDEO_START_MEMBER(megasys1_state,megasys1) m_buffer2_objectram = auto_alloc_array(machine(), UINT16, 0x2000); m_buffer2_spriteram16 = auto_alloc_array(machine(), UINT16, 0x2000); - create_tilemaps(machine()); + create_tilemaps(); m_tmap[0] = m_tilemap[0][0][0]; m_tmap[1] = m_tilemap[1][0][0]; m_tmap[2] = m_tilemap[2][0][0]; @@ -290,29 +287,28 @@ VIDEO_START_MEMBER(megasys1_state,megasys1) #define TILES_PER_PAGE_Y (0x20) #define TILES_PER_PAGE (TILES_PER_PAGE_X * TILES_PER_PAGE_Y) -INLINE void scrollram_w(address_space &space, offs_t offset, UINT16 data, UINT16 mem_mask, int which) +inline void megasys1_state::scrollram_w(offs_t offset, UINT16 data, UINT16 mem_mask, int which) { - megasys1_state *state = space.machine().driver_data(); - COMBINE_DATA(&state->m_scrollram[which][offset]); - if (offset < 0x40000/2 && state->m_tmap[which]) + COMBINE_DATA(&m_scrollram[which][offset]); + if (offset < 0x40000/2 && m_tmap[which]) { - if (state->m_scroll_flag[which] & 0x10) /* tiles are 8x8 */ + if (m_scroll_flag[which] & 0x10) /* tiles are 8x8 */ { - state->m_tmap[which]->mark_tile_dirty(offset ); + m_tmap[which]->mark_tile_dirty(offset ); } else { - state->m_tmap[which]->mark_tile_dirty(offset*4 + 0); - state->m_tmap[which]->mark_tile_dirty(offset*4 + 1); - state->m_tmap[which]->mark_tile_dirty(offset*4 + 2); - state->m_tmap[which]->mark_tile_dirty(offset*4 + 3); + m_tmap[which]->mark_tile_dirty(offset*4 + 0); + m_tmap[which]->mark_tile_dirty(offset*4 + 1); + m_tmap[which]->mark_tile_dirty(offset*4 + 2); + m_tmap[which]->mark_tile_dirty(offset*4 + 3); } } } -WRITE16_MEMBER(megasys1_state::megasys1_scrollram_0_w){ scrollram_w(space, offset, data, mem_mask, 0); } -WRITE16_MEMBER(megasys1_state::megasys1_scrollram_1_w){ scrollram_w(space, offset, data, mem_mask, 1); } -WRITE16_MEMBER(megasys1_state::megasys1_scrollram_2_w){ scrollram_w(space, offset, data, mem_mask, 2); } +WRITE16_MEMBER(megasys1_state::megasys1_scrollram_0_w){ scrollram_w(offset, data, mem_mask, 0); } +WRITE16_MEMBER(megasys1_state::megasys1_scrollram_1_w){ scrollram_w(offset, data, mem_mask, 1); } +WRITE16_MEMBER(megasys1_state::megasys1_scrollram_2_w){ scrollram_w(offset, data, mem_mask, 2); } @@ -362,38 +358,37 @@ TILE_GET_INFO_MEMBER(megasys1_state::megasys1_get_scroll_tile_info_16x16) SET_TILE_INFO_MEMBER(tmap, (code & 0xfff) * m_16x16_scroll_factor[tmap] + (tile_index & 3), code >> (16 - m_bits_per_color_code), 0); } -static void create_tilemaps(running_machine &machine) +void megasys1_state::create_tilemaps() { - megasys1_state *state = machine.driver_data(); int layer, i; for (layer = 0; layer < 3; layer++) { /* 16x16 tilemaps */ - state->m_tilemap[layer][0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),state), + m_tilemap[layer][0][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),this), 8,8, TILES_PER_PAGE_X * 16, TILES_PER_PAGE_Y * 2); - state->m_tilemap[layer][0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),state), + m_tilemap[layer][0][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),this), 8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 4); - state->m_tilemap[layer][0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),state), + m_tilemap[layer][0][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),this), 8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 8); - state->m_tilemap[layer][0][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),state), + m_tilemap[layer][0][3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),this), 8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 16); /* 8x8 tilemaps */ - state->m_tilemap[layer][1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),state), + m_tilemap[layer][1][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),this), 8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 1); - state->m_tilemap[layer][1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),state), + m_tilemap[layer][1][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),this), 8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2); - state->m_tilemap[layer][1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),state), + m_tilemap[layer][1][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),this), 8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2); - state->m_tilemap[layer][1][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),state), + m_tilemap[layer][1][3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),this), 8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 4); /* set user data and transparency */ for (i = 0; i < 8; i++) { - state->m_tilemap[layer][i/4][i%4]->set_user_data((void *)(FPTR)layer); - state->m_tilemap[layer][i/4][i%4]->set_transparent_pen(15); + m_tilemap[layer][i/4][i%4]->set_user_data((void *)(FPTR)layer); + m_tilemap[layer][i/4][i%4]->set_transparent_pen(15); } } } @@ -560,25 +555,24 @@ WRITE16_MEMBER(megasys1_state::megasys1_vregs_D_w) 0C Y position 0E Code */ -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect) +void megasys1_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect) { - megasys1_state *state = machine.driver_data(); int color,code,sx,sy,flipx,flipy,attr,sprite,offs,color_mask; /* objram: 0x100*4 entries spritedata: 0x80 entries */ /* sprite order is from first in Sprite Data RAM (frontmost) to last */ - if (state->m_hardware_type_z == 0) /* standard sprite hardware */ + if (m_hardware_type_z == 0) /* standard sprite hardware */ { - color_mask = (state->m_sprite_flag & 0x100) ? 0x07 : 0x0f; + color_mask = (m_sprite_flag & 0x100) ? 0x07 : 0x0f; for (offs = (0x800-8)/2;offs >= 0;offs -= 8/2) { for (sprite = 0; sprite < 4 ; sprite ++) { - UINT16 *objectdata = &state->m_buffer2_objectram[offs + (0x800/2) * sprite]; - UINT16 *spritedata = &state->m_buffer2_spriteram16[ (objectdata[ 0 ] & 0x7f) * 0x10/2]; + UINT16 *objectdata = &m_buffer2_objectram[offs + (0x800/2) * sprite]; + UINT16 *spritedata = &m_buffer2_spriteram16[ (objectdata[ 0 ] & 0x7f) * 0x10/2]; attr = spritedata[ 8/2 ]; if (((attr & 0xc0)>>6) != sprite) continue; // flipping @@ -593,7 +587,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const re flipx = attr & 0x40; flipy = attr & 0x80; - if (state->m_screen_flag & 1) + if (m_screen_flag & 1) { flipx = !flipx; flipy = !flipy; sx = 240-sx; sy = 240-sy; @@ -604,19 +598,19 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const re color = (attr & color_mask); pdrawgfx_transpen(bitmap,cliprect, - machine.gfx[3], - (code & 0xfff ) + ((state->m_sprite_bank & 1) << 12), + machine().gfx[3], + (code & 0xfff ) + ((m_sprite_bank & 1) << 12), color, flipx, flipy, sx, sy, - machine.priority_bitmap, + machine().priority_bitmap, (attr & 0x08) ? 0x0c : 0x0a,15); } /* sprite */ } /* offs */ } /* non Z hw */ else { - UINT16 *spriteram16 = state->m_spriteram; + UINT16 *spriteram16 = m_spriteram; /* MS1-Z just draws Sprite Data, and in reverse order */ @@ -638,19 +632,19 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const re flipx = attr & 0x40; flipy = attr & 0x80; - if (state->m_screen_flag & 1) + if (m_screen_flag & 1) { flipx = !flipx; flipy = !flipy; sx = 240-sx; sy = 240-sy; } pdrawgfx_transpen(bitmap,cliprect, - machine.gfx[2], + machine().gfx[2], code, color, flipx, flipy, sx, sy, - machine.priority_bitmap, + machine().priority_bitmap, (attr & 0x08) ? 0x0c : 0x0a,15); } /* sprite */ } /* Z hw */ @@ -1008,7 +1002,7 @@ UINT32 megasys1_state::screen_update_megasys1(screen_device &screen, bitmap_ind1 } if (active_layers & 0x08) - draw_sprites(machine(),bitmap,cliprect); + draw_sprites(bitmap,cliprect); return 0; } diff --git a/src/mame/video/mermaid.c b/src/mame/video/mermaid.c index 484ecfc2a97..72cc0ba2af8 100644 --- a/src/mame/video/mermaid.c +++ b/src/mame/video/mermaid.c @@ -178,16 +178,15 @@ void mermaid_state::video_start() machine().primary_screen->register_screen_bitmap(m_helper2); } -static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void mermaid_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ) { const rectangle spritevisiblearea(0 * 8, 26 * 8 - 1, 2 * 8, 30 * 8 - 1); const rectangle flip_spritevisiblearea(6 * 8, 31 * 8 - 1, 2 * 8, 30 * 8 - 1); - mermaid_state *state = machine.driver_data(); - UINT8 *spriteram = state->m_spriteram; + UINT8 *spriteram = m_spriteram; int offs; - for (offs = state->m_spriteram.bytes() - 4; offs >= 0; offs -= 4) + for (offs = m_spriteram.bytes() - 4; offs >= 0; offs -= 4) { int attr = spriteram[offs + 2]; int bank = (attr & 0x30) >> 4; @@ -200,23 +199,23 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const if (sx >= 0xf0) sx -= 256; - code |= state->m_rougien_gfxbank1 * 0x2800; - code |= state->m_rougien_gfxbank2 * 0x2400; + code |= m_rougien_gfxbank1 * 0x2800; + code |= m_rougien_gfxbank2 * 0x2400; - if (state->flip_screen_x()) + if (flip_screen_x()) { flipx = !flipx; sx = 240 - sx; } - if (state->flip_screen_y()) + if (flip_screen_y()) { flipy = !flipy; sy = 240 - sy; } - drawgfx_transpen(bitmap, (state->flip_screen_x() ? flip_spritevisiblearea : spritevisiblearea), - machine.gfx[1], code, color, flipx, flipy, sx, sy, 0); + drawgfx_transpen(bitmap, (flip_screen_x() ? flip_spritevisiblearea : spritevisiblearea), + machine().gfx[1], code, color, flipx, flipy, sx, sy, 0); } } @@ -224,13 +223,12 @@ UINT32 mermaid_state::screen_update_mermaid(screen_device &screen, bitmap_ind16 { m_bg_tilemap->draw(bitmap, cliprect, 0, 0); m_fg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); return 0; } -static UINT8 collision_check( running_machine &machine, rectangle& rect ) +UINT8 mermaid_state::collision_check( rectangle& rect ) { - mermaid_state *state = machine.driver_data(); UINT8 data = 0; int x; @@ -239,8 +237,8 @@ static UINT8 collision_check( running_machine &machine, rectangle& rect ) for (y = rect.min_y; y <= rect.max_y; y++) for (x = rect.min_x; x <= rect.max_x; x++) { - UINT16 a = colortable_entry_get_value(machine.colortable, state->m_helper.pix16(y, x)) & 0x3f; - UINT16 b = colortable_entry_get_value(machine.colortable, state->m_helper2.pix16(y, x)) & 0x3f; + UINT16 a = colortable_entry_get_value(machine().colortable, m_helper.pix16(y, x)) & 0x3f; + UINT16 b = colortable_entry_get_value(machine().colortable, m_helper2.pix16(y, x)) & 0x3f; if (b) if (a) @@ -314,7 +312,7 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state) drawgfx_transpen(m_helper2, rect, machine().gfx[1], code, 0, flipx, flipy, sx, sy, 0); - m_coll_bit2 |= collision_check(machine(), rect); + m_coll_bit2 |= collision_check(rect); // check collision sprite - foreground @@ -325,7 +323,7 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state) drawgfx_transpen(m_helper2, rect, machine().gfx[1], code, 0, flipx, flipy, sx, sy, 0); - m_coll_bit1 |= collision_check(machine(), rect); + m_coll_bit1 |= collision_check(rect); // check collision sprite - sprite @@ -366,7 +364,7 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state) drawgfx_transpen(m_helper2, rect, machine().gfx[1], code, 0, flipx, flipy, sx, sy, 0); - m_coll_bit0 |= collision_check(machine(), rect); + m_coll_bit0 |= collision_check(rect); } // check for bit 3 (sprite-sprite) @@ -447,7 +445,7 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state) drawgfx_transpen(m_helper2, rect, machine().gfx[1], code, 0, flipx, flipy, sx, sy, 0); - m_coll_bit3 |= collision_check(machine(), rect); + m_coll_bit3 |= collision_check(rect); } // check for bit 6 @@ -528,7 +526,7 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state) drawgfx_transpen(m_helper2, rect, machine().gfx[1], code, 0, flipx, flipy, sx, sy, 0); - m_coll_bit6 |= collision_check(machine(), rect); + m_coll_bit6 |= collision_check(rect); } } } diff --git a/src/mame/video/metlclsh.c b/src/mame/video/metlclsh.c index 133e95faa63..c280e7e7435 100644 --- a/src/mame/video/metlclsh.c +++ b/src/mame/video/metlclsh.c @@ -163,14 +163,13 @@ void metlclsh_state::video_start() ***************************************************************************/ -static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void metlclsh_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - metlclsh_state *state = machine.driver_data(); - UINT8 *spriteram = state->m_spriteram; - gfx_element *gfx = machine.gfx[0]; + UINT8 *spriteram = m_spriteram; + gfx_element *gfx = machine().gfx[0]; int offs; - for (offs = 0; offs < state->m_spriteram.bytes(); offs += 4) + for (offs = 0; offs < m_spriteram.bytes(); offs += 4) { int attr, code, color, sx, sy, flipx, flipy, wrapy, sizey; @@ -190,7 +189,7 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const sy = 240 - spriteram[offs + 2]; - if (state->flip_screen()) + if (flip_screen()) { sx = 240 - sx; flipx = !flipx; sy = 240 - sy; flipy = !flipy; if (sizey) sy += 16; @@ -244,7 +243,7 @@ UINT32 metlclsh_state::screen_update_metlclsh(screen_device &screen, bitmap_ind1 m_bg_tilemap->set_scrollx(0, m_scrollx[1] + ((m_scrollx[0] & 0x02) << 7) ); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); } - draw_sprites(machine(), bitmap, cliprect); // sprites + draw_sprites(bitmap, cliprect); // sprites m_fg_tilemap->draw(bitmap, cliprect, 2, 0); // high priority tiles of foreground // popmessage("%02X", m_scrollx[0]); diff --git a/src/mame/video/metro.c b/src/mame/video/metro.c index b98e52960fc..621ffee6644 100644 --- a/src/mame/video/metro.c +++ b/src/mame/video/metro.c @@ -139,15 +139,14 @@ TILEMAP_MAPPER_MEMBER(metro_state::tilemap_scan_gstrik2) /* This looks up a single pixel in a tile, given the tile code. The Metro hardware has an indirection table, which is used here. Returns if to draw the pixel or not, pixel colour is placed in pix */ -INLINE UINT8 get_tile_pix( running_machine &machine, UINT16 code, UINT8 x, UINT8 y, int big, UINT16 *pix ) +inline UINT8 metro_state::get_tile_pix( UINT16 code, UINT8 x, UINT8 y, int big, UINT16 *pix ) { - metro_state *state = machine.driver_data(); int table_index; UINT32 tile; // Use code as an index into the tiles set table table_index = ((code & 0x1ff0) >> 4) * 2; - tile = (state->m_tiletable[table_index + 0] << 16) + state->m_tiletable[table_index + 1]; + tile = (m_tiletable[table_index + 0] << 16) + m_tiletable[table_index + 1]; if (code & 0x8000) // Special: draw a tile of a single color (i.e. not from the gfx ROMs) { @@ -158,9 +157,9 @@ INLINE UINT8 get_tile_pix( running_machine &machine, UINT16 code, UINT8 x, UINT8 else return 0; } - else if (((tile & 0x00f00000) == 0x00f00000) && (state->m_support_8bpp)) /* draw tile as 8bpp (e.g. balcube bg) */ + else if (((tile & 0x00f00000) == 0x00f00000) && (m_support_8bpp)) /* draw tile as 8bpp (e.g. balcube bg) */ { - gfx_element *gfx1 = machine.gfx[big?3:1]; + gfx_element *gfx1 = machine().gfx[big?3:1]; UINT32 tile2 = big ? ((tile & 0xfffff) + 8*(code & 0xf)) : ((tile & 0xfffff) + 2*(code & 0xf)); const UINT8* data; @@ -192,7 +191,7 @@ INLINE UINT8 get_tile_pix( running_machine &machine, UINT16 code, UINT8 x, UINT8 } else { - gfx_element *gfx1 = machine.gfx[big?2:0]; + gfx_element *gfx1 = machine().gfx[big?2:0]; UINT32 tile2 = big ? ((tile & 0xfffff) + 4*(code & 0xf)) : ((tile & 0xfffff) + (code & 0xf)); const UINT8* data; @@ -228,14 +227,14 @@ INLINE UINT8 get_tile_pix( running_machine &machine, UINT16 code, UINT8 x, UINT8 } -INLINE void metro_vram_w( running_machine &machine, offs_t offset, UINT16 data, UINT16 mem_mask, int layer, UINT16 *vram ) +inline void metro_state::metro_vram_w( offs_t offset, UINT16 data, UINT16 mem_mask, int layer, UINT16 *vram ) { COMBINE_DATA(&vram[offset]); } -WRITE16_MEMBER(metro_state::metro_vram_0_w){ metro_vram_w(machine(), offset, data, mem_mask, 0, m_vram_0); } -WRITE16_MEMBER(metro_state::metro_vram_1_w){ metro_vram_w(machine(), offset, data, mem_mask, 1, m_vram_1); } -WRITE16_MEMBER(metro_state::metro_vram_2_w){ metro_vram_w(machine(), offset, data, mem_mask, 2, m_vram_2); } +WRITE16_MEMBER(metro_state::metro_vram_0_w){ metro_vram_w(offset, data, mem_mask, 0, m_vram_0); } +WRITE16_MEMBER(metro_state::metro_vram_1_w){ metro_vram_w(offset, data, mem_mask, 1, m_vram_1); } +WRITE16_MEMBER(metro_state::metro_vram_2_w){ metro_vram_w(offset, data, mem_mask, 2, m_vram_2); } @@ -408,20 +407,19 @@ VIDEO_START_MEMBER(metro_state,gstrik2) ***************************************************************************/ -void metro_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void metro_state::metro_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - metro_state *state = machine.driver_data(); - UINT8 *base_gfx4 = state->m_expanded_gfx1; - UINT8 *base_gfx8 = state->memregion("gfx1")->base(); - UINT32 gfx_size = state->memregion("gfx1")->bytes(); + UINT8 *base_gfx4 = m_expanded_gfx1; + UINT8 *base_gfx8 = memregion("gfx1")->base(); + UINT32 gfx_size = memregion("gfx1")->bytes(); - int max_x = machine.primary_screen->width(); - int max_y = machine.primary_screen->height(); + int max_x = machine().primary_screen->width(); + int max_y = machine().primary_screen->height(); - int max_sprites = state->m_spriteram.bytes() / 8; - int sprites = state->m_videoregs[0x00/2] % max_sprites; + int max_sprites = m_spriteram.bytes() / 8; + int sprites = m_videoregs[0x00/2] % max_sprites; - int color_start = (state->m_videoregs[0x08/2] & 0x0f) << 4; + int color_start = (m_videoregs[0x08/2] & 0x0f) << 4; int i, j, pri; static const int primask[4] = { 0x0000, 0xff00, 0xff00 | 0xf0f0, 0xff00 | 0xf0f0 | 0xcccc }; @@ -434,12 +432,12 @@ void metro_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const r for (i = 0; i < 0x20; i++) { - if (!(state->m_videoregs[0x02/2] & 0x8000)) + if (!(m_videoregs[0x02/2] & 0x8000)) { - src = state->m_spriteram + (sprites - 1) * (8 / 2); + src = m_spriteram + (sprites - 1) * (8 / 2); inc = -(8 / 2); } else { - src = state->m_spriteram; + src = m_spriteram; inc = (8 / 2); } @@ -467,12 +465,12 @@ void metro_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const r continue; } - pri = (state->m_videoregs[0x02/2] & 0x0300) >> 8; + pri = (m_videoregs[0x02/2] & 0x0300) >> 8; - if (!(state->m_videoregs[0x02/2] & 0x8000)) + if (!(m_videoregs[0x02/2] & 0x8000)) { - if (curr_pri > (state->m_videoregs[0x02/2] & 0x1f)) - pri = (state->m_videoregs[0x02/2] & 0x0c00) >> 10; + if (curr_pri > (m_videoregs[0x02/2] & 0x1f)) + pri = (m_videoregs[0x02/2] & 0x0c00) >> 10; } y = src[1]; @@ -485,27 +483,27 @@ void metro_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const r zoom = zoomtable[(y & 0xfc00) >> 10] << (16 - 8); - x = (x & 0x07ff) - state->m_sprite_xoffs; - y = (y & 0x03ff) - state->m_sprite_yoffs; + x = (x & 0x07ff) - m_sprite_xoffs; + y = (y & 0x03ff) - m_sprite_yoffs; width = (((attr >> 11) & 0x7) + 1) * 8; height = (((attr >> 8) & 0x7) + 1) * 8; UINT32 gfxstart = (8 * 8 * 4 / 8) * (((attr & 0x000f) << 16) + code); - if (state->m_flip_screen) + if (m_flip_screen) { flipx = !flipx; x = max_x - x - width; flipy = !flipy; y = max_y - y - height; } - if (state->m_support_8bpp && color == 0xf) /* 8bpp */ + if (m_support_8bpp && color == 0xf) /* 8bpp */ { /* Bounds checking */ if ((gfxstart + width * height - 1) >= gfx_size) continue; - gfx_element gfx(machine, base_gfx8 + gfxstart, width, height, width, 0, 256); + gfx_element gfx(machine(), base_gfx8 + gfxstart, width, height, width, 0, 256); pdrawgfxzoom_transpen( bitmap,cliprect, &gfx, 0, @@ -513,7 +511,7 @@ void metro_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const r flipx, flipy, x, y, zoom, zoom, - machine.priority_bitmap,primask[pri], 255); + machine().priority_bitmap,primask[pri], 255); } else { @@ -521,7 +519,7 @@ void metro_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const r if ((gfxstart + width / 2 * height - 1) >= gfx_size) continue; - gfx_element gfx(machine, base_gfx4 + 2 * gfxstart, width, height, width, 0, 16); + gfx_element gfx(machine(), base_gfx4 + 2 * gfxstart, width, height, width, 0, 16); pdrawgfxzoom_transpen( bitmap,cliprect, &gfx, 0, @@ -529,7 +527,7 @@ void metro_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const r flipx, flipy, x, y, zoom, zoom, - machine.priority_bitmap,primask[pri], 15); + machine().priority_bitmap,primask[pri], 15); } #if 0 { /* Display priority + zoom on each sprite */ @@ -555,13 +553,12 @@ void metro_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const r // Copy a 'window' from the large 2048x2048 (or 4096x4096 for 16x16 tiles) tilemap -static void draw_tilemap( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT32 flags, UINT32 pcode, +void metro_state::draw_tilemap( bitmap_ind16 &bitmap, const rectangle &cliprect, UINT32 flags, UINT32 pcode, int sx, int sy, int wx, int wy, int big, UINT16 *tilemapram, int layer ) { - metro_state *state = machine.driver_data(); int y; - bitmap_ind8 &priority_bitmap = machine.priority_bitmap; + bitmap_ind8 &priority_bitmap = machine().priority_bitmap; int width = big ? 4096 : 2048; int height = big ? 4096 : 2048; @@ -572,7 +569,7 @@ static void draw_tilemap( running_machine &machine, bitmap_ind16 &bitmap, const int windowwidth = width >> 2; int windowheight = height >> 3; - sx += state->m_tilemap_scrolldx[layer] * (state->m_flip_screen ? 1 : -1); + sx += m_tilemap_scrolldx[layer] * (m_flip_screen ? 1 : -1); for (y = 0; y < scrheight; y++) { @@ -583,7 +580,7 @@ static void draw_tilemap( running_machine &machine, bitmap_ind16 &bitmap, const int srcline = (wy+scrolly)&(height-1); int srctilerow = srcline >> (big ? 4 : 3); - if (!state->m_flip_screen) + if (!m_flip_screen) { dst = &bitmap.pix16(y); priority_baseaddr = &priority_bitmap.pix8(y); @@ -598,7 +595,7 @@ static void draw_tilemap( running_machine &machine, bitmap_ind16 &bitmap, const UINT16 dat = 0; UINT16 tile = tilemapram[tileoffs]; - UINT8 draw = get_tile_pix(machine, tile, big ? (srccol&0xf) : (srccol&0x7), big ? (srcline&0xf) : (srcline&0x7), big, &dat); + UINT8 draw = get_tile_pix(tile, big ? (srccol&0xf) : (srccol&0x7), big ? (srcline&0xf) : (srcline&0x7), big, &dat); if (draw) { @@ -622,7 +619,7 @@ static void draw_tilemap( running_machine &machine, bitmap_ind16 &bitmap, const UINT16 dat = 0; UINT16 tile = tilemapram[tileoffs]; - UINT8 draw = get_tile_pix(machine, tile, big ? (srccol&0xf) : (srccol&0x7), big ? (srcline&0xf) : (srcline&0x7), big, &dat); + UINT8 draw = get_tile_pix(tile, big ? (srccol&0xf) : (srccol&0x7), big ? (srcline&0xf) : (srcline&0x7), big, &dat); if (draw) { @@ -636,10 +633,9 @@ static void draw_tilemap( running_machine &machine, bitmap_ind16 &bitmap, const // Draw all the layers that match the given priority -static void draw_layers( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri, int layers_ctrl ) +void metro_state::draw_layers( bitmap_ind16 &bitmap, const rectangle &cliprect, int pri, int layers_ctrl ) { - metro_state *state = machine.driver_data(); - UINT16 layers_pri = state->m_videoregs[0x10 / 2]; + UINT16 layers_pri = m_videoregs[0x10 / 2]; int layer; // Draw all the layers with priority == pri @@ -648,8 +644,8 @@ static void draw_layers( running_machine &machine, bitmap_ind16 &bitmap, const r if (pri == ((layers_pri >> (layer * 2)) & 3)) { // Scroll and Window values - UINT16 sy = state->m_scroll[layer * 2 + 0]; UINT16 sx = state->m_scroll[layer * 2 + 1]; - UINT16 wy = state->m_window[layer * 2 + 0]; UINT16 wx = state->m_window[layer * 2 + 1]; + UINT16 sy = m_scroll[layer * 2 + 0]; UINT16 sx = m_scroll[layer * 2 + 1]; + UINT16 wy = m_window[layer * 2 + 0]; UINT16 wx = m_window[layer * 2 + 1]; if (BIT(layers_ctrl, layer)) // for debug { @@ -657,14 +653,14 @@ static void draw_layers( running_machine &machine, bitmap_ind16 &bitmap, const r switch (layer) { - case 0: tilemapram = state->m_vram_0; break; - case 1: tilemapram = state->m_vram_1; break; - case 2: tilemapram = state->m_vram_2; break; + case 0: tilemapram = m_vram_0; break; + case 1: tilemapram = m_vram_1; break; + case 2: tilemapram = m_vram_2; break; } - int big = state->m_support_16x16 && (*state->m_screenctrl & (0x0020 << layer)); + int big = m_support_16x16 && (*m_screenctrl & (0x0020 << layer)); - draw_tilemap(machine, bitmap, cliprect, 0, 1 << (3 - pri), sx, sy, wx, wy, big, tilemapram, layer); + draw_tilemap(bitmap, cliprect, 0, 1 << (3 - pri), sx, sy, wx, wy, big, tilemapram, layer); } } } @@ -723,10 +719,10 @@ if (machine().input().code_pressed(KEYCODE_Z)) k053936_zoom_draw(m_k053936, bitmap, cliprect, m_k053936_tilemap, 0, 0, 1); for (pri = 3; pri >= 0; pri--) - draw_layers(machine(), bitmap, cliprect, pri, layers_ctrl); + draw_layers(bitmap, cliprect, pri, layers_ctrl); if (layers_ctrl & 0x08) - metro_draw_sprites(machine(), bitmap, cliprect); + metro_draw_sprites(bitmap, cliprect); return 0; } diff --git a/src/mame/video/mikie.c b/src/mame/video/mikie.c index 838adca02d1..73d8a07d6d9 100644 --- a/src/mame/video/mikie.c +++ b/src/mame/video/mikie.c @@ -138,30 +138,29 @@ void mikie_state::video_start() m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mikie_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); } -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) +void mikie_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) { - mikie_state *state = machine.driver_data(); - UINT8 *spriteram = state->m_spriteram; + UINT8 *spriteram = m_spriteram; int offs; - for (offs = 0; offs < state->m_spriteram.bytes(); offs += 4) + for (offs = 0; offs < m_spriteram.bytes(); offs += 4) { int gfxbank = (spriteram[offs + 2] & 0x40) ? 2 : 1; int code = (spriteram[offs + 2] & 0x3f) + ((spriteram[offs + 2] & 0x80) >> 1) + ((spriteram[offs] & 0x40) << 1); - int color = (spriteram[offs] & 0x0f) + 16 * state->m_palettebank; + int color = (spriteram[offs] & 0x0f) + 16 * m_palettebank; int sx = spriteram[offs + 3]; int sy = 244 - spriteram[offs + 1]; int flipx = ~spriteram[offs] & 0x10; int flipy = spriteram[offs] & 0x20; - if (state->flip_screen()) + if (flip_screen()) { sy = 242 - sy; flipy = !flipy; } drawgfx_transpen(bitmap, cliprect, - machine.gfx[gfxbank], + machine().gfx[gfxbank], code, color, flipx,flipy, sx,sy, 0); @@ -171,7 +170,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r UINT32 mikie_state::screen_update_mikie(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_CATEGORY(0), 0); - draw_sprites(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); m_bg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_CATEGORY(1), 0); return 0; } diff --git a/src/mame/video/mitchell.c b/src/mame/video/mitchell.c index 34d89651181..274ae5368a3 100644 --- a/src/mame/video/mitchell.c +++ b/src/mame/video/mitchell.c @@ -270,30 +270,29 @@ READ8_MEMBER(mitchell_state::mgakuen_paletteram_r) ***************************************************************************/ -static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void mitchell_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - mitchell_state *state = machine.driver_data(); int offs, sx, sy; /* the last entry is not a sprite, we skip it otherwise spang shows a bubble */ /* moving diagonally across the screen */ for (offs = 0x1000 - 0x40; offs >= 0; offs -= 0x20) { - int code = state->m_objram[offs]; - int attr = state->m_objram[offs + 1]; + int code = m_objram[offs]; + int attr = m_objram[offs + 1]; int color = attr & 0x0f; - sx = state->m_objram[offs + 3] + ((attr & 0x10) << 4); - sy = ((state->m_objram[offs + 2] + 8) & 0xff) - 8; + sx = m_objram[offs + 3] + ((attr & 0x10) << 4); + sy = ((m_objram[offs + 2] + 8) & 0xff) - 8; code += (attr & 0xe0) << 3; - if (state->m_flipscreen) + if (m_flipscreen) { sx = 496 - sx; sy = 240 - sy; } - drawgfx_transpen(bitmap,cliprect,machine.gfx[1], + drawgfx_transpen(bitmap,cliprect,machine().gfx[1], code, color, - state->m_flipscreen, state->m_flipscreen, + m_flipscreen, m_flipscreen, sx,sy,15); } } @@ -302,6 +301,6 @@ UINT32 mitchell_state::screen_update_pang(screen_device &screen, bitmap_ind16 &b { bitmap.fill(0, cliprect); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); return 0; } diff --git a/src/mame/video/mjkjidai.c b/src/mame/video/mjkjidai.c index 729d8ea242c..1d6df344935 100644 --- a/src/mame/video/mjkjidai.c +++ b/src/mame/video/mjkjidai.c @@ -81,12 +81,11 @@ WRITE8_MEMBER(mjkjidai_state::mjkjidai_ctrl_w) ***************************************************************************/ -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect) +void mjkjidai_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect) { - mjkjidai_state *state = machine.driver_data(); - UINT8 *spriteram = state->m_spriteram1; - UINT8 *spriteram_2 = state->m_spriteram2; - UINT8 *spriteram_3 = state->m_spriteram3; + UINT8 *spriteram = m_spriteram1; + UINT8 *spriteram_2 = m_spriteram2; + UINT8 *spriteram_3 = m_spriteram3; int offs; for (offs = 0x20-2;offs >= 0;offs -= 2) @@ -102,7 +101,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const re sx += (spriteram_2[offs] & 0x20) >> 5; // not sure about this - if (state->flip_screen()) + if (flip_screen()) { sx = 496 - sx; sy = 240 - sy; @@ -113,7 +112,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const re sx += 16; sy += 1; - drawgfx_transpen(bitmap,cliprect,machine.gfx[1], + drawgfx_transpen(bitmap,cliprect,machine().gfx[1], code, color, flipx,flipy, @@ -130,7 +129,7 @@ UINT32 mjkjidai_state::screen_update_mjkjidai(screen_device &screen, bitmap_ind1 else { m_bg_tilemap->draw(bitmap, cliprect, 0,0); - draw_sprites(machine(), bitmap,cliprect); + draw_sprites(bitmap,cliprect); } return 0; } diff --git a/src/mame/video/momoko.c b/src/mame/video/momoko.c index 430143aef9c..f0e25f3e800 100644 --- a/src/mame/video/momoko.c +++ b/src/mame/video/momoko.c @@ -66,12 +66,12 @@ WRITE8_MEMBER(momoko_state::momoko_flipscreen_w) /****************************************************************************/ -static void momoko_draw_bg_pri( running_machine &machine, bitmap_ind16 &bitmap, int chr, int col, int flipx, int flipy, int x, int y, int pri ) +void momoko_state::momoko_draw_bg_pri( bitmap_ind16 &bitmap, int chr, int col, int flipx, int flipy, int x, int y, int pri ) { int xx, sx, sy, px, py, dot; UINT32 gfxadr; UINT8 d0, d1; - UINT8 *BG_GFX = machine.root_device().memregion("gfx2")->base(); + UINT8 *BG_GFX = machine().root_device().memregion("gfx2")->base(); for (sy = 0; sy < 8; sy++) { @@ -210,7 +210,7 @@ UINT32 momoko_state::screen_update_momoko(screen_device &screen, bitmap_ind16 &b { col = col & 0x0f; chr = chr + m_bg_select * 512; - momoko_draw_bg_pri(machine(), bitmap, chr, col, flip, flip, px, py, pri); + momoko_draw_bg_pri(bitmap, chr, col, flip, flip, px, py, pri); } } } diff --git a/src/mame/video/mrdo.c b/src/mame/video/mrdo.c index dace0f462f6..ea69162cf1c 100644 --- a/src/mame/video/mrdo.c +++ b/src/mame/video/mrdo.c @@ -233,17 +233,16 @@ WRITE8_MEMBER(mrdo_state::mrdo_flipscreen_w) ***************************************************************************/ -static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect ) +void mrdo_state::draw_sprites( bitmap_ind16 &bitmap,const rectangle &cliprect ) { - mrdo_state *state = machine.driver_data(); - UINT8 *spriteram = state->m_spriteram; + UINT8 *spriteram = m_spriteram; int offs; - for (offs = state->m_spriteram.bytes() - 4; offs >= 0; offs -= 4) + for (offs = m_spriteram.bytes() - 4; offs >= 0; offs -= 4) { if (spriteram[offs + 1] != 0) { - drawgfx_transpen(bitmap, cliprect, machine.gfx[2], + drawgfx_transpen(bitmap, cliprect, machine().gfx[2], spriteram[offs], spriteram[offs + 2] & 0x0f, spriteram[offs + 2] & 0x10, spriteram[offs + 2] & 0x20, spriteram[offs + 3], 256 - spriteram[offs + 1], 0); @@ -256,6 +255,6 @@ UINT32 mrdo_state::screen_update_mrdo(screen_device &screen, bitmap_ind16 &bitma bitmap.fill(0, cliprect); m_bg_tilemap->draw(bitmap, cliprect, 0, 0); m_fg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); return 0; } diff --git a/src/mame/video/mrflea.c b/src/mame/video/mrflea.c index 51e365f9f4d..37a28f4f2d2 100644 --- a/src/mame/video/mrflea.c +++ b/src/mame/video/mrflea.c @@ -39,13 +39,12 @@ WRITE8_MEMBER(mrflea_state::mrflea_spriteram_w) m_spriteram[offset] = data; } -static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void mrflea_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - mrflea_state *state = machine.driver_data(); - gfx_element *gfx = machine.gfx[0]; - const UINT8 *source = state->m_spriteram; + gfx_element *gfx = machine().gfx[0]; + const UINT8 *source = m_spriteram; const UINT8 *finish = source + 0x100; - rectangle clip = machine.primary_screen->visible_area(); + rectangle clip = machine().primary_screen->visible_area(); clip.max_x -= 24; clip.min_x += 16; @@ -70,18 +69,17 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const } } -static void draw_background( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void mrflea_state::draw_background( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - mrflea_state *state = machine.driver_data(); - const UINT8 *source = state->m_videoram; - gfx_element *gfx = machine.gfx[1]; + const UINT8 *source = m_videoram; + gfx_element *gfx = machine().gfx[1]; int sx, sy; int base = 0; - if (BIT(state->m_gfx_bank, 2)) + if (BIT(m_gfx_bank, 2)) base |= 0x400; - if (BIT(state->m_gfx_bank, 4)) + if (BIT(m_gfx_bank, 4)) base |= 0x200; for (sy = 0; sy < 256; sy += 8) @@ -102,7 +100,7 @@ static void draw_background( running_machine &machine, bitmap_ind16 &bitmap, con UINT32 mrflea_state::screen_update_mrflea(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - draw_background(machine(), bitmap, cliprect); - draw_sprites(machine(), bitmap, cliprect); + draw_background(bitmap, cliprect); + draw_sprites(bitmap, cliprect); return 0; } diff --git a/src/mame/video/mrjong.c b/src/mame/video/mrjong.c index e8c0540d224..13931d026c4 100644 --- a/src/mame/video/mrjong.c +++ b/src/mame/video/mrjong.c @@ -107,9 +107,8 @@ void mrjong_state::video_start() /* Note: First 0x40 entries in the videoram are actually spriteram */ -static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void mrjong_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - mrjong_state *state = machine.driver_data(); int offs; for (offs = (0x40 - 4); offs >= 0; offs -= 4) @@ -119,14 +118,14 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const int sx, sy; int flipx, flipy; - sprt = (((state->m_videoram[offs + 1] >> 2) & 0x3f) | ((state->m_videoram[offs + 3] & 0x20) << 1)); - flipx = (state->m_videoram[offs + 1] & 0x01) >> 0; - flipy = (state->m_videoram[offs + 1] & 0x02) >> 1; - color = (state->m_videoram[offs + 3] & 0x1f); + sprt = (((m_videoram[offs + 1] >> 2) & 0x3f) | ((m_videoram[offs + 3] & 0x20) << 1)); + flipx = (m_videoram[offs + 1] & 0x01) >> 0; + flipy = (m_videoram[offs + 1] & 0x02) >> 1; + color = (m_videoram[offs + 3] & 0x1f); - sx = 224 - state->m_videoram[offs + 2]; - sy = state->m_videoram[offs + 0]; - if (state->flip_screen()) + sx = 224 - m_videoram[offs + 2]; + sy = m_videoram[offs + 0]; + if (flip_screen()) { sx = 208 - sx; sy = 240 - sy; @@ -134,7 +133,7 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const flipy = !flipy; } - drawgfx_transpen(bitmap, cliprect, machine.gfx[1], + drawgfx_transpen(bitmap, cliprect, machine().gfx[1], sprt, color, flipx, flipy, @@ -145,6 +144,6 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const UINT32 mrjong_state::screen_update_mrjong(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_bg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); return 0; } diff --git a/src/mame/video/ms32.c b/src/mame/video/ms32.c index 5d1f6bee19e..6ee29b608ad 100644 --- a/src/mame/video/ms32.c +++ b/src/mame/video/ms32.c @@ -119,9 +119,8 @@ VIDEO_START_MEMBER(ms32_state,f1superb) /********** PALETTE WRITES **********/ -static void update_color(running_machine &machine, int color) +void ms32_state::update_color(int color) { - ms32_state *state = machine.driver_data(); int r,g,b; /* I'm not sure how the brightness should be applied, currently I'm only @@ -130,18 +129,18 @@ static void update_color(running_machine &machine, int color) */ if (~color & 0x4000) { - r = ((state->m_palram_16[color*2] & 0xff00) >>8 ) * state->m_brt_r / 0x100; - g = ((state->m_palram_16[color*2] & 0x00ff) >>0 ) * state->m_brt_g / 0x100; - b = ((state->m_palram_16[color*2+1] & 0x00ff) >>0 ) * state->m_brt_b / 0x100; + r = ((m_palram_16[color*2] & 0xff00) >>8 ) * m_brt_r / 0x100; + g = ((m_palram_16[color*2] & 0x00ff) >>0 ) * m_brt_g / 0x100; + b = ((m_palram_16[color*2+1] & 0x00ff) >>0 ) * m_brt_b / 0x100; } else { - r = ((state->m_palram_16[color*2] & 0xff00) >>8 ); - g = ((state->m_palram_16[color*2] & 0x00ff) >>0 ); - b = ((state->m_palram_16[color*2+1] & 0x00ff) >>0 ); + r = ((m_palram_16[color*2] & 0xff00) >>8 ); + g = ((m_palram_16[color*2] & 0x00ff) >>0 ); + b = ((m_palram_16[color*2+1] & 0x00ff) >>0 ); } - palette_set_color(machine,color,MAKE_RGB(r,g,b)); + palette_set_color(machine(),color,MAKE_RGB(r,g,b)); } WRITE32_MEMBER(ms32_state::ms32_brightness_w) @@ -194,14 +193,14 @@ WRITE32_MEMBER(ms32_state::ms32_gfxctrl_w) /* SPRITES based on tetrisp2 for now, readd priority bits later */ -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, bitmap_ind8 &bitmap_pri, const rectangle &cliprect, UINT16 *sprram_top, size_t sprram_size, int gfxnum, int reverseorder) +void ms32_state::draw_sprites(bitmap_ind16 &bitmap, bitmap_ind8 &bitmap_pri, const rectangle &cliprect, UINT16 *sprram_top, size_t sprram_size, int gfxnum, int reverseorder) { int tx, ty, sx, sy, flipx, flipy; int xsize, ysize; int code, attr, color, size; int pri; int xzoom, yzoom; - gfx_element *gfx = machine.gfx[gfxnum]; + gfx_element *gfx = machine().gfx[gfxnum]; UINT16 *source = sprram_top; UINT16 *finish = sprram_top + (sprram_size - 0x10) / 2; @@ -264,12 +263,11 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, bitmap_ } -static void draw_roz(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect,int priority) +void ms32_state::draw_roz(bitmap_ind16 &bitmap, const rectangle &cliprect,int priority) { - ms32_state *state = machine.driver_data(); /* TODO: registers 0x40/4 / 0x44/4 and 0x50/4 / 0x54/4 are used, meaning unknown */ - if (state->m_roz_ctrl[0x5c/4] & 1) /* "super" mode */ + if (m_roz_ctrl[0x5c/4] & 1) /* "super" mode */ { rectangle my_clip; int y,maxy; @@ -282,21 +280,21 @@ static void draw_roz(running_machine &machine, bitmap_ind16 &bitmap, const recta while (y <= maxy) { - UINT16 *lineaddr = state->m_lineram_16 + 8 * (y & 0xff); + UINT16 *lineaddr = m_lineram_16 + 8 * (y & 0xff); int start2x = (lineaddr[0x00/4] & 0xffff) | ((lineaddr[0x04/4] & 3) << 16); int start2y = (lineaddr[0x08/4] & 0xffff) | ((lineaddr[0x0c/4] & 3) << 16); int incxx = (lineaddr[0x10/4] & 0xffff) | ((lineaddr[0x14/4] & 1) << 16); int incxy = (lineaddr[0x18/4] & 0xffff) | ((lineaddr[0x1c/4] & 1) << 16); - int startx = (state->m_roz_ctrl[0x00/4] & 0xffff) | ((state->m_roz_ctrl[0x04/4] & 3) << 16); - int starty = (state->m_roz_ctrl[0x08/4] & 0xffff) | ((state->m_roz_ctrl[0x0c/4] & 3) << 16); - int offsx = state->m_roz_ctrl[0x30/4]; - int offsy = state->m_roz_ctrl[0x34/4]; + int startx = (m_roz_ctrl[0x00/4] & 0xffff) | ((m_roz_ctrl[0x04/4] & 3) << 16); + int starty = (m_roz_ctrl[0x08/4] & 0xffff) | ((m_roz_ctrl[0x0c/4] & 3) << 16); + int offsx = m_roz_ctrl[0x30/4]; + int offsy = m_roz_ctrl[0x34/4]; my_clip.min_y = my_clip.max_y = y; - offsx += (state->m_roz_ctrl[0x38/4] & 1) * 0x400; // ??? gratia, hayaosi1... - offsy += (state->m_roz_ctrl[0x3c/4] & 1) * 0x400; // ??? gratia, hayaosi1... + offsx += (m_roz_ctrl[0x38/4] & 1) * 0x400; // ??? gratia, hayaosi1... + offsy += (m_roz_ctrl[0x3c/4] & 1) * 0x400; // ??? gratia, hayaosi1... /* extend sign */ if (start2x & 0x20000) start2x |= ~0x3ffff; @@ -306,7 +304,7 @@ static void draw_roz(running_machine &machine, bitmap_ind16 &bitmap, const recta if (incxx & 0x10000) incxx |= ~0x1ffff; if (incxy & 0x10000) incxy |= ~0x1ffff; - state->m_roz_tilemap->draw_roz(bitmap, my_clip, + m_roz_tilemap->draw_roz(bitmap, my_clip, (start2x+startx+offsx)<<16, (start2y+starty+offsy)<<16, incxx<<8, incxy<<8, 0, 0, 1, // Wrap @@ -317,17 +315,17 @@ static void draw_roz(running_machine &machine, bitmap_ind16 &bitmap, const recta } else /* "simple" mode */ { - int startx = (state->m_roz_ctrl[0x00/4] & 0xffff) | ((state->m_roz_ctrl[0x04/4] & 3) << 16); - int starty = (state->m_roz_ctrl[0x08/4] & 0xffff) | ((state->m_roz_ctrl[0x0c/4] & 3) << 16); - int incxx = (state->m_roz_ctrl[0x10/4] & 0xffff) | ((state->m_roz_ctrl[0x14/4] & 1) << 16); - int incxy = (state->m_roz_ctrl[0x18/4] & 0xffff) | ((state->m_roz_ctrl[0x1c/4] & 1) << 16); - int incyy = (state->m_roz_ctrl[0x20/4] & 0xffff) | ((state->m_roz_ctrl[0x24/4] & 1) << 16); - int incyx = (state->m_roz_ctrl[0x28/4] & 0xffff) | ((state->m_roz_ctrl[0x2c/4] & 1) << 16); - int offsx = state->m_roz_ctrl[0x30/4]; - int offsy = state->m_roz_ctrl[0x34/4]; + int startx = (m_roz_ctrl[0x00/4] & 0xffff) | ((m_roz_ctrl[0x04/4] & 3) << 16); + int starty = (m_roz_ctrl[0x08/4] & 0xffff) | ((m_roz_ctrl[0x0c/4] & 3) << 16); + int incxx = (m_roz_ctrl[0x10/4] & 0xffff) | ((m_roz_ctrl[0x14/4] & 1) << 16); + int incxy = (m_roz_ctrl[0x18/4] & 0xffff) | ((m_roz_ctrl[0x1c/4] & 1) << 16); + int incyy = (m_roz_ctrl[0x20/4] & 0xffff) | ((m_roz_ctrl[0x24/4] & 1) << 16); + int incyx = (m_roz_ctrl[0x28/4] & 0xffff) | ((m_roz_ctrl[0x2c/4] & 1) << 16); + int offsx = m_roz_ctrl[0x30/4]; + int offsy = m_roz_ctrl[0x34/4]; - offsx += (state->m_roz_ctrl[0x38/4] & 1) * 0x400; // ??? gratia, hayaosi1... - offsy += (state->m_roz_ctrl[0x3c/4] & 1) * 0x400; // ??? gratia, hayaosi1... + offsx += (m_roz_ctrl[0x38/4] & 1) * 0x400; // ??? gratia, hayaosi1... + offsy += (m_roz_ctrl[0x3c/4] & 1) * 0x400; // ??? gratia, hayaosi1... /* extend sign */ if (startx & 0x20000) startx |= ~0x3ffff; @@ -337,7 +335,7 @@ static void draw_roz(running_machine &machine, bitmap_ind16 &bitmap, const recta if (incyy & 0x10000) incyy |= ~0x1ffff; if (incyx & 0x10000) incyx |= ~0x1ffff; - state->m_roz_tilemap->draw_roz(bitmap, cliprect, + m_roz_tilemap->draw_roz(bitmap, cliprect, (startx+offsx)<<16, (starty+offsy)<<16, incxx<<8, incxy<<8, incyx<<8, incyy<<8, 1, // Wrap @@ -365,7 +363,7 @@ UINT32 ms32_state::screen_update_ms32(screen_device &screen, bitmap_rgb32 &bitma int i; for (i = 0;i < 0x10000;i++) // colors 0x3000-0x3fff are not used - update_color(machine(), i); + update_color(i); scrollx = m_tx_scroll[0x00/4] + m_tx_scroll[0x08/4] + 0x18; scrolly = m_tx_scroll[0x0c/4] + m_tx_scroll[0x14/4]; @@ -392,7 +390,7 @@ UINT32 ms32_state::screen_update_ms32(screen_device &screen, bitmap_rgb32 &bitma m_temp_bitmap_sprites.fill(0, cliprect); m_temp_bitmap_sprites_pri.fill(0, cliprect); - draw_sprites(machine(), m_temp_bitmap_sprites, m_temp_bitmap_sprites_pri, cliprect, m_sprram_16, 0x20000, 0, m_reverse_sprite_order); + draw_sprites(m_temp_bitmap_sprites, m_temp_bitmap_sprites_pri, cliprect, m_sprram_16, 0x20000, 0, m_reverse_sprite_order); @@ -415,7 +413,7 @@ UINT32 ms32_state::screen_update_ms32(screen_device &screen, bitmap_rgb32 &bitma rot_pri++; if (rot_pri == 0) - draw_roz(machine(), m_temp_bitmap_tilemaps, cliprect, 1 << 1); + draw_roz(m_temp_bitmap_tilemaps, cliprect, 1 << 1); else if (scr_pri == 0) if (m_tilemaplayoutcontrol&1) { @@ -429,7 +427,7 @@ UINT32 ms32_state::screen_update_ms32(screen_device &screen, bitmap_rgb32 &bitma m_tx_tilemap->draw(m_temp_bitmap_tilemaps, cliprect, 0, 1 << 2); if (rot_pri == 1) - draw_roz(machine(), m_temp_bitmap_tilemaps, cliprect, 1 << 1); + draw_roz(m_temp_bitmap_tilemaps, cliprect, 1 << 1); else if (scr_pri == 1) if (m_tilemaplayoutcontrol&1) { @@ -443,7 +441,7 @@ UINT32 ms32_state::screen_update_ms32(screen_device &screen, bitmap_rgb32 &bitma m_tx_tilemap->draw(m_temp_bitmap_tilemaps, cliprect, 0, 1 << 2); if (rot_pri == 2) - draw_roz(machine(), m_temp_bitmap_tilemaps, cliprect, 1 << 1); + draw_roz(m_temp_bitmap_tilemaps, cliprect, 1 << 1); else if (scr_pri == 2) if (m_tilemaplayoutcontrol&1) { diff --git a/src/mame/video/msisaac.c b/src/mame/video/msisaac.c index 39cf9b9e882..6f71e6a8cde 100644 --- a/src/mame/video/msisaac.c +++ b/src/mame/video/msisaac.c @@ -147,11 +147,10 @@ WRITE8_MEMBER(msisaac_state::msisaac_fg_videoram_w) Display refresh ***************************************************************************/ -static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void msisaac_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - msisaac_state *state = machine.driver_data(); - const UINT8 *source = state->m_spriteram + 32 * 4 - 4; - const UINT8 *finish = state->m_spriteram; /* ? */ + const UINT8 *source = m_spriteram + 32 * 4 - 4; + const UINT8 *finish = m_spriteram; /* ? */ while (source >= finish) { @@ -164,12 +163,12 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const int flipx = (attributes & 0x1); int flipy = (attributes & 0x2); - gfx_element *gfx = machine.gfx[2]; + gfx_element *gfx = machine().gfx[2]; if (attributes & 4) { //color = rand() & 15; - gfx = machine.gfx[3]; + gfx = machine().gfx[3]; } if (attributes & 8) /* double size sprite */ @@ -234,7 +233,7 @@ UINT32 msisaac_state::screen_update_msisaac(screen_device &screen, bitmap_ind16 { m_bg_tilemap->draw(bitmap, cliprect, 0, 0); m_bg2_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); m_fg_tilemap->draw(bitmap, cliprect, 0, 0); return 0; } diff --git a/src/mame/video/mugsmash.c b/src/mame/video/mugsmash.c index 9422a47807e..9a2721574be 100644 --- a/src/mame/video/mugsmash.c +++ b/src/mame/video/mugsmash.c @@ -3,7 +3,7 @@ #include "emu.h" #include "includes/mugsmash.h" -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void mugsmash_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect ) { /* Each Sprite takes 16 bytes, 5 used? */ @@ -24,10 +24,9 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r */ - mugsmash_state *state = machine.driver_data(); - const UINT16 *source = state->m_spriteram; + const UINT16 *source = m_spriteram; const UINT16 *finish = source + 0x2000; - gfx_element *gfx = machine.gfx[0]; + gfx_element *gfx = machine().gfx[0]; while (source < finish) { @@ -142,6 +141,6 @@ UINT32 mugsmash_state::screen_update_mugsmash(screen_device &screen, bitmap_ind1 { m_tilemap2->draw(bitmap, cliprect, 0, 0); m_tilemap1->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); return 0; } diff --git a/src/mame/video/munchmo.c b/src/mame/video/munchmo.c index 4041e66fcfb..d4c987a7f2a 100644 --- a/src/mame/video/munchmo.c +++ b/src/mame/video/munchmo.c @@ -46,16 +46,15 @@ void munchmo_state::video_start() m_tmpbitmap = auto_bitmap_ind16_alloc(machine(), 512, 512); } -static void draw_status( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void munchmo_state::draw_status( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - munchmo_state *state = machine.driver_data(); - gfx_element *gfx = machine.gfx[0]; + gfx_element *gfx = machine().gfx[0]; int row; for (row = 0; row < 4; row++) { int sy, sx = (row & 1) * 8; - const UINT8 *source = state->m_status_vram + (~row & 1) * 32; + const UINT8 *source = m_status_vram + (~row & 1) * 32; if (row <= 1) { source += 2 * 32; @@ -74,31 +73,30 @@ static void draw_status( running_machine &machine, bitmap_ind16 &bitmap, const r } } -static void draw_background( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void munchmo_state::draw_background( bitmap_ind16 &bitmap, const rectangle &cliprect ) { /* ROM B1.2C contains 256 tilemaps defining 4x4 configurations of the tiles in ROM B2.2B */ - munchmo_state *state = machine.driver_data(); - UINT8 *rom = state->memregion("gfx2")->base(); - gfx_element *gfx = machine.gfx[1]; + UINT8 *rom = memregion("gfx2")->base(); + gfx_element *gfx = machine().gfx[1]; int offs; for (offs = 0; offs < 0x100; offs++) { int sy = (offs % 16) * 32; int sx = (offs / 16) * 32; - int tile_number = state->m_videoram[offs]; + int tile_number = m_videoram[offs]; int row, col; for (row = 0; row < 4; row++) { for (col = 0; col < 4; col++) { - drawgfx_opaque(*state->m_tmpbitmap, state->m_tmpbitmap->cliprect(), gfx, + drawgfx_opaque(*m_tmpbitmap, m_tmpbitmap->cliprect(), gfx, rom[col + tile_number * 4 + row * 0x400], - state->m_palette_bank, + m_palette_bank, 0,0, /* flip */ sx + col * 8, sy + row * 8 ); } @@ -106,32 +104,31 @@ static void draw_background( running_machine &machine, bitmap_ind16 &bitmap, con } { - int scrollx = -(state->m_vreg[6] *2 + (state->m_vreg[7] >> 7)) - 64 - 128 - 16; + int scrollx = -(m_vreg[6] *2 + (m_vreg[7] >> 7)) - 64 - 128 - 16; int scrolly = 0; - copyscrollbitmap(bitmap, *state->m_tmpbitmap, 1, &scrollx, 1, &scrolly, cliprect); + copyscrollbitmap(bitmap, *m_tmpbitmap, 1, &scrollx, 1, &scrolly, cliprect); } } -static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void munchmo_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - munchmo_state *state = machine.driver_data(); - int scroll = state->m_vreg[6]; - int flags = state->m_vreg[7]; /* XB?????? */ + int scroll = m_vreg[6]; + int flags = m_vreg[7]; /* XB?????? */ int xadjust = - 128 - 16 - ((flags & 0x80) ? 1 : 0); int bank = (flags & 0x40) ? 1 : 0; - gfx_element *gfx = machine.gfx[2 + bank]; - int color_base = state->m_palette_bank * 4 + 3; + gfx_element *gfx = machine().gfx[2 + bank]; + int color_base = m_palette_bank * 4 + 3; int i, j; - int firstsprite = state->m_vreg[4] & 0x3f; + int firstsprite = m_vreg[4] & 0x3f; for (i = firstsprite; i < firstsprite + 0x40; i++) { for (j = 0; j < 8; j++) { int offs = (j << 6) | (i & 0x3f); - int tile_number = state->m_sprite_tile[offs]; /* ETTTTTTT */ - int attributes = state->m_sprite_attr[offs]; /* XYYYYYCC */ - int sx = state->m_sprite_xpos[offs]; /* XXXXXXX? */ + int tile_number = m_sprite_tile[offs]; /* ETTTTTTT */ + int attributes = m_sprite_attr[offs]; /* XYYYYYCC */ + int sx = m_sprite_xpos[offs]; /* XXXXXXX? */ int sy = (offs >> 6) << 5; /* Y YY------ */ sy += (attributes >> 2) & 0x1f; if( attributes & 0x80 ) @@ -150,8 +147,8 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const UINT32 munchmo_state::screen_update_mnchmobl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - draw_background(machine(), bitmap, cliprect); - draw_sprites(machine(), bitmap, cliprect); - draw_status(machine(), bitmap, cliprect); + draw_background(bitmap, cliprect); + draw_sprites(bitmap, cliprect); + draw_status(bitmap, cliprect); return 0; } diff --git a/src/mame/video/mustache.c b/src/mame/video/mustache.c index 7455f0cee76..d78d6401a13 100644 --- a/src/mame/video/mustache.c +++ b/src/mame/video/mustache.c @@ -96,16 +96,15 @@ void mustache_state::video_start() m_bg_tilemap->set_scroll_rows(4); } -static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void mustache_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect ) { - mustache_state *state = machine.driver_data(); rectangle clip = cliprect; - gfx_element *gfx = machine.gfx[1]; - const rectangle &visarea = machine.primary_screen->visible_area(); - UINT8 *spriteram = state->m_spriteram; + gfx_element *gfx = machine().gfx[1]; + const rectangle &visarea = machine().primary_screen->visible_area(); + UINT8 *spriteram = m_spriteram; int offs; - for (offs = 0;offs < state->m_spriteram.bytes();offs += 4) + for (offs = 0;offs < m_spriteram.bytes();offs += 4) { int sy = 240-spriteram[offs]; int sx = 240-spriteram[offs+3]; @@ -117,15 +116,15 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r code+=(attr&0x0c)<<6; - if ((state->m_control_byte & 0xa)) + if ((m_control_byte & 0xa)) clip.max_y = visarea.max_y; else - if (state->flip_screen()) + if (flip_screen()) clip.min_y = visarea.min_y + 56; else clip.max_y = visarea.max_y - 56; - if (state->flip_screen()) + if (flip_screen()) { sx = 240 - sx; sy = 240 - sy; @@ -134,7 +133,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r drawgfx_transpen(bitmap,clip,gfx, code, color, - state->flip_screen(),state->flip_screen(), + flip_screen(),flip_screen(), sx,sy,0); } } @@ -142,6 +141,6 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r UINT32 mustache_state::screen_update_mustache(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_bg_tilemap->draw(bitmap, cliprect, 0, 0); - draw_sprites(machine(), bitmap, cliprect); + draw_sprites(bitmap, cliprect); return 0; } diff --git a/src/mame/video/mystston.c b/src/mame/video/mystston.c index b93913792cc..f475ba8e305 100644 --- a/src/mame/video/mystston.c +++ b/src/mame/video/mystston.c @@ -49,7 +49,7 @@ TIMER_CALLBACK_MEMBER(mystston_state::interrupt_callback) { int scanline = param; - mystston_on_scanline_interrupt(machine()); + mystston_on_scanline_interrupt(); scanline = scanline + 16; if (scanline >= VTOTAL) @@ -67,14 +67,14 @@ TIMER_CALLBACK_MEMBER(mystston_state::interrupt_callback) * *************************************/ -static void set_palette(running_machine &machine, mystston_state *state) +void mystston_state::set_palette() { int i; static const int resistances_rg[3] = { 4700, 3300, 1500 }; static const int resistances_b [2] = { 3300, 1500 }; double weights_rg[3], weights_b[2]; - UINT8 *color_prom = machine.root_device().memregion("proms")->base(); + UINT8 *color_prom = machine().root_device().memregion("proms")->base(); compute_resistor_weights(0, 255, -1.0, 3, resistances_rg, weights_rg, 0, 4700, @@ -91,7 +91,7 @@ static void set_palette(running_machine &machine, mystston_state *state) if (i & 0x20) data = color_prom[i & 0x1f]; else - data = state->m_paletteram[i]; + data = m_paletteram[i]; /* red component */ bit0 = (data >> 0) & 0x01; @@ -110,7 +110,7 @@ static void set_palette(running_machine &machine, mystston_state *state) bit1 = (data >> 7) & 0x01; b = combine_2_weights(weights_b, bit0, bit1); - palette_set_color(machine, i, MAKE_RGB(r, g, b)); + palette_set_color(machine(), i, MAKE_RGB(r, g, b)); } } @@ -172,23 +172,22 @@ TILE_GET_INFO_MEMBER(mystston_state::get_fg_tile_info) * *************************************/ -static void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, int flip) +void mystston_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, int flip) { - mystston_state *state = gfx->machine().driver_data(); int offs; for (offs = 0; offs < 0x60; offs += 4) { - int attr = state->m_spriteram[offs]; + int attr = m_spriteram[offs]; if (attr & 0x01) { - int code = ((attr & 0x10) << 4) | state->m_spriteram[offs + 1]; + int code = ((attr & 0x10) << 4) | m_spriteram[offs + 1]; int color = (attr & 0x08) >> 3; int flipx = attr & 0x04; int flipy = attr & 0x02; - int x = 240 - state->m_spriteram[offs + 3]; - int y = (240 - state->m_spriteram[offs + 2]) & 0xff; + int x = 240 - m_spriteram[offs + 3]; + int y = (240 - m_spriteram[offs + 2]) & 0xff; if (flip) { @@ -247,7 +246,7 @@ UINT32 mystston_state::screen_update_mystston(screen_device &screen, bitmap_ind1 { int flip = (*m_video_control & 0x80) ^ ((machine().root_device().ioport("DSW1")->read() & 0x20) << 2); - set_palette(machine(), this); + set_palette(); machine().tilemap().mark_all_dirty(); m_bg_tilemap->set_scrolly(0, *m_scroll);