CPS3
Il CP System III o CPS3 è il diretto successore del CPS2 e venne utilizzato da Capcom a partire dal 1996. Nei sistemi CPS3 il gioco risiede inizialmente su uno speciale CD di installazione. Durante la fase di setup il gioco viene copiato, crittografato, su una serie di memorie flash di tipo SIMM. Successivamente, ad ogni accensione, il sistema usa una chiave di decodifica, memorizzata su una cartuccia dedicata per decodificare il gioco stesso e permetterne la sua esecuzione.
Questo meccanismo di protezione purtroppo fallisce allorquando la chiave memorizzata sulla cartuccia venga persa o cancellata, in tal caso si parla di cartucce suicidate, in modo simile a quanto già visto con i precedenti sistemi CPS2 e CPS.
Tanto per peggiorare le cose le cartucce CPS3 non sono soggette a suicidio solamente in caso di scarica della batteria tampone in esse contenuta. La chiave infatti viene deliberatamente cancellata anche nel caso la CPU a bordo rilevi tentativi di manomissione o intrusione nella cartuccia stessa. Questi eventi includono ad esempio reali tentativi di manomissione ma anche fluttuazione nella tensione di alimentazione, elettricità statica, rimozione della cartuccia a sistema acceso, contatto con la parte inferiore del PCB e addirittura c'è chi sostiene che anche la sola connessione/disconnessione del kick harness possa portare alla perdita della preziosa chiave.
Per quanto quindi uno possa fare attenzione per preservare al massimo il proprio sistema di gioco (cambiando ad esempio periodicamente la batteria) può capitare che ci si possa ritrovare con una cartuccia suicidata senza apparente motivo... Fortunatamente negli ultimi tempi è stata scoperta, grazie all'eccellente lavoro di Darksoft e con la collaborazione di Mitsurugi-w e resa pubblica una tipologia di modifica delle cartucce che permette di desuicidare le stesse, permettendoci di restaurare una situazione ormai compromessa, ed ottenere al contempo una alcuni vantaggi quali: la possibilità di scegliere il codice regionale del gioco, la possibilità di caricare tutti i giochi esistenti per questa piattaforma da un unico CD (ovviamente fermo restando l'ovvio vincolo morale per cui uno puo' utilizzare solamente i giochi che effettivamente possiede), effettuare la verifica di funzionamento delle SIMM a bordo, etc.
Un po' di background
Come detto sopra il nocciolo dello schema di protezione risiede nella cartuccia.
Ciascuna cartuccia è composta, oltre che dal circuito di carica per la batteria e da un po' di logica sparsa, da una CPU e da una EPROM contente il codice (BIOS) per inizializzare il sistema, leggere la chiave, etc. (le solite operazioni da BIOS insomma...).
La CPU utilizzata dal sistema è una versione custom del chip SH-2 di Hitachi. Tale CPU, della famiglia SuperH, era già stata utilizzata senza customizzazioni, quindi in versione standard, ad esempio su Sega Saturn, Sega 32 e ST-V. Purtroppo questa versione customizzata si differenzia dalla versione standard potendo eseguire soltanto codice opportunamente crittografato. Ciò rende molto difficile effettuare hacking e customizzazioni sul BIOS originale Capcom, e al contempo ci offre, come avremo modo di vedere più avanti, due scenari possibili per la modifica.
Esistono 4 tipologie di cartucce, rispettivamente identificate dalle lettere 'A', 'B', 'C', 'D'. Benchè funzionalmente equivalenti queste 4 tipologie di cartucce presentano alcune differenze nel layou del PCB, pertanto l'approccio per la modifica risulta essere leggermente diverso a seconda della tipologia di cartuccia "sotto i ferri".
Type A
Type B
Type C
N/A
Type D Scegliere il tipo di modifica
Per bypassare il meccanismo di protezione crittografica sostanzialmente esistono due metologie:
- Mantenere il SH2 custom e rimpiazzare l'immagine del BIOS
- Sostituire il SH2 custom con uno standard (HD6417095) e rimpiazzare l'immagine del BIOS
Si, direte voi, tutto molto bello... ma all'atto pratico questo cosa significa? All'atto pratico ad oggi non sono state ravvisate differenze tra giochi ricodificati tramite tavole (custom SH) o direttamente (standard SH). Tuttavia esiste una probabilità, seppur minima, che una qualche tabella di decodifica sia stata calcolata erroneamente da Darksoft, e quindi il gioco possa presentare dei glitch, blocchi o comunque anomalie. Questo potenziale problema invece non si presenta se si procede con la sostituzione del chip SH2; tale procedura permette di poter effettuare modifiche più flessibili sul codice del BIOS e consente ad esempio anche l'esecuzioni di una versione customizzata (hacked) di "SF3: 3rd Strike" ribattezzata "SF3: 4th Strike".
Ready??? go!
Ora che abbiamo in che parco andremo a giocare, possiamo entrare un po' più nel dettaglio.
Prima di tutto dobbiamo decidere quale tipologia di modifica vogliamo effettuare. Visto che, ad oggi, la modifica che mantiene il custom SH2 non ha rilevato problemi di sorta, e considerato che rimpiazzare il chip SH2 sarebbe un lavoro decisamente rischioso, trattandosi di una CPU con una discretamente elevata densita di PIN, ho deciso di procedere con il mantenimento del custom SH2 e con la sola riprogrammazione dell'immagine del BIOS.
Prima di procedere ulteriormente dobbiamo anche assicurarci di avere una quantità di SIMM adeguata per far funzionare il nuovo BIOS modificato, vale a dire 4 moduli da 128Mb e due da 64Mb (cioè la stessa quantità di memoria che servirebbe per utilizzare SF3: Third strike).
Le immagini del BIOS e la copia dell'UniCD (necessarie per caricare il gioco desiderato((Si ricorda che si possono solo utilizzare giochi che si possiedono effettivamente.))) possono essere scaricate qui:
BIOS + UniCD
Prestare particolare attenzione alla coppia di file da scaricare:
- UniCD-CPS3 for custom + SuperBIOS custom((Entrambi i BIOS custom e standard sono contenuti all'interno dello stesso archivio SuperBIOS for custom and standard SH2)) in caso di mantenimento della CPU SH2
- UniCD-CPS3 for standard((Eventualmente la versione con SF3:4S)) + SuperBIOS standard((Entrambi i BIOS custom e standard sono contenuti all'interno dello stesso archivio SuperBIOS for custom and standard SH2)) in caso di sostituzione della CPU SH2
...continua nel prossimo post a causa del limite di 10 attachment del forum...