mirror of
https://github.com/RetroDECK/Supermodel.git
synced 2025-03-06 14:27:44 +00:00
- Added Spikeout Final Edition.
- Minor change to DSB save state loading: only loopEnd is checked before using MPEG_SetLoop().
This commit is contained in:
parent
87dc5b4181
commit
b647cd5a4b
|
@ -1490,10 +1490,10 @@ const struct GameInfo g_Model3GameList[] =
|
|||
"spikeofe",
|
||||
"Spikeout Final Edition",
|
||||
"Sega",
|
||||
1998,
|
||||
1999,
|
||||
0x21,
|
||||
0x800000, // 8 MB of fixed CROM
|
||||
FALSE, // 96 MB of banked CROM (do not mirror)
|
||||
FALSE, // 112 MB of banked CROM (do not mirror)
|
||||
0x4000000, // 64 MB of VROM
|
||||
0x1000000, // 16 MB of sample ROMs
|
||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_SPIKEOUT,
|
||||
|
@ -1507,24 +1507,24 @@ const struct GameInfo g_Model3GameList[] =
|
|||
{ "CROM", "epr21653.17", 0xF4BD9C3C, 0x200000, 2, 0x0000006, 8, TRUE },
|
||||
|
||||
// Banked CROM0
|
||||
{ "CROMxx", "mpr21616.4", 0x5240FC3A, 0x800000, 2, 0x0000000, 8, TRUE },
|
||||
{ "CROMxx", "mpr21615.3", 0x58293076, 0x800000, 2, 0x0000002, 8, TRUE },
|
||||
{ "CROMxx", "mpr21614.2", 0x9EC89AE6, 0x800000, 2, 0x0000004, 8, TRUE },
|
||||
{ "CROMxx", "mpr21613.1", 0x1738C350, 0x800000, 2, 0x0000006, 8, TRUE },
|
||||
{ "CROMxx", "mpr21616.4", 0x2900BDD8, 0x800000, 2, 0x0000000, 8, TRUE },
|
||||
{ "CROMxx", "mpr21615.3", 0x7727A6FC, 0x800000, 2, 0x0000002, 8, TRUE },
|
||||
{ "CROMxx", "mpr21614.2", 0xE21D619B, 0x800000, 2, 0x0000004, 8, TRUE },
|
||||
{ "CROMxx", "mpr21613.1", 0xD039E608, 0x800000, 2, 0x0000006, 8, TRUE },
|
||||
|
||||
// Banked CROM1
|
||||
{ "CROMxx", "mpr21620.8", 0x1CFE931A, 0x800000, 2, 0x2000000, 8, TRUE },
|
||||
{ "CROMxx", "mpr21619.7", 0xE6D69E72, 0x800000, 2, 0x2000002, 8, TRUE },
|
||||
{ "CROMxx", "mpr21618.6", 0x222F1829, 0x800000, 2, 0x2000004, 8, TRUE },
|
||||
{ "CROMxx", "mpr21617.5", 0x6C874B78, 0x800000, 2, 0x2000006, 8, TRUE },
|
||||
{ "CROMxx", "mpr21620.8", 0x476F027F, 0x800000, 2, 0x2000000, 8, TRUE },
|
||||
{ "CROMxx", "mpr21619.7", 0xE1076F47, 0x800000, 2, 0x2000002, 8, TRUE },
|
||||
{ "CROMxx", "mpr21618.6", 0x633530FA, 0x800000, 2, 0x2000004, 8, TRUE },
|
||||
{ "CROMxx", "mpr21617.5", 0xA08C6790, 0x800000, 2, 0x2000006, 8, TRUE },
|
||||
|
||||
// Banked CROM2
|
||||
{ "CROMxx", "mpr21624.12", 0x56994CC6, 0x400000, 2, 0x4000000, 8, TRUE },
|
||||
{ "CROMxx", "mpr21623.11", 0x8D37D83E, 0x400000, 2, 0x4000002, 8, TRUE },
|
||||
{ "CROMxx", "mpr21622.10", 0x8483A0D0, 0x400000, 2, 0x4000004, 8, TRUE },
|
||||
{ "CROMxx", "mpr21621.9", 0xEAA96639, 0x400000, 2, 0x4000006, 8, TRUE },
|
||||
{ "CROMxx", "mpr21624.12", 0xA158B7DA, 0x800000, 2, 0x4000000, 8, TRUE },
|
||||
{ "CROMxx", "mpr21623.11", 0xD9301674, 0x800000, 2, 0x4000002, 8, TRUE },
|
||||
{ "CROMxx", "mpr21622.10", 0x5F5A1563, 0x800000, 2, 0x4000004, 8, TRUE },
|
||||
{ "CROMxx", "mpr21621.9", 0x551A444D, 0x800000, 2, 0x4000006, 8, TRUE },
|
||||
|
||||
// Banked CROM3 (note: appears at offset 0x6000000 rather than 0x5000000 as expected)
|
||||
// Banked CROM3
|
||||
{ "CROMxx", "mpr21628.16", 0xDE3866EA, 0x400000, 2, 0x6000000, 8, TRUE },
|
||||
{ "CROMxx", "mpr21627.15", 0xEFE94608, 0x400000, 2, 0x6000002, 8, TRUE },
|
||||
{ "CROMxx", "mpr21626.14", 0x1861652E, 0x400000, 2, 0x6000004, 8, TRUE },
|
||||
|
@ -1535,7 +1535,7 @@ const struct GameInfo g_Model3GameList[] =
|
|||
{ "VROM", "mpr21634.27", 0x876E6788, 0x400000, 2, 2, 32, FALSE },
|
||||
{ "VROM", "mpr21635.28", 0x093534A8, 0x400000, 2, 4, 32, FALSE },
|
||||
{ "VROM", "mpr21636.29", 0x2433F21C, 0x400000, 2, 6, 32, FALSE },
|
||||
/*{ "VROM", "mpr21637.30", 0x093534A8, 0x400000, 2, 8, 32, FALSE },*/
|
||||
{ "VROM", "mpr21637.30", 0xEDB8F2B8, 0x400000, 2, 8, 32, FALSE },
|
||||
{ "VROM", "mpr21638.31", 0x3773A215, 0x400000, 2, 10, 32, FALSE },
|
||||
{ "VROM", "mpr21639.32", 0x313D1872, 0x400000, 2, 12, 32, FALSE },
|
||||
{ "VROM", "mpr21640.33", 0x271366BE, 0x400000, 2, 14, 32, FALSE },
|
||||
|
|
|
@ -549,7 +549,7 @@ void CDSB1::LoadState(CBlockFile *StateFile)
|
|||
if (isPlaying)
|
||||
{
|
||||
MPEG_PlayMemory((const char *) &mpegROM[usingMPEGStart], usingMPEGEnd-usingMPEGStart);
|
||||
if ((usingLoopStart != 0) && (usingLoopEnd != 0))
|
||||
if (usingLoopEnd != 0) // only if looping was actually enabled
|
||||
MPEG_SetLoop((const char *) &mpegROM[usingLoopStart], usingLoopEnd);
|
||||
MPEG_SetOffset(mpegPos);
|
||||
}
|
||||
|
@ -1103,7 +1103,7 @@ void CDSB2::LoadState(CBlockFile *StateFile)
|
|||
if (isPlaying)
|
||||
{
|
||||
MPEG_PlayMemory((const char *) &mpegROM[usingMPEGStart], usingMPEGEnd-usingMPEGStart);
|
||||
if ((usingLoopStart != 0) && (usingLoopEnd != 0))
|
||||
if (usingLoopEnd != 0) // only if looping was actually enabled
|
||||
MPEG_SetLoop((const char *) &mpegROM[usingLoopStart], usingLoopEnd);
|
||||
MPEG_SetOffset(mpegPos);
|
||||
}
|
||||
|
|
|
@ -620,7 +620,7 @@ UINT32 CModel3::ReadSecurity(unsigned reg)
|
|||
return 0;
|
||||
case 0x1C: // Data
|
||||
|
||||
if (!strcmp(Game->id, "spikeout"))
|
||||
if (!strcmp(Game->id, "spikeout") || !strcmp(Game->id, "spikeofe"))
|
||||
{
|
||||
data = (spikeoutSecurity[securityPtr++] << 16);
|
||||
securityPtr %= (sizeof(spikeoutSecurity)/sizeof(UINT16));
|
||||
|
@ -2435,6 +2435,12 @@ void CModel3::Patch(void)
|
|||
|
||||
*(UINT32 *) &crom[0x600000+0x3199C] = 0x60000000;
|
||||
}
|
||||
else if (!strcmp(Game->id, "spikeofe"))
|
||||
{
|
||||
//*(UINT32 *) &crom[0x600000+0x1240C] = 0x60000000; // illegal ROM
|
||||
|
||||
*(UINT32 *) &crom[0x600000+0x36F2C] = 0x60000000; // decrementer loop (see Spikeout)
|
||||
}
|
||||
else if (!strcmp(Game->id, "skichamp"))
|
||||
{
|
||||
// Base address of program in CROM: 0x480000
|
||||
|
@ -2738,7 +2744,7 @@ CModel3::~CModel3(void)
|
|||
#if 0
|
||||
Dump("ram", ram, 0x800000, TRUE, FALSE);
|
||||
//Dump("vrom", vrom, 0x4000000, TRUE, FALSE);
|
||||
Dump("crom", crom, 0x800000, TRUE, FALSE);
|
||||
//Dump("crom", crom, 0x800000, TRUE, FALSE);
|
||||
//Dump("bankedCrom", &crom[0x800000], 0x7000000, TRUE, FALSE);
|
||||
//Dump("soundROM", soundROM, 0x80000, FALSE, TRUE);
|
||||
//Dump("sampleROM", sampleROM, 0x800000, FALSE, TRUE);
|
||||
|
|
|
@ -106,7 +106,6 @@
|
|||
#include "ROMLoad.h"
|
||||
#include "INIFile.h"
|
||||
#include "BlockFile.h"
|
||||
#include "Logger.h"
|
||||
#include "Graphics/Render2D.h"
|
||||
#include "Graphics/Render3D.h"
|
||||
#include "Graphics/Shader.h"
|
||||
|
|
Loading…
Reference in a new issue