Wat is het PNACH-bestandsformaat?
Een .pnach-bestand is een tekstbestand met patches dat wordt gebruikt door PCSX2, de open-source PlayStation 2-emulator. Het definieert geheugenpatches die worden toegepast op een draaiend PS2-spel om het gedrag aan te passen - zoals het inschakelen van cheats, het ontgrendelen van framerate-limieten, het toepassen van breedbeeld-hacks of het oplossen van compatibiliteitsproblemen bij emulatie.
De bestandsnaam zelf is de zoeksleutel: deze moet gelijk zijn aan de CRC32-hash van het spel in hoofdletters hexadecimaal (bijvoorbeeld 6A8F18B9.pnach), zodat PCSX2 automatisch de juiste patches kan laden wanneer een overeenkomstig spel wordt gedetecteerd. Bestanden worden opgeslagen in de submap cheats/ van de PCSX2-configuratiemap.
Elke patch=-instructie specificeert een geheugenadres in de EE (Emotion Engine) of IOP-ruimte, een datatype (byte, short, word, double of extended) en de te schrijven waarde. Patches kunnen worden gegroepeerd onder [GroupName] sectiekoppen (geïntroduceerd in PCSX2 v1.7.4546, 2023), waardoor individuele cheats in de PCSX2-interface kunnen worden in- of uitgeschakeld zonder het bestand te bewerken. Metadataregels zoals gametitle= en author= documenteren de patch bovenaan het bestand.
Dynamische conditionele patches die in 2024 zijn toegevoegd, breiden het formaat verder uit, waardoor schrijfacties alleen worden geactiveerd wanneer een geheugenadres al een specifieke waarde bevat. Het moderne op groepen gebaseerde formaat is niet achterwaarts compatibel met de oude stijl van één blok die vóór PCSX2 v1.7 werd gebruikt.
PCSX2 wordt geleverd met een ingebouwde bibliotheek van .pnach-patches voor breedbeeld en andere fixes. Gebruikers kunnen aangepaste patches schrijven met elke tekstverwerker en deze delen als gewone bestanden; officiële documentatie wordt bijgehouden op pcsx2.net.
Beveiliging & veiligheid
RISICO: LOW.pnach-bestanden zijn platte tekst - ze bevatten geen uitvoerbare code en kunnen niet buiten PCSX2 worden uitgevoerd. Ze wijzigen alleen het geheugen van het PS2-spel tijdens runtime binnen de emulator. Het enige risico is het downloaden van .pnach-bestanden van onbetrouwbare sites die ze bundelen met malware-installatieprogramma's; download altijd van de officiële PCSX2-wiki/forums of gevestigde PS2-cheat-repositories.
Formaatdetails
in een notendopProgramma's die PNACH-bestanden openen
Technische details
diepe specificaties| Conventie voor bestandsnamen | 8-tekens hoofdletter hex-CRC32 van het PS2-spel (bijv. `6A8F18B9.pnach`) - moet overeenkomen met de CRC van het draaiende spel voor automatisch laden |
| Bestandslocatie | `cheats/` submap van de PCSX2-configuratiemap |
| Codering | Platte tekst, UTF-8 of ASCII |
| Syntaxis patch-instructie | `patch=enabled,place,address,type,value` |
| Geheugenruimtes | EE (Emotion Engine CPU) of IOP (I/O Processor) - geselecteerd in het `place`-veld |
| Ondersteunde datatypen | `byte`, `short`, `word`, `double` en extended types |
| Groepsondersteuning | `[GroupName]` sectiekoppen toegevoegd in PCSX2 v1.7.4546 (2023) maken het in-/uitschakelen per cheat mogelijk in de UI |
| Dynamische patches | Conditionele schrijfacties op basis van huidige geheugenwaarde - toegevoegd in 2024 (commit cc9c0f9) |
| Waarden voor enabled-veld | `0` = uitgeschakeld, `1` = altijd aan, `2` = door gebruiker in te schakelen, `3` = dynamisch/conditioneel |
| Metadataregels | `gametitle=`, `author=`, `description=` voor documentatie bovenaan het bestand |
| Verouderd formaat | Vóór v1.7.4546: enkel plat bestand, alle patches altijd actief; geen groepssecties |
| Compressie | Geen - platte tekst |
| Meerdere bestanden | Meerdere `.pnach`-bestanden die dezelfde game-CRC delen, worden allemaal geladen en samengevoegd door PCSX2 |
| Uitgebracht | circa 2005 (PCSX2 cheat/patch system) |
| Laatste versie | Modern PCSX2 pnach v2 format (2024, with dynamic patches and group syntax) |
| Specificatie | pcsx2.net |
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PNACH-bestanden.