mirror of https://github.com/PCSX2/pcsx2.git
Compare commits
5 Commits
8b944526a0
...
9b707d0d32
Author | SHA1 | Date |
---|---|---|
Jordan | 9b707d0d32 | |
shockdude | fbe0c8b9cc | |
Ziemas | 2e3501366f | |
Ziemas | ef7169dbbf | |
JordanTheToaster | 09eed14cc2 |
|
@ -2222,7 +2222,7 @@ SCAJ-20162:
|
||||||
roundSprite: 1 # Fix mini-map and field menu.
|
roundSprite: 1 # Fix mini-map and field menu.
|
||||||
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
||||||
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
||||||
halfPixelOffset: 4 # Aligns post bloom.
|
halfPixelOffset: 2 # Aligns post bloom.
|
||||||
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
||||||
SCAJ-20163:
|
SCAJ-20163:
|
||||||
name: "Tales of the Abyss"
|
name: "Tales of the Abyss"
|
||||||
|
@ -6311,7 +6311,7 @@ SCES-54552:
|
||||||
roundSprite: 1 # Fix mini-map and field menu.
|
roundSprite: 1 # Fix mini-map and field menu.
|
||||||
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
||||||
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
||||||
halfPixelOffset: 4 # Aligns post bloom.
|
halfPixelOffset: 2 # Aligns post bloom.
|
||||||
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
||||||
patches:
|
patches:
|
||||||
CBB4B383:
|
CBB4B383:
|
||||||
|
@ -8953,7 +8953,7 @@ SCPS-15102:
|
||||||
roundSprite: 1 # Fix mini-map and field menu.
|
roundSprite: 1 # Fix mini-map and field menu.
|
||||||
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
||||||
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
||||||
halfPixelOffset: 4 # Aligns post bloom.
|
halfPixelOffset: 2 # Aligns post bloom.
|
||||||
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
||||||
SCPS-15103:
|
SCPS-15103:
|
||||||
name: "ガンパレード・オーケストラ 白の章 ~青森ペンギン伝説~(限定版)"
|
name: "ガンパレード・オーケストラ 白の章 ~青森ペンギン伝説~(限定版)"
|
||||||
|
@ -9210,7 +9210,7 @@ SCPS-17013:
|
||||||
roundSprite: 1 # Fix mini-map and field menu.
|
roundSprite: 1 # Fix mini-map and field menu.
|
||||||
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
||||||
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
||||||
halfPixelOffset: 4 # Aligns post bloom.
|
halfPixelOffset: 2 # Aligns post bloom.
|
||||||
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
||||||
patches:
|
patches:
|
||||||
CDEE4B19:
|
CDEE4B19:
|
||||||
|
@ -9459,7 +9459,7 @@ SCPS-19254:
|
||||||
roundSprite: 1 # Fix mini-map and field menu.
|
roundSprite: 1 # Fix mini-map and field menu.
|
||||||
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
||||||
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
||||||
halfPixelOffset: 4 # Aligns post bloom.
|
halfPixelOffset: 2 # Aligns post bloom.
|
||||||
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
||||||
SCPS-19301:
|
SCPS-19301:
|
||||||
name: "みんなのGOLF 4 [PlayStation2 the Best]"
|
name: "みんなのGOLF 4 [PlayStation2 the Best]"
|
||||||
|
@ -11990,7 +11990,7 @@ SCUS-97490:
|
||||||
roundSprite: 1 # Fix mini-map and field menu.
|
roundSprite: 1 # Fix mini-map and field menu.
|
||||||
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
||||||
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
||||||
halfPixelOffset: 4 # Aligns post bloom.
|
halfPixelOffset: 2 # Aligns post bloom.
|
||||||
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
||||||
patches:
|
patches:
|
||||||
0643F90C:
|
0643F90C:
|
||||||
|
@ -12314,7 +12314,7 @@ SCUS-97572:
|
||||||
roundSprite: 1 # Fix mini-map and field menu.
|
roundSprite: 1 # Fix mini-map and field menu.
|
||||||
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
preloadFrameData: 1 # Fixes corrupt textures especially on water.
|
||||||
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing.
|
||||||
halfPixelOffset: 4 # Aligns post bloom.
|
halfPixelOffset: 2 # Aligns post bloom.
|
||||||
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
nativeScaling: 2 # Fixes doubled post and DOF effects.
|
||||||
SCUS-97574:
|
SCUS-97574:
|
||||||
name: "Jak X - Combat Racing [Greatest Hits]"
|
name: "Jak X - Combat Racing [Greatest Hits]"
|
||||||
|
@ -17386,9 +17386,9 @@ SLES-51553:
|
||||||
clampModes:
|
clampModes:
|
||||||
vuClampMode: 2 # Fixes SPS in item menu.
|
vuClampMode: 2 # Fixes SPS in item menu.
|
||||||
gsHWFixes:
|
gsHWFixes:
|
||||||
|
halfPixelOffset: 4 # Aligns post DoF and fixes vertical lines.
|
||||||
|
nativeScaling: 1 # Fixes DOF effects.
|
||||||
textureInsideRT: 1 # Fixes rainbow shadow of legions.
|
textureInsideRT: 1 # Fixes rainbow shadow of legions.
|
||||||
alignSprite: 1 # Fixes green vertical lines.
|
|
||||||
roundSprite: 2 # Fixes vertical lines and some font artifacts but not completely fixed.
|
|
||||||
SLES-51554:
|
SLES-51554:
|
||||||
name: "Cell Damage Overdrive"
|
name: "Cell Damage Overdrive"
|
||||||
region: "PAL-M5"
|
region: "PAL-M5"
|
||||||
|
@ -18443,6 +18443,8 @@ SLES-51981:
|
||||||
vuClampMode: 0 # Resolves I Reg Clamping / performance impact and yellow graphics in certain areas.
|
vuClampMode: 0 # Resolves I Reg Clamping / performance impact and yellow graphics in certain areas.
|
||||||
gsHWFixes:
|
gsHWFixes:
|
||||||
roundSprite: 1 # Fixes slight blur.
|
roundSprite: 1 # Fixes slight blur.
|
||||||
|
halfPixelOffset: 2 # Aligns sun post processing.
|
||||||
|
nativeScaling: 2 # Fixes sun lines.
|
||||||
SLES-51982:
|
SLES-51982:
|
||||||
name: "ShellShock - Nam '67"
|
name: "ShellShock - Nam '67"
|
||||||
region: "PAL-M3"
|
region: "PAL-M3"
|
||||||
|
@ -18450,6 +18452,8 @@ SLES-51982:
|
||||||
vuClampMode: 0 # Resolves I Reg Clamping / performance impact and yellow graphics in certain areas.
|
vuClampMode: 0 # Resolves I Reg Clamping / performance impact and yellow graphics in certain areas.
|
||||||
gsHWFixes:
|
gsHWFixes:
|
||||||
roundSprite: 1 # Fixes slight blur.
|
roundSprite: 1 # Fixes slight blur.
|
||||||
|
halfPixelOffset: 2 # Aligns sun post processing.
|
||||||
|
nativeScaling: 2 # Fixes sun lines.
|
||||||
SLES-51986:
|
SLES-51986:
|
||||||
name: "Backyard Wrestling - Don't Try This At Home"
|
name: "Backyard Wrestling - Don't Try This At Home"
|
||||||
region: "PAL-M5"
|
region: "PAL-M5"
|
||||||
|
@ -29547,9 +29551,9 @@ SLKA-25026:
|
||||||
clampModes:
|
clampModes:
|
||||||
vuClampMode: 2 # Fixes SPS in item menu.
|
vuClampMode: 2 # Fixes SPS in item menu.
|
||||||
gsHWFixes:
|
gsHWFixes:
|
||||||
|
halfPixelOffset: 4 # Aligns post DoF and fixes vertical lines.
|
||||||
|
nativeScaling: 1 # Fixes DOF effects.
|
||||||
textureInsideRT: 1 # Fixes rainbow shadow of legions.
|
textureInsideRT: 1 # Fixes rainbow shadow of legions.
|
||||||
alignSprite: 1 # Fixes green vertical lines.
|
|
||||||
roundSprite: 2 # Fixes vertical lines and some font artifacts but not completely fixed.
|
|
||||||
SLKA-25027:
|
SLKA-25027:
|
||||||
name: "NBA Street Vol. 2"
|
name: "NBA Street Vol. 2"
|
||||||
region: "NTSC-K"
|
region: "NTSC-K"
|
||||||
|
@ -40174,9 +40178,9 @@ SLPM-65249:
|
||||||
clampModes:
|
clampModes:
|
||||||
vuClampMode: 2 # Fixes SPS in item menu.
|
vuClampMode: 2 # Fixes SPS in item menu.
|
||||||
gsHWFixes:
|
gsHWFixes:
|
||||||
|
halfPixelOffset: 4 # Aligns post DoF and fixes vertical lines.
|
||||||
|
nativeScaling: 1 # Fixes DOF effects.
|
||||||
textureInsideRT: 1 # Fixes rainbow shadow of legions.
|
textureInsideRT: 1 # Fixes rainbow shadow of legions.
|
||||||
alignSprite: 1 # Fixes green vertical lines.
|
|
||||||
roundSprite: 2 # Fixes vertical lines and some font artifacts but not completely fixed.
|
|
||||||
SLPM-65250:
|
SLPM-65250:
|
||||||
name: "カットビ!! ゴルフ"
|
name: "カットビ!! ゴルフ"
|
||||||
name-sort: "かっとび!! ごるふ"
|
name-sort: "かっとび!! ごるふ"
|
||||||
|
@ -64408,9 +64412,9 @@ SLUS-20695:
|
||||||
clampModes:
|
clampModes:
|
||||||
vuClampMode: 2 # Fixes SPS in item menu.
|
vuClampMode: 2 # Fixes SPS in item menu.
|
||||||
gsHWFixes:
|
gsHWFixes:
|
||||||
|
halfPixelOffset: 4 # Aligns post DoF and fixes vertical lines.
|
||||||
|
nativeScaling: 1 # Fixes DOF effects.
|
||||||
textureInsideRT: 1 # Fixes rainbow shadow of legions.
|
textureInsideRT: 1 # Fixes rainbow shadow of legions.
|
||||||
alignSprite: 1 # Fixes green vertical lines.
|
|
||||||
roundSprite: 2 # Fixes vertical lines and some font artifacts but not completely fixed.
|
|
||||||
SLUS-20696:
|
SLUS-20696:
|
||||||
name: "Nickelodeon Jimmy Neutron Boy Genius - Jet Fusion"
|
name: "Nickelodeon Jimmy Neutron Boy Genius - Jet Fusion"
|
||||||
region: "NTSC-U"
|
region: "NTSC-U"
|
||||||
|
@ -65102,6 +65106,8 @@ SLUS-20828:
|
||||||
vuClampMode: 0 # Resolves I Reg Clamping / performance impact and yellow graphics in certain areas.
|
vuClampMode: 0 # Resolves I Reg Clamping / performance impact and yellow graphics in certain areas.
|
||||||
gsHWFixes:
|
gsHWFixes:
|
||||||
roundSprite: 1 # Fixes slight blur.
|
roundSprite: 1 # Fixes slight blur.
|
||||||
|
halfPixelOffset: 2 # Aligns sun post processing.
|
||||||
|
nativeScaling: 2 # Fixes sun lines.
|
||||||
SLUS-20830:
|
SLUS-20830:
|
||||||
name: "Intellivision Lives!"
|
name: "Intellivision Lives!"
|
||||||
region: "NTSC-U"
|
region: "NTSC-U"
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
#include <memory>
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <optional>
|
#include <optional>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
|
@ -93,19 +93,19 @@ namespace usb_pad
|
||||||
u8 right_turntable = 0x80;
|
u8 right_turntable = 0x80;
|
||||||
if (data.left_turntable_ccw > 0)
|
if (data.left_turntable_ccw > 0)
|
||||||
{
|
{
|
||||||
left_turntable -= static_cast<u8>(std::min<int>(data.left_turntable_ccw * turntable_multiplier, 0x7F));
|
left_turntable -= static_cast<u8>(std::min<int>(data.left_turntable_ccw, 0x7F));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
left_turntable += static_cast<u8>(std::min<int>(data.left_turntable_cw * turntable_multiplier, 0x7F));
|
left_turntable += static_cast<u8>(std::min<int>(data.left_turntable_cw, 0x7F));
|
||||||
}
|
}
|
||||||
if (data.right_turntable_ccw > 0)
|
if (data.right_turntable_ccw > 0)
|
||||||
{
|
{
|
||||||
right_turntable -= static_cast<u8>(std::min<int>(data.right_turntable_ccw * turntable_multiplier, 0x7F));
|
right_turntable -= static_cast<u8>(std::min<int>(data.right_turntable_ccw, 0x7F));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
right_turntable += static_cast<u8>(std::min<int>(data.right_turntable_cw * turntable_multiplier, 0x7F));
|
right_turntable += static_cast<u8>(std::min<int>(data.right_turntable_cw, 0x7F));
|
||||||
}
|
}
|
||||||
buf[3] = 0x80;
|
buf[3] = 0x80;
|
||||||
buf[4] = 0x80;
|
buf[4] = 0x80;
|
||||||
|
@ -369,19 +369,19 @@ namespace usb_pad
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CID_DJ_LEFT_TURNTABLE_CW:
|
case CID_DJ_LEFT_TURNTABLE_CW:
|
||||||
s->data.left_turntable_cw = static_cast<u32>(std::clamp<long>(std::lroundf(value * 128.0f), 0, 128));
|
s->data.left_turntable_cw = static_cast<u32>(std::clamp<long>(std::lroundf(value * s->turntable_multiplier * 128.0f), 0, 128));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CID_DJ_LEFT_TURNTABLE_CCW:
|
case CID_DJ_LEFT_TURNTABLE_CCW:
|
||||||
s->data.left_turntable_ccw = static_cast<u32>(std::clamp<long>(std::lroundf(value * 128.0f), 0, 128));
|
s->data.left_turntable_ccw = static_cast<u32>(std::clamp<long>(std::lroundf(value * s->turntable_multiplier * 128.0f), 0, 128));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CID_DJ_RIGHT_TURNTABLE_CW:
|
case CID_DJ_RIGHT_TURNTABLE_CW:
|
||||||
s->data.right_turntable_cw = static_cast<u32>(std::clamp<long>(std::lroundf(value * 128.0f), 0, 128));
|
s->data.right_turntable_cw = static_cast<u32>(std::clamp<long>(std::lroundf(value * s->turntable_multiplier * 128.0f), 0, 128));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CID_DJ_RIGHT_TURNTABLE_CCW:
|
case CID_DJ_RIGHT_TURNTABLE_CCW:
|
||||||
s->data.right_turntable_ccw = static_cast<u32>(std::clamp<long>(std::lroundf(value * 128.0f), 0, 128));
|
s->data.right_turntable_ccw = static_cast<u32>(std::clamp<long>(std::lroundf(value * s->turntable_multiplier * 128.0f), 0, 128));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CID_DJ_DPAD_UP:
|
case CID_DJ_DPAD_UP:
|
||||||
|
@ -446,8 +446,8 @@ namespace usb_pad
|
||||||
{"EffectsKnobRight", TRANSLATE_NOOP("USB", "Effects Knob Right"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_EFFECTSKNOB_RIGHT, GenericInputBinding::RightStickRight},
|
{"EffectsKnobRight", TRANSLATE_NOOP("USB", "Effects Knob Right"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_EFFECTSKNOB_RIGHT, GenericInputBinding::RightStickRight},
|
||||||
{"LeftTurntableCW", TRANSLATE_NOOP("USB", "Left Turntable Clockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_LEFT_TURNTABLE_CW, GenericInputBinding::LeftStickRight},
|
{"LeftTurntableCW", TRANSLATE_NOOP("USB", "Left Turntable Clockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_LEFT_TURNTABLE_CW, GenericInputBinding::LeftStickRight},
|
||||||
{"LeftTurntableCCW", TRANSLATE_NOOP("USB", "Left Turntable Counterclockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_LEFT_TURNTABLE_CCW, GenericInputBinding::LeftStickLeft},
|
{"LeftTurntableCCW", TRANSLATE_NOOP("USB", "Left Turntable Counterclockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_LEFT_TURNTABLE_CCW, GenericInputBinding::LeftStickLeft},
|
||||||
{"RightTurntableCW", TRANSLATE_NOOP("USB", "Right Turntable Clockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_RIGHT_TURNTABLE_CW, GenericInputBinding::LeftStickDown},
|
{"RightTurntableCW", TRANSLATE_NOOP("USB", "Right Turntable Clockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_RIGHT_TURNTABLE_CW, GenericInputBinding::LeftStickUp},
|
||||||
{"RightTurntableCCW", TRANSLATE_NOOP("USB", "Right Turntable Counterclockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_RIGHT_TURNTABLE_CCW, GenericInputBinding::LeftStickUp},
|
{"RightTurntableCCW", TRANSLATE_NOOP("USB", "Right Turntable Counterclockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_RIGHT_TURNTABLE_CCW, GenericInputBinding::LeftStickDown},
|
||||||
{"LeftTurntableGreen", TRANSLATE_NOOP("USB", "Left Turntable Green"), nullptr, InputBindingInfo::Type::Button, CID_DJ_LEFT_GREEN, GenericInputBinding::Unknown},
|
{"LeftTurntableGreen", TRANSLATE_NOOP("USB", "Left Turntable Green"), nullptr, InputBindingInfo::Type::Button, CID_DJ_LEFT_GREEN, GenericInputBinding::Unknown},
|
||||||
{"LeftTurntableRed", TRANSLATE_NOOP("USB", "Left Turntable Red"), nullptr, InputBindingInfo::Type::Button, CID_DJ_LEFT_RED, GenericInputBinding::Unknown},
|
{"LeftTurntableRed", TRANSLATE_NOOP("USB", "Left Turntable Red"), nullptr, InputBindingInfo::Type::Button, CID_DJ_LEFT_RED, GenericInputBinding::Unknown},
|
||||||
{"LeftTurntableBlue", TRANSLATE_NOOP("USB", "Left Turntable Blue"), nullptr, InputBindingInfo::Type::Button, CID_DJ_LEFT_BLUE, GenericInputBinding::Unknown},
|
{"LeftTurntableBlue", TRANSLATE_NOOP("USB", "Left Turntable Blue"), nullptr, InputBindingInfo::Type::Button, CID_DJ_LEFT_BLUE, GenericInputBinding::Unknown},
|
||||||
|
@ -464,8 +464,8 @@ namespace usb_pad
|
||||||
{
|
{
|
||||||
static constexpr const SettingInfo info[] = {
|
static constexpr const SettingInfo info[] = {
|
||||||
{SettingInfo::Type::Float, "TurntableMultiplier", TRANSLATE_NOOP("USB", "Turntable Multiplier"),
|
{SettingInfo::Type::Float, "TurntableMultiplier", TRANSLATE_NOOP("USB", "Turntable Multiplier"),
|
||||||
TRANSLATE_NOOP("USB", "Apply a multiplier to the turntable"),
|
TRANSLATE_NOOP("USB", "Apply a sensitivity multiplier to turntable rotation.\nXbox 360 turntables require a 256x multiplier, most other turntables can use the default 1x multiplier."),
|
||||||
"1.00", "0.00", "100.0", "1.0", "%.0fx", nullptr, nullptr, 1.0f}};
|
"1.00", "0.00", "512.0", "1.0", "%.0fx", nullptr, nullptr, 1.0f}};
|
||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1595,6 +1595,14 @@ static void iopRecRecompile(const u32 startpc)
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
BASEBLOCK* pblock = PSX_GETBLOCK(i);
|
||||||
|
if (i != startpc && pblock->GetFnptr() != (uptr)iopJITCompile)
|
||||||
|
{
|
||||||
|
// branch = 3
|
||||||
|
willbranch3 = 1;
|
||||||
|
s_nEndBlock = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
psxRegs.code = iopMemRead32(i);
|
psxRegs.code = iopMemRead32(i);
|
||||||
|
|
||||||
|
|
|
@ -2294,6 +2294,8 @@ static void recRecompile(const u32 startpc)
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
BASEBLOCK* pblock = PC_GETBLOCK(i);
|
||||||
|
|
||||||
// stop before breakpoints
|
// stop before breakpoints
|
||||||
if (isBreakpointNeeded(i) != 0 || isMemcheckNeeded(i) != 0)
|
if (isBreakpointNeeded(i) != 0 || isMemcheckNeeded(i) != 0)
|
||||||
{
|
{
|
||||||
|
@ -2311,6 +2313,13 @@ static void recRecompile(const u32 startpc)
|
||||||
eeRecPerfLog.Write("Pagesplit @ %08X : size=%d insts", startpc, (i - startpc) / 4);
|
eeRecPerfLog.Write("Pagesplit @ %08X : size=%d insts", startpc, (i - startpc) / 4);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pblock->GetFnptr() != (uptr)JITCompile)
|
||||||
|
{
|
||||||
|
willbranch3 = 1;
|
||||||
|
s_nEndBlock = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//HUH ? PSM ? whut ? THIS IS VIRTUAL ACCESS GOD DAMMIT
|
//HUH ? PSM ? whut ? THIS IS VIRTUAL ACCESS GOD DAMMIT
|
||||||
|
@ -2614,6 +2623,34 @@ StartRecomp:
|
||||||
pxAssert((pc - startpc) >> 2 <= 0xffff);
|
pxAssert((pc - startpc) >> 2 <= 0xffff);
|
||||||
s_pCurBlockEx->size = (pc - startpc) >> 2;
|
s_pCurBlockEx->size = (pc - startpc) >> 2;
|
||||||
|
|
||||||
|
if (HWADDR(pc) <= Ps2MemSize::ExposedRam)
|
||||||
|
{
|
||||||
|
BASEBLOCKEX* oldBlock;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
i = recBlocks.LastIndex(HWADDR(pc) - 4);
|
||||||
|
while ((oldBlock = recBlocks[i--]))
|
||||||
|
{
|
||||||
|
if (oldBlock == s_pCurBlockEx)
|
||||||
|
continue;
|
||||||
|
if (oldBlock->startpc >= HWADDR(pc))
|
||||||
|
continue;
|
||||||
|
if ((oldBlock->startpc + oldBlock->size * 4) <= HWADDR(startpc))
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (memcmp(&recRAMCopy[oldBlock->startpc / 4], PSM(oldBlock->startpc),
|
||||||
|
oldBlock->size * 4))
|
||||||
|
{
|
||||||
|
recClear(startpc, (pc - startpc) / 4);
|
||||||
|
s_pCurBlockEx = recBlocks.Get(HWADDR(startpc));
|
||||||
|
pxAssert(s_pCurBlockEx->startpc == HWADDR(startpc));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
memcpy(&recRAMCopy[HWADDR(startpc) / 4], PSM(startpc), pc - startpc);
|
||||||
|
}
|
||||||
|
|
||||||
s_pCurBlock->SetFnptr((uptr)recPtr);
|
s_pCurBlock->SetFnptr((uptr)recPtr);
|
||||||
|
|
||||||
if (!(pc & 0x10000000))
|
if (!(pc & 0x10000000))
|
||||||
|
|
Loading…
Reference in New Issue