summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2017-04-18 19:10:53 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2017-04-18 19:10:53 +0200
commite2d2c410b643b2e4bb7d1eb9fb3d30a2b2432620 (patch)
tree9ea8cb850fbd30afe64e9d62beecf854607e89a8 /src/mame
parent17a3da9b42ca89c18c34c7150b37e96cee1046ad (diff)
misc timer_set removal (nw)
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/artmagic.cpp4
-rw-r--r--src/mame/drivers/galaxian.cpp35
-rw-r--r--src/mame/drivers/gpworld.cpp26
-rw-r--r--src/mame/drivers/groundfx.cpp51
-rw-r--r--src/mame/drivers/gunpey.cpp92
-rw-r--r--src/mame/drivers/hyprduel.cpp81
-rw-r--r--src/mame/drivers/toaplan2.cpp39
-rw-r--r--src/mame/includes/artmagic.h1
-rw-r--r--src/mame/includes/groundfx.h13
-rw-r--r--src/mame/includes/hyprduel.h38
-rw-r--r--src/mame/includes/toaplan2.h4
-rw-r--r--src/mame/video/groundfx.cpp2
-rw-r--r--src/mame/video/hyprduel.cpp42
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, "<unknown>", "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<pioneer_ldv1000_device> m_laserdisc;
required_shared_ptr<uint8_t> m_sprite_ram;
required_shared_ptr<uint8_t> 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<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_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<cpu_device *>(&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<cpu_device *>(&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<size; i++)
+ uint32_t offset = size/2;
+ for (uint32_t i = size/2+size/4; i<size; i++)
{
- int d1,d2,d3,d4;
-
/* Expand 2bits into 4bits format */
- data = gfx[i];
- d1 = (data>>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<uint16_t[]> 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<uint16_t[]>(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;i<bits;i++)
@@ -1076,7 +1080,7 @@ ooutcount was 51
-WRITE8_MEMBER(gunpey_state::gunpey_blitter_w)
+WRITE8_MEMBER(gunpey_state::blitter_w)
{
uint16_t *blit_ram = m_blit_ram;
@@ -1133,7 +1137,7 @@ WRITE8_MEMBER(gunpey_state::gunpey_blitter_w)
for (;;)
{
- int test = gunpey_state_get_stream_bits(2);
+ int test = get_stream_bits(2);
int data;
int getbits = 1;
// don't think this is right.. just keeps some streams in alignment, see 959 in char test for example
@@ -1153,7 +1157,7 @@ WRITE8_MEMBER(gunpey_state::gunpey_blitter_w)
{
getbits = 7;
}
- data = gunpey_state_get_stream_bits(getbits);
+ data = get_stream_bits(getbits);
// hack, really I imagine there is exactly enough compressed data to fill the dest bitmap area when decompressed, but to stop us
// overrunning into reading other data we terminate on a 0000, which doesn't seem likely to be compressed data.
@@ -1245,7 +1249,7 @@ WRITE8_MEMBER(gunpey_state::gunpey_blitter_w)
}
}
- machine().scheduler().timer_set(m_maincpu->cycles_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<gfx_tempsprite[]> 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<screen_device> m_screen;
required_device<palette_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<uint8_t[]>(length);
+ uint8_t *base_gfx = memregion("gfx1")->base();
+ uint32_t length = 2 * memregion("gfx1")->bytes();
+ m_expanded_gfx1 = std::make_unique<uint8_t[]>(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<uint16_t[]>(m_tiletable.bytes() / 2);
m_dirtyindex = std::make_unique<uint8_t[]>(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;