From e2d2c410b643b2e4bb7d1eb9fb3d30a2b2432620 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Tue, 18 Apr 2017 19:10:53 +0200 Subject: misc timer_set removal (nw) --- src/mame/drivers/artmagic.cpp | 4 +- src/mame/drivers/galaxian.cpp | 35 +++++++++++++++- src/mame/drivers/gpworld.cpp | 26 ++++++------ src/mame/drivers/groundfx.cpp | 51 +++++++++++------------- src/mame/drivers/gunpey.cpp | 92 ++++++++++++++++++++++--------------------- src/mame/drivers/hyprduel.cpp | 81 +++++++++++++++++++------------------ src/mame/drivers/toaplan2.cpp | 39 ++---------------- src/mame/includes/artmagic.h | 1 + src/mame/includes/groundfx.h | 13 +++--- src/mame/includes/hyprduel.h | 38 +++++++++--------- src/mame/includes/toaplan2.h | 4 +- src/mame/video/groundfx.cpp | 2 +- src/mame/video/hyprduel.cpp | 42 ++++++++++---------- 13 files changed, 222 insertions(+), 206 deletions(-) diff --git a/src/mame/drivers/artmagic.cpp b/src/mame/drivers/artmagic.cpp index ab622dfd96a..f28e83c0d47 100644 --- a/src/mame/drivers/artmagic.cpp +++ b/src/mame/drivers/artmagic.cpp @@ -69,6 +69,8 @@ WRITE_LINE_MEMBER(artmagic_state::m68k_gen_int) void artmagic_state::machine_start() { + m_irq_off_timer = timer_alloc(TIMER_IRQ_OFF); + save_item(NAME(m_tms_irq)); save_item(NAME(m_hack_irq)); save_item(NAME(m_prot_input_index)); @@ -137,7 +139,7 @@ READ16_MEMBER(artmagic_state::ultennis_hack_r) { m_hack_irq = 1; update_irq_state(); - timer_set(attotime::from_usec(1), TIMER_IRQ_OFF); + m_irq_off_timer->adjust(attotime::from_usec(1)); } return ioport("300000")->read(); } diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp index dc8d18b377a..02dd68d6eab 100644 --- a/src/mame/drivers/galaxian.cpp +++ b/src/mame/drivers/galaxian.cpp @@ -7477,6 +7477,38 @@ ROM_START( astrians ) ROM_LOAD( "prom.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) ROM_END +ROM_START( victoryc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "1.1", 0x0000, 0x0800, CRC(8a590687) SHA1(71558a9eb8020f3769f07089d5704317f6018d9a) ) + ROM_LOAD( "2.2", 0x0800, 0x0800, CRC(575ac583) SHA1(352cb6c5cdc898ef2935aaae582455dc0237ac49) ) + ROM_LOAD( "3.3", 0x1000, 0x0800, CRC(cbe67cfb) SHA1(80b42e2443ba36f2a4b2b27f22be7292d6bc9689) ) + ROM_LOAD( "4.4", 0x1800, 0x0800, CRC(025b6626) SHA1(b6b80c2a9aa991cd0c5ff7127f4495dcd8c2fbe5) ) + //ROM_LOAD( "v5.BIN", 0x2000, 0x0800, CRC(bea02321) SHA1(8f1265f706b0b1d74f9334d03c62e8943e94aef7) ) + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "A4.1H", 0x0000, 0x0800, CRC(cd35a7e2) SHA1(deeb853f924dd964a254bcdb6924cd2fd71aabdc) ) + ROM_LOAD( "DF.1K", 0x0800, 0x0800, CRC(15e98c93) SHA1(af273ec2df93b78b439d4aff649eb4b6c6d05ee3) ) + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "prom.6l", 0x0000, 0x0020, CRC(25329e5a) SHA1(aff60d02aa4d1d5f16e2d32155c315deee8b4089) ) +ROM_END + +ROM_START( victorycb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "V1.BIN", 0x0000, 0x0800, CRC(f18150e9) SHA1(48a6bcbe43db1cb5bd71bc23e7eaa7f26ddce165) ) + ROM_LOAD( "v2.BIN", 0x0800, 0x0800, CRC(59042c1e) SHA1(94498ca14f66c8f5ae9a08b0d7c057f033ccfb3b) ) + ROM_LOAD( "v3.BIN", 0x1000, 0x0800, CRC(7d97ba95) SHA1(e8eded12e746555d4e054962987f34d9472e4357) ) + ROM_LOAD( "V4.BIN", 0x1800, 0x0800, CRC(5d6ecd2b) SHA1(b9ae9414410eb83875707265e866375b9316f79c) ) + ROM_LOAD( "v5.BIN", 0x2000, 0x0800, CRC(0e745845) SHA1(c9f16509d9711a33c78920de4616c694b0cf2c68) ) + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "V7.BIN", 0x0000, 0x0800, CRC(cd35a7e2) SHA1(deeb853f924dd964a254bcdb6924cd2fd71aabdc) ) + ROM_LOAD( "V6.BIN", 0x0800, 0x0800, CRC(15e98c93) SHA1(af273ec2df93b78b439d4aff649eb4b6c6d05ee3) ) + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "prom.6l", 0x0000, 0x0020, CRC(25329e5a) SHA1(aff60d02aa4d1d5f16e2d32155c315deee8b4089) ) // not dumped for this board, using the one from the original's PCB +ROM_END + ROM_START( moonaln ) ROM_REGION( 0x4000, "maincpu", 0 ) ROM_LOAD( "galx.u", 0x0000, 0x0800, CRC(79e4007d) SHA1(d55050498a670d1c022ba3caad34f8fcaccf4a30) ) // prg1.bin @@ -8775,7 +8807,6 @@ ROM_START( atlantisb ) /* Artic Multi-System */ ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) ROM_END - ROM_START( tenspot ) /* Game A - Survivor */ ROM_REGION( 0x4000, "game_0_cpu", 0 ) @@ -11690,6 +11721,8 @@ GAME( 1980, luctoday, 0, galaxian, luctoday, galaxian_state, galax GAME( 19??, chewing, luctoday, galaxian, luctoday, galaxian_state, galaxian, ROT90, "", "Chewing Gum", MACHINE_SUPPORTS_SAVE ) GAME( 1982, catacomb, 0, galaxian, catacomb, galaxian_state, galaxian, ROT90, "MTM Games", "Catacomb", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) GAME( 19??, omegab, theend, galaxian, omegab, galaxian_state, galaxian, ROT270, "bootleg?", "Omega (bootleg?)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, victoryc, 0, galaxian, galaxian, galaxian_state, galaxian, ROT270, "Comsoft", "Victory (Comsoft)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, victorycb, victoryc, galaxian, galaxian, galaxian_state, galaxian, ROT270, "bootleg (Laboratorios F.A.R.)", "Victory (bootleg)", MACHINE_SUPPORTS_SAVE ) /* these games require the coin lockout mechanism to be disabled */ GAME( 1981, warofbug, 0, galaxian, warofbug, galaxian_state, nolock, ROT90, "Armenia / Food and Fun Corp", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/gpworld.cpp b/src/mame/drivers/gpworld.cpp index 926c60d7625..1d0640da607 100644 --- a/src/mame/drivers/gpworld.cpp +++ b/src/mame/drivers/gpworld.cpp @@ -70,6 +70,7 @@ public: uint8_t m_ldp_read_latch; uint8_t m_ldp_write_latch; uint8_t m_brake_gas; + emu_timer *m_irq_stop_timer; required_device m_laserdisc; required_shared_ptr m_sprite_ram; required_shared_ptr m_palette_ram; @@ -82,11 +83,11 @@ public: DECLARE_WRITE8_MEMBER(palette_write); DECLARE_DRIVER_INIT(gpworld); virtual void machine_start() override; - uint32_t screen_update_gpworld(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER(vblank_callback_gpworld); - void gpworld_draw_tiles(bitmap_rgb32 &bitmap,const rectangle &cliprect); + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + INTERRUPT_GEN_MEMBER(vblank_callback); + void draw_tiles(bitmap_rgb32 &bitmap,const rectangle &cliprect); inline void draw_pixel(bitmap_rgb32 &bitmap,const rectangle &cliprect,int x,int y,int color,int flip); - void gpworld_draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect); + void draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect); required_device m_maincpu; required_device m_gfxdecode; required_device m_palette; @@ -104,7 +105,7 @@ protected: /* VIDEO GOODS */ -void gpworld_state::gpworld_draw_tiles(bitmap_rgb32 &bitmap,const rectangle &cliprect) +void gpworld_state::draw_tiles(bitmap_rgb32 &bitmap,const rectangle &cliprect) { uint8_t characterX, characterY; @@ -133,7 +134,7 @@ void gpworld_state::draw_pixel(bitmap_rgb32 &bitmap,const rectangle &cliprect,in bitmap.pix32(y, x) = m_palette->pen(color); } -void gpworld_state::gpworld_draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect) +void gpworld_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect) { const int SPR_Y_TOP = 0; const int SPR_Y_BOTTOM = 1; @@ -243,12 +244,12 @@ void gpworld_state::gpworld_draw_sprites(bitmap_rgb32 &bitmap, const rectangle & } -uint32_t gpworld_state::screen_update_gpworld(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +uint32_t gpworld_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { bitmap.fill(0, cliprect); - gpworld_draw_tiles(bitmap, cliprect); - gpworld_draw_sprites(bitmap, cliprect); + draw_tiles(bitmap, cliprect); + draw_sprites(bitmap, cliprect); return 0; } @@ -256,6 +257,7 @@ uint32_t gpworld_state::screen_update_gpworld(screen_device &screen, bitmap_rgb3 void gpworld_state::machine_start() { + m_irq_stop_timer = timer_alloc(TIMER_IRQ_STOP); } @@ -455,7 +457,7 @@ void gpworld_state::device_timer(emu_timer &timer, device_timer_id id, int param } } -INTERRUPT_GEN_MEMBER(gpworld_state::vblank_callback_gpworld) +INTERRUPT_GEN_MEMBER(gpworld_state::vblank_callback) { /* Do an NMI if the enabled bit is set */ if (m_nmi_enable) @@ -492,11 +494,11 @@ static MACHINE_CONFIG_START( gpworld, gpworld_state ) MCFG_CPU_ADD("maincpu", Z80, GUESSED_CLOCK) MCFG_CPU_PROGRAM_MAP(mainmem) MCFG_CPU_IO_MAP(mainport) - MCFG_CPU_VBLANK_INT_DRIVER("screen", gpworld_state, vblank_callback_gpworld) + MCFG_CPU_VBLANK_INT_DRIVER("screen", gpworld_state, vblank_callback) MCFG_LASERDISC_LDV1000_ADD("laserdisc") - MCFG_LASERDISC_OVERLAY_DRIVER(512, 256, gpworld_state, screen_update_gpworld) + MCFG_LASERDISC_OVERLAY_DRIVER(512, 256, gpworld_state, screen_update) MCFG_LASERDISC_OVERLAY_PALETTE("palette") /* video hardware */ diff --git a/src/mame/drivers/groundfx.cpp b/src/mame/drivers/groundfx.cpp index d97f23a7910..6b2e94ac6c1 100644 --- a/src/mame/drivers/groundfx.cpp +++ b/src/mame/drivers/groundfx.cpp @@ -105,7 +105,7 @@ CUSTOM_INPUT_MEMBER(groundfx_state::coin_word_r) return m_coin_word; } -WRITE32_MEMBER(groundfx_state::groundfx_input_w) +WRITE32_MEMBER(groundfx_state::input_w) { switch (offset) { @@ -135,16 +135,16 @@ WRITE32_MEMBER(groundfx_state::groundfx_input_w) } } -READ32_MEMBER(groundfx_state::groundfx_adc_r) +READ32_MEMBER(groundfx_state::adc_r) { return (ioport("AN0")->read() << 8) | ioport("AN1")->read(); } -WRITE32_MEMBER(groundfx_state::groundfx_adc_w) +WRITE32_MEMBER(groundfx_state::adc_w) { /* One interrupt per input port (4 per frame, though only 2 used). 1000 cycle delay is arbitrary */ - timer_set(downcast(&space.device())->cycles_to_attotime(1000), TIMER_GROUNDFX_INTERRUPT5); + m_interrupt5_timer->adjust(m_maincpu->cycles_to_attotime(1000)); } WRITE32_MEMBER(groundfx_state::rotate_control_w)/* only a guess that it's rotation */ @@ -189,8 +189,8 @@ static ADDRESS_MAP_START( groundfx_map, AS_PROGRAM, 32, groundfx_state ) AM_RANGE(0x400000, 0x400003) AM_WRITE(motor_control_w) /* gun vibration */ AM_RANGE(0x500000, 0x500003) AM_READ_PORT("BUTTONS") AM_RANGE(0x500004, 0x500007) AM_READ_PORT("SYSTEM") - AM_RANGE(0x500000, 0x500007) AM_WRITE(groundfx_input_w) /* eeprom etc. */ - AM_RANGE(0x600000, 0x600003) AM_READWRITE(groundfx_adc_r,groundfx_adc_w) + AM_RANGE(0x500000, 0x500007) AM_WRITE(input_w) /* eeprom etc. */ + AM_RANGE(0x600000, 0x600003) AM_READWRITE(adc_r, adc_w) AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("snd_shared") AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w) /* tilemaps */ AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w) // debugging @@ -241,7 +241,7 @@ static INPUT_PORTS_START( groundfx ) PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, groundfx_state,coin_word_r, nullptr) + PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, groundfx_state, coin_word_r, nullptr) PORT_START("AN0") /* IN 2, steering wheel */ PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(1) @@ -305,7 +305,7 @@ GFXDECODE_END MACHINE DRIVERS ***********************************************************/ -INTERRUPT_GEN_MEMBER(groundfx_state::groundfx_interrupt) +INTERRUPT_GEN_MEMBER(groundfx_state::interrupt) { m_frame_counter^=1; device.execute().set_input_line(4, HOLD_LINE); @@ -316,7 +316,7 @@ static MACHINE_CONFIG_START( groundfx, groundfx_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68EC020, XTAL_40MHz/2) /* 20MHz - verified */ MCFG_CPU_PROGRAM_MAP(groundfx_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", groundfx_state, groundfx_interrupt) + MCFG_CPU_VBLANK_INT_DRIVER("screen", groundfx_state, interrupt) MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") @@ -328,7 +328,7 @@ static MACHINE_CONFIG_START( groundfx, groundfx_state ) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MCFG_SCREEN_SIZE(40*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 3*8, 32*8-1) - MCFG_SCREEN_UPDATE_DRIVER(groundfx_state, screen_update_groundfx) + MCFG_SCREEN_UPDATE_DRIVER(groundfx_state, screen_update) MCFG_SCREEN_PALETTE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", groundfx) @@ -397,17 +397,16 @@ ROM_START( groundfx ) ROM_END -READ32_MEMBER(groundfx_state::irq_speedup_r_groundfx) +READ32_MEMBER(groundfx_state::irq_speedup_r) { - cpu_device *cpu = downcast(&space.device()); int ptr; - offs_t sp = cpu->sp(); + offs_t sp = m_maincpu->sp(); if ((sp&2)==0) ptr=m_ram[(sp&0x1ffff)/4]; else ptr=(((m_ram[(sp&0x1ffff)/4])&0x1ffff)<<16) | (m_ram[((sp&0x1ffff)/4)+1]>>16); - if (cpu->pc()==0x1ece && ptr==0x1b9a) - cpu->spin_until_interrupt(); + if (m_maincpu->pc()==0x1ece && ptr==0x1b9a) + m_maincpu->spin_until_interrupt(); return m_ram[0xb574/4]; } @@ -415,26 +414,24 @@ READ32_MEMBER(groundfx_state::irq_speedup_r_groundfx) DRIVER_INIT_MEMBER(groundfx_state,groundfx) { - uint32_t offset,i; uint8_t *gfx = memregion("gfx3")->base(); int size=memregion("gfx3")->bytes(); - int data; + + m_interrupt5_timer = timer_alloc(TIMER_GROUNDFX_INTERRUPT5); /* Speedup handlers */ - m_maincpu->space(AS_PROGRAM).install_read_handler(0x20b574, 0x20b577, read32_delegate(FUNC(groundfx_state::irq_speedup_r_groundfx),this)); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x20b574, 0x20b577, read32_delegate(FUNC(groundfx_state::irq_speedup_r),this)); /* make SCC tile GFX format suitable for gfxdecode */ - offset = size/2; - for (i = size/2+size/4; i>0) & 3; - d2 = (data>>2) & 3; - d3 = (data>>4) & 3; - d4 = (data>>6) & 3; + int data = gfx[i]; + int d1 = (data>>0) & 3; + int d2 = (data>>2) & 3; + int d3 = (data>>4) & 3; + int d4 = (data>>6) & 3; gfx[offset] = (d1<<2) | (d2<<6); offset++; diff --git a/src/mame/drivers/gunpey.cpp b/src/mame/drivers/gunpey.cpp index e9becf43084..8b611737423 100644 --- a/src/mame/drivers/gunpey.cpp +++ b/src/mame/drivers/gunpey.cpp @@ -215,21 +215,21 @@ public: std::unique_ptr m_blit_buffer; uint16_t m_blit_ram[0x10]; uint8_t m_irq_cause, m_irq_mask; - DECLARE_WRITE8_MEMBER(gunpey_status_w); - DECLARE_READ8_MEMBER(gunpey_status_r); - DECLARE_READ8_MEMBER(gunpey_inputs_r); - DECLARE_WRITE8_MEMBER(gunpey_blitter_w); - DECLARE_WRITE8_MEMBER(gunpey_blitter_upper_w); - DECLARE_WRITE8_MEMBER(gunpey_blitter_upper2_w); - DECLARE_WRITE8_MEMBER(gunpey_output_w); - DECLARE_WRITE16_MEMBER(gunpey_vram_bank_w); - DECLARE_WRITE16_MEMBER(gunpey_vregs_addr_w); + DECLARE_WRITE8_MEMBER(status_w); + DECLARE_READ8_MEMBER(status_r); + DECLARE_READ8_MEMBER(inputs_r); + DECLARE_WRITE8_MEMBER(blitter_w); + DECLARE_WRITE8_MEMBER(blitter_upper_w); + DECLARE_WRITE8_MEMBER(blitter_upper2_w); + DECLARE_WRITE8_MEMBER(output_w); + DECLARE_WRITE16_MEMBER(vram_bank_w); + DECLARE_WRITE16_MEMBER(vregs_addr_w); DECLARE_DRIVER_INIT(gunpey); virtual void video_start() override; - uint32_t screen_update_gunpey(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - TIMER_DEVICE_CALLBACK_MEMBER(gunpey_scanline); + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + TIMER_DEVICE_CALLBACK_MEMBER(scanline); TIMER_CALLBACK_MEMBER(blitter_end); - void gunpey_irq_check(uint8_t irq_type); + void irq_check(uint8_t irq_type); uint8_t draw_gfx(bitmap_ind16 &bitmap,const rectangle &cliprect,int count,uint8_t scene_gradient); uint16_t m_vram_bank; uint16_t m_vreg_addr; @@ -239,6 +239,8 @@ public: uint8_t* m_vram; + emu_timer *m_blitter_end_timer; + // work variables for the decompression int m_srcx; int m_srcxbase; @@ -261,7 +263,7 @@ public: void get_stream_next_byte(void); int get_stream_bit(void); - uint32_t gunpey_state_get_stream_bits(int bits); + uint32_t get_stream_bits(int bits); int write_dest_byte(uint8_t usedata); //uint16_t main_m_vram[0x800][0x800]; @@ -271,6 +273,8 @@ public: void gunpey_state::video_start() { m_blit_buffer = std::make_unique(512*512); + + m_blitter_end_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gunpey_state::blitter_end), this)); } uint8_t gunpey_state::draw_gfx(bitmap_ind16 &bitmap,const rectangle &cliprect,int count,uint8_t scene_gradient) @@ -547,7 +551,7 @@ uint8_t gunpey_state::draw_gfx(bitmap_ind16 &bitmap,const rectangle &cliprect,in return m_wram[count+0] & 0x80; } -uint32_t gunpey_state::screen_update_gunpey(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t gunpey_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { //uint16_t *blit_buffer = m_blit_buffer; uint16_t vram_bank = m_vram_bank & 0x7fff; @@ -596,7 +600,7 @@ uint32_t gunpey_state::screen_update_gunpey(screen_device &screen, bitmap_ind16 return 0; } -void gunpey_state::gunpey_irq_check(uint8_t irq_type) +void gunpey_state::irq_check(uint8_t irq_type) { m_irq_cause |= irq_type; @@ -606,22 +610,22 @@ void gunpey_state::gunpey_irq_check(uint8_t irq_type) m_maincpu->set_input_line_and_vector(0, CLEAR_LINE, 0x200/4); } -WRITE8_MEMBER(gunpey_state::gunpey_status_w) +WRITE8_MEMBER(gunpey_state::status_w) { if(offset == 1) { m_irq_cause &= ~data; - gunpey_irq_check(0); + irq_check(0); } if(offset == 0) { m_irq_mask = data; - gunpey_irq_check(0); + irq_check(0); } } -READ8_MEMBER(gunpey_state::gunpey_status_r) +READ8_MEMBER(gunpey_state::status_r) { if(offset == 1) return m_irq_cause; @@ -629,7 +633,7 @@ READ8_MEMBER(gunpey_state::gunpey_status_r) return m_irq_mask; } -READ8_MEMBER(gunpey_state::gunpey_inputs_r) +READ8_MEMBER(gunpey_state::inputs_r) { switch(offset+0x7f40) { @@ -645,7 +649,7 @@ READ8_MEMBER(gunpey_state::gunpey_inputs_r) TIMER_CALLBACK_MEMBER(gunpey_state::blitter_end) { - gunpey_irq_check(4); + irq_check(4); } void gunpey_state::get_stream_next_byte(void) @@ -686,7 +690,7 @@ int gunpey_state::get_stream_bit(void) return bit; } -uint32_t gunpey_state::gunpey_state_get_stream_bits(int bits) +uint32_t gunpey_state::get_stream_bits(int bits) { uint32_t output = 0; for (int i=0;icycles_to_attotime(m_xsize*m_ysize), timer_expired_delegate(FUNC(gunpey_state::blitter_end),this)); + m_blitter_end_timer->adjust(m_maincpu->cycles_to_attotime(m_xsize*m_ysize)); /* @@ -1254,20 +1258,20 @@ WRITE8_MEMBER(gunpey_state::gunpey_blitter_w) } } -WRITE8_MEMBER(gunpey_state::gunpey_blitter_upper_w) +WRITE8_MEMBER(gunpey_state::blitter_upper_w) { //printf("gunpey_blitter_upper_w %02x %02x\n", offset, data); } -WRITE8_MEMBER(gunpey_state::gunpey_blitter_upper2_w) +WRITE8_MEMBER(gunpey_state::blitter_upper2_w) { //printf("gunpey_blitter_upper2_w %02x %02x\n", offset, data); } -WRITE8_MEMBER(gunpey_state::gunpey_output_w) +WRITE8_MEMBER(gunpey_state::output_w) { //bit 0 is coin counter // popmessage("%02x",data); @@ -1275,12 +1279,12 @@ WRITE8_MEMBER(gunpey_state::gunpey_output_w) m_oki->set_rom_bank((data & 0x70) >> 4); } -WRITE16_MEMBER(gunpey_state::gunpey_vram_bank_w) +WRITE16_MEMBER(gunpey_state::vram_bank_w) { COMBINE_DATA(&m_vram_bank); } -WRITE16_MEMBER(gunpey_state::gunpey_vregs_addr_w) +WRITE16_MEMBER(gunpey_state::vregs_addr_w) { COMBINE_DATA(&m_vreg_addr); } @@ -1295,21 +1299,21 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 16, gunpey_state ) ADDRESS_MAP_END static ADDRESS_MAP_START( io_map, AS_IO, 16, gunpey_state ) - AM_RANGE(0x7f40, 0x7f45) AM_READ8(gunpey_inputs_r,0xffff) + AM_RANGE(0x7f40, 0x7f45) AM_READ8(inputs_r,0xffff) - AM_RANGE(0x7f48, 0x7f49) AM_WRITE8(gunpey_output_w,0x00ff) + AM_RANGE(0x7f48, 0x7f49) AM_WRITE8(output_w,0x00ff) AM_RANGE(0x7f80, 0x7f81) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0xffff) AM_RANGE(0x7f88, 0x7f89) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) - AM_RANGE(0x7fc8, 0x7fc9) AM_READWRITE8(gunpey_status_r, gunpey_status_w, 0xffff ) - AM_RANGE(0x7fd0, 0x7fdf) AM_WRITE8(gunpey_blitter_w, 0xffff ) - AM_RANGE(0x7fe0, 0x7fe5) AM_WRITE8(gunpey_blitter_upper_w, 0xffff ) - AM_RANGE(0x7ff0, 0x7ff5) AM_WRITE8(gunpey_blitter_upper2_w, 0xffff ) + AM_RANGE(0x7fc8, 0x7fc9) AM_READWRITE8(status_r, status_w, 0xffff ) + AM_RANGE(0x7fd0, 0x7fdf) AM_WRITE8(blitter_w, 0xffff ) + AM_RANGE(0x7fe0, 0x7fe5) AM_WRITE8(blitter_upper_w, 0xffff ) + AM_RANGE(0x7ff0, 0x7ff5) AM_WRITE8(blitter_upper2_w, 0xffff ) //AM_RANGE(0x7FF0, 0x7FF1) AM_RAM - AM_RANGE(0x7fec, 0x7fed) AM_WRITE(gunpey_vregs_addr_w) - AM_RANGE(0x7fee, 0x7fef) AM_WRITE(gunpey_vram_bank_w) + AM_RANGE(0x7fec, 0x7fed) AM_WRITE(vregs_addr_w) + AM_RANGE(0x7fee, 0x7fef) AM_WRITE(vram_bank_w) ADDRESS_MAP_END @@ -1406,14 +1410,14 @@ INPUT_PORTS_END 0x40 almost certainly vblank (reads inputs) 0x80 */ -TIMER_DEVICE_CALLBACK_MEMBER(gunpey_state::gunpey_scanline) +TIMER_DEVICE_CALLBACK_MEMBER(gunpey_state::scanline) { int scanline = param; if(scanline == 240) { //printf("frame\n"); - gunpey_irq_check(0x50); + irq_check(0x50); } } @@ -1421,7 +1425,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(gunpey_state::gunpey_scanline) -// this isn't a real decode as such, but the graphic data is all stored in pages 2048 bytes wide at varying BPP levelsl, some (BG data) compressed with what is likely a lossy scheme +// this isn't a real decode as such, but the graphic data is all stored in pages 2048 bytes wide at varying BPP levels, some (BG data) compressed with what is likely a lossy scheme // palette data is in here too, the blocks at the bottom right of all this? static GFXLAYOUT_RAW( gunpey, 2048, 1, 2048*8, 2048*8 ) @@ -1440,12 +1444,12 @@ static MACHINE_CONFIG_START( gunpey, gunpey_state ) MCFG_CPU_ADD("maincpu", V30, 57242400 / 4) MCFG_CPU_PROGRAM_MAP(mem_map) MCFG_CPU_IO_MAP(io_map) - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", gunpey_state, gunpey_scanline, "screen", 0, 1) + MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", gunpey_state, scanline, "screen", 0, 1) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_RAW_PARAMS(57242400/8, 442, 0, 320, 264, 0, 240) /* just to get ~60 Hz */ - MCFG_SCREEN_UPDATE_DRIVER(gunpey_state, screen_update_gunpey) + MCFG_SCREEN_UPDATE_DRIVER(gunpey_state, screen_update) MCFG_SCREEN_PALETTE("palette") MCFG_PALETTE_ADD_RRRRRGGGGGBBBBB("palette") diff --git a/src/mame/drivers/hyprduel.cpp b/src/mame/drivers/hyprduel.cpp index 13c90e45ecd..3df2fa71b7f 100644 --- a/src/mame/drivers/hyprduel.cpp +++ b/src/mame/drivers/hyprduel.cpp @@ -26,7 +26,7 @@ Imagetek Inc 14220 071 -- Written by Hau 03/29/2009 -based on driver from drivers/metro.c by Luca Elia +based on driver from drivers/metro.cpp by Luca Elia spthx to kikur,Cha,teioh,kokkyu,teruchu,aya,sgo --- @@ -63,7 +63,7 @@ TIMER_CALLBACK_MEMBER(hyprduel_state::vblank_end_callback) m_requested_int &= ~param; } -TIMER_DEVICE_CALLBACK_MEMBER(hyprduel_state::hyprduel_interrupt) +TIMER_DEVICE_CALLBACK_MEMBER(hyprduel_state::interrupt) { int line = param; @@ -73,7 +73,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(hyprduel_state::hyprduel_interrupt) m_requested_int |= 0x20; m_maincpu->set_input_line(2, HOLD_LINE); /* the duration is a guess */ - machine().scheduler().timer_set(attotime::from_usec(2500), timer_expired_delegate(FUNC(hyprduel_state::vblank_end_callback),this), 0x20); + m_vblank_end_timer->adjust(attotime::from_usec(2500), 0x20); } else m_requested_int |= 0x12; /* hsync */ @@ -81,12 +81,12 @@ TIMER_DEVICE_CALLBACK_MEMBER(hyprduel_state::hyprduel_interrupt) update_irq_state(); } -READ16_MEMBER(hyprduel_state::hyprduel_irq_cause_r) +READ16_MEMBER(hyprduel_state::irq_cause_r) { return m_requested_int; } -WRITE16_MEMBER(hyprduel_state::hyprduel_irq_cause_w) +WRITE16_MEMBER(hyprduel_state::irq_cause_w) { if (ACCESSING_BITS_0_7) { @@ -100,7 +100,7 @@ WRITE16_MEMBER(hyprduel_state::hyprduel_irq_cause_w) } -WRITE16_MEMBER(hyprduel_state::hyprduel_subcpu_control_w) +WRITE16_MEMBER(hyprduel_state::subcpu_control_w) { switch (data) { @@ -200,7 +200,7 @@ TIMER_CALLBACK_MEMBER(hyprduel_state::magerror_irq_callback) that the blitter can readily use (which is a form of compression) */ -READ16_MEMBER(hyprduel_state::hyprduel_bankedrom_r) +READ16_MEMBER(hyprduel_state::bankedrom_r) { uint8_t *ROM = memregion("gfx1")->base(); size_t len = memregion("gfx1")->bytes(); @@ -257,7 +257,7 @@ READ16_MEMBER(hyprduel_state::hyprduel_bankedrom_r) ***************************************************************************/ -TIMER_CALLBACK_MEMBER(hyprduel_state::hyprduel_blit_done) +TIMER_CALLBACK_MEMBER(hyprduel_state::blit_done) { m_requested_int |= 1 << m_blitter_bit; update_irq_state(); @@ -272,15 +272,15 @@ void hyprduel_state::blt_write( address_space &space, const int tmap, const offs { switch( tmap ) { - case 1: hyprduel_vram_0_w(space, offs,data,mask); break; - case 2: hyprduel_vram_1_w(space, offs, data, mask); break; - case 3: hyprduel_vram_2_w(space, offs, data, mask); break; + case 1: vram_0_w(space, offs,data,mask); break; + case 2: vram_1_w(space, offs, data, mask); break; + case 3: vram_2_w(space, offs, data, mask); break; } // logerror("%s : Blitter %X] %04X <- %04X & %04X\n", space.machine().describe_context(), tmap, offs, data, mask); } -WRITE16_MEMBER(hyprduel_state::hyprduel_blitter_w) +WRITE16_MEMBER(hyprduel_state::blitter_w) { COMBINE_DATA(&m_blitter_regs[offset]); @@ -332,7 +332,7 @@ WRITE16_MEMBER(hyprduel_state::hyprduel_blitter_w) another blit. */ if (b1 == 0) { - machine().scheduler().timer_set(attotime::from_usec(500), timer_expired_delegate(FUNC(hyprduel_state::hyprduel_blit_done),this)); + m_blit_done_timer->adjust(attotime::from_usec(500)); return; } @@ -415,27 +415,27 @@ WRITE16_MEMBER(hyprduel_state::hyprduel_blitter_w) static ADDRESS_MAP_START( hyprduel_map, AS_PROGRAM, 16, hyprduel_state ) AM_RANGE(0x000000, 0x07ffff) AM_ROM - AM_RANGE(0x400000, 0x41ffff) AM_RAM_WRITE(hyprduel_vram_0_w) AM_SHARE("vram_0") /* Layer 0 */ - AM_RANGE(0x420000, 0x43ffff) AM_RAM_WRITE(hyprduel_vram_1_w) AM_SHARE("vram_1") /* Layer 1 */ - AM_RANGE(0x440000, 0x45ffff) AM_RAM_WRITE(hyprduel_vram_2_w) AM_SHARE("vram_2") /* Layer 2 */ - AM_RANGE(0x460000, 0x46ffff) AM_READ(hyprduel_bankedrom_r) /* Banked ROM */ - AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(hyprduel_paletteram_w) AM_SHARE("paletteram") /* Palette */ + AM_RANGE(0x400000, 0x41ffff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram_0") /* Layer 0 */ + AM_RANGE(0x420000, 0x43ffff) AM_RAM_WRITE(vram_1_w) AM_SHARE("vram_1") /* Layer 1 */ + AM_RANGE(0x440000, 0x45ffff) AM_RAM_WRITE(vram_2_w) AM_SHARE("vram_2") /* Layer 2 */ + AM_RANGE(0x460000, 0x46ffff) AM_READ(bankedrom_r) /* Banked ROM */ + AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram") /* Palette */ AM_RANGE(0x474000, 0x474fff) AM_RAM AM_SHARE("spriteram") /* Sprites */ AM_RANGE(0x475000, 0x477fff) AM_RAM /* only used memory test */ AM_RANGE(0x478000, 0x4787ff) AM_RAM AM_SHARE("tiletable") /* Tiles Set */ - AM_RANGE(0x478840, 0x47884d) AM_WRITE(hyprduel_blitter_w) AM_SHARE("blitter_regs") /* Tiles Blitter */ - AM_RANGE(0x478860, 0x47886b) AM_WRITE(hyprduel_window_w) AM_SHARE("window") /* Tilemap Window */ - AM_RANGE(0x478870, 0x47887b) AM_RAM_WRITE(hyprduel_scrollreg_w) AM_SHARE("scroll") /* Scroll Regs */ - AM_RANGE(0x47887c, 0x47887d) AM_WRITE(hyprduel_scrollreg_init_w) + AM_RANGE(0x478840, 0x47884d) AM_WRITE(blitter_w) AM_SHARE("blitter_regs") /* Tiles Blitter */ + AM_RANGE(0x478860, 0x47886b) AM_WRITE(window_w) AM_SHARE("window") /* Tilemap Window */ + AM_RANGE(0x478870, 0x47887b) AM_RAM_WRITE(scrollreg_w) AM_SHARE("scroll") /* Scroll Regs */ + AM_RANGE(0x47887c, 0x47887d) AM_WRITE(scrollreg_init_w) AM_RANGE(0x478880, 0x478881) AM_WRITENOP AM_RANGE(0x478890, 0x478891) AM_WRITENOP AM_RANGE(0x4788a0, 0x4788a1) AM_WRITENOP - AM_RANGE(0x4788a2, 0x4788a3) AM_READWRITE(hyprduel_irq_cause_r, hyprduel_irq_cause_w) /* IRQ Cause,Acknowledge */ + AM_RANGE(0x4788a2, 0x4788a3) AM_READWRITE(irq_cause_r, irq_cause_w) /* IRQ Cause,Acknowledge */ AM_RANGE(0x4788a4, 0x4788a5) AM_RAM AM_SHARE("irq_enable") /* IRQ Enable */ AM_RANGE(0x4788aa, 0x4788ab) AM_RAM AM_SHARE("rombank") /* Rom Bank */ AM_RANGE(0x4788ac, 0x4788ad) AM_RAM AM_SHARE("screenctrl") /* Screen Control */ AM_RANGE(0x479700, 0x479713) AM_RAM AM_SHARE("videoregs") /* Video Registers */ - AM_RANGE(0x800000, 0x800001) AM_WRITE(hyprduel_subcpu_control_w) + AM_RANGE(0x800000, 0x800001) AM_WRITE(subcpu_control_w) AM_RANGE(0xc00000, 0xc07fff) AM_RAM AM_SHARE("sharedram1") AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("SERVICE") AM_WRITENOP AM_RANGE(0xe00002, 0xe00003) AM_READ_PORT("DSW") @@ -461,23 +461,23 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( magerror_map, AS_PROGRAM, 16, hyprduel_state ) AM_RANGE(0x000000, 0x07ffff) AM_ROM - AM_RANGE(0x400000, 0x400001) AM_WRITE(hyprduel_subcpu_control_w) - AM_RANGE(0x800000, 0x81ffff) AM_RAM_WRITE(hyprduel_vram_0_w) AM_SHARE("vram_0") /* Layer 0 */ - AM_RANGE(0x820000, 0x83ffff) AM_RAM_WRITE(hyprduel_vram_1_w) AM_SHARE("vram_1") /* Layer 1 */ - AM_RANGE(0x840000, 0x85ffff) AM_RAM_WRITE(hyprduel_vram_2_w) AM_SHARE("vram_2") /* Layer 2 */ - AM_RANGE(0x860000, 0x86ffff) AM_READ(hyprduel_bankedrom_r) /* Banked ROM */ - AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(hyprduel_paletteram_w) AM_SHARE("paletteram") /* Palette */ + AM_RANGE(0x400000, 0x400001) AM_WRITE(subcpu_control_w) + AM_RANGE(0x800000, 0x81ffff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram_0") /* Layer 0 */ + AM_RANGE(0x820000, 0x83ffff) AM_RAM_WRITE(vram_1_w) AM_SHARE("vram_1") /* Layer 1 */ + AM_RANGE(0x840000, 0x85ffff) AM_RAM_WRITE(vram_2_w) AM_SHARE("vram_2") /* Layer 2 */ + AM_RANGE(0x860000, 0x86ffff) AM_READ(bankedrom_r) /* Banked ROM */ + AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram") /* Palette */ AM_RANGE(0x874000, 0x874fff) AM_RAM AM_SHARE("spriteram") /* Sprites */ AM_RANGE(0x875000, 0x877fff) AM_RAM /* only used memory test */ AM_RANGE(0x878000, 0x8787ff) AM_RAM AM_SHARE("tiletable") /* Tiles Set */ - AM_RANGE(0x878840, 0x87884d) AM_WRITE(hyprduel_blitter_w) AM_SHARE("blitter_regs") /* Tiles Blitter */ - AM_RANGE(0x878860, 0x87886b) AM_WRITE(hyprduel_window_w) AM_SHARE("window") /* Tilemap Window */ - AM_RANGE(0x878870, 0x87887b) AM_RAM_WRITE(hyprduel_scrollreg_w) AM_SHARE("scroll") /* Scroll Regs */ - AM_RANGE(0x87887c, 0x87887d) AM_WRITE(hyprduel_scrollreg_init_w) + AM_RANGE(0x878840, 0x87884d) AM_WRITE(blitter_w) AM_SHARE("blitter_regs") /* Tiles Blitter */ + AM_RANGE(0x878860, 0x87886b) AM_WRITE(window_w) AM_SHARE("window") /* Tilemap Window */ + AM_RANGE(0x878870, 0x87887b) AM_RAM_WRITE(scrollreg_w) AM_SHARE("scroll") /* Scroll Regs */ + AM_RANGE(0x87887c, 0x87887d) AM_WRITE(scrollreg_init_w) AM_RANGE(0x878880, 0x878881) AM_WRITENOP AM_RANGE(0x878890, 0x878891) AM_WRITENOP AM_RANGE(0x8788a0, 0x8788a1) AM_WRITENOP - AM_RANGE(0x8788a2, 0x8788a3) AM_READWRITE(hyprduel_irq_cause_r, hyprduel_irq_cause_w) /* IRQ Cause, Acknowledge */ + AM_RANGE(0x8788a2, 0x8788a3) AM_READWRITE(irq_cause_r, irq_cause_w) /* IRQ Cause, Acknowledge */ AM_RANGE(0x8788a4, 0x8788a5) AM_RAM AM_SHARE("irq_enable") /* IRQ Enable */ AM_RANGE(0x8788aa, 0x8788ab) AM_RAM AM_SHARE("rombank") /* Rom Bank */ AM_RANGE(0x8788ac, 0x8788ad) AM_RAM AM_SHARE("screenctrl") /* Screen Control */ @@ -638,6 +638,9 @@ MACHINE_START_MEMBER(hyprduel_state,hyprduel) save_item(NAME(m_requested_int)); save_item(NAME(m_subcpu_resetline)); save_item(NAME(m_cpu_trigger)); + + m_blit_done_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(hyprduel_state::blit_done), this)); + m_vblank_end_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(hyprduel_state::vblank_end_callback), this)); } MACHINE_START_MEMBER(hyprduel_state,magerror) @@ -651,7 +654,7 @@ static MACHINE_CONFIG_START( hyprduel, hyprduel_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000,20000000/2) /* 10MHz */ MCFG_CPU_PROGRAM_MAP(hyprduel_map) - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", hyprduel_state, hyprduel_interrupt, "screen", 0, 1) + MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", hyprduel_state, interrupt, "screen", 0, 1) MCFG_CPU_ADD("sub", M68000,20000000/2) /* 10MHz */ MCFG_CPU_PROGRAM_MAP(hyprduel_map2) @@ -665,7 +668,7 @@ static MACHINE_CONFIG_START( hyprduel, hyprduel_state ) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MCFG_SCREEN_SIZE(320, 224) MCFG_SCREEN_VISIBLE_AREA(0, 320-1, FIRST_VISIBLE_LINE, LAST_VISIBLE_LINE) - MCFG_SCREEN_UPDATE_DRIVER(hyprduel_state, screen_update_hyprduel) + MCFG_SCREEN_UPDATE_DRIVER(hyprduel_state, screen_update) MCFG_SCREEN_PALETTE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", 14220) @@ -692,7 +695,7 @@ static MACHINE_CONFIG_START( magerror, hyprduel_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000,20000000/2) /* 10MHz */ MCFG_CPU_PROGRAM_MAP(magerror_map) - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", hyprduel_state, hyprduel_interrupt, "screen", 0, 1) + MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", hyprduel_state, interrupt, "screen", 0, 1) MCFG_CPU_ADD("sub", M68000,20000000/2) /* 10MHz */ MCFG_CPU_PROGRAM_MAP(magerror_map2) @@ -706,7 +709,7 @@ static MACHINE_CONFIG_START( magerror, hyprduel_state ) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MCFG_SCREEN_SIZE(320, 224) MCFG_SCREEN_VISIBLE_AREA(0, 320-1, FIRST_VISIBLE_LINE, LAST_VISIBLE_LINE) - MCFG_SCREEN_UPDATE_DRIVER(hyprduel_state, screen_update_hyprduel) + MCFG_SCREEN_UPDATE_DRIVER(hyprduel_state, screen_update) MCFG_SCREEN_PALETTE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", 14220) diff --git a/src/mame/drivers/toaplan2.cpp b/src/mame/drivers/toaplan2.cpp index 9ed855a364c..a0f49c60d44 100644 --- a/src/mame/drivers/toaplan2.cpp +++ b/src/mame/drivers/toaplan2.cpp @@ -384,8 +384,10 @@ To reset the NVRAM in Othello Derby, hold P1 Button 1 down while booting. ***************************************************************************/ -MACHINE_START_MEMBER(toaplan2_state,toaplan2) +void toaplan2_state::machine_start() { + m_raise_irq_timer = timer_alloc(TIMER_RAISE_IRQ); + save_item(NAME(m_mcu_data)); save_item(NAME(m_old_p1_paddle_h)); save_item(NAME(m_old_p2_paddle_h)); @@ -511,7 +513,7 @@ void toaplan2_state::device_timer(emu_timer &timer, device_timer_id id, int para void toaplan2_state::toaplan2_vblank_irq(int irq_line) { // the IRQ appears to fire at line 0xe6 - timer_set(m_screen->time_until_pos(0xe6), TIMER_RAISE_IRQ, irq_line); + m_raise_irq_timer->adjust(m_screen->time_until_pos(0xe6), irq_line); } INTERRUPT_GEN_MEMBER(toaplan2_state::toaplan2_vblank_irq1){ toaplan2_vblank_irq(1); } @@ -3322,9 +3324,6 @@ static MACHINE_CONFIG_START( tekipaki, toaplan2_state ) MCFG_CPU_PROGRAM_MAP(tekipaki_68k_mem) MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) - - - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2) /* video hardware */ @@ -3382,7 +3381,6 @@ static MACHINE_CONFIG_START( ghox, toaplan2_state ) MCFG_CPU_PROGRAM_MAP(hd647180_mem) #endif - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,ghox) /* video hardware */ @@ -3476,8 +3474,6 @@ static MACHINE_CONFIG_START( dogyuun, toaplan2_state ) MCFG_V25_PORT_P1_READ_CB(IOPORT("JMPR")) MCFG_DEVCB_XOR(0xff) MCFG_V25_PORT_P2_WRITE_CB(NOOP) // bit 0 is FAULT according to kbash schematic - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -3524,8 +3520,6 @@ static MACHINE_CONFIG_START( kbash, toaplan2_state ) MCFG_V25_PORT_P1_READ_CB(IOPORT("JMPR")) MCFG_DEVCB_XOR(0xff) MCFG_V25_PORT_P2_WRITE_CB(NOOP) // bit 0 is FAULT according to kbash schematic - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -3563,8 +3557,6 @@ static MACHINE_CONFIG_START( kbash2, toaplan2_state ) MCFG_CPU_PROGRAM_MAP(kbash2_68k_mem) MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -3602,8 +3594,6 @@ static MACHINE_CONFIG_START( truxton2, toaplan2_state ) MCFG_CPU_PROGRAM_MAP(truxton2_68k_mem) MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq2) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -3656,7 +3646,6 @@ static MACHINE_CONFIG_START( pipibibs, toaplan2_state ) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2) /* video hardware */ @@ -3699,7 +3688,6 @@ static MACHINE_CONFIG_START( pipibibsbl, toaplan2_state ) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2) /* video hardware */ @@ -3780,8 +3768,6 @@ static MACHINE_CONFIG_START( fixeight, toaplan2_state ) MCFG_V25_PORT_P0_READ_CB(IOPORT("EEPROM")) MCFG_V25_PORT_P0_WRITE_CB(IOPORT("EEPROM")) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) - MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") /* video hardware */ @@ -3819,8 +3805,6 @@ static MACHINE_CONFIG_START( fixeightbl, toaplan2_state ) MCFG_CPU_PROGRAM_MAP(fixeightbl_68k_mem) MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq2) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -3865,8 +3849,6 @@ static MACHINE_CONFIG_START( vfive, toaplan2_state ) MCFG_V25_PORT_P1_READ_CB(IOPORT("JMPR")) MCFG_DEVCB_XOR(0xff) MCFG_V25_PORT_P2_WRITE_CB(NOOP) // bit 0 is FAULT according to kbash schematic - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -3905,8 +3887,6 @@ static MACHINE_CONFIG_START( batsugun, toaplan2_state ) MCFG_V25_PORT_P1_READ_CB(IOPORT("JMPR")) MCFG_DEVCB_XOR(0xff) MCFG_V25_PORT_P2_WRITE_CB(NOOP) // bit 0 is FAULT according to kbash schematic - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -3946,7 +3926,6 @@ static MACHINE_CONFIG_START( pwrkick, toaplan2_state ) MCFG_CPU_PROGRAM_MAP(pwrkick_68k_mem) MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) MCFG_UPD4992_ADD("rtc") MCFG_NVRAM_ADD_0FILL("nvram") @@ -3982,7 +3961,6 @@ static MACHINE_CONFIG_START( othldrby, toaplan2_state ) MCFG_CPU_PROGRAM_MAP(othldrby_68k_mem) MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) MCFG_UPD4992_ADD("rtc") MCFG_NVRAM_ADD_0FILL("nvram") @@ -4017,8 +3995,6 @@ static MACHINE_CONFIG_START( enmadaio, toaplan2_state ) MCFG_CPU_PROGRAM_MAP(enmadaio_68k_mem) MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -4053,8 +4029,6 @@ static MACHINE_CONFIG_START( snowbro2, toaplan2_state ) MCFG_CPU_PROGRAM_MAP(snowbro2_68k_mem) MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -4097,7 +4071,6 @@ static MACHINE_CONFIG_START( mahoudai, toaplan2_state ) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2) /* video hardware */ @@ -4143,7 +4116,6 @@ static MACHINE_CONFIG_START( shippumd, toaplan2_state ) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2) /* video hardware */ @@ -4188,7 +4160,6 @@ static MACHINE_CONFIG_START( bgaregga, toaplan2_state ) MCFG_QUANTUM_TIME(attotime::from_hz(6000)) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2) /* video hardware */ @@ -4247,7 +4218,6 @@ static MACHINE_CONFIG_START( batrider, toaplan2_state ) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2) /* video hardware */ @@ -4306,7 +4276,6 @@ static MACHINE_CONFIG_START( bbakraid, toaplan2_state ) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2) MCFG_EEPROM_SERIAL_93C66_8BIT_ADD("eeprom") diff --git a/src/mame/includes/artmagic.h b/src/mame/includes/artmagic.h index 2dc6587773c..755c33b0021 100644 --- a/src/mame/includes/artmagic.h +++ b/src/mame/includes/artmagic.h @@ -61,6 +61,7 @@ public: uint16_t m_blitter_data[8]; uint8_t m_blitter_page; attotime m_blitter_busy_until; + emu_timer * m_irq_off_timer; DECLARE_WRITE16_MEMBER(control_w); DECLARE_READ16_MEMBER(ultennis_hack_r); DECLARE_WRITE16_MEMBER(protection_bit_w); diff --git a/src/mame/includes/groundfx.h b/src/mame/includes/groundfx.h index 8784a9810ea..9a2225aab29 100644 --- a/src/mame/includes/groundfx.h +++ b/src/mame/includes/groundfx.h @@ -50,19 +50,20 @@ public: std::unique_ptr m_spritelist; uint16_t m_rotate_ctrl[8]; rectangle m_hack_cliprect; + emu_timer *m_interrupt5_timer; - DECLARE_WRITE32_MEMBER(groundfx_input_w); - DECLARE_READ32_MEMBER(groundfx_adc_r); - DECLARE_WRITE32_MEMBER(groundfx_adc_w); + DECLARE_WRITE32_MEMBER(input_w); + DECLARE_READ32_MEMBER(adc_r); + DECLARE_WRITE32_MEMBER(adc_w); DECLARE_WRITE32_MEMBER(rotate_control_w); DECLARE_WRITE32_MEMBER(motor_control_w); - DECLARE_READ32_MEMBER(irq_speedup_r_groundfx); + DECLARE_READ32_MEMBER(irq_speedup_r); DECLARE_CUSTOM_INPUT_MEMBER(frame_counter_r); DECLARE_CUSTOM_INPUT_MEMBER(coin_word_r); DECLARE_DRIVER_INIT(groundfx); virtual void video_start() override; - uint32_t screen_update_groundfx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER(groundfx_interrupt); + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + INTERRUPT_GEN_MEMBER(interrupt); void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,const rectangle &cliprect,int do_hack,int x_offs,int y_offs); diff --git a/src/mame/includes/hyprduel.h b/src/mame/includes/hyprduel.h index 125d322f799..fe55ab82db6 100644 --- a/src/mame/includes/hyprduel.h +++ b/src/mame/includes/hyprduel.h @@ -61,6 +61,8 @@ public: /* misc */ emu_timer *m_magerror_irq_timer; + emu_timer *m_vblank_end_timer; + emu_timer *m_blit_done_timer; int m_blitter_bit; int m_requested_int; int m_subcpu_resetline; @@ -74,22 +76,22 @@ public: required_device m_screen; required_device m_palette; - DECLARE_READ16_MEMBER(hyprduel_irq_cause_r); - DECLARE_WRITE16_MEMBER(hyprduel_irq_cause_w); - DECLARE_WRITE16_MEMBER(hyprduel_subcpu_control_w); + DECLARE_READ16_MEMBER(irq_cause_r); + DECLARE_WRITE16_MEMBER(irq_cause_w); + DECLARE_WRITE16_MEMBER(subcpu_control_w); DECLARE_READ16_MEMBER(hyprduel_cpusync_trigger1_r); DECLARE_WRITE16_MEMBER(hyprduel_cpusync_trigger1_w); DECLARE_READ16_MEMBER(hyprduel_cpusync_trigger2_r); DECLARE_WRITE16_MEMBER(hyprduel_cpusync_trigger2_w); - DECLARE_READ16_MEMBER(hyprduel_bankedrom_r); - DECLARE_WRITE16_MEMBER(hyprduel_blitter_w); - DECLARE_WRITE16_MEMBER(hyprduel_paletteram_w); - DECLARE_WRITE16_MEMBER(hyprduel_vram_0_w); - DECLARE_WRITE16_MEMBER(hyprduel_vram_1_w); - DECLARE_WRITE16_MEMBER(hyprduel_vram_2_w); - DECLARE_WRITE16_MEMBER(hyprduel_window_w); - DECLARE_WRITE16_MEMBER(hyprduel_scrollreg_w); - DECLARE_WRITE16_MEMBER(hyprduel_scrollreg_init_w); + DECLARE_READ16_MEMBER(bankedrom_r); + DECLARE_WRITE16_MEMBER(blitter_w); + DECLARE_WRITE16_MEMBER(paletteram_w); + DECLARE_WRITE16_MEMBER(vram_0_w); + DECLARE_WRITE16_MEMBER(vram_1_w); + DECLARE_WRITE16_MEMBER(vram_2_w); + DECLARE_WRITE16_MEMBER(window_w); + DECLARE_WRITE16_MEMBER(scrollreg_w); + DECLARE_WRITE16_MEMBER(scrollreg_init_w); void blt_write( address_space &space, const int tmap, const offs_t offs, const uint16_t data, const uint16_t mask ); DECLARE_DRIVER_INIT(magerror); DECLARE_DRIVER_INIT(hyprduel); @@ -102,18 +104,18 @@ public: DECLARE_MACHINE_START(magerror); DECLARE_VIDEO_START(magerror_14220); DECLARE_VIDEO_START(common_14220); - uint32_t screen_update_hyprduel(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_CALLBACK_MEMBER(vblank_end_callback); TIMER_CALLBACK_MEMBER(magerror_irq_callback); - TIMER_CALLBACK_MEMBER(hyprduel_blit_done); - TIMER_DEVICE_CALLBACK_MEMBER(hyprduel_interrupt); - void hyprduel_postload(); + TIMER_CALLBACK_MEMBER(blit_done); + TIMER_DEVICE_CALLBACK_MEMBER(interrupt); + void postload(); inline void get_tile_info( tile_data &tileinfo, int tile_index, int layer, uint16_t *vram); inline void get_tile_info_8bit( tile_data &tileinfo, int tile_index, int layer, uint16_t *vram ); inline void get_tile_info_16x16_8bit( tile_data &tileinfo, int tile_index, int layer, uint16_t *vram ); - inline void hyprduel_vram_w( offs_t offset, uint16_t data, uint16_t mem_mask, int layer, uint16_t *vram ); + inline void vram_w( offs_t offset, uint16_t data, uint16_t mem_mask, int layer, uint16_t *vram ); void alloc_empty_tiles( ); - void expand_gfx1(hyprduel_state &state); + void expand_gfx1( ); void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ); void draw_layers( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri, int layers_ctrl ); void dirty_tiles( int layer, uint16_t *vram ); diff --git a/src/mame/includes/toaplan2.h b/src/mame/includes/toaplan2.h index 7bceb86000c..51cf2e9923b 100644 --- a/src/mame/includes/toaplan2.h +++ b/src/mame/includes/toaplan2.h @@ -87,6 +87,8 @@ public: bitmap_ind8 m_custom_priority_bitmap; bitmap_ind16 m_secondary_render_bitmap; + emu_timer * m_raise_irq_timer; + tilemap_t *m_tx_tilemap; /* Tilemap for extra-text-layer */ DECLARE_READ16_MEMBER(video_count_r); DECLARE_WRITE8_MEMBER(toaplan2_coin_w); @@ -141,7 +143,7 @@ public: DECLARE_DRIVER_INIT(batrider); DECLARE_DRIVER_INIT(enmadaio); TILE_GET_INFO_MEMBER(get_text_tile_info); - DECLARE_MACHINE_START(toaplan2); + virtual void machine_start() override; DECLARE_MACHINE_RESET(toaplan2); DECLARE_VIDEO_START(toaplan2); DECLARE_MACHINE_RESET(ghox); diff --git a/src/mame/video/groundfx.cpp b/src/mame/video/groundfx.cpp index ace0e91afd5..797f3d5300d 100644 --- a/src/mame/video/groundfx.cpp +++ b/src/mame/video/groundfx.cpp @@ -196,7 +196,7 @@ void groundfx_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,co SCREEN REFRESH **************************************************************/ -uint32_t groundfx_state::screen_update_groundfx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t groundfx_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { address_space &space = machine().dummy_space(); uint8_t layer[5]; diff --git a/src/mame/video/hyprduel.cpp b/src/mame/video/hyprduel.cpp index d396ee6f424..c429527fa43 100644 --- a/src/mame/video/hyprduel.cpp +++ b/src/mame/video/hyprduel.cpp @@ -63,7 +63,7 @@ Note: if MAME_DEBUG is defined, pressing Z with: Palette GGGGGRRRRRBBBBBx ***************************************************************************/ -WRITE16_MEMBER(hyprduel_state::hyprduel_paletteram_w) +WRITE16_MEMBER(hyprduel_state::paletteram_w) { data = COMBINE_DATA(&m_paletteram[offset]); m_palette->set_pen_color(offset, pal5bit(data >> 6), pal5bit(data >> 11), pal5bit(data >> 1)); @@ -231,7 +231,7 @@ inline void hyprduel_state::get_tile_info_16x16_8bit( tile_data &tileinfo, int t } } -inline void hyprduel_state::hyprduel_vram_w( offs_t offset, uint16_t data, uint16_t mem_mask, int layer, uint16_t *vram ) +inline void hyprduel_state::vram_w( offs_t offset, uint16_t data, uint16_t mem_mask, int layer, uint16_t *vram ) { COMBINE_DATA(&vram[offset]); { @@ -264,24 +264,24 @@ TILE_GET_INFO_MEMBER(hyprduel_state::get_tile_info_2_8bit) get_tile_info_8bit(tileinfo, tile_index, 2, m_vram_2); } -WRITE16_MEMBER(hyprduel_state::hyprduel_vram_0_w) +WRITE16_MEMBER(hyprduel_state::vram_0_w) { - hyprduel_vram_w(offset, data, mem_mask, 0, m_vram_0); + vram_w(offset, data, mem_mask, 0, m_vram_0); } -WRITE16_MEMBER(hyprduel_state::hyprduel_vram_1_w) +WRITE16_MEMBER(hyprduel_state::vram_1_w) { - hyprduel_vram_w(offset, data, mem_mask, 1, m_vram_1); + vram_w(offset, data, mem_mask, 1, m_vram_1); } -WRITE16_MEMBER(hyprduel_state::hyprduel_vram_2_w) +WRITE16_MEMBER(hyprduel_state::vram_2_w) { - hyprduel_vram_w(offset, data, mem_mask, 2, m_vram_2); + vram_w(offset, data, mem_mask, 2, m_vram_2); } /* Dirty the relevant tilemap when its window changes */ -WRITE16_MEMBER(hyprduel_state::hyprduel_window_w) +WRITE16_MEMBER(hyprduel_state::window_w) { uint16_t olddata = m_window[offset]; uint16_t newdata = COMBINE_DATA(&m_window[offset]); @@ -313,7 +313,7 @@ void hyprduel_state::alloc_empty_tiles( ) } -void hyprduel_state::hyprduel_postload() +void hyprduel_state::postload() { int i; @@ -330,22 +330,22 @@ void hyprduel_state::hyprduel_postload() } -void hyprduel_state::expand_gfx1(hyprduel_state &state) +void hyprduel_state::expand_gfx1() { - uint8_t *base_gfx = state.memregion("gfx1")->base(); - uint32_t length = 2 * state.memregion("gfx1")->bytes(); - state.m_expanded_gfx1 = std::make_unique(length); + uint8_t *base_gfx = memregion("gfx1")->base(); + uint32_t length = 2 * memregion("gfx1")->bytes(); + m_expanded_gfx1 = std::make_unique(length); for (int i = 0; i < length; i += 2) { uint8_t src = base_gfx[i / 2]; - state.m_expanded_gfx1[i+0] = src & 15; - state.m_expanded_gfx1[i+1] = src >> 4; + m_expanded_gfx1[i+0] = src & 15; + m_expanded_gfx1[i+1] = src >> 4; } } VIDEO_START_MEMBER(hyprduel_state,common_14220) { - expand_gfx1(*this); + expand_gfx1(); alloc_empty_tiles(); m_tiletable_old = std::make_unique(m_tiletable.bytes() / 2); m_dirtyindex = std::make_unique(m_tiletable.bytes() / 4); @@ -373,7 +373,7 @@ VIDEO_START_MEMBER(hyprduel_state,common_14220) /* Set up save state */ save_item(NAME(m_sprite_xoffs)); save_item(NAME(m_sprite_yoffs)); - machine().save().register_postload(save_prepost_delegate(FUNC(hyprduel_state::hyprduel_postload), this)); + machine().save().register_postload(save_prepost_delegate(FUNC(hyprduel_state::postload), this)); } VIDEO_START_MEMBER(hyprduel_state,hyprduel_14220) @@ -587,7 +587,7 @@ void hyprduel_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, Screen Drawing ***************************************************************************/ -WRITE16_MEMBER(hyprduel_state::hyprduel_scrollreg_w) +WRITE16_MEMBER(hyprduel_state::scrollreg_w) { uint16_t window = m_window[offset]; @@ -599,7 +599,7 @@ WRITE16_MEMBER(hyprduel_state::hyprduel_scrollreg_w) m_bg_tilemap[offset / 2]->set_scrolly(0, m_scroll[offset] - window - (window & 7)); } -WRITE16_MEMBER(hyprduel_state::hyprduel_scrollreg_init_w) +WRITE16_MEMBER(hyprduel_state::scrollreg_init_w) { int i; @@ -652,7 +652,7 @@ void hyprduel_state::dirty_tiles( int layer, uint16_t *vram ) } -uint32_t hyprduel_state::screen_update_hyprduel(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t hyprduel_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { int i, pri, layers_ctrl = -1; uint16_t screenctrl = *m_screenctrl; -- cgit v1.2.3