notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
spu: more status bits
[pcsx_rearmed.git]
/
libpcsxcore
/
database.c
diff --git
a/libpcsxcore/database.c
b/libpcsxcore/database.c
index
ebdb69b
..
86a24a4
100644
(file)
--- a/
libpcsxcore/database.c
+++ b/
libpcsxcore/database.c
@@
-27,18
+27,18
@@
static const char * const gpu_slow_llist_db[] =
"SCES02834", "SCUS94570", "SCUS94616", "SCUS94654",
/* Final Fantasy IV */
"SCES03840", "SLPM86028", "SLUS01360",
"SCES02834", "SCUS94570", "SCUS94616", "SCUS94654",
/* Final Fantasy IV */
"SCES03840", "SLPM86028", "SLUS01360",
+ /* Point Blank - calibration cursor */
+ "SCED00287", "SCES00886", "SLUS00481",
+ /* Simple 1500 Series Vol. 57: The Meiro */
+ "SLPM86715",
/* Spot Goes to Hollywood */
"SLES00330", "SLPS00394", "SLUS00014",
/* Spot Goes to Hollywood */
"SLES00330", "SLPS00394", "SLUS00014",
+ /* Tiny Tank */
+ "SCES01338", "SCES02072", "SCES02072", "SCES02072", "SCES02072", "SCUS94427",
/* Vampire Hunter D */
"SLES02731", "SLPS02477", "SLPS03198", "SLUS01138",
};
/* Vampire Hunter D */
"SLES02731", "SLPS02477", "SLPS03198", "SLUS01138",
};
-static const char * const gpu_busy_hack_db[] =
-{
- /* ToHeart (Japan) */
- "SLPS01919", "SLPS01920",
-};
-
static const char * const gpu_centering_hack_db[] =
{
/* Gradius Gaiden */
static const char * const gpu_centering_hack_db[] =
{
/* Gradius Gaiden */
@@
-47,6
+47,18
@@
static const char * const gpu_centering_hack_db[] =
"SLPM86009",
};
"SLPM86009",
};
+static const char * const dualshock_timing1024_hack_db[] =
+{
+ /* Judge Dredd - could also be poor cdrom+mdec+dma timing */
+ "SLUS00630", "SLES00755",
+};
+
+static const char * const dualshock_init_analog_hack_db[] =
+{
+ /* Formula 1 Championship Edition */
+ "SLUS00546",
+};
+
#define HACK_ENTRY(var, list) \
{ #var, &Config.hacks.var, list, ARRAY_SIZE(list) }
#define HACK_ENTRY(var, list) \
{ #var, &Config.hacks.var, list, ARRAY_SIZE(list) }
@@
-61,8
+73,9
@@
hack_db[] =
{
HACK_ENTRY(cdr_read_timing, cdr_read_hack_db),
HACK_ENTRY(gpu_slow_list_walking, gpu_slow_llist_db),
{
HACK_ENTRY(cdr_read_timing, cdr_read_hack_db),
HACK_ENTRY(gpu_slow_list_walking, gpu_slow_llist_db),
- HACK_ENTRY(gpu_busy, gpu_busy_hack_db),
HACK_ENTRY(gpu_centering, gpu_centering_hack_db),
HACK_ENTRY(gpu_centering, gpu_centering_hack_db),
+ HACK_ENTRY(gpu_timing1024, dualshock_timing1024_hack_db),
+ HACK_ENTRY(dualshock_init_analog, dualshock_init_analog_hack_db),
};
static const struct
};
static const struct
@@
-86,8
+99,6
@@
cycle_multiplier_overrides[] =
#endif
/* Discworld Noir - audio skips if CPU runs too fast */
{ 222, { "SLES01549", "SLES02063", "SLES02064" } },
#endif
/* Discworld Noir - audio skips if CPU runs too fast */
{ 222, { "SLES01549", "SLES02063", "SLES02064" } },
- /* Judge Dredd - could also be poor MDEC timing */
- { 128, { "SLUS00630", "SLES00755" } },
/* Digimon World */
{ 153, { "SLUS01032", "SLES02914" } },
/* Syphon Filter - reportedly hangs under unknown conditions */
/* Digimon World */
{ 153, { "SLUS01032", "SLES02914" } },
/* Syphon Filter - reportedly hangs under unknown conditions */
@@
-95,6
+106,10
@@
cycle_multiplier_overrides[] =
/* Psychic Detective - some weird race condition in the game's cdrom code */
{ 222, { "SLUS00165", "SLUS00166", "SLUS00167" } },
{ 222, { "SLES00070", "SLES10070", "SLES20070" } },
/* Psychic Detective - some weird race condition in the game's cdrom code */
{ 222, { "SLUS00165", "SLUS00166", "SLUS00167" } },
{ 222, { "SLES00070", "SLES10070", "SLES20070" } },
+ /* Vib-Ribbon - cd timing issues (PAL+ari64drc only?) */
+ { 200, { "SCES02873" } },
+ /* Zero Divide - sometimes too fast */
+ { 200, { "SLUS00183", "SLES00159", "SLPS00083", "SLPM80008" } },
};
/* Function for automatic patching according to GameID. */
};
/* Function for automatic patching according to GameID. */
@@
-116,6
+131,12
@@
void Apply_Hacks_Cdrom(void)
}
}
}
}
+ if (Config.hacks.dualshock_init_analog) {
+ // assume the default is off, see LoadPAD1plugin()
+ for (i = 0; i < 8; i++)
+ padToggleAnalog(i);
+ }
+
/* Apply Memory card hack for Codename Tenka. (The game needs one of the memory card slots to be empty) */
for (i = 0; i < ARRAY_SIZE(MemorycardHack_db); i++)
{
/* Apply Memory card hack for Codename Tenka. (The game needs one of the memory card slots to be empty) */
for (i = 0; i < ARRAY_SIZE(MemorycardHack_db); i++)
{