summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Alex W. Jackson <alex.w.jackson@gmail.com>2014-11-10 15:36:34 -0500
committer Alex W. Jackson <alex.w.jackson@gmail.com>2014-11-10 15:36:34 -0500
commitcc723e85ecf93d82f978ce237ac78b2560ecfaaa (patch)
treec90fe5709e695ba3486161d2584183e5d2083403
parent3480032ae5c9ff46955eff11ceab03cec5d7d67a (diff)
undrfire.c, groundfx.c: improve documentation (TC0620SCC is the 6bpp tilemap chip) (nw)
-rw-r--r--src/mame/drivers/groundfx.c14
-rw-r--r--src/mame/drivers/undrfire.c25
-rw-r--r--src/mame/video/groundfx.c16
-rw-r--r--src/mame/video/undrfire.c36
4 files changed, 45 insertions, 46 deletions
diff --git a/src/mame/drivers/groundfx.c b/src/mame/drivers/groundfx.c
index b9c60b2e4a8..ba0abaf8ad6 100644
--- a/src/mame/drivers/groundfx.c
+++ b/src/mame/drivers/groundfx.c
@@ -48,8 +48,8 @@
Ground Effects combines the sprite system used in Taito Z games with
the TC0480SCP tilemap chip plus some features from the Taito F3 system.
- It has an extra tilemap chip which is a dead ringer for the TC0100SCN
- (check the inits), like Under Fire.
+ It has an extra TC0620SCC tilemap chip which is a 6bpp version of the
+ TC0100SCN (check the inits), like Under Fire.
Ground Effects is effectively a 30Hz game - though the vblank interrupts
still come in at 60Hz, the game uses a hardware frame counter to limit
@@ -190,7 +190,7 @@ static ADDRESS_MAP_START( groundfx_map, AS_PROGRAM, 32, groundfx_state )
AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("snd_shared")
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w) /* tilemaps */
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w) // debugging
- AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* piv tilemaps */
+ AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* 6bpp tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xb00000, 0xb003ff) AM_RAM // ?? single bytes, blending ??
@@ -279,7 +279,7 @@ static const gfx_layout charlayout =
128*8 /* every sprite takes 128 consecutive bytes */
};
-static const gfx_layout pivlayout =
+static const gfx_layout scclayout =
{
8,8, /* 8*8 characters */
RGN_FRAC(1,2),
@@ -293,7 +293,7 @@ static const gfx_layout pivlayout =
static GFXDECODE_START( groundfx )
GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout, 4096, 512 )
GFXDECODE_ENTRY( "gfx1", 0x0, charlayout, 0, 512 )
- GFXDECODE_ENTRY( "gfx3", 0x0, pivlayout, 0, 512 )
+ GFXDECODE_ENTRY( "gfx3", 0x0, scclayout, 0, 512 )
GFXDECODE_END
@@ -375,7 +375,7 @@ ROM_START( groundfx )
ROM_LOAD32_BYTE( "d51-07.51", 0x000003, 0x200000, CRC(24b2f97d) SHA1(6980e67b435d189ce897c0301e0411763410ab47) )
ROM_REGION( 0x400000, "gfx3", 0 )
- ROM_LOAD16_BYTE( "d51-10.95", 0x000000, 0x100000, CRC(d5910604) SHA1(8efe13884cfdef208394ddfe19f43eb1b9f78ff3) ) /* PIV 8x8 tiles, 6bpp */
+ ROM_LOAD16_BYTE( "d51-10.95", 0x000000, 0x100000, CRC(d5910604) SHA1(8efe13884cfdef208394ddfe19f43eb1b9f78ff3) ) /* SCC 8x8 tiles, 6bpp */
ROM_LOAD16_BYTE( "d51-11.96", 0x000001, 0x100000, CRC(fee5f5c6) SHA1(1be88747f9c71c348dd61a8f0040007df3a3e6a6) )
ROM_LOAD ( "d51-12.97", 0x300000, 0x100000, CRC(d630287b) SHA1(2fa09e1821b7280d193ca9a2a270759c3c3189d1) )
ROM_FILL ( 0x200000, 0x100000, 0 )
@@ -418,7 +418,7 @@ DRIVER_INIT_MEMBER(groundfx_state,groundfx)
/* Speedup handlers */
m_maincpu->space(AS_PROGRAM).install_read_handler(0x20b574, 0x20b577, read32_delegate(FUNC(groundfx_state::irq_speedup_r_groundfx),this));
- /* make piv tile GFX format suitable for gfxdecode */
+ /* make SCC tile GFX format suitable for gfxdecode */
offset = size/2;
for (i = size/2+size/4; i<size; i++)
{
diff --git a/src/mame/drivers/undrfire.c b/src/mame/drivers/undrfire.c
index 5d722454a3b..aee0e807fc3 100644
--- a/src/mame/drivers/undrfire.c
+++ b/src/mame/drivers/undrfire.c
@@ -7,12 +7,12 @@
Board Info (Underfire):
- TC0470LIN : ?
+ TC0470LIN : object line buffer?
TC0480SCP : known tilemap chip
TC0510NIO : known input chip
TC0570SPC : must be the object chip (next to spritemap and OBJ roms)
- TC0590PIV : Piv tilemaps
- TC0620SCC : lightgun ??? pivot port ???
+ TC0590PIV : object related???
+ TC0620SCC : tilemap chip (6bpp version of TC0100SCN)
TC0650FDA : palette ? (Slapshot and F3 games also have one)
M43E0278A
@@ -46,9 +46,8 @@
Under Fire combines the sprite system used in Taito Z games with
the TC0480SCP tilemap chip plus some features from the Taito F3 system.
- It has an extra tilemap chip which is a dead ringer for the TC0100SCN
- (check the inits). Why did Taito give it a different name in this
- incarnation?
+ It has an extra TC0620SCC tilemap chip which is a 6bpp version of the
+ TC0100SCN (check the inits).
Game misbehaviours
@@ -452,7 +451,7 @@ static ADDRESS_MAP_START( undrfire_map, AS_PROGRAM, 32, undrfire_state )
AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("snd_shared")
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w) /* tilemaps */
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
- AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* piv tilemaps */
+ AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* 6bpp tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xb00000, 0xb003ff) AM_RAM /* single bytes, blending ??? */
@@ -471,7 +470,7 @@ static ADDRESS_MAP_START( cbombers_cpua_map, AS_PROGRAM, 32, undrfire_state )
AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("snd_shared")
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w) /* tilemaps */
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
- AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* piv tilemaps */
+ AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* 6bpp tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xb00000, 0xb0000f) AM_RAM /* ? */
@@ -639,7 +638,7 @@ static const gfx_layout charlayout =
128*8 /* every sprite takes 128 consecutive bytes */
};
-static const gfx_layout pivlayout =
+static const gfx_layout scclayout =
{
8,8, /* 8*8 characters */
RGN_FRAC(1,2),
@@ -653,13 +652,13 @@ static const gfx_layout pivlayout =
static GFXDECODE_START( undrfire )
GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout, 0, 512 )
GFXDECODE_ENTRY( "gfx1", 0x0, charlayout, 0, 512 )
- GFXDECODE_ENTRY( "gfx3", 0x0, pivlayout, 0, 512 )
+ GFXDECODE_ENTRY( "gfx3", 0x0, scclayout, 0, 512 )
GFXDECODE_END
static GFXDECODE_START( cbombers )
GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout, 0, 512 )
GFXDECODE_ENTRY( "gfx1", 0x0, charlayout, 0x1000, 512 )
- GFXDECODE_ENTRY( "gfx3", 0x0, pivlayout, 0, 512 )
+ GFXDECODE_ENTRY( "gfx3", 0x0, scclayout, 0, 512 )
GFXDECODE_END
/***********************************************************
@@ -1099,7 +1098,7 @@ DRIVER_INIT_MEMBER(undrfire_state,undrfire)
int size=memregion("gfx3")->bytes();
int data;
- /* make piv tile GFX format suitable for gfxdecode */
+ /* make SCC tile GFX format suitable for gfxdecode */
offset = size/2;
for (i = size/2+size/4; i<size; i++)
{
@@ -1129,7 +1128,7 @@ DRIVER_INIT_MEMBER(undrfire_state,cbombers)
int data;
- /* make piv tile GFX format suitable for gfxdecode */
+ /* make SCC tile GFX format suitable for gfxdecode */
offset = size/2;
for (i = size/2+size/4; i<size; i++)
{
diff --git a/src/mame/video/groundfx.c b/src/mame/video/groundfx.c
index 9a827ddf34e..40aab889cdf 100644
--- a/src/mame/video/groundfx.c
+++ b/src/mame/video/groundfx.c
@@ -197,7 +197,7 @@ UINT32 groundfx_state::screen_update_groundfx(screen_device &screen, bitmap_ind1
{
address_space &space = machine().driver_data()->generic_space();
UINT8 layer[5];
- UINT8 pivlayer[3];
+ UINT8 scclayer[3];
UINT16 priority;
m_tc0100scn->tilemap_update();
@@ -211,15 +211,15 @@ UINT32 groundfx_state::screen_update_groundfx(screen_device &screen, bitmap_ind1
layer[3] = (priority & 0x000f) >> 0; /* tells us which is top */
layer[4] = 4; /* text layer always over bg layers */
- pivlayer[0] = m_tc0100scn->bottomlayer();
- pivlayer[1] = pivlayer[0]^1;
- pivlayer[2] = 2;
+ scclayer[0] = m_tc0100scn->bottomlayer();
+ scclayer[1] = scclayer[0]^1;
+ scclayer[2] = 2;
screen.priority().fill(0, cliprect);
bitmap.fill(0, cliprect); /* wrong color? */
- m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[0], TILEMAP_DRAW_OPAQUE, 0);
- m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[1], 0, 0);
+ m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[0], TILEMAP_DRAW_OPAQUE, 0);
+ m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[1], 0, 0);
/* BIG HACK!
@@ -244,7 +244,7 @@ UINT32 groundfx_state::screen_update_groundfx(screen_device &screen, bitmap_ind1
m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[2], 0, 4);
m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[3], 0, 8);
- //m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, 0, pivlayer[2], 0, 0);
+ //m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, 0, scclayer[2], 0, 0);
if (m_tc0480scp->long_r(space, 0x20 / 4, 0xffffffff) != 0x240866) /* Stupid hack for start of race */
m_tc0480scp->tilemap_draw(screen, bitmap, m_hack_cliprect, layer[0], 0, 0);
@@ -257,7 +257,7 @@ UINT32 groundfx_state::screen_update_groundfx(screen_device &screen, bitmap_ind1
m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[2], 0, 4);
m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[3], 0, 8);
- m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[2], 0, 0);
+ m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[2], 0, 0);
draw_sprites(screen, bitmap, cliprect, 0, 44, -574);
}
diff --git a/src/mame/video/undrfire.c b/src/mame/video/undrfire.c
index f1362cc81e9..fcdd2fe158c 100644
--- a/src/mame/video/undrfire.c
+++ b/src/mame/video/undrfire.c
@@ -347,14 +347,14 @@ UINT32 undrfire_state::screen_update_undrfire(screen_device &screen, bitmap_ind1
{
address_space &space = machine().driver_data()->generic_space();
UINT8 layer[5];
- UINT8 pivlayer[3];
+ UINT8 scclayer[3];
UINT16 priority;
#ifdef MAME_DEBUG
if (machine().input().code_pressed_once (KEYCODE_X))
{
m_dislayer[5] ^= 1;
- popmessage("piv text: %01x",m_dislayer[5]);
+ popmessage("scc text: %01x",m_dislayer[5]);
}
if (machine().input().code_pressed_once (KEYCODE_C))
{
@@ -398,22 +398,22 @@ UINT32 undrfire_state::screen_update_undrfire(screen_device &screen, bitmap_ind1
layer[3] = (priority & 0x000f) >> 0; /* tells us which is top */
layer[4] = 4; /* text layer always over bg layers */
- pivlayer[0] = m_tc0100scn->bottomlayer();
- pivlayer[1] = pivlayer[0] ^ 1;
- pivlayer[2] = 2;
+ scclayer[0] = m_tc0100scn->bottomlayer();
+ scclayer[1] = scclayer[0] ^ 1;
+ scclayer[2] = 2;
screen.priority().fill(0, cliprect);
bitmap.fill(0, cliprect); /* wrong color? */
-/* The "PIV" chip seems to be a renamed TC0100SCN. It has a
+/* The "SCC" chip seems to be a 6bpp TC0100SCN. It has a
bottom layer usually full of bright garish colors that
vaguely mimic the structure of the layers on top. Seems
pointless - it's always hidden by other layers. Does it
serve some blending pupose ? */
- m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[0], TILEMAP_DRAW_OPAQUE, 0);
- m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[1], 0, 0);
+ m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[0], TILEMAP_DRAW_OPAQUE, 0);
+ m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[1], 0, 0);
#ifdef MAME_DEBUG
if (m_dislayer[layer[0]]==0)
@@ -455,7 +455,7 @@ UINT32 undrfire_state::screen_update_undrfire(screen_device &screen, bitmap_ind1
#ifdef MAME_DEBUG
if (m_dislayer[5]==0)
#endif
- m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[2], 0, 0); /* piv text layer */
+ m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[2], 0, 0); /* TC0620SCC text layer */
m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[4], 0, 0); /* TC0480SCP text layer */
@@ -488,14 +488,14 @@ UINT32 undrfire_state::screen_update_cbombers(screen_device &screen, bitmap_ind1
{
address_space &space = machine().driver_data()->generic_space();
UINT8 layer[5];
- UINT8 pivlayer[3];
+ UINT8 scclayer[3];
UINT16 priority;
#ifdef MAME_DEBUG
if (machine().input().code_pressed_once (KEYCODE_X))
{
m_dislayer[5] ^= 1;
- popmessage("piv text: %01x",m_dislayer[5]);
+ popmessage("scc text: %01x",m_dislayer[5]);
}
if (machine().input().code_pressed_once (KEYCODE_C))
{
@@ -539,22 +539,22 @@ UINT32 undrfire_state::screen_update_cbombers(screen_device &screen, bitmap_ind1
layer[3] = (priority & 0x000f) >> 0; /* tells us which is top */
layer[4] = 4; /* text layer always over bg layers */
- pivlayer[0] = m_tc0100scn->bottomlayer();
- pivlayer[1] = pivlayer[0] ^ 1;
- pivlayer[2] = 2;
+ scclayer[0] = m_tc0100scn->bottomlayer();
+ scclayer[1] = scclayer[0] ^ 1;
+ scclayer[2] = 2;
screen.priority().fill(0, cliprect);
bitmap.fill(0, cliprect); /* wrong color? */
-/* The "PIV" chip seems to be a renamed TC0100SCN. It has a
+/* The "SCC" chip seems to be a 6bpp TC0100SCN. It has a
bottom layer usually full of bright garish colors that
vaguely mimic the structure of the layers on top. Seems
pointless - it's always hidden by other layers. Does it
serve some blending pupose ? */
- m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[0], TILEMAP_DRAW_OPAQUE, 0);
- m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[1], 0, 0);
+ m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[0], TILEMAP_DRAW_OPAQUE, 0);
+ m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[1], 0, 0);
#ifdef MAME_DEBUG
if (m_dislayer[layer[0]]==0)
@@ -596,7 +596,7 @@ UINT32 undrfire_state::screen_update_cbombers(screen_device &screen, bitmap_ind1
#ifdef MAME_DEBUG
if (m_dislayer[5]==0)
#endif
- m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[2], 0, 0); /* piv text layer */
+ m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[2], 0, 0); /* TC0620SCC text layer */
m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[4], 0, 0); /* TC0480SCP text layer */