From ac6d88a2648265ec6fb45911f7a86f26a984b449 Mon Sep 17 00:00:00 2001 From: "Alex W. Jackson" Date: Mon, 14 Apr 2014 20:45:26 +0000 Subject: [PATCH] gp9001.c (toaplan2.c): convert to device_gfx_interface, cleanups [Alex Jackson] --- src/mame/drivers/toaplan2.c | 370 ++++++++++++++--------------------- src/mame/includes/toaplan2.h | 7 +- src/mame/video/gp9001.c | 274 +++++++++++--------------- src/mame/video/gp9001.h | 61 ++---- src/mame/video/toaplan2.c | 26 +-- 5 files changed, 288 insertions(+), 450 deletions(-) diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c index 020dcb05aeb..34c9c0e25f3 100644 --- a/src/mame/drivers/toaplan2.c +++ b/src/mame/drivers/toaplan2.c @@ -368,7 +368,6 @@ To Do / Unknowns: MACHINE_START_MEMBER(toaplan2_state,toaplan2) { save_item(NAME(m_mcu_data)); - save_item(NAME(m_video_status)); save_item(NAME(m_old_p1_paddle_h)); save_item(NAME(m_old_p2_paddle_h)); save_item(NAME(m_z80_busreq)); @@ -505,7 +504,7 @@ READ16_MEMBER(toaplan2_state::video_count_r) int hpos = m_screen->hpos(); int vpos = m_screen->vpos(); - m_video_status = 0xff00; // Set signals inactive + int video_status = 0xff00; // Set signals inactive vpos = (vpos + 15) % 262; @@ -515,19 +514,19 @@ READ16_MEMBER(toaplan2_state::video_count_r) vblank = (vpos >= 247) && (vpos <= 250); if (hblank) - m_video_status &= ~0x8000; + video_status &= ~0x8000; if (vblank) - m_video_status &= ~0x4000; + video_status &= ~0x4000; if (vblank || hblank) // ?? Dogyuun is too slow if this is wrong - m_video_status &= ~0x0100; + video_status &= ~0x0100; if (vpos < 256) - m_video_status |= (vpos & 0xff); + video_status |= (vpos & 0xff); else - m_video_status |= 0xff; + video_status |= 0xff; // logerror("VC: vpos=%04x hpos=%04x VBL=%04x\n",vpos,hpos,m_screen->vblank()); - return m_video_status; + return video_status; } @@ -990,7 +989,7 @@ static ADDRESS_MAP_START( tekipaki_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x020000, 0x03ffff) AM_ROM // extra for Whoopee AM_RANGE(0x080000, 0x082fff) AM_RAM AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") - AM_RANGE(0x140000, 0x14000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x140000, 0x14000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x180000, 0x180001) AM_READ_PORT("DSWA") AM_RANGE(0x180010, 0x180011) AM_READ_PORT("DSWB") AM_RANGE(0x180020, 0x180021) AM_READ_PORT("SYS") @@ -1008,7 +1007,7 @@ static ADDRESS_MAP_START( ghox_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x080000, 0x083fff) AM_RAM AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x100000, 0x100001) AM_READ(ghox_p1_h_analog_r) - AM_RANGE(0x140000, 0x14000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x140000, 0x14000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x180000, 0x180001) AM_READWRITE(ghox_mcu_r, ghox_mcu_w) // really part of shared RAM AM_RANGE(0x180006, 0x180007) AM_READ_PORT("DSWA") AM_RANGE(0x180008, 0x180009) AM_READ_PORT("DSWB") @@ -1029,9 +1028,9 @@ static ADDRESS_MAP_START( dogyuun_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x200018, 0x200019) AM_READ_PORT("SYS") AM_RANGE(0x20001c, 0x20001d) AM_WRITE(toaplan2_v25_coin_word_w) // Coin count/lock + v25 reset line AM_RANGE(0x210000, 0x21ffff) AM_READWRITE(shared_ram_r, shared_ram_w ) - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") - AM_RANGE(0x500000, 0x50000d) AM_DEVREADWRITE("gp9001vdp1", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x500000, 0x50000d) AM_DEVREADWRITE("gp9001_1", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) // test bit 8 ADDRESS_MAP_END @@ -1044,7 +1043,7 @@ static ADDRESS_MAP_START( kbash_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x208014, 0x208015) AM_READ_PORT("IN2") AM_RANGE(0x208018, 0x208019) AM_READ_PORT("SYS") AM_RANGE(0x20801c, 0x20801d) AM_WRITE(toaplan2_coin_word_w) - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) // test bit 8 ADDRESS_MAP_END @@ -1066,7 +1065,7 @@ static ADDRESS_MAP_START( kbash2_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x200024, 0x200025) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff) AM_RANGE(0x200028, 0x200029) AM_WRITE(oki1_bankswitch_w) AM_RANGE(0x20002c, 0x20002d) AM_READ(video_count_r) - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") ADDRESS_MAP_END @@ -1074,7 +1073,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( truxton2_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_RANGE(0x100000, 0x10ffff) AM_RAM - AM_RANGE(0x200000, 0x20000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x200000, 0x20000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x300000, 0x300fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram") AM_RANGE(0x402000, 0x402fff) AM_RAM AM_SHARE("tx_lineselect") @@ -1098,7 +1097,7 @@ static ADDRESS_MAP_START( pipibibs_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x080000, 0x082fff) AM_RAM AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") - AM_RANGE(0x140000, 0x14000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x140000, 0x14000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x190000, 0x190fff) AM_READWRITE(shared_ram_r, shared_ram_w) AM_RANGE(0x19c01c, 0x19c01d) AM_WRITE(toaplan2_coin_word_w) AM_RANGE(0x19c020, 0x19c021) AM_READ_PORT("DSWA") @@ -1113,13 +1112,13 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( pipibibi_bootleg_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x080000, 0x082fff) AM_RAM - AM_RANGE(0x083000, 0x0837ff) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, pipibibi_bootleg_spriteram16_r, pipibibi_bootleg_spriteram16_w) // SpriteRAM + AM_RANGE(0x083000, 0x0837ff) AM_DEVREADWRITE("gp9001", gp9001vdp_device, pipibibi_bootleg_spriteram16_r, pipibibi_bootleg_spriteram16_w) // SpriteRAM AM_RANGE(0x083800, 0x087fff) AM_RAM // SpriteRAM (unused) AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x120000, 0x120fff) AM_RAM // Copy of SpriteRAM ? // AM_RANGE(0x13f000, 0x13f001) AM_WRITENOP // ??? - AM_RANGE(0x180000, 0x182fff) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, pipibibi_bootleg_videoram16_r, pipibibi_bootleg_videoram16_w) // TileRAM - AM_RANGE(0x188000, 0x18800f) AM_DEVWRITE("gp9001vdp0", gp9001vdp_device, pipibibi_bootleg_scroll_w) + AM_RANGE(0x180000, 0x182fff) AM_DEVREADWRITE("gp9001", gp9001vdp_device, pipibibi_bootleg_videoram16_r, pipibibi_bootleg_videoram16_w) // TileRAM + AM_RANGE(0x188000, 0x18800f) AM_DEVWRITE("gp9001", gp9001vdp_device, pipibibi_bootleg_scroll_w) AM_RANGE(0x190002, 0x190003) AM_READ(shared_ram_r) // Z80 ready ? AM_RANGE(0x190010, 0x190011) AM_WRITE(shared_ram_w) // Z80 task to perform AM_RANGE(0x19c01c, 0x19c01d) AM_WRITE(toaplan2_coin_word_w) @@ -1141,7 +1140,7 @@ static ADDRESS_MAP_START( fixeight_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x200010, 0x200011) AM_READ_PORT("SYS") AM_RANGE(0x20001c, 0x20001d) AM_WRITE(toaplan2_coin_word_w) AM_RANGE(0x280000, 0x28ffff) AM_READWRITE(shared_ram_r, shared_ram_w ) - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram") AM_RANGE(0x502000, 0x5021ff) AM_RAM AM_SHARE("tx_lineselect") @@ -1163,7 +1162,7 @@ static ADDRESS_MAP_START( fixeightbl_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x200014, 0x200015) AM_WRITE(fixeightbl_oki_bankswitch_w) // Sound banking. Code at $4084c, $5070 AM_RANGE(0x200018, 0x200019) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) AM_RANGE(0x20001c, 0x20001d) AM_READ_PORT("DSWA") - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram") AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) @@ -1180,7 +1179,7 @@ static ADDRESS_MAP_START( vfive_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x200018, 0x200019) AM_READ_PORT("SYS") AM_RANGE(0x20001c, 0x20001d) AM_WRITE(toaplan2_v25_coin_word_w) // Coin count/lock + v25 reset line AM_RANGE(0x210000, 0x21ffff) AM_READWRITE(shared_ram_r, shared_ram_w ) - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) ADDRESS_MAP_END @@ -1194,9 +1193,9 @@ static ADDRESS_MAP_START( batsugun_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x200018, 0x200019) AM_READ_PORT("SYS") AM_RANGE(0x20001c, 0x20001d) AM_WRITE(toaplan2_v25_coin_word_w) // Coin count/lock + v25 reset line AM_RANGE(0x210000, 0x21ffff) AM_READWRITE(shared_ram_r, shared_ram_w ) - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") - AM_RANGE(0x500000, 0x50000d) AM_DEVREADWRITE("gp9001vdp1", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x500000, 0x50000d) AM_DEVREADWRITE("gp9001_1", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) ADDRESS_MAP_END @@ -1205,7 +1204,7 @@ static ADDRESS_MAP_START( pwrkick_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("rtc", upd4992_device, read, write, 0x00ff ) - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) @@ -1226,7 +1225,7 @@ static ADDRESS_MAP_START( othldrby_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("rtc", upd4992_device, read, write, 0x00ff ) - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) @@ -1245,7 +1244,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( snowbro2_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_RANGE(0x100000, 0x10ffff) AM_RAM - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x500000, 0x500003) AM_DEVREADWRITE8("ymsnd", ym2151_device, read, write, 0x00ff) AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) @@ -1274,7 +1273,7 @@ static ADDRESS_MAP_START( mahoudai_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x21c030, 0x21c031) AM_READ_PORT("DSWB") AM_RANGE(0x21c034, 0x21c035) AM_READ_PORT("JMPR") AM_RANGE(0x21c03c, 0x21c03d) AM_READ(video_count_r) - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x401000, 0x4017ff) AM_RAM // Unused palette RAM AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram") @@ -1297,7 +1296,7 @@ static ADDRESS_MAP_START( shippumd_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x21c030, 0x21c031) AM_READ_PORT("DSWB") AM_RANGE(0x21c034, 0x21c035) AM_READ_PORT("JMPR") AM_RANGE(0x21c03c, 0x21c03d) AM_READ(video_count_r) - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x401000, 0x4017ff) AM_RAM // Unused palette RAM AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram") @@ -1319,7 +1318,7 @@ static ADDRESS_MAP_START( bgaregga_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x21c030, 0x21c031) AM_READ_PORT("DSWB") AM_RANGE(0x21c034, 0x21c035) AM_READ_PORT("JMPR") AM_RANGE(0x21c03c, 0x21c03d) AM_READ(video_count_r) - AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) + AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w) AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram") AM_RANGE(0x502000, 0x502fff) AM_RAM AM_SHARE("tx_lineselect") @@ -1339,7 +1338,7 @@ static ADDRESS_MAP_START( batrider_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x203400, 0x207fff) AM_RAM AM_SHARE("mainram16") AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_RANGE(0x300000, 0x37ffff) AM_READ(batrider_z80rom_r) - AM_RANGE(0x400000, 0x40000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_alt_r, gp9001_vdp_alt_w) + AM_RANGE(0x400000, 0x40000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_alt_r, gp9001_vdp_alt_w) AM_RANGE(0x500000, 0x500001) AM_READ_PORT("IN") AM_RANGE(0x500002, 0x500003) AM_READ_PORT("SYS-DSW") AM_RANGE(0x500004, 0x500005) AM_READ_PORT("DSW") @@ -1369,7 +1368,7 @@ static ADDRESS_MAP_START( bbakraid_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x203400, 0x207fff) AM_RAM AM_SHARE("mainram16") AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_RANGE(0x300000, 0x33ffff) AM_READ(batrider_z80rom_r) - AM_RANGE(0x400000, 0x40000d) AM_DEVREADWRITE("gp9001vdp0", gp9001vdp_device, gp9001_vdp_alt_r, gp9001_vdp_alt_w) + AM_RANGE(0x400000, 0x40000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_alt_r, gp9001_vdp_alt_w) AM_RANGE(0x500000, 0x500001) AM_READ_PORT("IN") AM_RANGE(0x500002, 0x500003) AM_READ_PORT("SYS-DSW") AM_RANGE(0x500004, 0x500005) AM_READ_PORT("DSW") @@ -2986,30 +2985,8 @@ static INPUT_PORTS_START( bbakraid ) INPUT_PORTS_END - -static const gfx_layout tilelayout = -{ - 16,16, /* 16x16 */ - RGN_FRAC(1,2), /* Number of tiles */ - 4, /* 4 bits per pixel */ - { RGN_FRAC(1,2)+8, RGN_FRAC(1,2), 8, 0 }, - { 0, 1, 2, 3, 4, 5, 6, 7, - 8*16+0, 8*16+1, 8*16+2, 8*16+3, 8*16+4, 8*16+5, 8*16+6, 8*16+7 }, - { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16, - 16*16, 17*16, 18*16, 19*16, 20*16, 21*16, 22*16, 23*16 }, - 8*4*16 -}; - -static const gfx_layout spritelayout = -{ - 8,8, /* 8x8 */ - RGN_FRAC(1,2), /* Number of 8x8 sprites */ - 4, /* 4 bits per pixel */ - { RGN_FRAC(1,2)+8, RGN_FRAC(1,2), 8, 0 }, - { 0, 1, 2, 3, 4, 5, 6, 7 }, - { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 }, - 8*16 -}; +// Text layer graphics -- ROM based in some games, RAM based in others +// See video/gp9001.c for the main graphics layouts static const gfx_layout raizing_textlayout = { @@ -3058,40 +3035,20 @@ static const gfx_layout fixeightblayout = 8*8*4 }; -static GFXDECODE_START( toaplan2 ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 0x1000 ) - GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 0x1000 ) -GFXDECODE_END - -static GFXDECODE_START( t2dualvdp ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 0x1000 ) - GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 0x1000 ) - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 0x1000 ) - GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0, 0x1000 ) -GFXDECODE_END - static GFXDECODE_START( truxton2 ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout , 0, 0x1000 ) - GFXDECODE_ENTRY( "gfx1", 0, spritelayout , 0, 0x1000 ) GFXDECODE_ENTRY( NULL, 0, truxton2_tx_tilelayout, 64*16, 64 ) GFXDECODE_END static GFXDECODE_START( raizing ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 0x1000 ) - GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 0x1000 ) - GFXDECODE_ENTRY( "gfx2", 0, raizing_textlayout, 64*16, 64 ) + GFXDECODE_ENTRY( "text", 0, raizing_textlayout, 64*16, 64 ) GFXDECODE_END static GFXDECODE_START( batrider ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 0x1000 ) - GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 0x1000 ) GFXDECODE_ENTRY( NULL, 0, batrider_tx_tilelayout, 64*16, 64 ) GFXDECODE_END static GFXDECODE_START( fixeightbl ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout , 0, 0x1000 ) - GFXDECODE_ENTRY( "gfx1", 0, spritelayout , 0, 0x1000 ) - GFXDECODE_ENTRY( "gfx2", 0, fixeightblayout, 64*16, 64 ) + GFXDECODE_ENTRY( "text", 0, fixeightblayout, 64*16, 64 ) GFXDECODE_END @@ -3134,13 +3091,11 @@ static MACHINE_CONFIG_START( tekipaki, toaplan2_state ) MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan2) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) @@ -3179,13 +3134,11 @@ static MACHINE_CONFIG_START( ghox, toaplan2_state ) MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan2) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) @@ -3268,17 +3221,14 @@ static MACHINE_CONFIG_START( dogyuun, toaplan2_state ) MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", t2dualvdp) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") - MCFG_DEVICE_ADD_VDP1 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001_1", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) @@ -3319,13 +3269,11 @@ static MACHINE_CONFIG_START( kbash, toaplan2_state ) MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan2) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) @@ -3360,13 +3308,11 @@ static MACHINE_CONFIG_START( kbash2, toaplan2_state ) MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan2) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) @@ -3402,9 +3348,8 @@ static MACHINE_CONFIG_START( truxton2, toaplan2_state ) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,truxton2) @@ -3457,13 +3402,11 @@ static MACHINE_CONFIG_START( pipibibs, toaplan2_state ) MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan2) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) @@ -3502,13 +3445,11 @@ static MACHINE_CONFIG_START( pipibibsbl, toaplan2_state ) MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan2) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) @@ -3586,9 +3527,8 @@ static MACHINE_CONFIG_START( fixeight, toaplan2_state ) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,truxton2) @@ -3627,9 +3567,8 @@ static MACHINE_CONFIG_START( fixeightbl, toaplan2_state ) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,fixeightbl) @@ -3664,13 +3603,11 @@ static MACHINE_CONFIG_START( vfive, toaplan2_state ) MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan2) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) @@ -3706,17 +3643,14 @@ static MACHINE_CONFIG_START( batsugun, toaplan2_state ) MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", t2dualvdp) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") - MCFG_DEVICE_ADD_VDP1 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001_1", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) @@ -3748,13 +3682,11 @@ static MACHINE_CONFIG_START( pwrkick, toaplan2_state ) MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan2) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) @@ -3782,13 +3714,11 @@ static MACHINE_CONFIG_START( othldrby, toaplan2_state ) MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan2) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) @@ -3819,13 +3749,11 @@ static MACHINE_CONFIG_START( snowbro2, toaplan2_state ) MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan2) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2) @@ -3870,9 +3798,8 @@ static MACHINE_CONFIG_START( mahoudai, toaplan2_state ) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgaregga) @@ -3917,9 +3844,8 @@ static MACHINE_CONFIG_START( shippumd, toaplan2_state ) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgaregga) @@ -3963,9 +3889,8 @@ static MACHINE_CONFIG_START( bgaregga, toaplan2_state ) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgaregga) @@ -4020,9 +3945,8 @@ static MACHINE_CONFIG_START( batrider, toaplan2_state ) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,batrider) @@ -4076,9 +4000,9 @@ static MACHINE_CONFIG_START( bbakraid, toaplan2_state ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", batrider) MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - MCFG_DEVICE_ADD_VDP0 - MCFG_GP9001_VDP_GFXDECODE("gfxdecode") - MCFG_GP9001_VDP_PALETTE("palette") + + MCFG_DEVICE_ADD("gp9001", GP9001_VDP, 0) + MCFG_GFX_PALETTE("palette") MCFG_VIDEO_START_OVERRIDE(toaplan2_state,batrider) @@ -4107,7 +4031,7 @@ ROM_START( tekipaki ) /* sound CPU is a HD647180 (Z180) with internal ROM - not yet supported */ ROM_LOAD( "hd647180.020", 0x00000, 0x08000, NO_DUMP ) - ROM_REGION( 0x100000, "gfx1", 0 ) + ROM_REGION( 0x100000, "gp9001", 0 ) ROM_LOAD( "tp020-4.bin", 0x000000, 0x080000, CRC(3ebbe41e) SHA1(cea196c5f83e1a23d5b538a0db9bbbffa7af5118) ) ROM_LOAD( "tp020-3.bin", 0x080000, 0x080000, CRC(2d5e2201) SHA1(5846c844eedd48305c1c67dc645b6e070b3f5b98) ) ROM_END @@ -4122,7 +4046,7 @@ ROM_START( ghox ) /* Spinner with single axis (up/down) controls */ /* sound CPU is a HD647180 (Z180) with internal ROM - not yet supported */ ROM_LOAD( "hd647180.021", 0x00000, 0x08000, NO_DUMP ) - ROM_REGION( 0x100000, "gfx1", 0 ) + ROM_REGION( 0x100000, "gp9001", 0 ) ROM_LOAD( "tp021-03.u36", 0x000000, 0x080000, CRC(a15d8e9d) SHA1(640a33997bdce8e84bea6a944139716379839037) ) ROM_LOAD( "tp021-04.u37", 0x080000, 0x080000, CRC(26ed1c9a) SHA1(37da8af86ea24327444c2d4ad3dfbd936208d43d) ) ROM_END @@ -4137,7 +4061,7 @@ ROM_START( ghoxj ) /* 8-way joystick for controls */ /* sound CPU is a HD647180 (Z180) with internal ROM - not yet supported */ ROM_LOAD( "hd647180.021", 0x00000, 0x08000, NO_DUMP ) - ROM_REGION( 0x100000, "gfx1", 0 ) + ROM_REGION( 0x100000, "gp9001", 0 ) ROM_LOAD( "tp021-03.u36", 0x000000, 0x080000, CRC(a15d8e9d) SHA1(640a33997bdce8e84bea6a944139716379839037) ) ROM_LOAD( "tp021-04.u37", 0x080000, 0x080000, CRC(26ed1c9a) SHA1(37da8af86ea24327444c2d4ad3dfbd936208d43d) ) ROM_END @@ -4150,11 +4074,11 @@ ROM_START( dogyuun ) /* Secondary CPU is a Toaplan marked chip, (TS-002-MACH TOA PLAN) */ /* It's a NEC V25 (PLCC94) (encrypted program uploaded by main CPU) */ - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD16_WORD_SWAP( "tp022_3.w92", 0x000000, 0x100000, CRC(191b595f) SHA1(89344946daa18087cc83f92027cf5da659b1c7a5) ) ROM_LOAD16_WORD_SWAP( "tp022_4.w93", 0x100000, 0x100000, CRC(d58d29ca) SHA1(90d142fef37764ef817347a2bed77892a288a077) ) - ROM_REGION( 0x400000, "gfx2", 0 ) + ROM_REGION( 0x400000, "gp9001_1", 0 ) ROM_LOAD16_WORD_SWAP( "tp022_5.w16", 0x000000, 0x200000, CRC(d4c1db45) SHA1(f5655467149ba737128c2f54c9c6cdaca6e4c35c) ) ROM_LOAD16_WORD_SWAP( "tp022_6.w17", 0x200000, 0x200000, CRC(d48dc74f) SHA1(081b5a00a2ff2bd82b98b30aab3cb5b6ae1014d5) ) @@ -4170,11 +4094,11 @@ ROM_START( dogyuuna ) /* Secondary CPU is a Toaplan marked chip, (TS-002-MACH TOA PLAN) */ /* It's a NEC V25 (PLCC94) (encrypted program uploaded by main CPU) */ - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD16_WORD_SWAP( "tp022_3.w92", 0x000000, 0x100000, CRC(191b595f) SHA1(89344946daa18087cc83f92027cf5da659b1c7a5) ) ROM_LOAD16_WORD_SWAP( "tp022_4.w93", 0x100000, 0x100000, CRC(d58d29ca) SHA1(90d142fef37764ef817347a2bed77892a288a077) ) - ROM_REGION( 0x400000, "gfx2", 0 ) + ROM_REGION( 0x400000, "gp9001_1", 0 ) ROM_LOAD16_WORD_SWAP( "tp022_5.w16", 0x000000, 0x200000, CRC(d4c1db45) SHA1(f5655467149ba737128c2f54c9c6cdaca6e4c35c) ) ROM_LOAD16_WORD_SWAP( "tp022_6.w17", 0x200000, 0x200000, CRC(d48dc74f) SHA1(081b5a00a2ff2bd82b98b30aab3cb5b6ae1014d5) ) @@ -4190,11 +4114,11 @@ ROM_START( dogyuunt ) /* Secondary CPU is a Toaplan marked chip, (TS-002-MACH TOA PLAN) */ /* It's a NEC V25 (PLCC94) (encrypted program uploaded by main CPU) */ - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD16_WORD_SWAP( "tp022_3.w92", 0x000000, 0x100000, CRC(191b595f) SHA1(89344946daa18087cc83f92027cf5da659b1c7a5) ) ROM_LOAD16_WORD_SWAP( "tp022_4.w93", 0x100000, 0x100000, CRC(d58d29ca) SHA1(90d142fef37764ef817347a2bed77892a288a077) ) - ROM_REGION( 0x400000, "gfx2", 0 ) + ROM_REGION( 0x400000, "gp9001_1", 0 ) ROM_LOAD16_WORD_SWAP( "tp022_5.w16", 0x000000, 0x200000, CRC(d4c1db45) SHA1(f5655467149ba737128c2f54c9c6cdaca6e4c35c) ) ROM_LOAD16_WORD_SWAP( "tp022_6.w17", 0x200000, 0x200000, CRC(d48dc74f) SHA1(081b5a00a2ff2bd82b98b30aab3cb5b6ae1014d5) ) @@ -4213,7 +4137,7 @@ ROM_START( kbash ) ROM_REGION( 0x8000, "audiocpu", 0 ) /* Sound CPU code */ ROM_LOAD( "tp023_02.bin", 0x0000, 0x8000, CRC(4cd882a1) SHA1(7199a5c384918f775f0815e09c46b2a58141814a) ) - ROM_REGION( 0x800000, "gfx1", 0 ) + ROM_REGION( 0x800000, "gp9001", 0 ) ROM_LOAD( "tp023_3.bin", 0x000000, 0x200000, CRC(32ad508b) SHA1(e473489beaf649d3e5236770eb043327e309850c) ) ROM_LOAD( "tp023_5.bin", 0x200000, 0x200000, CRC(b84c90eb) SHA1(17a1531d884d9a9696d1b25d65f9155f02396e0e) ) ROM_LOAD( "tp023_4.bin", 0x400000, 0x200000, CRC(e493c077) SHA1(0edcfb70483ad07206695d9283031b85cd198a36) ) @@ -4268,7 +4192,7 @@ ROM_START( kbash2 ) ROM_REGION( 0x80000, "maincpu", 0 ) /* Main 68K code */ ROM_LOAD16_WORD_SWAP( "mecat-m", 0x000000, 0x80000, CRC(bd2263c6) SHA1(eb794c0fc9c1fb4337114d48149283d42d22e4b3) ) - ROM_REGION( 0x800000, "gfx1", 0 ) + ROM_REGION( 0x800000, "gp9001", 0 ) ROM_LOAD( "mecat-34", 0x000000, 0x400000, CRC(6be7b37e) SHA1(13160ad0712fee932bb98cc226e651895b19228a) ) ROM_LOAD( "mecat-12", 0x400000, 0x400000, CRC(49e46b1f) SHA1(d12b12696a8473eb34f3cd247ab060289a6c0e9c) ) @@ -4288,7 +4212,7 @@ ROM_START( truxton2 ) /* program ROM is byte swapped ! */ ROM_LOAD16_WORD( "tp024_1.bin", 0x000000, 0x080000, CRC(f5cfe6ee) SHA1(30979888a4cd6500244117748f28386a7e20a169) ) - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD( "tp024_4.bin", 0x000000, 0x100000, CRC(805c449e) SHA1(fdf985344145bd320b88b9b0c25e73066c9b2ada) ) ROM_LOAD( "tp024_3.bin", 0x100000, 0x100000, CRC(47587164) SHA1(bac493e2d5507286b984957b289c929335d27eaa) ) @@ -4305,7 +4229,7 @@ ROM_START( pipibibs ) ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound Z80 code */ ROM_LOAD( "tp025-5.bin", 0x0000, 0x8000, CRC(bf8ffde5) SHA1(79c09cc9a0ea979f5af5a7e5ad671ea486f5f43e) ) - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD( "tp025-4.bin", 0x000000, 0x100000, CRC(ab97f744) SHA1(c1620e614345dbd5c6567e4cb6f55c61b900d0ee) ) ROM_LOAD( "tp025-3.bin", 0x100000, 0x100000, CRC(7b16101e) SHA1(ae0119bbfa0937d18c4fbb0a3ef7cdc3b9fa6b56) ) ROM_END @@ -4319,7 +4243,7 @@ ROM_START( pipibibsa ) ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound Z80 code */ ROM_LOAD( "tp025-5.bin", 0x0000, 0x8000, CRC(bf8ffde5) SHA1(79c09cc9a0ea979f5af5a7e5ad671ea486f5f43e) ) - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD( "tp025-4.bin", 0x000000, 0x100000, CRC(ab97f744) SHA1(c1620e614345dbd5c6567e4cb6f55c61b900d0ee) ) ROM_LOAD( "tp025-3.bin", 0x100000, 0x100000, CRC(7b16101e) SHA1(ae0119bbfa0937d18c4fbb0a3ef7cdc3b9fa6b56) ) ROM_END @@ -4334,7 +4258,7 @@ ROM_START( whoopee ) /* sound CPU is a HD647180 (Z180) with internal ROM - not yet supported */ ROM_LOAD( "hd647180.025", 0x00000, 0x08000, NO_DUMP ) - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD( "tp025-4.bin", 0x000000, 0x100000, CRC(ab97f744) SHA1(c1620e614345dbd5c6567e4cb6f55c61b900d0ee) ) ROM_LOAD( "tp025-3.bin", 0x100000, 0x100000, CRC(7b16101e) SHA1(ae0119bbfa0937d18c4fbb0a3ef7cdc3b9fa6b56) ) ROM_END @@ -4348,7 +4272,7 @@ ROM_START( pipibibsp ) ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound Z80 code */ ROM_LOAD( "pip_snd", 0x0000, 0x8000, CRC(8ebf183b) SHA1(602b138c85b02d121d007f6788b322aa107c7d91) ) - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD( "cg_01_l", 0x000000, 0x080000, CRC(21d1ef46) SHA1(d7ccbe56eb08be421c241065cbaa99cc9cca4d73) ) ROM_LOAD( "cg_01_h", 0x080000, 0x080000, CRC(d5726328) SHA1(26401ba8ce22fda161306b91d70afefa959cde8c) ) ROM_LOAD( "cg_23_l", 0x100000, 0x080000, CRC(114d41d0) SHA1(d1166d495d92c6082fffbed422deb7605c5a41a2) ) @@ -4364,7 +4288,7 @@ ROM_START( pipibibsbl ) /* Based off the proto code. */ ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound Z80 code */ ROM_LOAD( "ppbb08.bin", 0x0000, 0x8000, CRC(101c0358) SHA1(162e02d00b7bdcdd3b48a0cd0527b7428435ec50) ) - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) /* GFX data differs slightly from Toaplan boards ??? */ ROM_LOAD16_BYTE( "ppbb01.bin", 0x000000, 0x080000, CRC(0fcae44b) SHA1(ac72bc79e3a5d0a81647c312d310d00ace017272) ) ROM_LOAD16_BYTE( "ppbb02.bin", 0x000001, 0x080000, CRC(8bfcdf87) SHA1(4537a7d646d3014f069c6fd0be457bb32e2f18ac) ) @@ -4379,7 +4303,7 @@ ROM_END #define ROMS_FIXEIGHT \ ROM_REGION( 0x080000, "maincpu", 0 ) \ ROM_LOAD16_WORD_SWAP( "tp-026-1", 0x000000, 0x080000, CRC(f7b1746a) SHA1(0bbea6f111b818bc9b9b2060af4fe900f37cf7f9) ) \ - ROM_REGION( 0x400000, "gfx1", 0 ) \ + ROM_REGION( 0x400000, "gp9001", 0 ) \ ROM_LOAD( "tp-026-3", 0x000000, 0x200000, CRC(e5578d98) SHA1(280d2b716d955e767d311fc9596823852435b6d7) ) \ ROM_LOAD( "tp-026-4", 0x200000, 0x200000, CRC(b760cb53) SHA1(bc9c5e49e45cdda0f774be0038aa4deb21d4d285) ) \ ROM_REGION( 0x40000, "oki", 0 ) \ @@ -4513,11 +4437,11 @@ ROM_START( fixeightbl ) ROM_LOAD16_BYTE( "3.bin", 0x000000, 0x80000, CRC(cc77d4b4) SHA1(4d3376cbae13d90c6314d8bb9236c2183fc6253c) ) ROM_LOAD16_BYTE( "2.bin", 0x000001, 0x80000, CRC(ed715488) SHA1(37be9bc8ff6b54a1f660d89469c6c2da6301e9cd) ) - ROM_REGION( 0x400000, "gfx1", 0 ) + ROM_REGION( 0x400000, "gp9001", 0 ) ROM_LOAD( "tp-026-3", 0x000000, 0x200000, CRC(e5578d98) SHA1(280d2b716d955e767d311fc9596823852435b6d7) ) ROM_LOAD( "tp-026-4", 0x200000, 0x200000, CRC(b760cb53) SHA1(bc9c5e49e45cdda0f774be0038aa4deb21d4d285) ) - ROM_REGION( 0x08000, "gfx2", 0) + ROM_REGION( 0x08000, "text", 0) ROM_LOAD( "4.bin", 0x00000, 0x08000, CRC(a6aca465) SHA1(2b331faeee1832e0adc5218254a99d66331862c6) ) ROM_REGION( 0x80000, "oki", 0 ) /* ADPCM Samples */ @@ -4535,7 +4459,7 @@ ROM_START( grindstm ) /* Secondary CPU is a Toaplan marked chip, (TS-007-Spy TOA PLAN) */ /* It's a NEC V25 (PLCC94) (encrypted program uploaded by main CPU) */ - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD( "tp027_02.bin", 0x000000, 0x100000, CRC(877b45e8) SHA1(b3ed8d8dbbe51a1919afc55d619d2b6771971493) ) ROM_LOAD( "tp027_03.bin", 0x100000, 0x100000, CRC(b1fc6362) SHA1(5e97e3cce31be57689d394a50178cda4d80cce5f) ) ROM_END @@ -4548,7 +4472,7 @@ ROM_START( grindstma ) /* Secondary CPU is a Toaplan marked chip, (TS-007-Spy TOA PLAN) */ /* It's a NEC V25 (PLCC94) (encrypted program uploaded by main CPU) */ - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD( "tp027_02.bin", 0x000000, 0x100000, CRC(877b45e8) SHA1(b3ed8d8dbbe51a1919afc55d619d2b6771971493) ) ROM_LOAD( "tp027_03.bin", 0x100000, 0x100000, CRC(b1fc6362) SHA1(5e97e3cce31be57689d394a50178cda4d80cce5f) ) ROM_END @@ -4561,7 +4485,7 @@ ROM_START( vfive ) /* Secondary CPU is a Toaplan marked chip, (TS-007-Spy TOA PLAN) */ /* It's a NEC V25 (PLCC94) (encrypted program uploaded by main CPU) */ - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD( "tp027_02.bin", 0x000000, 0x100000, CRC(877b45e8) SHA1(b3ed8d8dbbe51a1919afc55d619d2b6771971493) ) ROM_LOAD( "tp027_03.bin", 0x100000, 0x100000, CRC(b1fc6362) SHA1(5e97e3cce31be57689d394a50178cda4d80cce5f) ) ROM_END @@ -4574,13 +4498,13 @@ ROM_START( batsugun ) /* Secondary CPU is a Toaplan marked chip, (TS-007-Spy TOA PLAN) */ /* It's a NEC V25 (PLCC94) (program uploaded by main CPU) */ - ROM_REGION( 0x400000, "gfx1", 0 ) + ROM_REGION( 0x400000, "gp9001", 0 ) ROM_LOAD( "tp030_3l.bin", 0x000000, 0x100000, CRC(3024b793) SHA1(e161db940f069279356fca2c5bf2753f07773705) ) ROM_LOAD( "tp030_3h.bin", 0x100000, 0x100000, CRC(ed75730b) SHA1(341f0f728144a049486d996c9bb14078578c6879) ) ROM_LOAD( "tp030_4l.bin", 0x200000, 0x100000, CRC(fedb9861) SHA1(4b0917056bd359b21935358c6bcc729262be6417) ) ROM_LOAD( "tp030_4h.bin", 0x300000, 0x100000, CRC(d482948b) SHA1(31be7dc5cff072403b783bf203b9805ffcad7284) ) - ROM_REGION( 0x200000, "gfx2", 0 ) + ROM_REGION( 0x200000, "gp9001_1", 0 ) ROM_LOAD( "tp030_5.bin", 0x000000, 0x100000, CRC(bcf5ba05) SHA1(40f98888a29cdd30cda5dfb60fdc667c69b0fdb0) ) ROM_LOAD( "tp030_6.bin", 0x100000, 0x100000, CRC(0666fecd) SHA1(aa8f921fc51590b5b05bbe0b0ad0cce5ff359c64) ) @@ -4600,13 +4524,13 @@ ROM_START( batsuguna ) /* Secondary CPU is a Toaplan marked chip, (TS-007-Spy TOA PLAN) */ /* It's a NEC V25 (PLCC94) (program uploaded by main CPU) */ - ROM_REGION( 0x400000, "gfx1", 0 ) + ROM_REGION( 0x400000, "gp9001", 0 ) ROM_LOAD( "tp030_3l.bin", 0x000000, 0x100000, CRC(3024b793) SHA1(e161db940f069279356fca2c5bf2753f07773705) ) ROM_LOAD( "tp030_3h.bin", 0x100000, 0x100000, CRC(ed75730b) SHA1(341f0f728144a049486d996c9bb14078578c6879) ) ROM_LOAD( "tp030_4l.bin", 0x200000, 0x100000, CRC(fedb9861) SHA1(4b0917056bd359b21935358c6bcc729262be6417) ) ROM_LOAD( "tp030_4h.bin", 0x300000, 0x100000, CRC(d482948b) SHA1(31be7dc5cff072403b783bf203b9805ffcad7284) ) - ROM_REGION( 0x200000, "gfx2", 0 ) + ROM_REGION( 0x200000, "gp9001_1", 0 ) ROM_LOAD( "tp030_5.bin", 0x000000, 0x100000, CRC(bcf5ba05) SHA1(40f98888a29cdd30cda5dfb60fdc667c69b0fdb0) ) ROM_LOAD( "tp030_6.bin", 0x100000, 0x100000, CRC(0666fecd) SHA1(aa8f921fc51590b5b05bbe0b0ad0cce5ff359c64) ) @@ -4625,13 +4549,13 @@ ROM_START( batsugunsp ) /* Secondary CPU is a Toaplan marked chip, (TS-007-Spy TOA PLAN) */ /* It's a NEC V25 (PLCC94) (program uploaded by main CPU) */ - ROM_REGION( 0x400000, "gfx1", 0 ) + ROM_REGION( 0x400000, "gp9001", 0 ) ROM_LOAD( "tp030_3l.bin", 0x000000, 0x100000, CRC(3024b793) SHA1(e161db940f069279356fca2c5bf2753f07773705) ) ROM_LOAD( "tp030_3h.bin", 0x100000, 0x100000, CRC(ed75730b) SHA1(341f0f728144a049486d996c9bb14078578c6879) ) ROM_LOAD( "tp030_4l.bin", 0x200000, 0x100000, CRC(fedb9861) SHA1(4b0917056bd359b21935358c6bcc729262be6417) ) ROM_LOAD( "tp030_4h.bin", 0x300000, 0x100000, CRC(d482948b) SHA1(31be7dc5cff072403b783bf203b9805ffcad7284) ) - ROM_REGION( 0x200000, "gfx2", 0 ) + ROM_REGION( 0x200000, "gp9001_1", 0 ) ROM_LOAD( "tp030_5.bin", 0x000000, 0x100000, CRC(bcf5ba05) SHA1(40f98888a29cdd30cda5dfb60fdc667c69b0fdb0) ) ROM_LOAD( "tp030_6.bin", 0x100000, 0x100000, CRC(0666fecd) SHA1(aa8f921fc51590b5b05bbe0b0ad0cce5ff359c64) ) @@ -4647,7 +4571,7 @@ ROM_START( pwrkick ) ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_WORD_SWAP( "1.u61", 0x000000, 0x080000, CRC(118b5899) SHA1(7a1637a63eb17e3892d79aede5730013a1dc00f9) ) - ROM_REGION( 0x100000, "gfx1", ROMREGION_ERASE00 ) + ROM_REGION( 0x100000, "gp9001", ROMREGION_ERASE00 ) ROM_LOAD( "2.u26", 0x000000, 0x080000, CRC(a190eaea) SHA1(2c7b8c8026873e0f591fbcbc2e72b196ef84e162) ) ROM_LOAD( "3.u27", 0x080000, 0x080000, CRC(0b81e038) SHA1(8376617ae519a8ef604f20b26e941aa5b8066602) ) @@ -4659,7 +4583,7 @@ ROM_START( othldrby ) ROM_REGION( 0x080000, "maincpu", 0 ) ROM_LOAD16_WORD_SWAP( "db0.1", 0x00000, 0x80000, CRC(6b4008d3) SHA1(4cf838c47563ba482be8364b2e115569a4a06c83) ) - ROM_REGION( 0x400000, "gfx1", 0 ) + ROM_REGION( 0x400000, "gp9001", 0 ) ROM_LOAD( "db0-r2", 0x000000, 0x200000, CRC(4efff265) SHA1(4cd239ff42f532495946cb52bd1fee412f84e192) ) ROM_LOAD( "db0-r3", 0x200000, 0x200000, CRC(5c142b38) SHA1(5466a8b061a0f2545493de0f96fd4387beea276a) ) @@ -4671,7 +4595,7 @@ ROM_START( snowbro2 ) ROM_REGION( 0x080000, "maincpu", 0 ) /* Main 68K code */ ROM_LOAD16_WORD_SWAP( "pro-4", 0x000000, 0x080000, CRC(4c7ee341) SHA1(ad46c605a38565d0148daac301be4e4b72302fe7) ) - ROM_REGION( 0x300000, "gfx1", 0 ) + ROM_REGION( 0x300000, "gp9001", 0 ) ROM_LOAD( "rom2-l", 0x000000, 0x100000, CRC(e9d366a9) SHA1(e87e3966fce3395324b90db6c134b3345104c04b) ) ROM_LOAD( "rom2-h", 0x100000, 0x080000, CRC(9aab7a62) SHA1(611f6a15fdbac5d3063426a365538c1482e996bf) ) ROM_LOAD( "rom3-l", 0x180000, 0x100000, CRC(eb06e332) SHA1(7cd597bfffc153d178530c0f0903bebd751c9dd1) ) @@ -4686,7 +4610,7 @@ ROM_START( snowbro2b ) // seems to be the same data as the main set, but with th ROM_LOAD16_BYTE( "sb2-prg1.u39", 0x000000, 0x040000, CRC(e1fec8a2) SHA1(30c1a351070d784da9ba0dca68be8a262dba2045) ) ROM_LOAD16_BYTE( "sb2-prg0.u23", 0x000001, 0x040000, CRC(b473cd57) SHA1(331130faa9de01b3ca93845174e8c3684bd269c7) ) - ROM_REGION( 0x400000, "gfx1", 0 ) + ROM_REGION( 0x400000, "gp9001", 0 ) ROM_LOAD( "sb2-gfx.u177", 0x000000, 0x200000, CRC(ebeec910) SHA1(e179f393b98135caa8419b68cd979038ab47a413) ) ROM_LOAD( "sb2-gfx.u175", 0x200000, 0x200000, CRC(e349c75b) SHA1(7d40d00fc0e15a68c427fe94db410bb7cbe00117) ) @@ -4731,11 +4655,11 @@ ROM_START( sstriker ) ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound Z80 code */ ROM_LOAD( "ra-ma-01_02.u66", 0x00000, 0x10000, CRC(eabfa46d) SHA1(402c99ebf88f9025f74f0a28ced22b7882a65eb3) ) - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD( "ra-ma01-rom2.u2", 0x000000, 0x100000, CRC(54e2bd95) SHA1(341359dd46152615675bb90e8a184216c8feebff) ) ROM_LOAD( "ra-ma01-rom3.u1", 0x100000, 0x100000, CRC(21cd378f) SHA1(e1695bccec949d18b1c03e9c42dca384554b0d7c) ) - ROM_REGION( 0x008000, "gfx2", 0 ) + ROM_REGION( 0x008000, "text", 0 ) ROM_LOAD( "ra-ma-01_05.u81", 0x000000, 0x008000, CRC(88b58841) SHA1(1d16b538c11a291bd1f46a510bfbd6259b45a0b5) ) ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM Samples */ @@ -4750,11 +4674,11 @@ ROM_START( sstrikera ) ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound Z80 code */ ROM_LOAD( "ra-ma-01_02.u66", 0x00000, 0x10000, CRC(eabfa46d) SHA1(402c99ebf88f9025f74f0a28ced22b7882a65eb3) ) - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD( "ra-ma01-rom2.u2", 0x000000, 0x100000, CRC(54e2bd95) SHA1(341359dd46152615675bb90e8a184216c8feebff) ) ROM_LOAD( "ra-ma01-rom3.u1", 0x100000, 0x100000, CRC(21cd378f) SHA1(e1695bccec949d18b1c03e9c42dca384554b0d7c) ) - ROM_REGION( 0x008000, "gfx2", 0 ) + ROM_REGION( 0x008000, "text", 0 ) ROM_LOAD( "ra-ma-01_05.u81", 0x000000, 0x008000, CRC(88b58841) SHA1(1d16b538c11a291bd1f46a510bfbd6259b45a0b5) ) ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM Samples */ @@ -4769,11 +4693,11 @@ ROM_START( mahoudai ) ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound Z80 code */ ROM_LOAD( "ra-ma-01_02.u66", 0x00000, 0x10000, CRC(eabfa46d) SHA1(402c99ebf88f9025f74f0a28ced22b7882a65eb3) ) - ROM_REGION( 0x200000, "gfx1", 0 ) + ROM_REGION( 0x200000, "gp9001", 0 ) ROM_LOAD( "ra-ma01-rom2.u2", 0x000000, 0x100000, CRC(54e2bd95) SHA1(341359dd46152615675bb90e8a184216c8feebff) ) ROM_LOAD( "ra-ma01-rom3.u1", 0x100000, 0x100000, CRC(21cd378f) SHA1(e1695bccec949d18b1c03e9c42dca384554b0d7c) ) - ROM_REGION( 0x008000, "gfx2", 0 ) + ROM_REGION( 0x008000, "text", 0 ) ROM_LOAD( "ra_ma_01_05.u81", 0x000000, 0x008000, CRC(c00d1e80) SHA1(53e64c4c0c6309130b37597d13b44a9e95b717d8) ) ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM Samples */ @@ -4789,11 +4713,11 @@ ROM_START( kingdmgp ) ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound Z80 code */ ROM_LOAD( "ma02rom2.bin", 0x00000, 0x10000, CRC(dde8a57e) SHA1(f522a3f17e229c71512464349760a9e27778bf6a) ) - ROM_REGION( 0x400000, "gfx1", 0 ) + ROM_REGION( 0x400000, "gp9001", 0 ) ROM_LOAD( "ma02rom3.bin", 0x000000, 0x200000, CRC(0e797142) SHA1(a480ccd151e49b886d3175a6deff56e1f2c26c3e) ) ROM_LOAD( "ma02rom4.bin", 0x200000, 0x200000, CRC(72a6fa53) SHA1(ce92e65205b84361cfb90305a61e9541b5c4dc2f) ) - ROM_REGION( 0x008000, "gfx2", 0 ) + ROM_REGION( 0x008000, "text", 0 ) ROM_LOAD( "ma02rom5.eng", 0x000000, 0x008000, CRC(8c28460b) SHA1(0aed170762f6044896a7e608df60bbd37c583a71) ) ROM_REGION( 0x80000, "oki", 0 ) /* ADPCM Samples */ @@ -4809,11 +4733,11 @@ ROM_START( shippumd ) ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound Z80 code */ ROM_LOAD( "ma02rom2.bin", 0x00000, 0x10000, CRC(dde8a57e) SHA1(f522a3f17e229c71512464349760a9e27778bf6a) ) - ROM_REGION( 0x400000, "gfx1", 0 ) + ROM_REGION( 0x400000, "gp9001", 0 ) ROM_LOAD( "ma02rom3.bin", 0x000000, 0x200000, CRC(0e797142) SHA1(a480ccd151e49b886d3175a6deff56e1f2c26c3e) ) ROM_LOAD( "ma02rom4.bin", 0x200000, 0x200000, CRC(72a6fa53) SHA1(ce92e65205b84361cfb90305a61e9541b5c4dc2f) ) - ROM_REGION( 0x008000, "gfx2", 0 ) + ROM_REGION( 0x008000, "text", 0 ) ROM_LOAD( "ma02rom5.bin", 0x000000, 0x008000, CRC(116ae559) SHA1(4cc2d2a23cc0aefd457111b7990e47184e79204c) ) ROM_REGION( 0x80000, "oki", 0 ) /* ADPCM Samples */ @@ -4829,13 +4753,13 @@ ROM_START( bgaregga ) ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.bin", 0x00000, 0x20000, CRC(68632952) SHA1(fb834db83157948e2b420b6051102a9c6ac3969b) ) - ROM_REGION( 0x800000, "gfx1", 0 ) + ROM_REGION( 0x800000, "gp9001", 0 ) ROM_LOAD( "rom4.bin", 0x000000, 0x200000, CRC(b333d81f) SHA1(5481465f1304334fd55798be2f44324c57c2dbcb) ) ROM_LOAD( "rom3.bin", 0x200000, 0x200000, CRC(51b9ebfb) SHA1(30e0c326f5175aa436df8dba08f6f4e08130b92f) ) ROM_LOAD( "rom2.bin", 0x400000, 0x200000, CRC(b330e5e2) SHA1(5d48e9d56f99d093b6390e0af1609fd796df2d35) ) ROM_LOAD( "rom1.bin", 0x600000, 0x200000, CRC(7eafdd70) SHA1(7c8da8e86c3f9491719b1d7d5d285568d7614f38) ) - ROM_REGION( 0x010000, "gfx2", 0 ) + ROM_REGION( 0x010000, "text", 0 ) ROM_LOAD( "text.u81", 0x00000, 0x08000, CRC(e67fd534) SHA1(987d0edffc2c243a13d4567319ea3d185eaadbf8) ) ROM_REGION( 0x140000, "oki", 0 ) /* ADPCM Samples */ @@ -4851,13 +4775,13 @@ ROM_START( bgareggahk ) ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.bin", 0x00000, 0x20000, CRC(68632952) SHA1(fb834db83157948e2b420b6051102a9c6ac3969b) ) - ROM_REGION( 0x800000, "gfx1", 0 ) + ROM_REGION( 0x800000, "gp9001", 0 ) ROM_LOAD( "rom4.bin", 0x000000, 0x200000, CRC(b333d81f) SHA1(5481465f1304334fd55798be2f44324c57c2dbcb) ) ROM_LOAD( "rom3.bin", 0x200000, 0x200000, CRC(51b9ebfb) SHA1(30e0c326f5175aa436df8dba08f6f4e08130b92f) ) ROM_LOAD( "rom2.bin", 0x400000, 0x200000, CRC(b330e5e2) SHA1(5d48e9d56f99d093b6390e0af1609fd796df2d35) ) ROM_LOAD( "rom1.bin", 0x600000, 0x200000, CRC(7eafdd70) SHA1(7c8da8e86c3f9491719b1d7d5d285568d7614f38) ) - ROM_REGION( 0x010000, "gfx2", 0 ) + ROM_REGION( 0x010000, "text", 0 ) ROM_LOAD( "text.u81", 0x00000, 0x08000, CRC(e67fd534) SHA1(987d0edffc2c243a13d4567319ea3d185eaadbf8) ) ROM_REGION( 0x140000, "oki", 0 ) /* ADPCM Samples */ @@ -4873,13 +4797,13 @@ ROM_START( bgareggatw ) ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.bin", 0x00000, 0x20000, CRC(68632952) SHA1(fb834db83157948e2b420b6051102a9c6ac3969b) ) - ROM_REGION( 0x800000, "gfx1", 0 ) + ROM_REGION( 0x800000, "gp9001", 0 ) ROM_LOAD( "rom4.bin", 0x000000, 0x200000, CRC(b333d81f) SHA1(5481465f1304334fd55798be2f44324c57c2dbcb) ) ROM_LOAD( "rom3.bin", 0x200000, 0x200000, CRC(51b9ebfb) SHA1(30e0c326f5175aa436df8dba08f6f4e08130b92f) ) ROM_LOAD( "rom2.bin", 0x400000, 0x200000, CRC(b330e5e2) SHA1(5d48e9d56f99d093b6390e0af1609fd796df2d35) ) ROM_LOAD( "rom1.bin", 0x600000, 0x200000, CRC(7eafdd70) SHA1(7c8da8e86c3f9491719b1d7d5d285568d7614f38) ) - ROM_REGION( 0x010000, "gfx2", 0 ) + ROM_REGION( 0x010000, "text", 0 ) ROM_LOAD( "text.u81", 0x00000, 0x08000, CRC(e67fd534) SHA1(987d0edffc2c243a13d4567319ea3d185eaadbf8) ) ROM_REGION( 0x140000, "oki", 0 ) /* ADPCM Samples */ @@ -4895,13 +4819,13 @@ ROM_START( bgaregganv ) ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.bin", 0x00000, 0x20000, CRC(68632952) SHA1(fb834db83157948e2b420b6051102a9c6ac3969b) ) - ROM_REGION( 0x800000, "gfx1", 0 ) + ROM_REGION( 0x800000, "gp9001", 0 ) ROM_LOAD( "rom4.bin", 0x000000, 0x200000, CRC(b333d81f) SHA1(5481465f1304334fd55798be2f44324c57c2dbcb) ) ROM_LOAD( "rom3.bin", 0x200000, 0x200000, CRC(51b9ebfb) SHA1(30e0c326f5175aa436df8dba08f6f4e08130b92f) ) ROM_LOAD( "rom2.bin", 0x400000, 0x200000, CRC(b330e5e2) SHA1(5d48e9d56f99d093b6390e0af1609fd796df2d35) ) ROM_LOAD( "rom1.bin", 0x600000, 0x200000, CRC(7eafdd70) SHA1(7c8da8e86c3f9491719b1d7d5d285568d7614f38) ) - ROM_REGION( 0x010000, "gfx2", 0 ) + ROM_REGION( 0x010000, "text", 0 ) ROM_LOAD( "text.u81", 0x00000, 0x08000, CRC(e67fd534) SHA1(987d0edffc2c243a13d4567319ea3d185eaadbf8) ) ROM_REGION( 0x140000, "oki", 0 ) /* ADPCM Samples */ @@ -4917,13 +4841,13 @@ ROM_START( bgareggat2 ) ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.bin", 0x00000, 0x20000, CRC(68632952) SHA1(fb834db83157948e2b420b6051102a9c6ac3969b) ) - ROM_REGION( 0x800000, "gfx1", 0 ) + ROM_REGION( 0x800000, "gp9001", 0 ) ROM_LOAD( "rom4.bin", 0x000000, 0x200000, CRC(b333d81f) SHA1(5481465f1304334fd55798be2f44324c57c2dbcb) ) ROM_LOAD( "rom3.bin", 0x200000, 0x200000, CRC(51b9ebfb) SHA1(30e0c326f5175aa436df8dba08f6f4e08130b92f) ) ROM_LOAD( "rom2.bin", 0x400000, 0x200000, CRC(b330e5e2) SHA1(5d48e9d56f99d093b6390e0af1609fd796df2d35) ) ROM_LOAD( "rom1.bin", 0x600000, 0x200000, CRC(7eafdd70) SHA1(7c8da8e86c3f9491719b1d7d5d285568d7614f38) ) - ROM_REGION( 0x010000, "gfx2", 0 ) + ROM_REGION( 0x010000, "text", 0 ) ROM_LOAD( "text.u81", 0x00000, 0x08000, CRC(e67fd534) SHA1(987d0edffc2c243a13d4567319ea3d185eaadbf8) ) ROM_REGION( 0x140000, "oki", 0 ) /* ADPCM Samples */ @@ -4939,13 +4863,13 @@ ROM_START( bgareggacn ) ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.bin", 0x00000, 0x20000, CRC(68632952) SHA1(fb834db83157948e2b420b6051102a9c6ac3969b) ) - ROM_REGION( 0x800000, "gfx1", 0 ) + ROM_REGION( 0x800000, "gp9001", 0 ) ROM_LOAD( "rom4.bin", 0x000000, 0x200000, CRC(b333d81f) SHA1(5481465f1304334fd55798be2f44324c57c2dbcb) ) ROM_LOAD( "rom3.bin", 0x200000, 0x200000, CRC(51b9ebfb) SHA1(30e0c326f5175aa436df8dba08f6f4e08130b92f) ) ROM_LOAD( "rom2.bin", 0x400000, 0x200000, CRC(b330e5e2) SHA1(5d48e9d56f99d093b6390e0af1609fd796df2d35) ) ROM_LOAD( "rom1.bin", 0x600000, 0x200000, CRC(7eafdd70) SHA1(7c8da8e86c3f9491719b1d7d5d285568d7614f38) ) - ROM_REGION( 0x010000, "gfx2", 0 ) + ROM_REGION( 0x010000, "text", 0 ) ROM_LOAD( "text.u81", 0x00000, 0x08000, CRC(e67fd534) SHA1(987d0edffc2c243a13d4567319ea3d185eaadbf8) ) ROM_REGION( 0x140000, "oki", 0 ) /* ADPCM Samples */ @@ -4960,11 +4884,11 @@ ROM_START( bgareggabl ) ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.bin", 0x00000, 0x20000, CRC(68632952) SHA1(fb834db83157948e2b420b6051102a9c6ac3969b) ) - ROM_REGION( 0x800000, "gfx1", 0 ) + ROM_REGION( 0x800000, "gp9001", 0 ) ROM_LOAD( "6#-322", 0x000000, 0x400000, CRC(37fe48ed) SHA1(ded5d13c33b4582310cdfb3dd52c052f741c00c5) ) /* == rom4.bin+rom3.bin */ ROM_LOAD( "5#-322", 0x400000, 0x400000, CRC(5a06c031) SHA1(ee241ff90117cec1f33ab163601a9d5c75609739) ) /* == rom2.bin+rom1.bin */ - ROM_REGION( 0x010000, "gfx2", 0 ) + ROM_REGION( 0x010000, "text", 0 ) ROM_LOAD( "1#-256", 0x00000, 0x08000, CRC(760dcd14) SHA1(e151e5d7ca5557277f306b9484ec021f4edf1e07) ) ROM_LOAD( "2#-256", 0x08000, 0x08000, CRC(456dd16e) SHA1(84779ee64d3ea33ba1ba4dee39b504a81c6811a1) ) @@ -5050,7 +4974,7 @@ ROM_START( batrider ) ROM_REGION( 0x40000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.u77", 0x00000, 0x40000, CRC(56682696) SHA1(a372450d9a6d535123dfc31d8116074b168ab646) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) + ROM_REGION( 0x1000000, "gp9001", 0 ) ROM_LOAD( "rom-1.bin", 0x000000, 0x400000, CRC(0df69ca2) SHA1(49670347ebd7e1067ff988cf842b275b7ee7b5f7) ) ROM_LOAD( "rom-3.bin", 0x400000, 0x400000, CRC(60167d38) SHA1(fd2429808c59ef51fd5f5db84ea89a8dc504186e) ) ROM_LOAD( "rom-2.bin", 0x800000, 0x400000, CRC(1bfea593) SHA1(ce06dc3097ae56b0df56d104bbf7efc9b5d968d4) ) @@ -5074,7 +4998,7 @@ ROM_START( batrideru ) ROM_REGION( 0x40000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.u77", 0x00000, 0x40000, CRC(56682696) SHA1(a372450d9a6d535123dfc31d8116074b168ab646) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) + ROM_REGION( 0x1000000, "gp9001", 0 ) ROM_LOAD( "rom-1.bin", 0x000000, 0x400000, CRC(0df69ca2) SHA1(49670347ebd7e1067ff988cf842b275b7ee7b5f7) ) ROM_LOAD( "rom-3.bin", 0x400000, 0x400000, CRC(60167d38) SHA1(fd2429808c59ef51fd5f5db84ea89a8dc504186e) ) ROM_LOAD( "rom-2.bin", 0x800000, 0x400000, CRC(1bfea593) SHA1(ce06dc3097ae56b0df56d104bbf7efc9b5d968d4) ) @@ -5098,7 +5022,7 @@ ROM_START( batriderc ) ROM_REGION( 0x40000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.u77", 0x00000, 0x40000, CRC(56682696) SHA1(a372450d9a6d535123dfc31d8116074b168ab646) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) + ROM_REGION( 0x1000000, "gp9001", 0 ) ROM_LOAD( "rom-1.bin", 0x000000, 0x400000, CRC(0df69ca2) SHA1(49670347ebd7e1067ff988cf842b275b7ee7b5f7) ) ROM_LOAD( "rom-3.bin", 0x400000, 0x400000, CRC(60167d38) SHA1(fd2429808c59ef51fd5f5db84ea89a8dc504186e) ) ROM_LOAD( "rom-2.bin", 0x800000, 0x400000, CRC(1bfea593) SHA1(ce06dc3097ae56b0df56d104bbf7efc9b5d968d4) ) @@ -5122,7 +5046,7 @@ ROM_START( batriderj ) ROM_REGION( 0x40000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.u77", 0x00000, 0x40000, CRC(56682696) SHA1(a372450d9a6d535123dfc31d8116074b168ab646) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) + ROM_REGION( 0x1000000, "gp9001", 0 ) ROM_LOAD( "rom-1.bin", 0x000000, 0x400000, CRC(0df69ca2) SHA1(49670347ebd7e1067ff988cf842b275b7ee7b5f7) ) ROM_LOAD( "rom-3.bin", 0x400000, 0x400000, CRC(60167d38) SHA1(fd2429808c59ef51fd5f5db84ea89a8dc504186e) ) ROM_LOAD( "rom-2.bin", 0x800000, 0x400000, CRC(1bfea593) SHA1(ce06dc3097ae56b0df56d104bbf7efc9b5d968d4) ) @@ -5146,7 +5070,7 @@ ROM_START( batriderk ) ROM_REGION( 0x40000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.u77", 0x00000, 0x40000, CRC(56682696) SHA1(a372450d9a6d535123dfc31d8116074b168ab646) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) + ROM_REGION( 0x1000000, "gp9001", 0 ) ROM_LOAD( "rom-1.bin", 0x000000, 0x400000, CRC(0df69ca2) SHA1(49670347ebd7e1067ff988cf842b275b7ee7b5f7) ) ROM_LOAD( "rom-3.bin", 0x400000, 0x400000, CRC(60167d38) SHA1(fd2429808c59ef51fd5f5db84ea89a8dc504186e) ) ROM_LOAD( "rom-2.bin", 0x800000, 0x400000, CRC(1bfea593) SHA1(ce06dc3097ae56b0df56d104bbf7efc9b5d968d4) ) @@ -5170,7 +5094,7 @@ ROM_START( batriderja ) ROM_REGION( 0x40000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.u77", 0x00000, 0x40000, CRC(56682696) SHA1(a372450d9a6d535123dfc31d8116074b168ab646) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) + ROM_REGION( 0x1000000, "gp9001", 0 ) ROM_LOAD( "rom-1.bin", 0x000000, 0x400000, CRC(0df69ca2) SHA1(49670347ebd7e1067ff988cf842b275b7ee7b5f7) ) ROM_LOAD( "rom-3.bin", 0x400000, 0x400000, CRC(60167d38) SHA1(fd2429808c59ef51fd5f5db84ea89a8dc504186e) ) ROM_LOAD( "rom-2.bin", 0x800000, 0x400000, CRC(1bfea593) SHA1(ce06dc3097ae56b0df56d104bbf7efc9b5d968d4) ) @@ -5194,7 +5118,7 @@ ROM_START( batridert ) ROM_REGION( 0x40000, "audiocpu", 0 ) /* Sound Z80 code + bank */ ROM_LOAD( "snd.u77", 0x00000, 0x40000, CRC(56682696) SHA1(a372450d9a6d535123dfc31d8116074b168ab646) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) + ROM_REGION( 0x1000000, "gp9001", 0 ) ROM_LOAD( "rom-1.bin", 0x000000, 0x400000, CRC(0df69ca2) SHA1(49670347ebd7e1067ff988cf842b275b7ee7b5f7) ) ROM_LOAD( "rom-3.bin", 0x400000, 0x400000, CRC(60167d38) SHA1(fd2429808c59ef51fd5f5db84ea89a8dc504186e) ) ROM_LOAD( "rom-2.bin", 0x800000, 0x400000, CRC(1bfea593) SHA1(ce06dc3097ae56b0df56d104bbf7efc9b5d968d4) ) @@ -5269,7 +5193,7 @@ ROM_START( bbakraid ) ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 code */ ROM_LOAD( "sndu0720.bin", 0x00000, 0x20000, CRC(e62ab246) SHA1(00d23689dd423ecd4024c58b5903d16e890f1dff) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) + ROM_REGION( 0x1000000, "gp9001", 0 ) ROM_LOAD( "gfxu0510.bin", 0x000000, 0x400000, CRC(9cca3446) SHA1(1123f8b8bfbe59a2c572cdf61f1ad27ff37f0f0d) ) ROM_LOAD( "gfxu0512.bin", 0x400000, 0x400000, CRC(a2a281d5) SHA1(d9a6623f9433ad682223f9780c26cd1523ebc5c5) ) ROM_LOAD( "gfxu0511.bin", 0x800000, 0x400000, CRC(e16472c0) SHA1(6068d679a8b3b65e05acd58a7ce9ead90177049f) ) @@ -5295,7 +5219,7 @@ ROM_START( bbakraidj ) ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 code */ ROM_LOAD( "sndu0720.bin", 0x00000, 0x20000, CRC(e62ab246) SHA1(00d23689dd423ecd4024c58b5903d16e890f1dff) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) + ROM_REGION( 0x1000000, "gp9001", 0 ) ROM_LOAD( "gfxu0510.bin", 0x000000, 0x400000, CRC(9cca3446) SHA1(1123f8b8bfbe59a2c572cdf61f1ad27ff37f0f0d) ) ROM_LOAD( "gfxu0512.bin", 0x400000, 0x400000, CRC(a2a281d5) SHA1(d9a6623f9433ad682223f9780c26cd1523ebc5c5) ) ROM_LOAD( "gfxu0511.bin", 0x800000, 0x400000, CRC(e16472c0) SHA1(6068d679a8b3b65e05acd58a7ce9ead90177049f) ) @@ -5321,7 +5245,7 @@ ROM_START( bbakraidja ) ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 code */ ROM_LOAD( "sndu0720.bin", 0x00000, 0x20000, CRC(e62ab246) SHA1(00d23689dd423ecd4024c58b5903d16e890f1dff) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) + ROM_REGION( 0x1000000, "gp9001", 0 ) ROM_LOAD( "gfxu0510.bin", 0x000000, 0x400000, CRC(9cca3446) SHA1(1123f8b8bfbe59a2c572cdf61f1ad27ff37f0f0d) ) ROM_LOAD( "gfxu0512.bin", 0x400000, 0x400000, CRC(a2a281d5) SHA1(d9a6623f9433ad682223f9780c26cd1523ebc5c5) ) ROM_LOAD( "gfxu0511.bin", 0x800000, 0x400000, CRC(e16472c0) SHA1(6068d679a8b3b65e05acd58a7ce9ead90177049f) ) diff --git a/src/mame/includes/toaplan2.h b/src/mame/includes/toaplan2.h index 2a22bcb6517..41e4b219a9d 100644 --- a/src/mame/includes/toaplan2.h +++ b/src/mame/includes/toaplan2.h @@ -32,8 +32,8 @@ public: m_mainram16(*this, "mainram16"), m_maincpu(*this, "maincpu"), m_audiocpu(*this, "audiocpu"), - m_vdp0(*this, "gp9001vdp0"), - m_vdp1(*this, "gp9001vdp1"), + m_vdp0(*this, "gp9001"), + m_vdp1(*this, "gp9001_1"), m_nmk112(*this, "nmk112"), m_oki(*this, "oki"), m_oki1(*this, "oki1"), @@ -61,12 +61,11 @@ public: optional_device m_oki1; optional_device m_eeprom; optional_device m_rtc; - required_device m_gfxdecode; + optional_device m_gfxdecode; required_device m_screen; required_device m_palette; UINT16 m_mcu_data; - UINT16 m_video_status; INT8 m_old_p1_paddle_h; /* For Ghox */ INT8 m_old_p2_paddle_h; UINT8 m_v25_reset_line; /* 0x20 for dogyuun/batsugun, 0x10 for vfive, 0x08 for fixeight */ diff --git a/src/mame/video/gp9001.c b/src/mame/video/gp9001.c index 7bd7e351a7b..a4d996ca24e 100644 --- a/src/mame/video/gp9001.c +++ b/src/mame/video/gp9001.c @@ -150,87 +150,74 @@ Pipi & Bibis | Fix Eight | V-Five | Snow Bros. 2 | WRITE16_MEMBER( gp9001vdp_device::gp9001_bg_tmap_w ) { - COMBINE_DATA(&bg.vram16[offset]); + COMBINE_DATA(&m_vram_bg[offset]); bg.tmap->mark_tile_dirty(offset/2); } WRITE16_MEMBER( gp9001vdp_device::gp9001_fg_tmap_w ) { - COMBINE_DATA(&fg.vram16[offset]); + COMBINE_DATA(&m_vram_fg[offset]); fg.tmap->mark_tile_dirty(offset/2); } WRITE16_MEMBER( gp9001vdp_device::gp9001_top_tmap_w ) { - COMBINE_DATA(&top.vram16[offset]); + COMBINE_DATA(&m_vram_top[offset]); top.tmap->mark_tile_dirty(offset/2); } -READ16_MEMBER( gp9001vdp_device::gp9001_bg_tmap_r ) -{ - return bg.vram16[offset]; -} -READ16_MEMBER( gp9001vdp_device::gp9001_fg_tmap_r ) -{ - return fg.vram16[offset]; -} - -READ16_MEMBER( gp9001vdp_device::gp9001_top_tmap_r ) -{ - return top.vram16[offset]; -} - -READ16_MEMBER( gp9001vdp_device::gp9001_spram_r ) -{ - return sp.vram16[offset]; -} - -WRITE16_MEMBER( gp9001vdp_device::gp9001_spram_w ) -{ - COMBINE_DATA(&sp.vram16[offset]); -} - -static ADDRESS_MAP_START( gp9001vdp_map, AS_0, 16, gp9001vdp_device ) - AM_RANGE(0x0000, 0x0fff) AM_READWRITE(gp9001_bg_tmap_r, gp9001_bg_tmap_w) - AM_RANGE(0x1000, 0x1fff) AM_READWRITE(gp9001_fg_tmap_r, gp9001_fg_tmap_w) - AM_RANGE(0x2000, 0x2fff) AM_READWRITE(gp9001_top_tmap_r, gp9001_top_tmap_w) - AM_RANGE(0x3000, 0x37ff) AM_READWRITE(gp9001_spram_r, gp9001_spram_w) +DEVICE_ADDRESS_MAP_START( map, 16, gp9001vdp_device ) + AM_RANGE(0x0000, 0x0fff) AM_RAM_WRITE(gp9001_bg_tmap_w) AM_SHARE("vram_bg") + AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(gp9001_fg_tmap_w) AM_SHARE("vram_fg") + AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(gp9001_top_tmap_w) AM_SHARE("vram_top") + AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram") AM_RANGE(0x3800, 0x3fff) AM_RAM // sprite mirror? ADDRESS_MAP_END +const gfx_layout gp9001vdp_device::tilelayout = +{ + 16,16, /* 16x16 */ + RGN_FRAC(1,2), /* Number of tiles */ + 4, /* 4 bits per pixel */ + { RGN_FRAC(1,2)+8, RGN_FRAC(1,2), 8, 0 }, + { 0, 1, 2, 3, 4, 5, 6, 7, + 8*16+0, 8*16+1, 8*16+2, 8*16+3, 8*16+4, 8*16+5, 8*16+6, 8*16+7 }, + { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16, + 16*16, 17*16, 18*16, 19*16, 20*16, 21*16, 22*16, 23*16 }, + 8*4*16 +}; + +const gfx_layout gp9001vdp_device::spritelayout = +{ + 8,8, /* 8x8 */ + RGN_FRAC(1,2), /* Number of 8x8 sprites */ + 4, /* 4 bits per pixel */ + { RGN_FRAC(1,2)+8, RGN_FRAC(1,2), 8, 0 }, + { 0, 1, 2, 3, 4, 5, 6, 7 }, + { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 }, + 8*16 +}; + +GFXDECODE_MEMBER( gp9001vdp_device::gfxinfo ) + GFXDECODE_DEVICE( DEVICE_SELF, 0, tilelayout, 0, 0x1000 ) + GFXDECODE_DEVICE( DEVICE_SELF, 0, spritelayout, 0, 0x1000 ) +GFXDECODE_END + + const device_type GP9001_VDP = &device_creator; gp9001vdp_device::gp9001vdp_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, GP9001_VDP, "GP9001 VDP", tag, owner, clock, "gp9001vdp", __FILE__), + device_gfx_interface(mconfig, *this, gfxinfo), device_video_interface(mconfig, *this), device_memory_interface(mconfig, *this), - m_space_config("gp9001vdp", ENDIANNESS_BIG, 16,14, 0, NULL, *ADDRESS_MAP_NAME(gp9001vdp_map)), - m_gfxregion(0), - m_gfxdecode(*this), - m_palette(*this) -{ -} - -//------------------------------------------------- -// static_set_gfxdecode_tag: Set the tag of the -// gfx decoder -//------------------------------------------------- - -void gp9001vdp_device::static_set_gfxdecode_tag(device_t &device, const char *tag) -{ - downcast(device).m_gfxdecode.set_tag(tag); -} - - -void gp9001vdp_device::static_set_gfx_region(device_t &device, int gfxregion) -{ - gp9001vdp_device &vdp = downcast(device); - vdp.m_gfxregion = gfxregion; -} - -void gp9001vdp_device::device_validity_check(validity_checker &valid) const + m_space_config("gp9001vdp", ENDIANNESS_BIG, 16,14, 0, address_map_delegate(FUNC(gp9001vdp_device::map), this)), + m_vram_bg(*this, "vram_bg"), + m_vram_fg(*this, "vram_fg"), + m_vram_top(*this, "vram_top"), + m_spriteram(*this, "spriteram") { } @@ -243,9 +230,9 @@ TILE_GET_INFO_MEMBER(gp9001vdp_device::get_top0_tile_info) { int color, tile_number, attrib; - attrib = top.vram16[2*tile_index]; + attrib = m_vram_top[2*tile_index]; - tile_number = top.vram16[2*tile_index+1]; + tile_number = m_vram_top[2*tile_index+1]; if (gp9001_gfxrom_is_banked) { @@ -253,7 +240,7 @@ TILE_GET_INFO_MEMBER(gp9001vdp_device::get_top0_tile_info) } color = attrib & 0x0fff; // 0x0f00 priority, 0x007f colour - SET_TILE_INFO_MEMBER(tile_region, + SET_TILE_INFO_MEMBER(0, tile_number, color, 0); @@ -264,9 +251,9 @@ TILE_GET_INFO_MEMBER(gp9001vdp_device::get_fg0_tile_info) { int color, tile_number, attrib; - attrib = fg.vram16[2*tile_index]; + attrib = m_vram_fg[2*tile_index]; - tile_number = fg.vram16[2*tile_index+1]; + tile_number = m_vram_fg[2*tile_index+1]; if (gp9001_gfxrom_is_banked) @@ -275,7 +262,7 @@ TILE_GET_INFO_MEMBER(gp9001vdp_device::get_fg0_tile_info) } color = attrib & 0x0fff; // 0x0f00 priority, 0x007f colour - SET_TILE_INFO_MEMBER(tile_region, + SET_TILE_INFO_MEMBER(0, tile_number, color, 0); @@ -285,9 +272,9 @@ TILE_GET_INFO_MEMBER(gp9001vdp_device::get_fg0_tile_info) TILE_GET_INFO_MEMBER(gp9001vdp_device::get_bg0_tile_info) { int color, tile_number, attrib; - attrib = bg.vram16[2*tile_index]; + attrib = m_vram_bg[2*tile_index]; - tile_number = bg.vram16[2*tile_index+1]; + tile_number = m_vram_bg[2*tile_index+1]; if (gp9001_gfxrom_is_banked) { @@ -295,20 +282,18 @@ TILE_GET_INFO_MEMBER(gp9001vdp_device::get_bg0_tile_info) } color = attrib & 0x0fff; // 0x0f00 priority, 0x007f colour - SET_TILE_INFO_MEMBER(tile_region, + SET_TILE_INFO_MEMBER(0, tile_number, color, 0); //tileinfo.category = (attrib & 0x0f00) >> 8; } -void gp9001vdp_device::create_tilemaps(int region) +void gp9001vdp_device::create_tilemaps() { - tile_region = region; - - top.tmap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(gp9001vdp_device::get_top0_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32); - fg.tmap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(gp9001vdp_device::get_fg0_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32); - bg.tmap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(gp9001vdp_device::get_bg0_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32); + top.tmap = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(gp9001vdp_device::get_top0_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32); + fg.tmap = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(gp9001vdp_device::get_fg0_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32); + bg.tmap = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(gp9001vdp_device::get_bg0_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32); top.tmap->set_transparent_pen(0); fg.tmap->set_transparent_pen(0); @@ -318,23 +303,11 @@ void gp9001vdp_device::create_tilemaps(int region) void gp9001vdp_device::device_start() { - if(!m_gfxdecode->started()) - throw device_missing_dependencies(); - - top.vram16 = auto_alloc_array_clear(machine(), UINT16, GP9001_TOP_VRAM_SIZE/2); - fg.vram16 = auto_alloc_array_clear(machine(), UINT16, GP9001_FG_VRAM_SIZE/2); - bg.vram16 = auto_alloc_array_clear(machine(), UINT16, GP9001_BG_VRAM_SIZE/2); - - sp.vram16 = auto_alloc_array_clear(machine(), UINT16, GP9001_SPRITERAM_SIZE/2); sp.vram16_buffer = auto_alloc_array_clear(machine(), UINT16, GP9001_SPRITERAM_SIZE/2); - create_tilemaps(m_gfxregion); + create_tilemaps(); - save_pointer(NAME(sp.vram16), GP9001_SPRITERAM_SIZE/2); save_pointer(NAME(sp.vram16_buffer), GP9001_SPRITERAM_SIZE/2); - save_pointer(NAME(top.vram16), GP9001_TOP_VRAM_SIZE/2); - save_pointer(NAME(fg.vram16), GP9001_FG_VRAM_SIZE/2); - save_pointer(NAME(bg.vram16), GP9001_BG_VRAM_SIZE/2); save_item(NAME(gp9001_scroll_reg)); save_item(NAME(gp9001_voffs)); @@ -397,12 +370,12 @@ void gp9001vdp_device::device_reset() } -void gp9001vdp_device::gp9001_voffs_w(offs_t offset, UINT16 data, UINT16 mem_mask) +void gp9001vdp_device::gp9001_voffs_w(UINT16 data, UINT16 mem_mask) { COMBINE_DATA(&gp9001_voffs); } -int gp9001vdp_device::gp9001_videoram16_r(offs_t offset) +int gp9001vdp_device::gp9001_videoram16_r() { int offs = gp9001_voffs; gp9001_voffs++; @@ -410,7 +383,7 @@ int gp9001vdp_device::gp9001_videoram16_r(offs_t offset) } -void gp9001vdp_device::gp9001_videoram16_w(offs_t offset, UINT16 data, UINT16 mem_mask) +void gp9001vdp_device::gp9001_videoram16_w(UINT16 data, UINT16 mem_mask) { int offs = gp9001_voffs; gp9001_voffs++; @@ -423,17 +396,17 @@ UINT16 gp9001vdp_device::gp9001_vdpstatus_r() return ((m_screen->vpos() + 15) % 262) >= 245; } -void gp9001vdp_device::gp9001_scroll_reg_select_w( offs_t offset, UINT16 data, UINT16 mem_mask ) +void gp9001vdp_device::gp9001_scroll_reg_select_w(UINT16 data, UINT16 mem_mask) { if (ACCESSING_BITS_0_7) { gp9001_scroll_reg = data & 0x8f; if (data & 0x70) - logerror("Hmmm, selecting unknown LSB video control register (%04x) Video controller %01x \n",gp9001_scroll_reg,tile_region>>1); + logerror("Hmmm, selecting unknown LSB video control register (%04x)\n",gp9001_scroll_reg); } else { - logerror("Hmmm, selecting unknown MSB video control register (%04x) Video controller %01x \n",gp9001_scroll_reg,tile_region>>1); + logerror("Hmmm, selecting unknown MSB video control register (%04x)\n",gp9001_scroll_reg); } } @@ -514,14 +487,12 @@ static void gp9001_set_sprite_scrolly_and_flip_reg(gp9001spritelayer* layer, UIN } } -void gp9001vdp_device::gp9001_scroll_reg_data_w(offs_t offset, UINT16 data, UINT16 mem_mask) +void gp9001vdp_device::gp9001_scroll_reg_data_w(UINT16 data, UINT16 mem_mask) { /************************************************************************/ /***** layer X and Y flips can be set independently, so emulate it ******/ /************************************************************************/ - //printf("gp9001_scroll_reg_data_w %04x %04x\n", offset, data); - // writes with 8x set turn on flip for the specified layer / axis int flip = gp9001_scroll_reg & 0x80; @@ -545,7 +516,7 @@ void gp9001vdp_device::gp9001_scroll_reg_data_w(offs_t offset, UINT16 data, UINT case 0x0f: break; - default: logerror("Hmmm, writing %08x to unknown video control register (%08x) Video controller %01x !!!\n",data ,gp9001_scroll_reg,tile_region>>1); + default: logerror("Hmmm, writing %08x to unknown video control register (%08x) !!!\n",data,gp9001_scroll_reg); break; } } @@ -566,11 +537,10 @@ void gp9001vdp_device::init_scroll_regs() READ16_MEMBER( gp9001vdp_device::gp9001_vdp_r ) { - switch (offset) + switch (offset & (0xc/2)) { case 0x04/2: - case 0x06/2: - return gp9001_videoram16_r(offset-0x04/2); + return gp9001_videoram16_r(); case 0x0c/2: return gp9001_vdpstatus_r(); @@ -584,43 +554,36 @@ READ16_MEMBER( gp9001vdp_device::gp9001_vdp_r ) WRITE16_MEMBER( gp9001vdp_device::gp9001_vdp_w ) { - switch (offset) + switch (offset & (0xc/2)) { case 0x00/2: - gp9001_voffs_w(offset-0x00/2, data, mem_mask); + gp9001_voffs_w(data, mem_mask); break; case 0x04/2: - case 0x06/2: - gp9001_videoram16_w(offset-0x04/2, data, mem_mask); + gp9001_videoram16_w(data, mem_mask); break; case 0x08/2: - gp9001_scroll_reg_select_w(offset-0x08/2, data, mem_mask); + gp9001_scroll_reg_select_w(data, mem_mask); break; case 0x0c/2: - gp9001_scroll_reg_data_w(offset-0x0c/2, data, mem_mask); - break; - - default: - logerror("gp9001_vdp_w: write to unhandled offset %04x %04x\n",offset, data); + gp9001_scroll_reg_data_w(data, mem_mask); break; } } -/* some raizing games have a different layout */ +/* batrider and bbakraid invert the register select lines */ READ16_MEMBER( gp9001vdp_device::gp9001_vdp_alt_r ) { - switch (offset) + switch (offset & (0xc/2)) { - case 0x00/2: + case 0x0/2: return gp9001_vdpstatus_r(); - case 0x08/2: - case 0x0a/2: - return gp9001_videoram16_r(offset-0x04/2); - + case 0x8/2: + return gp9001_videoram16_r(); default: logerror("gp9001_vdp_alt_r: read from unhandled offset %04x\n",offset*2); @@ -631,27 +594,22 @@ READ16_MEMBER( gp9001vdp_device::gp9001_vdp_alt_r ) WRITE16_MEMBER( gp9001vdp_device::gp9001_vdp_alt_w ) { - switch (offset) + switch (offset & (0xc/2)) { - case 0x00/2: - gp9001_scroll_reg_data_w(offset-0x0c/2, data, mem_mask); + case 0x0/2: + gp9001_scroll_reg_data_w(data, mem_mask); break; - case 0x04/2: - gp9001_scroll_reg_select_w(offset-0x08/2, data, mem_mask); + case 0x4/2: + gp9001_scroll_reg_select_w(data, mem_mask); break; - case 0x08/2: - case 0x0a/2: - gp9001_videoram16_w(offset-0x04/2, data, mem_mask); + case 0x8/2: + gp9001_videoram16_w(data, mem_mask); break; - case 0x0c/2: - gp9001_voffs_w(offset-0x00/2, data, mem_mask); - break; - - default: - logerror("gp9001_vdp_alt_w: write to unhandled offset %04x %04x\n",offset, data); + case 0xc/2: + gp9001_voffs_w(data, mem_mask); break; } } @@ -679,32 +637,32 @@ WRITE16_MEMBER( gp9001vdp_device::pipibibi_bootleg_scroll_w ) } gp9001_scroll_reg = offset; - gp9001_scroll_reg_data_w(offset, data, mem_mask); + gp9001_scroll_reg_data_w(data, mem_mask); } } READ16_MEMBER( gp9001vdp_device::pipibibi_bootleg_videoram16_r ) { - gp9001_voffs_w(0, offset, 0xffff); - return gp9001_videoram16_r(0); + gp9001_voffs_w(offset, 0xffff); + return gp9001_videoram16_r(); } WRITE16_MEMBER( gp9001vdp_device::pipibibi_bootleg_videoram16_w ) { - gp9001_voffs_w(0, offset, 0xffff); - gp9001_videoram16_w(0, data, mem_mask); + gp9001_voffs_w(offset, 0xffff); + gp9001_videoram16_w(data, mem_mask); } READ16_MEMBER( gp9001vdp_device::pipibibi_bootleg_spriteram16_r ) { - gp9001_voffs_w(0, (0x1800 + offset), 0); - return gp9001_videoram16_r(0); + gp9001_voffs_w((0x1800 + offset), 0); + return gp9001_videoram16_r(); } WRITE16_MEMBER( gp9001vdp_device::pipibibi_bootleg_spriteram16_w ) { - gp9001_voffs_w(0, (0x1800 + offset), mem_mask); - gp9001_videoram16_w(0, data, mem_mask); + gp9001_voffs_w((0x1800 + offset), mem_mask); + gp9001_videoram16_w(data, mem_mask); } /*************************************************************************** @@ -713,25 +671,24 @@ WRITE16_MEMBER( gp9001vdp_device::pipibibi_bootleg_spriteram16_w ) void gp9001vdp_device::draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, const UINT8* primap ) { - gfx_element *gfx = m_gfxdecode->gfx(tile_region+1); - - int offs, old_x, old_y; + const UINT16 primask = (GP9001_PRIMASK << 8); UINT16 *source; - if (sp.use_sprite_buffer) source=(UINT16 *)(sp.vram16_buffer); - else source=(UINT16 *)(sp.vram16); + if (sp.use_sprite_buffer) source = sp.vram16_buffer; + else source = m_spriteram; + gfx_element *spritegfx = gfx(1); + int total_elements = spritegfx->elements(); + int total_colors = spritegfx->colors(); - old_x = (-(sp.scrollx)) & 0x1ff; - old_y = (-(sp.scrolly)) & 0x1ff; + int old_x = (-(sp.scrollx)) & 0x1ff; + int old_y = (-(sp.scrolly)) & 0x1ff; - - for (offs = 0; offs < (GP9001_SPRITERAM_SIZE/2); offs += 4) + for (int offs = 0; offs < (GP9001_SPRITERAM_SIZE/2); offs += 4) { int attrib, sprite, color, priority, flipx, flipy, sx, sy; int sprite_sizex, sprite_sizey, dim_x, dim_y, sx_base, sy_base; int bank, sprite_num; - UINT16 primask = (GP9001_PRIMASK << 8); attrib = source[offs]; priority = primap[((attrib & primask)>>8)]+1; @@ -821,13 +778,12 @@ void gp9001vdp_device::draw_sprites( running_machine &machine, bitmap_ind16 &bit flipx,flipy, sx,sy,0); */ - sprite %= gfx->elements(); - color %= gfx->colors(); - + sprite %= total_elements; + color %= total_colors; + const pen_t *paldata = &palette()->pen(color * 16); { int yy, xx; - const pen_t *paldata = &m_palette->pen(gfx->colorbase() + gfx->granularity() * color); - const UINT8* srcdata = gfx->get_data(sprite); + const UINT8* srcdata = spritegfx->get_data(sprite); int count = 0; int ystart, yend, yinc; int xstart, xend, xinc; @@ -976,15 +932,5 @@ void gp9001vdp_device::gp9001_render_vdp(running_machine& machine, bitmap_ind16 void gp9001vdp_device::gp9001_screen_eof(void) { /** Shift sprite RAM buffers *** Used to fix sprite lag **/ - if (sp.use_sprite_buffer) memcpy(sp.vram16_buffer,sp.vram16,GP9001_SPRITERAM_SIZE); -} - -//------------------------------------------------- -// static_set_palette_tag: Set the tag of the -// palette device -//------------------------------------------------- - -void gp9001vdp_device::static_set_palette_tag(device_t &device, const char *tag) -{ - downcast(device).m_palette.set_tag(tag); + if (sp.use_sprite_buffer) memcpy(sp.vram16_buffer,m_spriteram,GP9001_SPRITERAM_SIZE); } diff --git a/src/mame/video/gp9001.h b/src/mame/video/gp9001.h index f9d5bb2234e..b7f79b06eb7 100644 --- a/src/mame/video/gp9001.h +++ b/src/mame/video/gp9001.h @@ -14,8 +14,6 @@ struct gp9001layer gp9001layeroffsets extra_xoffset; gp9001layeroffsets extra_yoffset; - - UINT16* vram16; // vram for this layer }; struct gp9001tilemaplayer : gp9001layer @@ -31,25 +29,22 @@ struct gp9001spritelayer : gp9001layer class gp9001vdp_device : public device_t, + public device_gfx_interface, public device_video_interface, public device_memory_interface { + static const gfx_layout tilelayout, spritelayout; + DECLARE_GFXDECODE_MEMBER(gfxinfo); + public: gp9001vdp_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - // static configuration - static void static_set_gfxdecode_tag(device_t &device, const char *tag); - static void static_set_palette_tag(device_t &device, const char *tag); - static void static_set_gfx_region(device_t &device, int gfxregion); - UINT16 gp9001_voffs; UINT16 gp9001_scroll_reg; gp9001tilemaplayer bg, top, fg; gp9001spritelayer sp; - int tile_region; // we also use this to figure out which vdp we're using in some debug logging features - // technically this is just rom banking, allowing the chip to see more graphic ROM, however it's easier to handle it // in the chip implementation than externally for now (which would require dynamic decoding of the entire charsets every // time the bank was changed) @@ -62,11 +57,13 @@ public: void gp9001_draw_custom_tilemap(running_machine& machine, bitmap_ind16 &bitmap, tilemap_t* tilemap, const UINT8* priremap, const UINT8* pri_enable ); void gp9001_render_vdp(running_machine& machine, bitmap_ind16 &bitmap, const rectangle &cliprect); void gp9001_screen_eof(void); - void create_tilemaps(int region); + void create_tilemaps(void); void init_scroll_regs(void); bitmap_ind8 *custom_priority_bitmap; + DECLARE_ADDRESS_MAP(map, 16); + // access to VDP DECLARE_READ16_MEMBER( gp9001_vdp_r ); DECLARE_WRITE16_MEMBER( gp9001_vdp_w ); @@ -84,35 +81,31 @@ public: DECLARE_WRITE16_MEMBER( gp9001_bg_tmap_w ); DECLARE_WRITE16_MEMBER( gp9001_fg_tmap_w ); DECLARE_WRITE16_MEMBER( gp9001_top_tmap_w ); - DECLARE_READ16_MEMBER( gp9001_bg_tmap_r ); - DECLARE_READ16_MEMBER( gp9001_fg_tmap_r ); - DECLARE_READ16_MEMBER( gp9001_top_tmap_r ); - DECLARE_READ16_MEMBER( gp9001_spram_r ); - DECLARE_WRITE16_MEMBER( gp9001_spram_w ); protected: - virtual void device_validity_check(validity_checker &valid) const; virtual void device_start(); virtual void device_reset(); virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const; address_space_config m_space_config; - UINT8 m_gfxregion; TILE_GET_INFO_MEMBER(get_top0_tile_info); TILE_GET_INFO_MEMBER(get_fg0_tile_info); TILE_GET_INFO_MEMBER(get_bg0_tile_info); private: - void gp9001_voffs_w(offs_t offset, UINT16 data, UINT16 mem_mask); - int gp9001_videoram16_r(offs_t offset); - void gp9001_videoram16_w(offs_t offset, UINT16 data, UINT16 mem_mask); - UINT16 gp9001_vdpstatus_r(); - void gp9001_scroll_reg_select_w( offs_t offset, UINT16 data, UINT16 mem_mask ); - void gp9001_scroll_reg_data_w(offs_t offset, UINT16 data, UINT16 mem_mask); - required_device m_gfxdecode; - required_device m_palette; + required_shared_ptr m_vram_bg; + required_shared_ptr m_vram_fg; + required_shared_ptr m_vram_top; + required_shared_ptr m_spriteram; + + void gp9001_voffs_w(UINT16 data, UINT16 mem_mask); + int gp9001_videoram16_r(void); + void gp9001_videoram16_w(UINT16 data, UINT16 mem_mask); + UINT16 gp9001_vdpstatus_r(void); + void gp9001_scroll_reg_select_w(UINT16 data, UINT16 mem_mask); + void gp9001_scroll_reg_data_w(UINT16 data, UINT16 mem_mask); }; extern const device_type GP9001_VDP; @@ -123,21 +116,3 @@ extern const device_type GP9001_VDP; #define GP9001_SPRITERAM_SIZE 0x800 /* Sprite RAM size */ #define GP9001_SPRITE_FLIPX 0x1000 /* Sprite flip flags */ #define GP9001_SPRITE_FLIPY 0x2000 - - - -/* vdp map 0, gfx region 0 */ -#define MCFG_DEVICE_ADD_VDP0 \ - MCFG_DEVICE_ADD("gp9001vdp0", GP9001_VDP, 0) \ - gp9001vdp_device::static_set_gfx_region(*device, 0); - -/* vdp map 1, gfx region 2 */ -#define MCFG_DEVICE_ADD_VDP1 \ - MCFG_DEVICE_ADD("gp9001vdp1", GP9001_VDP, 0) \ - gp9001vdp_device::static_set_gfx_region(*device, 2); - -#define MCFG_GP9001_VDP_GFXDECODE(_gfxtag) \ - gp9001vdp_device::static_set_gfxdecode_tag(*device, "^" _gfxtag); - -#define MCFG_GP9001_VDP_PALETTE(_palette_tag) \ - gp9001vdp_device::static_set_palette_tag(*device, "^" _palette_tag); diff --git a/src/mame/video/toaplan2.c b/src/mame/video/toaplan2.c index e024425c974..ae840b5df8a 100644 --- a/src/mame/video/toaplan2.c +++ b/src/mame/video/toaplan2.c @@ -1,7 +1,7 @@ /*************************************************************************** Functions to emulate additional video hardware on several Toaplan2 games. - The main video is handled by the GP9001 (see video gp9001.c) + The main video is handled by the GP9001 (see video/gp9001.c) Extra-text RAM format @@ -41,7 +41,7 @@ TILE_GET_INFO_MEMBER(toaplan2_state::get_text_tile_info) attrib = m_tx_videoram[tile_index]; tile_number = attrib & 0x3ff; color = attrib >> 10; - SET_TILE_INFO_MEMBER(2, + SET_TILE_INFO_MEMBER(0, tile_number, color, 0); @@ -66,8 +66,7 @@ void toaplan2_state::create_tx_tilemap(int dx, int dx_flipped) void toaplan2_state::truxton2_postload() { - for (int i = 0; i < 1024; i++) - m_gfxdecode->gfx(2)->mark_dirty(i); + m_gfxdecode->gfx(0)->mark_all_dirty(); } VIDEO_START_MEMBER(toaplan2_state,toaplan2) @@ -93,7 +92,7 @@ VIDEO_START_MEMBER(toaplan2_state,truxton2) VIDEO_START_CALL_MEMBER( toaplan2 ); /* Create the Text tilemap for this game */ - m_gfxdecode->gfx(2)->set_source(reinterpret_cast(m_tx_gfxram16.target())); + m_gfxdecode->gfx(0)->set_source(reinterpret_cast(m_tx_gfxram16.target())); machine().save().register_postload(save_prepost_delegate(FUNC(toaplan2_state::truxton2_postload), this)); create_tx_tilemap(0x1d5, 0x16a); @@ -146,7 +145,7 @@ VIDEO_START_MEMBER(toaplan2_state,batrider) /* Create the Text tilemap for this game */ m_tx_gfxram16.allocate(RAIZING_TX_GFXRAM_SIZE/2); - m_gfxdecode->gfx(2)->set_source(reinterpret_cast(m_tx_gfxram16.target())); + m_gfxdecode->gfx(0)->set_source(reinterpret_cast(m_tx_gfxram16.target())); machine().save().register_postload(save_prepost_delegate(FUNC(toaplan2_state::truxton2_postload), this)); create_tx_tilemap(0x1d4, 0x16b); @@ -178,9 +177,8 @@ WRITE16_MEMBER(toaplan2_state::toaplan2_tx_gfxram16_w) if (oldword != data) { - int code = offset/32; COMBINE_DATA(&m_tx_gfxram16[offset]); - m_gfxdecode->gfx(2)->mark_dirty(code); + m_gfxdecode->gfx(0)->mark_dirty(offset/32); } } @@ -201,8 +199,7 @@ WRITE16_MEMBER(toaplan2_state::batrider_textdata_dma_w) dest += (m_tx_linescroll.bytes()/2); memcpy(dest, m_mainram16, m_mainram16.bytes()); - for (int i = 0; i < 1024; i++) - m_gfxdecode->gfx(2)->mark_dirty(i); + m_gfxdecode->gfx(0)->mark_all_dirty(); } WRITE16_MEMBER(toaplan2_state::batrider_unknown_dma_w) @@ -349,12 +346,9 @@ UINT32 toaplan2_state::screen_update_batsugun(screen_device &screen, bitmap_ind1 UINT32 toaplan2_state::screen_update_toaplan2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - if (m_vdp0) - { - bitmap.fill(0, cliprect); - m_custom_priority_bitmap.fill(0, cliprect); - m_vdp0->gp9001_render_vdp(machine(), bitmap, cliprect); - } + bitmap.fill(0, cliprect); + m_custom_priority_bitmap.fill(0, cliprect); + m_vdp0->gp9001_render_vdp(machine(), bitmap, cliprect); return 0; }