PCSX2 - Widescreen Game Patches
Widescreen requests:

Galactic Wrestling: Featuring Ultimate Muscle (NTSC-U)
KOF: Maximum Impact Regulation A (NTSC-J)
Sega Ages 2500 Series Vol. 11: Hokuto no Ken (NTSC-J)
Sega Ages 2500 Series Vol. 19: Fighting Vipers (NTSC-J)
Sega Ages 2500 Series Vol. 31: Cyber Troopers Virtual-On (NTSC-J)
Sega Ages 2500 Series Vol. 3: Fantasy Zone (NTSC-J)
Sega Ages 2500 Series Vol. 24: Last Bronx (NTSC-J)
Hudson Selection Vol. 4: Adventure Island (NTSC-J)
Hudson Selection vol. 3: PC Genjin (Bonk) (NTSC-J)
Hudson Selection vol. 2: Star Soldier (NTSC-J)
D1 Professional Drift Grand Prix Series (NTSC-U)
Gungriffon Blaze (NTSC-U)
Reply

Sponsored links

http://forums.pcsx2.net/Thread-Help-with...ot-working

Can someone please look into making a Midnight Club 3 patch which works with the latest builds?
Reply
Here is a patch for the PAL verrsion of Midnight Club 3 - DUB Edition Remix.

EDIT: Very slight update:
.pnach   208183AF.pnach (Size: 131 bytes / Downloads: 637)
Reply
(09-06-2016, 07:44 AM)Devina Wrote: http://forums.pcsx2.net/Thread-Help-with...ot-working

Can someone please look into making a Midnight Club 3 patch which works with the latest builds?

Yeah, I wanted to bring this to your attention.

Note that during July there were several fixes to the patch/cheats loading system, basically making its timing much more accurate than before.

The main fixes are:
- Game fixes/patches/cheats/widescreen-patches now load exactly when the game starts and not while still at the bios.
- Patches which are already loaded don't affect the next boot anymore (fast or full).
- Patches with "place" of 0 (i.e. patch lines which start with patch=0, ...) should now work better/correctly.

Quick reminder of the "place" value (0 or 1):
- Place 0: patch=0, ...     Place 1: patch=1, ...
- Place 0 patches are patching the PS2 ram ONCE after the ELF is loaded to the PS2 ram but before it's executed (recompiled).
- Place 1 patches are patching the PS2 ram on EVERY PS2 vsync - after the game starts (first time is always a bit after place 0 patches are applied).
- After the 0/1 part, the rest of the logic/interpretation is identical.
- If required, it's fine to use the same patch addresses both as place 0 and as place 1 at the same file (in two lines).

Any patches which need to "fast boot twice" will not work anymore because patches from the previous game don't affect the next boot anymore. I.e. you can change iso and/or boot fast/full as many times as you want and patches from the previous game would not interfere with the next boot anymore (this actually fixes a lot of "random" crashes when changing ISO and then trying to boot again, or not changing and trying to full boot - since the the previous patches were applied accidentally to the bios of the next boot).

If they still need to fast boot twice to work then it's a PCSX2 bug which we need to fix.

The correct fix for those "need fast boot twice" is to use only/also place 0 patch lines where the ELF needs to be patched.

There are also comments like "Enable condition (to prevent a crash in PCSX2 full boot mode; not needed for fast boot mode nor PS2 cheat devices)" - this should not be required anymore since one of the fixes is that the patches don't apply anymore while still at the BIOS - they start applying only just before the ELF is executed.

Please confirm that this works as expected now, and if there are still issued related to this, or other requests, let me know and we'll open a new thread to discuss it.

Thanks.
Reply
(09-06-2016, 03:46 PM)avih Wrote: The correct fix for those "need fast boot twice" is to use only/also place 0 patch lines where the ELF needs to be patched.

This was confirmed to work at http://forums.pcsx2.net/Thread-Help-with...ot-working , with an experimental approach which added the existing place 1 patch lines to have also place 0 for the same patches (for 60A42FF5.pnach - Midnight Club 3 - DUB Edition Remix SLUS_213.55 ).

Preferably, however, the widescreen patches (and patches in general) should not use place 1 patches where place 0 is enough (probably for lines which patch the elf image at memory) - both because it's a cleaner approach, and also for the (negligible, but still) performance increase because place 1 patches patch the memory on every vsync while place 0 patches only patch it once on startup.
Reply
Thank you avih for the information. If you encounter any bug reports with the widescreen patches, please let me know.

(09-06-2016, 12:51 PM)FlatOut Wrote: Here is a patch for the PAL verrsion of Midnight Club 3 - DUB Edition Remix.

EDIT: Very slight update:

Is portable to the NTSC-U version? What are the original values?
Reply
(09-06-2016, 03:46 PM)avih Wrote: There are also comments like "Enable condition (to prevent a crash in PCSX2 full boot mode; not needed for fast boot mode nor PS2 cheat devices)" - this should not be required anymore since one of the fixes is that the patches don't apply anymore while still at the BIOS - they start applying only just before the ELF is executed.

I'm responsible for many of the widescreen pnaches that contain E-type codes paired with "enable condition" comments.

It should be fine to remove them in pnaches that apply to only a single game/ELF file. However, as @avih mentioned, doing so will cause full boot/fast switch problems in pre-July 2016 builds of PCSX2. So whether or not to keep them would depend on if the widescreen archive is meant to only be compatible with net-new versions of PCSX2 or retain some level of backwards-compatibility with older versions. Or maybe we don't care about those less-common scenarios? Most people probably only play one game at a time and fast boot them. Not to mention the vast majority of the archive's pre-existing pnaches don't contain enable conditions to support those extra scenarios.

On another note, certain widescreen pnaches have been designed for games that use multiple ELF files or separate/distinct games with the same CRC. In those cases, their enable conditions would need to be retained (even in post-July 2016 builds).


FWIW, here's an outline of pnaches I've helped develop that contain enable conditions, as well as where they stand. Depending on what's decided, I could post an updated archive of them.

Pnaches that cover a single game/ELF (safe to remove enable conditions for newer PCSX2 builds):
  • gametitle=Twisted Metal: Black (NTSC-U) [SCUS-97101] [073696DA]
  • gametitle=Twisted Metal: Black (PAL-Unk) [SCES-50360] [2E93D897]
  • gametitle=Stretch Panic (NTSC-U) [SLUS-20182] [854D5885]
  • gametitle=Twisted Metal: Black [Preview] (NTSC-U) [SLPS-200] [AF3E4E18]
  • gametitle=Twisted Metal: Black [Demo] (NTSC-U) [SCUS-97164] [CFCBDF0C]
  • gametitle=Hippa Linda (NTSC-J) [SLPM-62109] [D4D45FF4]
  • gametitle=Freak Out (PAL-Unk) [SLES-50310] [FE191134]
Pnaches that cover multiple games/ELFs (not safe to remove enable conditions for newer PCSX2 builds):
  • gametitle=Amplitude (NTSC-U) [SCUS-97258] [2F7B4DB8]
  • gametitle=Sega Classics Collection (NTSC-U) [SLUS-21009] [497DBC3C]
  • gametitle=Hitman 2 - Silent Assassin, Jampack Demo Discs (? and up), KISOK Demo Discs (<=2.8 and up), Network Adapter Start-Up Disc and Official U.S. PlayStation Magazine Demo Discs (056 and up) (NTSC-U) [7656425F]
  • gametitle=Twisted Metal: Black (NTSC-U) [Russian Fan Translation] [PBPX-95506] [7ACF7E03] (note: if the previous list's pnaches were to be changed, it would be wise to modify this pnach's enable condition comment)
  • gametitle=Official U.S. PlayStation Magazine Demo Disc 055 (NTSC-U) [SCUS-97181] [96A608C5]
  • gametitle=Amplitude (PAL-Unk) [SCES-51706] [F7DC0006]

PS: A handful of pnaches from other widescreen hackers are also using E-type codes. Most lack documentation, but I presume many of them are being used for mid-game situations (which would need to be kept).
Reply
(09-07-2016, 06:47 AM)Aced14 Wrote: It should be fine to remove them in pnaches that apply to only a single game/ELF file. However, as @avih mentioned, doing so will cause full boot/fast switch problems in pre-July 2016 builds of PCSX2. So whether or not to keep them would depend on if the widescreen archive is meant to only be compatible with net-new versions of PCSX2 or retain some level of backwards-compatibility with older versions. Or maybe we don't care about those less-common scenarios? Most people probably only play one game at a time and fast boot them. Not to mention the vast majority of the archive's pre-existing pnaches don't contain enable conditions to support those extra scenarios.

Note that there were several fixes during July, so while pre-July builds do indeed have the old behavior, the fully fixed new behavior should be from August onward (the last fix on this matter was on July 31st).

As for maintaining backward compatibility, that's indeed one option and the condition probably shouldn't hurt. However, since it's likely that new patches will be developed with newer builds of PCSX2, where there's no more need to have such conditions, or to fast boot twice for the patch to work, it's likely IMO that new patches might not always be compatible with older builds of PCSX2 anyway (just because the issue never comes up with new builds, so patch devs won't use those workarounds).

So what I think we should do, though ultimately I'd leave this up to you guys/gals to decide, is to keep a copy of the current archive as compatible with PCSX2 1.4 and newer builds up to June 2016 - and don't update it anymore, and from now on develop new patches without this backward compatibility, and possibly over time clean up existing patches which do use such condition or other workaround for PCSX2 issues/crashes/etc. Reasonable?


Quote:On another note, certain widescreen pnaches have been designed for games that use multiple ELF files or separate/distinct games with the same CRC. In those cases, their enable conditions would need to be retained (even in post-July 2016 builds).

Sure, sounds reasonable to me.


Also, as I noted at my earlier post where I announced these changes, I'd still appreciate if you could confirm that it works as it should. If there are any remaining or new related issues - then please let me know (or open a new issue on github and mention @avih).
Reply
This is a bit confusing, but here's my input.

The widescreen archive is meant for the latest builds, so update any patches to work with the latest builds as efficiently as possible.

If there are patches that only work with older builds, then I can create a new folder in the "Useful cheats" section in the archive. So we'll move those there.

I'll leave it to Aced14 to identify the patches, update them, etc.
Reply
hello
some widescreen requests

NTSC-U
Aqua Aqua
Mercury Meltdown Remix
Wrath Unleashed
Carmen Sandiego: The Secret of the Stolen Drums
Technic Beat
Lumines Plus

NTSC-J
I.Q. Remix+: Intelligent Qube

thank
Reply




Users browsing this thread: 13 Guest(s)