mirror of
https://github.com/holub/mame
synced 2025-04-24 01:11:11 +03:00
Massive update to ROM naming in the CPS1 driver, also loading smaller eproms for Japanese sets instead of the larger mask ROMs where possible. Added information about B-Board revisions where possible. There is still work to do on this regard but this is a first step in untangling the mess.
Verified more gfx ROM mappings against PALs (thanks to Corrado Tomaselli) New games added or promoted from NOT_WORKING status --------------------------------------------------- Dynasty Wars (US set 2) [Corrado Tomaselli] Final Fight (Japan 900112) [Chack'n] New games marked as GAME_NOT_WORKING ------------------------------------ Forgotten Worlds (World?) [The Guru]
This commit is contained in:
parent
2267b60912
commit
5ccdd067d9
File diff suppressed because it is too large
Load Diff
@ -2366,6 +2366,7 @@ V-V TP-027
|
||||
|
||||
/* Capcom CPS1 games */
|
||||
DRIVER( forgottn ) /* 7/1988 (c) 1988 (US) */
|
||||
DRIVER( forgott1 ) /* 7/1988 (c) 1988 (World?) */
|
||||
DRIVER( lostwrld ) /* 7/1988 (c) 1988 (Japan) */
|
||||
DRIVER( ghouls ) /* 12/1988 (c) 1988 (World) */
|
||||
DRIVER( ghoulsu ) /* 12/1988 (c) 1988 (US) */
|
||||
@ -2375,6 +2376,7 @@ V-V TP-027
|
||||
DRIVER( striderj ) /* 3/1989 (c) 1989 */
|
||||
DRIVER( stridrja ) /* 3/1989 (c) 1989 */
|
||||
DRIVER( dynwar ) /* 4/1989 (c) 1989 (World) */
|
||||
DRIVER( dynwaru ) /* 4/1989 (c) 1989 (US) */
|
||||
DRIVER( dynwarj ) /* 4/1989 (c) 1989 (Japan) */
|
||||
DRIVER( willow ) /* 6/1989 (c) 1989 (US) */
|
||||
DRIVER( willowj ) /* 6/1989 (c) 1989 (Japan) */
|
||||
@ -2387,6 +2389,7 @@ V-V TP-027
|
||||
DRIVER( ffightub ) /* 12/1989 (c) (US) */
|
||||
DRIVER( ffightj ) /* 12/1989 (c) (Japan) */
|
||||
DRIVER( ffightj1 ) /* 12/1989 (c) (Japan) */
|
||||
DRIVER( ffightj2 ) /* 12/1989 (c) (Japan) */
|
||||
DRIVER( 1941 ) /* 2/1990 (c) 1990 (World) */
|
||||
DRIVER( 1941j ) /* 2/1990 (c) 1990 (Japan) */
|
||||
DRIVER( mercs ) /* 02/03/1990 (c) 1990 (World) */
|
||||
|
@ -27,25 +27,30 @@ Ghouls 'n Ghosts (World / US) 1988 88620B-2 DM620 LWI
|
||||
Strider 1989 89624B-2 ST24M1 LWIO 88622-C-1 CPS-B-01 DL-0411-10001 None
|
||||
(alt B-board revision) 89624B-2 ST24M2 LWIO 88622-C-2 CPS-B-01 DL-0411-10001 None
|
||||
(alt B-board revision) 89624B-3 ST24B2 LWIO 88622-C-2 CPS-B-01 DL-0411-10001 None
|
||||
(alt B-board revision) ? ST22B ?
|
||||
Dynasty Wars 1989 88624B-3 TK24B? ? 88622-C-2 CPS-B-02 DL-0411-10002
|
||||
(alt B-board revision - Japan) ? ST22B ?
|
||||
Dynasty Wars 1989 89624B-3 TK24B? ? 88622-C-2 CPS-B-02 DL-0411-10002 None
|
||||
(alt B-board revision - Japan) 88622B-3 TK22B IOB1
|
||||
Willow 1989 89624B-3 WL24B LWIO 88622-C-4 CPS-B-03 DL-0411-10003 None
|
||||
(alt C-board revision) 88622-C-2
|
||||
(alt B-board revision - Japan) 88622B-3 WL22B LWIO 88622-C-2 CPS-B-03 DL-0411-10003 None
|
||||
UN Squadron / Area 88 1989 89624B-3 AR24B LWIO 88622-C-4 CPS-B-11 DL-0411-10004 None
|
||||
(alt B-board revision - Japan) 88622B-2 AR22B LWIO
|
||||
Final Fight (first rev) 1989 89624B-3 S224B IOB1 88622-C-5 CPS-B-04 DL-0411-10005 None
|
||||
Final Fight (US 900112) ? CPS-B-04@ DL-0411-10001 None
|
||||
Final Fight (US 900613) 88622-C-5 CPS-B-05 DL-0411-10006
|
||||
Final Fight (Japan 900305) (alt B-board revision) 88622B-2 S222B? LWIO 88622-C-5 CPS-B-02 DL-0411-10002
|
||||
Final Fight (US/Japan 900112) ? CPS-B-04@ DL-0411-10001 None
|
||||
Final Fight (US 900613) 89624B-3 IOB1 88622-C-5 CPS-B-05 DL-0411-10006 None
|
||||
Final Fight (Japan 900305) (alt B-board revision) 88622B-2 S222B LWIO 88622-C-5 CPS-B-02 DL-0411-10002 None
|
||||
1941 1990 ? YI24B ? 88622-C-5 CPS-B-05 DL-0411-10006 ?
|
||||
Mercs 1990 89624B-3 0224B IOB1 90628-C-1 CPS-B-12 DL-0411-10007 C628
|
||||
(alt B-board revision - Japan) ? ? ?
|
||||
Mercs 1990 89624B-3 O224B IOB1 90628-C-1 CPS-B-12 DL-0411-10007 C628
|
||||
(alt B-board revision - Japan) ? ? ?
|
||||
(alt C-board revision) 90628-C-2
|
||||
Magic Sword 1990 89624B-3 MS24B IOB1 88622-C-5 CPS-B-13 DL-0411-10008 None
|
||||
(alt B-board revision - Japan) 89625B-1 MS22B IOB1
|
||||
Chiki Chiki Boys / Mega Twins 1990 89624B-3 CK24B IOB1 88622-C-5 CPS-B-14 DL-0411-10009 None
|
||||
(alt B-board revision - Japan) ? ? ?
|
||||
Nemo 1990 89624B-3 NM24B IOB1 88622-C-5 CPS-B-15 DL-0411-10010 None
|
||||
(alt B-board revision - Japan) 89625B-1 NM22B ?
|
||||
Carrier Air Wing / U.S. Navy 1990 89624B-3 CA24B IOB1 88622-C-5 CPS-B-16 DL-0411-10011 None
|
||||
(alt B-board revision - Japan) 89625B-1 CA22B
|
||||
(alt B-board revision - Japan) 89625B-1 CA22B LWIO
|
||||
Street Fighter II (910214) 1991 90629B-2 STF29 IOB1 90632C-1 CPS-B-17 DL-0411-10012 C632
|
||||
Street Fighter II (US 910206) CPS-B-17 DL-0411-10012
|
||||
Street Fighter II (US 910228) CPS-B-18 DL-0411-10013 C632B
|
||||
@ -56,15 +61,18 @@ Street Fighter II (World 910522)
|
||||
Street Fighter II (US 910522) CPS-B-14 DL-0411-10009
|
||||
Street Fighter II (US 911101) CPS-B-17 DL-0411-10012
|
||||
Street Fighter II (Japan 911210) CPS-B-13 DL-0411-10008
|
||||
Three Wonders* 1991 89624B-3 RT24B IOB1 90630C-4 CPS-B-21 DL-0921-10014 IOC1
|
||||
Three Wonders* 1991 89624B-3 RT24B LWIO 90630C-4 CPS-B-21 DL-0921-10014 IOC1
|
||||
(alt B-board revision - Japan) 89625B-1 RT22B IOB1
|
||||
(alt B-board revision) 91634B-2 ? ?
|
||||
(alt B-board revision) 91634B-2 ? IOB1
|
||||
King of Dragons* 1991 90629B-3 KD29B IOB1 90631C-5 CPS-B-21 DL-0921-10014 C632 IOC1
|
||||
Captain Commando* 1991 91635B-2 CC63B CCPRG IOB1 90631C-5 CPS-B-21 DL-0921-10014 C632 IOC1
|
||||
Knights of the Round* 1991 91635B-2 KR63B BPRG1 IOB1 90631C-5 CPS-B-21 DL-0921-10014 C632 IOC1
|
||||
(alt B-board revision) ? ? ?
|
||||
Street Fighter II' Champion Edition 1992 91635B-2 S9263B BPRG1 IOB1 92631C-6 CPS-B-21 DL-0921-10014 C632 IOC1
|
||||
Varth (World / US) 1992 89624B-3 VA24B IOB1 88622-C-5 CPS-B-04 DL-0411-10005 None
|
||||
Varth (Japan)* 1992 ? ? ? CPS-B-21 DL-0921-10014 ?
|
||||
(alt B-board revision - Japan) 91634B-2 S9263B BPRG1 IOB1
|
||||
Varth (World) 1992 89624B-3 VA24B IOB1 88622-C-5 CPS-B-04 DL-0411-10005 None
|
||||
(alt B-board revision - US) ? VA63B? ?
|
||||
Varth (Japan)* ? ? ? CPS-B-21 DL-0921-10014 ?
|
||||
Capcom World 2* 1992 ? Q522B IOB1 ? CPS-B-21 DL-0921-10014 IOC1
|
||||
Quiz and Dragons (US)* 1992 89625B-1 QD22B IOB1 92641C-1 CPS-B-21 DL-0921-10014 IOC1
|
||||
Quiz and Dragons (Japan)* 1994 ? ? IOB1 ? CPS-B-21 DL-0921-10014 IOC1
|
||||
@ -77,7 +85,7 @@ Muscle Bomber Duo* 1993 ? ?
|
||||
Quiz Tonosama no Yabou 2 1995 ? ? ? ?
|
||||
Pnickies 1994 ? ? ? CPS-B-21? DL-0921-10014? ?
|
||||
Pang 3 1995 94916-10 CP1B1F,CP1B8K,CP1B9KA 92631C-6 CPS-B-21 DL-0921-10014 C632 IOC1
|
||||
Megaman the Power Battle 1995 ? RCM63B BPRG1 IOB1 ? CPS-B-21 DL-0921-10014 C632 IOC1
|
||||
Megaman the Power Battle 1995 91634B-2 RCM63B BPRG1 IOB1 ? CPS-B-21 DL-0921-10014 C632 IOC1
|
||||
|
||||
@actually CPS-B-01, the original number was scratched out and "04" stamped over it
|
||||
*denotes Suicide Battery
|
||||
@ -443,6 +451,9 @@ static const struct gfx_range mapper_LWCHR_table[] =
|
||||
};
|
||||
|
||||
|
||||
// DM620 and DM22A are equivalent as far as the game is concerned, though
|
||||
// the equations are quite different
|
||||
|
||||
#define mapper_DM620 { 0x8000, 0x2000, 0x2000, 0 }, mapper_DM620_table
|
||||
static const struct gfx_range mapper_DM620_table[] =
|
||||
{
|
||||
@ -464,16 +475,58 @@ static const struct gfx_range mapper_DM620_table[] =
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
|
||||
#define mapper_ST22B { 0x4000, 0x4000, 0x4000, 0x4000 }, mapper_ST22B_table
|
||||
static const struct gfx_range mapper_ST22B_table[] =
|
||||
#define mapper_DM22A { 0x4000, 0x4000, 0x2000, 0x2000 }, mapper_DM22A_table
|
||||
static const struct gfx_range mapper_DM22A_table[] =
|
||||
{
|
||||
// verified from PAL dump (PAL # is not certain):
|
||||
// verified from PAL dump
|
||||
// bank 0 = pin 19
|
||||
// bank 1 = pin 16
|
||||
// bank 2 = pin 14
|
||||
// bank 3 = pin 12
|
||||
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_SPRITES, 0x00000, 0x01fff, 0 },
|
||||
{ GFXTYPE_SCROLL1, 0x02000, 0x03fff, 0 },
|
||||
|
||||
{ GFXTYPE_SCROLL2, 0x04000, 0x07fff, 1 },
|
||||
|
||||
{ GFXTYPE_SCROLL3, 0x00000, 0x1ffff, 2 },
|
||||
|
||||
{ GFXTYPE_SPRITES, 0x02000, 0x03fff, 3 },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
|
||||
// ST24M1 and ST22B are equivalent except for the stars range which is
|
||||
// different. This has no practical effect.
|
||||
|
||||
#define mapper_ST24M1 { 0x8000, 0x8000, 0, 0 }, mapper_ST24M1_table
|
||||
static const struct gfx_range mapper_ST24M1_table[] =
|
||||
{
|
||||
// verified from PAL dump
|
||||
// bank 0 = pin 19 (ROMs 2,4,6,8)
|
||||
// bank 1 = pin 16 (ROMs 1,3,5,7)
|
||||
// pin 12 and pin 14 are never enabled
|
||||
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_STARS, 0x00000, 0x003ff, 0 },
|
||||
{ GFXTYPE_SPRITES, 0x00000, 0x04fff, 0 },
|
||||
{ GFXTYPE_SCROLL2, 0x04000, 0x07fff, 0 },
|
||||
|
||||
{ GFXTYPE_SCROLL3, 0x00000, 0x07fff, 1 },
|
||||
{ GFXTYPE_SCROLL1, 0x07000, 0x07fff, 1 },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
#define mapper_ST22B { 0x4000, 0x4000, 0x4000, 0x4000 }, mapper_ST22B_table
|
||||
static const struct gfx_range mapper_ST22B_table[] =
|
||||
{
|
||||
// verified from PAL dump
|
||||
// bank 0 = pin 19 (ROMs 1,5, 9,13,17,24,32,38)
|
||||
// bank 1 = pin 16 (ROMs 2,6,10,14,18,25,33,39)
|
||||
// bank 2 = pin 14 (ROMs 3,7,11,15,19,21,26,28)
|
||||
// bank 3 = pin 12 (ROMS 4,8,12,16,20,22,27,29)
|
||||
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_STARS, 0x00000, 0x1ffff, 0 },
|
||||
{ GFXTYPE_SPRITES, 0x00000, 0x03fff, 0 },
|
||||
@ -578,6 +631,9 @@ static const struct gfx_range mapper_YI24B_table[] =
|
||||
};
|
||||
|
||||
|
||||
// AR24B and AR22B are equivalent, but since we could dump both PALs we are
|
||||
// documenting both.
|
||||
|
||||
#define mapper_AR24B { 0x8000, 0, 0, 0 }, mapper_AR24B_table
|
||||
static const struct gfx_range mapper_AR24B_table[] =
|
||||
{
|
||||
@ -601,9 +657,26 @@ static const struct gfx_range mapper_AR24B_table[] =
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
#define mapper_AR22B { 0x4000, 0x4000, 0, 0 }, mapper_AR22B_table
|
||||
static const struct gfx_range mapper_AR22B_table[] =
|
||||
{
|
||||
// verified from PAL dump:
|
||||
// bank 0 = pin 19 (ROMs 1,5, 9,13,17,24,32,38)
|
||||
// bank 1 = pin 16 (ROMs 2,6,10,14,18,25,33,39)
|
||||
// pin 14 is always enabled and pin 12 looks wrong
|
||||
|
||||
#define mapper_0224B { 0x8000, 0x8000, 0, 0 }, mapper_0224B_table
|
||||
static const struct gfx_range mapper_0224B_table[] =
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_SPRITES, 0x0000, 0x2fff, 0 },
|
||||
{ GFXTYPE_SCROLL1, 0x3000, 0x3fff, 0 },
|
||||
|
||||
{ GFXTYPE_SCROLL2, 0x4000, 0x5fff, 1 },
|
||||
{ GFXTYPE_SCROLL3, 0x6000, 0x7fff, 1 },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
|
||||
#define mapper_O224B { 0x8000, 0x4000, 0, 0 }, mapper_O224B_table
|
||||
static const struct gfx_range mapper_O224B_table[] =
|
||||
{
|
||||
// verified from PAL dump:
|
||||
// bank 0 = pin 19 (ROMs 2,4,6,8)
|
||||
@ -690,6 +763,9 @@ static const struct gfx_range mapper_NM24B_table[] =
|
||||
};
|
||||
|
||||
|
||||
// CA24B and CA22B are equivalent, but since we could dump both PALs we are
|
||||
// documenting both.
|
||||
|
||||
#define mapper_CA24B { 0x8000, 0, 0, 0 }, mapper_CA24B_table
|
||||
static const struct gfx_range mapper_CA24B_table[] =
|
||||
{
|
||||
@ -718,6 +794,26 @@ static const struct gfx_range mapper_CA24B_table[] =
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
#define mapper_CA22B { 0x4000, 0x4000, 0, 0 }, mapper_CA22B_table
|
||||
static const struct gfx_range mapper_CA22B_table[] =
|
||||
{
|
||||
// verified from PAL dump:
|
||||
// bank 0 = pin 19 (ROMs 1,5, 9,13,17,24,32,38)
|
||||
// bank 1 = pin 16 (ROMs 2,6,10,14,18,25,33,39)
|
||||
// pin 12 and pin 14 are never enabled
|
||||
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_SPRITES, 0x0000, 0x2fff, 0 },
|
||||
{ GFXTYPE_SCROLL2, 0x0000, 0x2fff, 0 },
|
||||
{ GFXTYPE_SCROLL3, 0x3000, 0x3fff, 0 },
|
||||
|
||||
{ GFXTYPE_SCROLL3, 0x4000, 0x4fff, 1 },
|
||||
{ GFXTYPE_SCROLL1, 0x5000, 0x57ff, 1 },
|
||||
{ GFXTYPE_SPRITES, 0x5800, 0x7fff, 1 },
|
||||
{ GFXTYPE_SCROLL2, 0x5800, 0x7fff, 1 },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
|
||||
#define mapper_STF29 { 0x8000, 0x8000, 0x8000, 0 }, mapper_STF29_table
|
||||
static const struct gfx_range mapper_STF29_table[] =
|
||||
@ -767,10 +863,10 @@ static const struct gfx_range mapper_RT24B_table[] =
|
||||
static const struct gfx_range mapper_RT22B_table[] =
|
||||
{
|
||||
// verified from PAL dump:
|
||||
// bank 0 = pin 19
|
||||
// bank 1 = pin 16
|
||||
// bank 2 = pin 14
|
||||
// bank 3 = pin 12
|
||||
// bank 0 = pin 19 (ROMs 1,5, 9,13,17,24,32,38)
|
||||
// bank 1 = pin 16 (ROMs 2,6,10,14,18,25,33,39)
|
||||
// bank 2 = pin 14 (ROMs 3,7,11,15,19,21,26,28)
|
||||
// bank 3 = pin 12 (ROMS 4,8,12,16,20,22,27,29)
|
||||
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_SPRITES, 0x0000, 0x3fff, 0 },
|
||||
@ -791,6 +887,11 @@ static const struct gfx_range mapper_RT22B_table[] =
|
||||
#define mapper_KD29B { 0x8000, 0x8000, 0, 0 }, mapper_KD29B_table
|
||||
static const struct gfx_range mapper_KD29B_table[] =
|
||||
{
|
||||
// verified from PAL dump:
|
||||
// bank 0 = pin 19 (ROMs 1,2,3,4)
|
||||
// bank 1 = pin 14 (ROMs 10,11,12,13)
|
||||
// pin 12 is never enabled
|
||||
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_SPRITES, 0x0000, 0x7fff, 0 },
|
||||
|
||||
@ -805,13 +906,19 @@ static const struct gfx_range mapper_KD29B_table[] =
|
||||
#define mapper_CC63B { 0x8000, 0x8000, 0, 0 }, mapper_CC63B_table
|
||||
static const struct gfx_range mapper_CC63B_table[] =
|
||||
{
|
||||
// verified from PAL dump:
|
||||
// bank0 = pin 19 (ROMs 1,3) & pin 18 (ROMs 2,4)
|
||||
// bank1 = pin 17 (ROMs 5,7) & pin 16 (ROMs 6,8)
|
||||
// pins 12,13,14,15 are always enabled
|
||||
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_SPRITES, 0x0000, 0x7fff, 0 },
|
||||
{ GFXTYPE_SCROLL2, 0x0000, 0x7fff, 0 },
|
||||
|
||||
{ GFXTYPE_SPRITES, 0x8000, 0x9fff, 1 },
|
||||
{ GFXTYPE_SCROLL3, 0xa000, 0xbfff, 1 },
|
||||
{ GFXTYPE_SCROLL1, 0xc000, 0xcfff, 1 },
|
||||
{ GFXTYPE_SCROLL2, 0xd000, 0xffff, 1 },
|
||||
{ GFXTYPE_SPRITES, 0x8000, 0xffff, 1 },
|
||||
{ GFXTYPE_SCROLL1, 0x8000, 0xffff, 1 },
|
||||
{ GFXTYPE_SCROLL2, 0x8000, 0xffff, 1 },
|
||||
{ GFXTYPE_SCROLL3, 0x8000, 0xffff, 1 },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
@ -819,12 +926,18 @@ static const struct gfx_range mapper_CC63B_table[] =
|
||||
#define mapper_KR63B { 0x8000, 0x8000, 0, 0 }, mapper_KR63B_table
|
||||
static const struct gfx_range mapper_KR63B_table[] =
|
||||
{
|
||||
// verified from PAL dump:
|
||||
// bank0 = pin 19 (ROMs 1,3) & pin 18 (ROMs 2,4)
|
||||
// bank1 = pin 17 (ROMs 5,7) & pin 16 (ROMs 6,8)
|
||||
// pins 12,13,14,15 are always enabled
|
||||
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_SPRITES, 0x0000, 0x7fff, 0 },
|
||||
{ GFXTYPE_SCROLL2, 0x0000, 0x7fff, 0 },
|
||||
|
||||
{ GFXTYPE_SPRITES, 0x8000, 0x87ff, 1 },
|
||||
{ GFXTYPE_SCROLL1, 0x8800, 0x97ff, 1 },
|
||||
{ GFXTYPE_SCROLL2, 0x9800, 0xcfff, 1 },
|
||||
{ GFXTYPE_SCROLL1, 0x8000, 0x9fff, 1 },
|
||||
{ GFXTYPE_SPRITES, 0x8000, 0xcfff, 1 },
|
||||
{ GFXTYPE_SCROLL2, 0x8000, 0xcfff, 1 },
|
||||
{ GFXTYPE_SCROLL3, 0xd000, 0xffff, 1 },
|
||||
{ 0 }
|
||||
};
|
||||
@ -833,26 +946,39 @@ static const struct gfx_range mapper_KR63B_table[] =
|
||||
#define mapper_S9263B { 0x8000, 0x8000, 0x8000, 0 }, mapper_S9263B_table
|
||||
static const struct gfx_range mapper_S9263B_table[] =
|
||||
{
|
||||
// verified from PAL dump:
|
||||
// FIXME there is some problem with this dump since pin 14 is never enabled
|
||||
// instead of being the same as pin 15 as expected
|
||||
// bank0 = pin 19 (ROMs 1,3) & pin 18 (ROMs 2,4)
|
||||
// bank1 = pin 17 (ROMs 5,7) & pin 16 (ROMs 6,8)
|
||||
// bank2 = pin 15 (ROMs 10,12) & pin 14 (ROMs 11,13)
|
||||
// pins 12 and 13 are the same as 14 and 15
|
||||
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_SPRITES, 0x00000, 0x07fff, 0 },
|
||||
|
||||
{ GFXTYPE_SPRITES, 0x08000, 0x0ffff, 1 },
|
||||
|
||||
{ GFXTYPE_SPRITES, 0x10000, 0x11fff, 2 },
|
||||
{ GFXTYPE_SCROLL3, 0x02000, 0x03fff, 2 }, // 12000-13fff physical
|
||||
{ GFXTYPE_SCROLL1, 0x04000, 0x04fff, 2 }, // 14000-14fff physical
|
||||
{ GFXTYPE_SCROLL2, 0x05000, 0x07fff, 2 }, // 15000-17fff physical
|
||||
{ GFXTYPE_SCROLL3, 0x02000, 0x03fff, 2 },
|
||||
{ GFXTYPE_SCROLL1, 0x04000, 0x04fff, 2 },
|
||||
{ GFXTYPE_SCROLL2, 0x05000, 0x07fff, 2 },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
|
||||
#define mapper_VA24B { 0x8000, 0, 0, 0 }, mapper_VA24B_table
|
||||
static const struct gfx_range mapper_VA24B_table[] =
|
||||
#define mapper_VA63B { 0x8000, 0, 0, 0 }, mapper_VA63B_table
|
||||
static const struct gfx_range mapper_VA63B_table[] =
|
||||
{
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_SPRITES | GFXTYPE_SCROLL2, 0x0000, 0x57ff, 0 },
|
||||
{ GFXTYPE_SCROLL1, 0x5800, 0x5fff, 0 },
|
||||
{ GFXTYPE_SCROLL3, 0x6000, 0x7fff, 0 },
|
||||
// verified from PAL dump (PAL # uncertain):
|
||||
// bank0 = pin 19 (ROMs 1,3) & pin 18 (ROMs 2,4)
|
||||
// pins 12,13,14,15,16,17 are never enabled
|
||||
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_SPRITES, 0x0000, 0x7fff, 0 },
|
||||
{ GFXTYPE_SCROLL1, 0x0000, 0x7fff, 0 },
|
||||
{ GFXTYPE_SCROLL2, 0x0000, 0x7fff, 0 },
|
||||
{ GFXTYPE_SCROLL3, 0x0000, 0x7fff, 0 },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
@ -1002,6 +1128,19 @@ static const struct gfx_range mapper_pang3_table[] =
|
||||
};
|
||||
|
||||
|
||||
#ifdef MESS
|
||||
|
||||
#define mapper_sfzch { 0x20000, 0, 0, 0 }, mapper_sfzch_table
|
||||
static const struct gfx_range mapper_sfzch_table[] =
|
||||
{
|
||||
/* type start end bank */
|
||||
{ GFXTYPE_SPRITES | GFXTYPE_SCROLL1 | GFXTYPE_SCROLL2 | GFXTYPE_SCROLL3, 0x00000, 0x1ffff, 0 },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*
|
||||
I don't know if CPS2 ROM boards use PALs as well; since all games seem to be
|
||||
@ -1023,15 +1162,17 @@ static const struct CPS1config cps1_config_table[]=
|
||||
{
|
||||
/* name CPSB gfx mapper in2 in3 out2 kludge */
|
||||
{"forgottn", CPS_B_01, mapper_LWCHR },
|
||||
{"forgottu", CPS_B_01, mapper_LWCHR },
|
||||
{"lostwrld", CPS_B_01, mapper_LWCHR },
|
||||
{"ghouls", CPS_B_01, mapper_DM620 },
|
||||
{"ghoulsu", CPS_B_01, mapper_DM620 },
|
||||
{"daimakai", CPS_B_01, mapper_DM620 },
|
||||
{"strider", CPS_B_01, mapper_ST22B },
|
||||
{"stridrua", CPS_B_01, mapper_ST22B },
|
||||
{"striderj", CPS_B_01, mapper_ST22B },
|
||||
{"stridrja", CPS_B_01, mapper_ST22B },
|
||||
{"daimakai", CPS_B_01, mapper_DM22A }, // equivalent to DM620
|
||||
{"strider", CPS_B_01, mapper_ST24M1 },
|
||||
{"stridrua", CPS_B_01, mapper_ST24M1 },
|
||||
{"striderj", CPS_B_01, mapper_ST24M1 },
|
||||
{"stridrja", CPS_B_01, mapper_ST22B }, // equivalent to ST24M1
|
||||
{"dynwar", CPS_B_02, mapper_TK22B },
|
||||
{"dynwaru", CPS_B_02, mapper_TK22B },
|
||||
{"dynwarj", CPS_B_02, mapper_TK22B },
|
||||
{"willow", CPS_B_03, mapper_WL24B },
|
||||
{"willowj", CPS_B_03, mapper_WL24B },
|
||||
@ -1042,14 +1183,15 @@ static const struct CPS1config cps1_config_table[]=
|
||||
{"ffightub", CPS_B_05, mapper_S224B },
|
||||
{"ffightj", CPS_B_04, mapper_S224B },
|
||||
{"ffightj1", CPS_B_02, mapper_S224B },
|
||||
{"ffightj2", CPS_B_01, mapper_S224B },
|
||||
{"1941", CPS_B_05, mapper_YI24B },
|
||||
{"1941j", CPS_B_05, mapper_YI24B },
|
||||
{"unsquad", CPS_B_11, mapper_AR24B }, /* CPSB ID not checked, but it's the same as sf2eg */
|
||||
{"area88", CPS_B_11, mapper_AR24B }, /* CPSB ID not checked, but it's the same as sf2eg */
|
||||
{"mercs", CPS_B_12, mapper_0224B, 0x36, 0, 0x34 },
|
||||
{"mercsu", CPS_B_12, mapper_0224B, 0x36, 0, 0x34 },
|
||||
{"mercsua", CPS_B_12, mapper_0224B, 0x36, 0, 0x34 },
|
||||
{"mercsj", CPS_B_12, mapper_0224B, 0x36, 0, 0x34 },
|
||||
{"area88", CPS_B_11, mapper_AR22B }, // equivalent to AR24B
|
||||
{"mercs", CPS_B_12, mapper_O224B, 0x36, 0, 0x34 },
|
||||
{"mercsu", CPS_B_12, mapper_O224B, 0x36, 0, 0x34 },
|
||||
{"mercsua", CPS_B_12, mapper_O224B, 0x36, 0, 0x34 },
|
||||
{"mercsj", CPS_B_12, mapper_O224B, 0x36, 0, 0x34 },
|
||||
{"msword", CPS_B_13, mapper_MS24B }, /* CPSB ID not checked, but it's the same as sf2j */
|
||||
{"mswordr1", CPS_B_13, mapper_MS24B }, /* CPSB ID not checked, but it's the same as sf2j */
|
||||
{"mswordu", CPS_B_13, mapper_MS24B }, /* CPSB ID not checked, but it's the same as sf2j */
|
||||
@ -1061,7 +1203,7 @@ static const struct CPS1config cps1_config_table[]=
|
||||
{"cawing", CPS_B_16, mapper_CA24B },
|
||||
{"cawingr1", CPS_B_16, mapper_CA24B },
|
||||
{"cawingu", CPS_B_16, mapper_CA24B },
|
||||
{"cawingj", CPS_B_16, mapper_CA24B },
|
||||
{"cawingj", CPS_B_16, mapper_CA22B }, // equivalent to CA24B
|
||||
{"sf2", CPS_B_11, mapper_STF29, 0x36 },
|
||||
{"sf2eb", CPS_B_17, mapper_STF29, 0x36 },
|
||||
{"sf2ua", CPS_B_17, mapper_STF29, 0x36 },
|
||||
@ -1107,10 +1249,10 @@ static const struct CPS1config cps1_config_table[]=
|
||||
{"sf2m7", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },
|
||||
{"sf2yyc", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },
|
||||
{"sf2koryu", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },
|
||||
{"varth", CPS_B_04, mapper_VA24B }, /* CPSB test has been patched out (60=0008) register is also written to, possibly leftover from development */
|
||||
{"varthr1", CPS_B_04, mapper_VA24B }, /* CPSB test has been patched out (60=0008) register is also written to, possibly leftover from development */
|
||||
{"varthu", CPS_B_04, mapper_VA24B }, /* CPSB test has been patched out (60=0008) register is also written to, possibly leftover from development */
|
||||
{"varthj", CPS_B_21_BT5, mapper_VA24B }, /* CPSB test has been patched out (72=0001) register is also written to, possibly leftover from development */
|
||||
{"varth", CPS_B_04, mapper_VA63B }, /* CPSB test has been patched out (60=0008) register is also written to, possibly leftover from development */
|
||||
{"varthr1", CPS_B_04, mapper_VA63B }, /* CPSB test has been patched out (60=0008) register is also written to, possibly leftover from development */
|
||||
{"varthu", CPS_B_04, mapper_VA63B }, /* CPSB test has been patched out (60=0008) register is also written to, possibly leftover from development */
|
||||
{"varthj", CPS_B_21_BT5, mapper_VA63B }, /* CPSB test has been patched out (72=0001) register is also written to, possibly leftover from development */
|
||||
{"cworld2j", CPS_B_21_BT6, mapper_Q522B, 0x36, 0, 0x34 }, /* (ports 36, 34 probably leftover input code from another game) */
|
||||
{"wof", CPS_B_21_DEF, mapper_TK263B }, /* bootleg? */
|
||||
{"wofa", CPS_B_21_DEF, mapper_TK263B }, /* bootleg? */
|
||||
@ -1139,7 +1281,7 @@ static const struct CPS1config cps1_config_table[]=
|
||||
{"pang3", CPS_B_21_DEF, mapper_pang3 }, /* EEPROM port is among the CPS registers (handled by DRIVER_INIT) */
|
||||
{"pang3j", CPS_B_21_DEF, mapper_pang3 }, /* EEPROM port is among the CPS registers (handled by DRIVER_INIT) */
|
||||
#ifdef MESS
|
||||
{"sfzch", CPS_B_21_DEF, mapper_cps2 },
|
||||
{"sfzch", CPS_B_21_DEF, mapper_sfzch },
|
||||
#endif
|
||||
|
||||
/* CPS2 games */
|
||||
|
Loading…
Reference in New Issue
Block a user