summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/dooyong.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/dooyong.c')
-rw-r--r--src/mame/drivers/dooyong.c237
1 files changed, 119 insertions, 118 deletions
diff --git a/src/mame/drivers/dooyong.c b/src/mame/drivers/dooyong.c
index b3d90b13dc1..fbbcc7c29d6 100644
--- a/src/mame/drivers/dooyong.c
+++ b/src/mame/drivers/dooyong.c
@@ -84,27 +84,27 @@ be verified on real PCB.
#include "sound/okim6295.h"
#include "includes/dooyong.h"
-WRITE8_MEMBER(dooyong_state::lastday_bankswitch_w)
+WRITE8_MEMBER(dooyong_z80_state::bankswitch_w)
{
membank("bank1")->set_entry(data & 0x07);
if (data & 0xf8) popmessage("bankswitch %02x",data);
}
-MACHINE_START_MEMBER(dooyong_state,lastday)
+MACHINE_START_MEMBER(dooyong_z80_state, cpu_z80)
{
membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base() + 0x10000, 0x4000);
}
-WRITE8_MEMBER(dooyong_state::flip_screen_w)
+WRITE8_MEMBER(dooyong_z80_state::flip_screen_w)
{
flip_screen_set(data);
}
-MACHINE_RESET_MEMBER(dooyong_state,sound_ym2203)
+MACHINE_RESET_MEMBER(dooyong_z80_ym2203_state, sound_ym2203)
{
- m_interrupt_line_1=0;
- m_interrupt_line_2=0;
+ m_interrupt_line_1 = 0;
+ m_interrupt_line_2 = 0;
}
/***************************************************************************
@@ -113,63 +113,63 @@ MACHINE_RESET_MEMBER(dooyong_state,sound_ym2203)
***************************************************************************/
-static ADDRESS_MAP_START( lastday_map, AS_PROGRAM, 8, dooyong_state )
+static ADDRESS_MAP_START( lastday_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
- AM_RANGE(0xc000, 0xc007) AM_WRITE(dooyong_bgscroll8_w)
- AM_RANGE(0xc008, 0xc00f) AM_WRITE(dooyong_fgscroll8_w)
+ AM_RANGE(0xc000, 0xc007) AM_WRITE(bgscroll_w)
+ AM_RANGE(0xc008, 0xc00f) AM_WRITE(fgscroll_w)
AM_RANGE(0xc010, 0xc010) AM_READ_PORT("SYSTEM")
AM_RANGE(0xc010, 0xc010) AM_WRITE(lastday_ctrl_w) /* coin counter, flip screen */
AM_RANGE(0xc011, 0xc011) AM_READ_PORT("P1")
- AM_RANGE(0xc011, 0xc011) AM_WRITE(lastday_bankswitch_w)
+ AM_RANGE(0xc011, 0xc011) AM_WRITE(bankswitch_w)
AM_RANGE(0xc012, 0xc012) AM_READ_PORT("P2")
AM_RANGE(0xc012, 0xc012) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xc013, 0xc013) AM_READ_PORT("DSWA")
AM_RANGE(0xc014, 0xc014) AM_READ_PORT("DSWB")
AM_RANGE(0xc800, 0xcfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_SHARE("txvideoram")
+ AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pollux_map, AS_PROGRAM, 8, dooyong_state )
+static ADDRESS_MAP_START( pollux_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_SHARE("txvideoram")
- AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSWA") AM_WRITE(lastday_bankswitch_w)
+ AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
+ AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSWA") AM_WRITE(bankswitch_w)
AM_RANGE(0xf001, 0xf001) AM_READ_PORT("DSWB")
AM_RANGE(0xf002, 0xf002) AM_READ_PORT("P1")
AM_RANGE(0xf003, 0xf003) AM_READ_PORT("P2")
AM_RANGE(0xf004, 0xf004) AM_READ_PORT("SYSTEM")
AM_RANGE(0xf008, 0xf008) AM_WRITE(pollux_ctrl_w) /* coin counter, flip screen */
AM_RANGE(0xf010, 0xf010) AM_WRITE(soundlatch_byte_w)
- AM_RANGE(0xf018, 0xf01f) AM_WRITE(dooyong_bgscroll8_w)
- AM_RANGE(0xf020, 0xf027) AM_WRITE(dooyong_fgscroll8_w)
+ AM_RANGE(0xf018, 0xf01f) AM_WRITE(bgscroll_w)
+ AM_RANGE(0xf020, 0xf027) AM_WRITE(fgscroll_w)
AM_RANGE(0xf800, 0xffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8, dooyong_state )
+static ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_SHARE("txvideoram")
+ AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSWA")
- AM_RANGE(0xf000, 0xf000) AM_WRITE(lastday_bankswitch_w)
+ AM_RANGE(0xf000, 0xf000) AM_WRITE(bankswitch_w)
AM_RANGE(0xf001, 0xf001) AM_READ_PORT("DSWB")
AM_RANGE(0xf002, 0xf002) AM_READ_PORT("P2")
AM_RANGE(0xf003, 0xf003) AM_READ_PORT("P1")
AM_RANGE(0xf004, 0xf004) AM_READ_PORT("SYSTEM")
AM_RANGE(0xf008, 0xf008) AM_WRITE(pollux_ctrl_w) /* coin counter, flip screen */
AM_RANGE(0xf010, 0xf010) AM_WRITE(soundlatch_byte_w)
- AM_RANGE(0xf018, 0xf01f) AM_WRITE(dooyong_bgscroll8_w)
- AM_RANGE(0xf020, 0xf027) AM_WRITE(dooyong_fgscroll8_w)
+ AM_RANGE(0xf018, 0xf01f) AM_WRITE(bgscroll_w)
+ AM_RANGE(0xf020, 0xf027) AM_WRITE(fgscroll_w)
AM_RANGE(0xf800, 0xffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8, dooyong_state )
+static ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8, dooyong_z80_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("DSWA")
@@ -178,42 +178,42 @@ static ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P1")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("P2")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("SYSTEM")
- AM_RANGE(0xc008, 0xc008) AM_WRITE(lastday_bankswitch_w)
+ AM_RANGE(0xc008, 0xc008) AM_WRITE(bankswitch_w)
AM_RANGE(0xc010, 0xc010) AM_WRITE(soundlatch_byte_w)
- AM_RANGE(0xc018, 0xc01f) AM_WRITE(dooyong_fg2scroll8_w)
- AM_RANGE(0xc040, 0xc047) AM_WRITE(dooyong_bgscroll8_w)
- AM_RANGE(0xc048, 0xc04f) AM_WRITE(dooyong_fgscroll8_w)
+ AM_RANGE(0xc018, 0xc01f) AM_WRITE(fg2scroll_w)
+ AM_RANGE(0xc040, 0xc047) AM_WRITE(bgscroll_w)
+ AM_RANGE(0xc048, 0xc04f) AM_WRITE(fgscroll_w)
AM_RANGE(0xc800, 0xcfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_SHARE("txvideoram")
+ AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flytiger_map, AS_PROGRAM, 8, dooyong_state )
+static ADDRESS_MAP_START( flytiger_map, AS_PROGRAM, 8, dooyong_z80_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("P1")
- AM_RANGE(0xe000, 0xe000) AM_WRITE(lastday_bankswitch_w)
+ AM_RANGE(0xe000, 0xe000) AM_WRITE(bankswitch_w)
AM_RANGE(0xe002, 0xe002) AM_READ_PORT("P2")
AM_RANGE(0xe004, 0xe004) AM_READ_PORT("SYSTEM")
AM_RANGE(0xe006, 0xe006) AM_READ_PORT("DSWA")
AM_RANGE(0xe008, 0xe008) AM_READ_PORT("DSWB")
AM_RANGE(0xe010, 0xe010) AM_WRITE(flytiger_ctrl_w) /* coin counter, flip screen */
AM_RANGE(0xe020, 0xe020) AM_WRITE(soundlatch_byte_w)
- AM_RANGE(0xe030, 0xe037) AM_WRITE(dooyong_bgscroll8_w)
- AM_RANGE(0xe040, 0xe047) AM_WRITE(dooyong_fgscroll8_w)
+ AM_RANGE(0xe030, 0xe037) AM_WRITE(bgscroll_w)
+ AM_RANGE(0xe040, 0xe047) AM_WRITE(fgscroll_w)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_flytiger_w) AM_SHARE("flytiger_palram")
- AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_SHARE("txvideoram")
+ AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( primella_map, AS_PROGRAM, 8, dooyong_state )
+static ADDRESS_MAP_START( primella_map, AS_PROGRAM, 8, dooyong_z80_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd3ff) AM_RAM /* what is this? looks like a palette? scratchpad RAM maybe? */
- AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_SHARE("txvideoram")
+ AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
AM_RANGE(0xf000, 0xf7ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("DSWA")
AM_RANGE(0xf800, 0xf800) AM_WRITE(primella_ctrl_w) /* bank switch, flip screen etc */
@@ -222,67 +222,67 @@ static ADDRESS_MAP_START( primella_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xf820, 0xf820) AM_READ_PORT("P1")
AM_RANGE(0xf830, 0xf830) AM_READ_PORT("P2")
AM_RANGE(0xf840, 0xf840) AM_READ_PORT("SYSTEM")
- AM_RANGE(0xfc00, 0xfc07) AM_WRITE(dooyong_bgscroll8_w)
- AM_RANGE(0xfc08, 0xfc0f) AM_WRITE(dooyong_fgscroll8_w)
+ AM_RANGE(0xfc00, 0xfc07) AM_WRITE(bgscroll_w)
+ AM_RANGE(0xfc08, 0xfc0f) AM_WRITE(fgscroll_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rshark_map, AS_PROGRAM, 16, dooyong_state )
+static ADDRESS_MAP_START( rshark_map, AS_PROGRAM, 16, dooyong_68k_state )
ADDRESS_MAP_GLOBAL_MASK(0xfffff) /* super-x needs this and is similar */
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04cfff) AM_RAM
- AM_RANGE(0x04d000, 0x04dfff) AM_RAM AM_SHARE("spriteram16")
+ AM_RANGE(0x04d000, 0x04dfff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x04e000, 0x04ffff) AM_RAM
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW")
AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("P1_P2")
AM_RANGE(0x0c0006, 0x0c0007) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x0c4000, 0x0c400f) AM_WRITE(dooyong_bgscroll16_w)
- AM_RANGE(0x0c4010, 0x0c401f) AM_WRITE(dooyong_bg2scroll16_w)
+ AM_RANGE(0x0c4000, 0x0c400f) AM_WRITE8(bgscroll_w, 0x00ff)
+ AM_RANGE(0x0c4010, 0x0c401f) AM_WRITE8(bg2scroll_w, 0x00ff)
AM_RANGE(0x0c8000, 0x0c8fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x0c0012, 0x0c0013) AM_WRITE(soundlatch_word_w)
- AM_RANGE(0x0c0014, 0x0c0015) AM_WRITE(rshark_ctrl_w) /* flip screen + unknown stuff */
- AM_RANGE(0x0cc000, 0x0cc00f) AM_WRITE(dooyong_fgscroll16_w)
- AM_RANGE(0x0cc010, 0x0cc01f) AM_WRITE(dooyong_fg2scroll16_w)
+ AM_RANGE(0x0c0014, 0x0c0015) AM_WRITE(ctrl_w) /* flip screen + unknown stuff */
+ AM_RANGE(0x0cc000, 0x0cc00f) AM_WRITE8(fgscroll_w, 0x00ff)
+ AM_RANGE(0x0cc010, 0x0cc01f) AM_WRITE8(fg2scroll_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( superx_map, AS_PROGRAM, 16, dooyong_state )
+static ADDRESS_MAP_START( superx_map, AS_PROGRAM, 16, dooyong_68k_state )
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0d0000, 0x0dcfff) AM_RAM
- AM_RANGE(0x0dd000, 0x0ddfff) AM_RAM AM_SHARE("spriteram16")
+ AM_RANGE(0x0dd000, 0x0ddfff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x0de000, 0x0dffff) AM_RAM
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("DSW")
AM_RANGE(0x080004, 0x080005) AM_READ_PORT("P1_P2")
AM_RANGE(0x080006, 0x080007) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x084000, 0x08400f) AM_WRITE(dooyong_bgscroll16_w)
- AM_RANGE(0x084010, 0x08401f) AM_WRITE(dooyong_bg2scroll16_w)
+ AM_RANGE(0x084000, 0x08400f) AM_WRITE8(bgscroll_w, 0x00ff)
+ AM_RANGE(0x084010, 0x08401f) AM_WRITE8(bg2scroll_w, 0x00ff)
AM_RANGE(0x088000, 0x088fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x080012, 0x080013) AM_WRITE(soundlatch_word_w)
- AM_RANGE(0x080014, 0x080015) AM_WRITE(rshark_ctrl_w) /* flip screen + unknown stuff */
- AM_RANGE(0x08c000, 0x08c00f) AM_WRITE(dooyong_fgscroll16_w)
- AM_RANGE(0x08c010, 0x08c01f) AM_WRITE(dooyong_fg2scroll16_w)
+ AM_RANGE(0x080014, 0x080015) AM_WRITE(ctrl_w) /* flip screen + unknown stuff */
+ AM_RANGE(0x08c000, 0x08c00f) AM_WRITE8(fgscroll_w, 0x00ff)
+ AM_RANGE(0x08c010, 0x08c01f) AM_WRITE8(fg2scroll_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( popbingo_map, AS_PROGRAM, 16, dooyong_state )
+static ADDRESS_MAP_START( popbingo_map, AS_PROGRAM, 16, dooyong_68k_state )
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04cfff) AM_RAM
- AM_RANGE(0x04d000, 0x04dfff) AM_RAM AM_SHARE("spriteram16")
+ AM_RANGE(0x04d000, 0x04dfff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x04e000, 0x04ffff) AM_RAM
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW")
AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("P1_P2")
AM_RANGE(0x0c0006, 0x0c0007) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0c0012, 0x0c0013) AM_WRITE(soundlatch_word_w)
- AM_RANGE(0x0c0014, 0x0c0015) AM_WRITE(rshark_ctrl_w)
+ AM_RANGE(0x0c0014, 0x0c0015) AM_WRITE(ctrl_w)
AM_RANGE(0x0c0018, 0x0c001b) AM_WRITENOP // ?
- AM_RANGE(0x0c4000, 0x0c400f) AM_WRITE(dooyong_bgscroll16_w)
- AM_RANGE(0x0c4010, 0x0c401f) AM_WRITE(dooyong_bg2scroll16_w) // not used atm
+ AM_RANGE(0x0c4000, 0x0c400f) AM_WRITE8(bgscroll_w, 0x00ff)
+ AM_RANGE(0x0c4010, 0x0c401f) AM_WRITE8(bg2scroll_w, 0x00ff) // not used atm
AM_RANGE(0x0c8000, 0x0c8fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x0cc000, 0x0cc00f) AM_WRITE(dooyong_fgscroll16_w) // not used atm
- AM_RANGE(0x0cc010, 0x0cc01f) AM_WRITE(dooyong_fg2scroll16_w) // not used atm
+ AM_RANGE(0x0cc000, 0x0cc00f) AM_WRITE8(fgscroll_w, 0x00ff) // not used atm
+ AM_RANGE(0x0cc010, 0x0cc01f) AM_WRITE8(fg2scroll_w, 0x00ff) // not used atm
AM_RANGE(0x0dc000, 0x0dc01f) AM_RAM // registers of some kind?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lastday_sound_map, AS_PROGRAM, 8, dooyong_state )
+static ADDRESS_MAP_START( lastday_sound_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_byte_r)
@@ -290,7 +290,7 @@ static ADDRESS_MAP_START( lastday_sound_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xf002, 0xf003) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pollux_sound_map, AS_PROGRAM, 8, dooyong_state )
+static ADDRESS_MAP_START( pollux_sound_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_byte_r)
@@ -772,18 +772,18 @@ static GFXDECODE_START( popbingo )
GFXDECODE_ENTRY( "gfx2", 0, popbingo_tilelayout, 256, 1 )
GFXDECODE_END
-READ8_MEMBER(dooyong_state::unk_r)
+READ8_MEMBER(dooyong_z80_ym2203_state::unk_r)
{
return 0;
}
-WRITE_LINE_MEMBER(dooyong_state::irqhandler_2203_1)
+WRITE_LINE_MEMBER(dooyong_z80_ym2203_state::irqhandler_2203_1)
{
m_interrupt_line_1=state;
m_audiocpu->set_input_line(0, (m_interrupt_line_1 | m_interrupt_line_2) ? ASSERT_LINE : CLEAR_LINE);
}
-WRITE_LINE_MEMBER(dooyong_state::irqhandler_2203_2)
+WRITE_LINE_MEMBER(dooyong_z80_ym2203_state::irqhandler_2203_2)
{
m_interrupt_line_2=state;
m_audiocpu->set_input_line(0, (m_interrupt_line_1 | m_interrupt_line_2) ? ASSERT_LINE : CLEAR_LINE);
@@ -800,13 +800,13 @@ static MACHINE_CONFIG_FRAGMENT( sound_2203 )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ym1", YM2203, 1500000)
- MCFG_YM2203_IRQ_HANDLER(WRITELINE(dooyong_state,irqhandler_2203_1))
- MCFG_AY8910_PORT_A_READ_CB(READ8(dooyong_state, unk_r))
+ MCFG_YM2203_IRQ_HANDLER(WRITELINE(dooyong_z80_ym2203_state, irqhandler_2203_1))
+ MCFG_AY8910_PORT_A_READ_CB(READ8(dooyong_z80_ym2203_state, unk_r))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MCFG_SOUND_ADD("ym2", YM2203, 1500000)
- MCFG_YM2203_IRQ_HANDLER(WRITELINE(dooyong_state, irqhandler_2203_2))
- MCFG_AY8910_PORT_A_READ_CB(READ8(dooyong_state, unk_r))
+ MCFG_YM2203_IRQ_HANDLER(WRITELINE(dooyong_z80_ym2203_state, irqhandler_2203_2))
+ MCFG_AY8910_PORT_A_READ_CB(READ8(dooyong_z80_ym2203_state, unk_r))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MACHINE_CONFIG_END
@@ -834,7 +834,7 @@ static MACHINE_CONFIG_FRAGMENT( sound_2151_m68k )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( lastday, dooyong_state )
+static MACHINE_CONFIG_START( lastday, dooyong_z80_ym2203_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, 8000000) /* ??? */
@@ -844,8 +844,8 @@ static MACHINE_CONFIG_START( lastday, dooyong_state )
MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(lastday_sound_map)
- MCFG_MACHINE_START_OVERRIDE(dooyong_state,lastday)
- MCFG_MACHINE_RESET_OVERRIDE(dooyong_state,sound_ym2203)
+ MCFG_MACHINE_START_OVERRIDE(dooyong_z80_state, cpu_z80)
+ MCFG_MACHINE_RESET_OVERRIDE(dooyong_z80_ym2203_state, sound_ym2203)
/* video hardware */
@@ -856,7 +856,7 @@ static MACHINE_CONFIG_START( lastday, dooyong_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
- MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_lastday)
+ MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_ym2203_state, screen_update_lastday)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
MCFG_SCREEN_PALETTE("palette")
@@ -864,24 +864,24 @@ static MACHINE_CONFIG_START( lastday, dooyong_state )
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- MCFG_VIDEO_START_OVERRIDE(dooyong_state,lastday)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_z80_ym2203_state, lastday)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ym1", YM2203, 4000000)
- MCFG_YM2203_IRQ_HANDLER(WRITELINE(dooyong_state,irqhandler_2203_1))
- MCFG_AY8910_PORT_A_READ_CB(READ8(dooyong_state, unk_r))
+ MCFG_YM2203_IRQ_HANDLER(WRITELINE(dooyong_z80_ym2203_state, irqhandler_2203_1))
+ MCFG_AY8910_PORT_A_READ_CB(READ8(dooyong_z80_ym2203_state, unk_r))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MCFG_SOUND_ADD("ym2", YM2203, 4000000)
- MCFG_YM2203_IRQ_HANDLER(WRITELINE(dooyong_state, irqhandler_2203_2))
- MCFG_AY8910_PORT_A_READ_CB(READ8(dooyong_state, unk_r))
+ MCFG_YM2203_IRQ_HANDLER(WRITELINE(dooyong_z80_ym2203_state, irqhandler_2203_2))
+ MCFG_AY8910_PORT_A_READ_CB(READ8(dooyong_z80_ym2203_state, unk_r))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( gulfstrm, dooyong_state )
+static MACHINE_CONFIG_START( gulfstrm, dooyong_z80_ym2203_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, 8000000) /* ??? */
@@ -891,8 +891,8 @@ static MACHINE_CONFIG_START( gulfstrm, dooyong_state )
MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(lastday_sound_map)
- MCFG_MACHINE_START_OVERRIDE(dooyong_state,lastday)
- MCFG_MACHINE_RESET_OVERRIDE(dooyong_state,sound_ym2203)
+ MCFG_MACHINE_START_OVERRIDE(dooyong_z80_state, cpu_z80)
+ MCFG_MACHINE_RESET_OVERRIDE(dooyong_z80_ym2203_state, sound_ym2203)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -902,7 +902,7 @@ static MACHINE_CONFIG_START( gulfstrm, dooyong_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
- MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_gulfstrm)
+ MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_ym2203_state, screen_update_gulfstrm)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
MCFG_SCREEN_PALETTE("palette")
@@ -910,13 +910,13 @@ static MACHINE_CONFIG_START( gulfstrm, dooyong_state )
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- MCFG_VIDEO_START_OVERRIDE(dooyong_state,gulfstrm)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_z80_ym2203_state, gulfstrm)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2203 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( pollux, dooyong_state )
+static MACHINE_CONFIG_START( pollux, dooyong_z80_ym2203_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, 8000000) /* ??? */
@@ -926,8 +926,8 @@ static MACHINE_CONFIG_START( pollux, dooyong_state )
MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(pollux_sound_map)
- MCFG_MACHINE_START_OVERRIDE(dooyong_state,lastday)
- MCFG_MACHINE_RESET_OVERRIDE(dooyong_state,sound_ym2203)
+ MCFG_MACHINE_START_OVERRIDE(dooyong_z80_state, cpu_z80)
+ MCFG_MACHINE_RESET_OVERRIDE(dooyong_z80_ym2203_state, sound_ym2203)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -937,7 +937,7 @@ static MACHINE_CONFIG_START( pollux, dooyong_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
- MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_pollux)
+ MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_ym2203_state, screen_update_pollux)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
MCFG_SCREEN_PALETTE("palette")
@@ -945,13 +945,13 @@ static MACHINE_CONFIG_START( pollux, dooyong_state )
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- MCFG_VIDEO_START_OVERRIDE(dooyong_state,pollux)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_z80_ym2203_state, pollux)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2203 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( bluehawk, dooyong_state )
+static MACHINE_CONFIG_START( bluehawk, dooyong_z80_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, 8000000) /* ??? */
@@ -961,7 +961,7 @@ static MACHINE_CONFIG_START( bluehawk, dooyong_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
- MCFG_MACHINE_START_OVERRIDE(dooyong_state,lastday)
+ MCFG_MACHINE_START_OVERRIDE(dooyong_z80_state, cpu_z80)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -971,7 +971,7 @@ static MACHINE_CONFIG_START( bluehawk, dooyong_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
- MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_bluehawk)
+ MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_state, screen_update_bluehawk)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
MCFG_SCREEN_PALETTE("palette")
@@ -979,13 +979,13 @@ static MACHINE_CONFIG_START( bluehawk, dooyong_state )
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- MCFG_VIDEO_START_OVERRIDE(dooyong_state,bluehawk)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, bluehawk)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2151 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( flytiger, dooyong_state )
+static MACHINE_CONFIG_START( flytiger, dooyong_z80_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, 8000000) /* ??? */
@@ -995,7 +995,7 @@ static MACHINE_CONFIG_START( flytiger, dooyong_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
- MCFG_MACHINE_START_OVERRIDE(dooyong_state,lastday)
+ MCFG_MACHINE_START_OVERRIDE(dooyong_z80_state, cpu_z80)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -1005,7 +1005,7 @@ static MACHINE_CONFIG_START( flytiger, dooyong_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
- MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_flytiger)
+ MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_state, screen_update_flytiger)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
MCFG_SCREEN_PALETTE("palette")
@@ -1013,13 +1013,13 @@ static MACHINE_CONFIG_START( flytiger, dooyong_state )
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- MCFG_VIDEO_START_OVERRIDE(dooyong_state,flytiger)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, flytiger)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2151 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( primella, dooyong_state )
+static MACHINE_CONFIG_START( primella, dooyong_z80_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, 8000000) /* ??? */
@@ -1029,7 +1029,7 @@ static MACHINE_CONFIG_START( primella, dooyong_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
- MCFG_MACHINE_START_OVERRIDE(dooyong_state,lastday)
+ MCFG_MACHINE_START_OVERRIDE(dooyong_z80_state, cpu_z80)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1037,122 +1037,123 @@ static MACHINE_CONFIG_START( primella, dooyong_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 0*8, 32*8-1 )
- MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_primella)
+ MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_state, screen_update_primella)
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", primella)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- MCFG_VIDEO_START_OVERRIDE(dooyong_state,primella)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, primella)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2151 )
MACHINE_CONFIG_END
-TIMER_DEVICE_CALLBACK_MEMBER(dooyong_state::rshark_scanline)
+
+TIMER_DEVICE_CALLBACK_MEMBER(dooyong_68k_state::scanline)
{
int scanline = param;
- if(scanline == 248) // vblank-out irq
+ if (scanline == 248) // vblank-out irq
m_maincpu->set_input_line(5, HOLD_LINE);
- if(scanline == 120) // timer irq?
+ if (scanline == 120) // timer irq?
m_maincpu->set_input_line(6, HOLD_LINE);
}
-static MACHINE_CONFIG_START( rshark, dooyong_state )
+static MACHINE_CONFIG_START( rshark, dooyong_68k_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 8000000) /* measured on super-x */
MCFG_CPU_PROGRAM_MAP(rshark_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", dooyong_state, rshark_scanline, "screen", 0, 1)
+ MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", dooyong_68k_state, scanline, "screen", 0, 1)
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* measured on super-x */
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
/* video hardware */
- MCFG_BUFFERED_SPRITERAM16_ADD("spriteram16")
+ MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
- MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_rshark)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram16", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_UPDATE_DRIVER(dooyong_68k_state, screen_update_rshark)
+ MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", rshark)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- MCFG_VIDEO_START_OVERRIDE(dooyong_state,rshark)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_68k_state, rshark)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2151_m68k )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( superx, dooyong_state ) // dif mem map
+static MACHINE_CONFIG_START( superx, dooyong_68k_state ) // dif mem map
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 8000000) /* measured on super-x */
MCFG_CPU_PROGRAM_MAP(superx_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", dooyong_state, rshark_scanline, "screen", 0, 1)
+ MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", dooyong_68k_state, scanline, "screen", 0, 1)
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* measured on super-x */
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
/* video hardware */
- MCFG_BUFFERED_SPRITERAM16_ADD("spriteram16")
+ MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
- MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_rshark)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram16", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_UPDATE_DRIVER(dooyong_68k_state, screen_update_rshark)
+ MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", rshark)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- MCFG_VIDEO_START_OVERRIDE(dooyong_state,rshark)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_68k_state, rshark)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2151_m68k )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( popbingo, dooyong_state )
+static MACHINE_CONFIG_START( popbingo, dooyong_68k_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 10000000)
MCFG_CPU_PROGRAM_MAP(popbingo_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", dooyong_state, rshark_scanline, "screen", 0, 1)
+ MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", dooyong_68k_state, scanline, "screen", 0, 1)
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* measured on super-x */
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
/* video hardware */
- MCFG_BUFFERED_SPRITERAM16_ADD("spriteram16")
+ MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
- MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_popbingo)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram16", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_UPDATE_DRIVER(dooyong_68k_state, screen_update_popbingo)
+ MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", popbingo)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- MCFG_VIDEO_START_OVERRIDE(dooyong_state,popbingo)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_68k_state, popbingo)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2151_m68k )