diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c index 26d7e965617..d073505b48e 100644 --- a/src/mame/drivers/toaplan2.c +++ b/src/mame/drivers/toaplan2.c @@ -1076,9 +1076,9 @@ static ADDRESS_MAP_START( truxton2_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_RANGE(0x200000, 0x20000d) AM_DEVREADWRITE("gp9001vdp0", 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_txvideoram16_w) AM_SHARE("txvideoram16") - AM_RANGE(0x402000, 0x402fff) AM_RAM AM_SHARE("txvram_offs") - AM_RANGE(0x403000, 0x4031ff) AM_RAM_WRITE(toaplan2_txscrollram16_w) AM_SHARE("txscrollram16") + 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") + AM_RANGE(0x403000, 0x4031ff) AM_RAM_WRITE(toaplan2_tx_linescroll_w) AM_SHARE("tx_linescroll") AM_RANGE(0x403200, 0x403fff) AM_RAM AM_RANGE(0x500000, 0x50ffff) AM_RAM_WRITE(toaplan2_tx_gfxram16_w) AM_SHARE("tx_gfxram16") AM_RANGE(0x600000, 0x600001) AM_READ(video_count_r) @@ -1143,9 +1143,9 @@ static ADDRESS_MAP_START( fixeight_68k_mem, AS_PROGRAM, 16, toaplan2_state ) 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(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") - AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_txvideoram16_w) AM_SHARE("txvideoram16") - AM_RANGE(0x502000, 0x5021ff) AM_RAM AM_SHARE("txvram_offs") - AM_RANGE(0x503000, 0x5031ff) AM_RAM_WRITE(toaplan2_txscrollram16_w) AM_SHARE("txscrollram16") + 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") + AM_RANGE(0x503000, 0x5031ff) AM_RAM_WRITE(toaplan2_tx_linescroll_w) AM_SHARE("tx_linescroll") AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE(toaplan2_tx_gfxram16_w) AM_SHARE("tx_gfxram16") AM_RANGE(0x700000, 0x700001) AM_WRITE(fixeight_subcpu_ctrl_w) AM_RANGE(0x800000, 0x800001) AM_READ(video_count_r) @@ -1165,7 +1165,7 @@ static ADDRESS_MAP_START( fixeightbl_68k_mem, AS_PROGRAM, 16, toaplan2_state ) 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(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") - AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_txvideoram16_w) AM_SHARE("txvideoram16") + AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram") AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) AM_RANGE(0x800000, 0x87ffff) AM_ROM AM_REGION("maincpu", 0x80000) ADDRESS_MAP_END @@ -1277,9 +1277,9 @@ static ADDRESS_MAP_START( mahoudai_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", 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_txvideoram16_w) AM_SHARE("txvideoram16") - AM_RANGE(0x502000, 0x502fff) AM_RAM AM_SHARE("txvram_offs") - AM_RANGE(0x503000, 0x5031ff) AM_RAM_WRITE(toaplan2_txscrollram16_w) AM_SHARE("txscrollram16") + 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") + AM_RANGE(0x503000, 0x5031ff) AM_RAM_WRITE(toaplan2_tx_linescroll_w) AM_SHARE("tx_linescroll") AM_RANGE(0x503200, 0x503fff) AM_RAM ADDRESS_MAP_END @@ -1300,9 +1300,9 @@ static ADDRESS_MAP_START( shippumd_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", 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_txvideoram16_w) AM_SHARE("txvideoram16") - AM_RANGE(0x502000, 0x502fff) AM_RAM AM_SHARE("txvram_offs") - AM_RANGE(0x503000, 0x5031ff) AM_RAM_WRITE(toaplan2_txscrollram16_w) AM_SHARE("txscrollram16") + 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") + AM_RANGE(0x503000, 0x5031ff) AM_RAM_WRITE(toaplan2_tx_linescroll_w) AM_SHARE("tx_linescroll") AM_RANGE(0x503200, 0x503fff) AM_RAM ADDRESS_MAP_END @@ -1321,9 +1321,9 @@ static ADDRESS_MAP_START( bgaregga_68k_mem, AS_PROGRAM, 16, toaplan2_state ) 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(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") - AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_txvideoram16_w) AM_SHARE("txvideoram16") - AM_RANGE(0x502000, 0x502fff) AM_RAM AM_SHARE("txvram_offs") - AM_RANGE(0x503000, 0x5031ff) AM_RAM_WRITE(toaplan2_txscrollram16_w) AM_SHARE("txscrollram16") + 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") + AM_RANGE(0x503000, 0x5031ff) AM_RAM_WRITE(toaplan2_tx_linescroll_w) AM_SHARE("tx_linescroll") AM_RANGE(0x503200, 0x503fff) AM_RAM AM_RANGE(0x600000, 0x600001) AM_WRITE(bgaregga_soundlatch_w) ADDRESS_MAP_END @@ -1332,10 +1332,10 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( batrider_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x000000, 0x1fffff) AM_ROM // actually 200000 - 20ffff is probably all main RAM, and the text and palette RAM are written via DMA - AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(toaplan2_txvideoram16_w) AM_SHARE("txvideoram16") + AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram") AM_RANGE(0x202000, 0x202fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") - AM_RANGE(0x203000, 0x2031ff) AM_RAM AM_SHARE("txvram_offs") - AM_RANGE(0x203200, 0x2033ff) AM_RAM_WRITE(toaplan2_txscrollram16_w) AM_SHARE("txscrollram16") + AM_RANGE(0x203000, 0x2031ff) AM_RAM AM_SHARE("tx_lineselect") + AM_RANGE(0x203200, 0x2033ff) AM_RAM_WRITE(toaplan2_tx_linescroll_w) AM_SHARE("tx_linescroll") AM_RANGE(0x203400, 0x207fff) AM_RAM AM_SHARE("mainram16") AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_RANGE(0x300000, 0x37ffff) AM_READ(batrider_z80rom_r) @@ -1362,10 +1362,10 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( bbakraid_68k_mem, AS_PROGRAM, 16, toaplan2_state ) AM_RANGE(0x000000, 0x1fffff) AM_ROM // actually 200000 - 20ffff is probably all main RAM, and the text and palette RAM are written via DMA - AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(toaplan2_txvideoram16_w) AM_SHARE("txvideoram16") + AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram") AM_RANGE(0x202000, 0x202fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") - AM_RANGE(0x203000, 0x2031ff) AM_RAM AM_SHARE("txvram_offs") - AM_RANGE(0x203200, 0x2033ff) AM_RAM_WRITE(toaplan2_txscrollram16_w) AM_SHARE("txscrollram16") + AM_RANGE(0x203000, 0x2031ff) AM_RAM AM_SHARE("tx_lineselect") + AM_RANGE(0x203200, 0x2033ff) AM_RAM_WRITE(toaplan2_tx_linescroll_w) AM_SHARE("tx_linescroll") AM_RANGE(0x203400, 0x207fff) AM_RAM AM_SHARE("mainram16") AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_RANGE(0x300000, 0x33ffff) AM_READ(batrider_z80rom_r) @@ -3073,25 +3073,25 @@ 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, 0, 128 ) + 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, 0, 128 ) + GFXDECODE_ENTRY( "gfx2", 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, 0, 16 ) + 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, 0, 128 ) + GFXDECODE_ENTRY( "gfx2", 0, fixeightblayout, 64*16, 64 ) GFXDECODE_END diff --git a/src/mame/includes/toaplan2.h b/src/mame/includes/toaplan2.h index 13e5ebeddf3..f7da603956c 100644 --- a/src/mame/includes/toaplan2.h +++ b/src/mame/includes/toaplan2.h @@ -24,9 +24,10 @@ public: : driver_device(mconfig, type, tag), m_shared_ram(*this, "shared_ram"), m_shared_ram16(*this, "shared_ram16"), - m_txvideoram16(*this, "txvideoram16"), - m_txvideoram16_offs(*this, "txvram_offs"), - m_txscrollram16(*this, "txscrollram16"), + m_paletteram(*this, "palette"), + m_tx_videoram(*this, "tx_videoram"), + m_tx_lineselect(*this, "tx_lineselect"), + m_tx_linescroll(*this, "tx_linescroll"), m_tx_gfxram16(*this, "tx_gfxram16"), m_mainram16(*this, "mainram16"), m_maincpu(*this, "maincpu"), @@ -42,9 +43,10 @@ public: optional_shared_ptr m_shared_ram; // 8 bit RAM shared between 68K and sound CPU optional_shared_ptr m_shared_ram16; // Really 8 bit RAM connected to Z180 - optional_shared_ptr m_txvideoram16; - optional_shared_ptr m_txvideoram16_offs; - optional_shared_ptr m_txscrollram16; + optional_shared_ptr m_paletteram; + optional_shared_ptr m_tx_videoram; + optional_shared_ptr m_tx_lineselect; + optional_shared_ptr m_tx_linescroll; optional_shared_ptr m_tx_gfxram16; optional_shared_ptr m_mainram16; @@ -107,8 +109,8 @@ public: DECLARE_WRITE8_MEMBER(batrider_clear_nmi_w); DECLARE_READ16_MEMBER(bbakraid_eeprom_r); DECLARE_WRITE16_MEMBER(bbakraid_eeprom_w); - DECLARE_WRITE16_MEMBER(toaplan2_txvideoram16_w); - DECLARE_WRITE16_MEMBER(toaplan2_txscrollram16_w); + DECLARE_WRITE16_MEMBER(toaplan2_tx_videoram_w); + DECLARE_WRITE16_MEMBER(toaplan2_tx_linescroll_w); DECLARE_WRITE16_MEMBER(toaplan2_tx_gfxram16_w); DECLARE_WRITE16_MEMBER(batrider_textdata_dma_w); DECLARE_WRITE16_MEMBER(batrider_unknown_dma_w); diff --git a/src/mame/video/toaplan2.c b/src/mame/video/toaplan2.c index 13ebd9369d3..f35206310d7 100644 --- a/src/mame/video/toaplan2.c +++ b/src/mame/video/toaplan2.c @@ -38,9 +38,9 @@ TILE_GET_INFO_MEMBER(toaplan2_state::get_text_tile_info) { int color, tile_number, attrib; - attrib = m_txvideoram16[tile_index]; + attrib = m_tx_videoram[tile_index]; tile_number = attrib & 0x3ff; - color = ((attrib >> 10) | 0x40) & 0x7f; + color = attrib >> 10; SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tile_number, @@ -156,19 +156,19 @@ VIDEO_START_MEMBER(toaplan2_state,batrider) m_vdp0->gp9001_gfxrom_is_banked = 1; } -WRITE16_MEMBER(toaplan2_state::toaplan2_txvideoram16_w) +WRITE16_MEMBER(toaplan2_state::toaplan2_tx_videoram_w) { - COMBINE_DATA(&m_txvideoram16[offset]); + COMBINE_DATA(&m_tx_videoram[offset]); if (offset < 64*32) m_tx_tilemap->mark_tile_dirty(offset); } -WRITE16_MEMBER(toaplan2_state::toaplan2_txscrollram16_w) +WRITE16_MEMBER(toaplan2_state::toaplan2_tx_linescroll_w) { /*** Line-Scroll RAM for Text Layer ***/ - COMBINE_DATA(&m_txscrollram16[offset]); + COMBINE_DATA(&m_tx_linescroll[offset]); - m_tx_tilemap->set_scrollx(offset, m_txscrollram16[offset]); + m_tx_tilemap->set_scrollx(offset, m_tx_linescroll[offset]); } WRITE16_MEMBER(toaplan2_state::toaplan2_tx_gfxram16_w) @@ -192,14 +192,14 @@ WRITE16_MEMBER(toaplan2_state::batrider_textdata_dma_w) UINT16 *dest = m_tx_gfxram16; - memcpy(dest, m_txvideoram16, m_txvideoram16.bytes()); - dest += (m_txvideoram16.bytes()/2); - memcpy(dest, m_generic_paletteram_16, m_generic_paletteram_16.bytes()); - dest += (m_generic_paletteram_16.bytes()/2); - memcpy(dest, m_txvideoram16_offs, m_txvideoram16_offs.bytes()); - dest += (m_txvideoram16_offs.bytes()/2); - memcpy(dest, m_txscrollram16, m_txscrollram16.bytes()); - dest += (m_txscrollram16.bytes()/2); + memcpy(dest, m_tx_videoram, m_tx_videoram.bytes()); + dest += (m_tx_videoram.bytes()/2); + memcpy(dest, m_paletteram, m_paletteram.bytes()); + dest += (m_paletteram.bytes()/2); + memcpy(dest, m_tx_lineselect, m_tx_lineselect.bytes()); + dest += (m_tx_lineselect.bytes()/2); + memcpy(dest, m_tx_linescroll, m_tx_linescroll.bytes()); + dest += (m_tx_linescroll.bytes()/2); memcpy(dest, m_mainram16, m_mainram16.bytes()); for (int i = 0; i < 1024; i++) @@ -379,13 +379,13 @@ UINT32 toaplan2_state::screen_update_truxton2(screen_device &screen, bitmap_ind1 /* it seems likely that flipx can be set per line! */ /* however, none of the games does it, and emulating it in the */ /* MAME tilemap system without being ultra slow would be tricky */ - m_tx_tilemap->set_flip(m_txvideoram16_offs[0] & 0x8000 ? 0 : TILEMAP_FLIPX); + m_tx_tilemap->set_flip(m_tx_lineselect[0] & 0x8000 ? 0 : TILEMAP_FLIPX); /* line select is used for 'for use in' and '8ing' screen on bbakraid, 'Raizing' logo on batrider */ for (int y = cliprect.min_y; y <= cliprect.max_y; y++) { clip.min_y = clip.max_y = y; - m_tx_tilemap->set_scrolly(0, m_txvideoram16_offs[y] - y); + m_tx_tilemap->set_scrolly(0, m_tx_lineselect[y] - y); m_tx_tilemap->draw(screen, bitmap, clip, 0); } return 0;