Pubblicato un nuovo aggiornamento per il firmware sd2psXtd che si conferma come una delle soluzioni più complete e avanzate per chi vuole sfruttare al massimo l’emulazione delle memory card su console PlayStation 1 e PlayStation 2.

Nato come estensione del progetto originale sd2psx, questo firmware non si limita a riproporre le funzionalità standard, ma introduce una serie impressionante di novità che puntano a rendere l’esperienza utente più fluida, potente e personalizzabile che mai.
Pensato per funzionare su dispositivi basati su RP2040, come sd2psx e alcuni modelli commerciali tipo PSXMemCard di BitFunX, sd2psXtd porta l’emulazione delle memory card a un livello superiore.
Tra le innovazioni più rilevanti ci sono il cambio automatico dell’ID di gioco per PS2, il rilevamento dinamico della modalità PS1/PS2, il supporto per la nuova modalità “Arcade 2” (poi rinominata “Conquest Mode”) e ottimizzazioni mirate per il caricamento ultra veloce del FreePSXBoot.
Dal punto di vista tecnico invece, l’aggiornamento punta a migliorare sensibilmente la stabilità generale, sia nella selezione manuale della modalità sia durante l’uso con titoli PS1.
Sono stati risolti diversi bug legati alle impostazioni dei canali massimi, alla strategia di conferma dei salvataggi (CIV), e a comportamenti anomali su memory card “90ks”. Inoltre, sono state affinate le comunicazioni tramite DMA e I2C, migliorando l’efficienza e la compatibilità complessiva.
Infine, il sistema di gestione delle scorciatoie, delle modalità e delle risposte ai comandi è stato ulteriormente rifinito per essere più aderente alle specifiche ufficiali e per gestire correttamente anche casi limite come game ID non validi.
PlayStation 2
- Cambio ID Gioco.
- Selezione dinamica modalità PS1.
- Supporto a MMCEMAN e MMCEDRV.
- Disponibilità istantanea della Memory Card.
- Supporto a Memory Card da 1 a 64 MB.
- Supporto ai modelli Developer (DTL-H & DTL-T), Arcade (COH-H) e Prototype (EB?).
PlayStation 1
- Meccaniche BootCard.
- Supporto a PSRAM.
- Supporto ai combo di tasti del Controller per cambiare Card.
- Avvio super rapido di FreePSXBoot.
- Supporto Net Yaroze.
Generale
- File di configurazione delle impostazioni.
- Supporto ad altri dispositivi MMCE basati su RP2040.
- Configurazione per ogni singola Memory Card.
- Mappatura Game2Folder.
PS2: Cambio ID Gioco
Come su PlayStation 1, sd2psXtd può rilevare l’ID del gioco su PlayStation 2 e passare automaticamente a una Memory Card dedicata per quel gioco. Il cambio ID può essere disattivato nelle impostazioni.
Questo avviene in due modi:
- Tracciamento file di cronologia: La PS2 scrive l’ID del gioco su un file storico della Memory Card. Il firmware intercetta questa scrittura e monta automaticamente la Memory Card dedicata.
- ID Gioco tramite MMCEMAN: Integrabile con OPL, consente di inviare l’ID del gioco direttamente al dispositivo.
PS2: Selezione dinamica modalità PS1
Quando si avvia in modalità PS2, i comandi inviati a sd2psx vengono monitorati. Se vengono rilevati messaggi da controller PS1 sullo stesso bus della Memory Card, la modalità passa automaticamente a PS1.
Attenzione:
- Se collegato a una PS1 in modalità PS2, c’è rischio di danneggiare la console PS1.
- Non utilizzare la modalità dinamica su un multitap PS1: questo danneggerà il multitap.
PS2: Supporto MMCEMAN e MMCEDRV
- Cambio Memory Card: MMCEMAN può richiedere il cambio di Memory Card o di canale.
- Comunicazione ID Gioco: può inviare ID gioco al MMCE per montare la Card dedicata.
- Accesso al File System: MMCEMAN consente di accedere al filesystem tramite chiamate POSIX.
- Caricamento giochi: MMCEDRV permette di caricare giochi dal MMCE con prestazioni pari o migliori di MX4SIO.
PS2: Disponibilità istantanea Memory Card
Con Memory Card da 8MB, sd2psXtd espone immediatamente la Card anche mentre viene trasferita su PSRAM. Questo accelera l’avvio di FMCB/PS2BBL senza necessità di script di attesa.
PS2: Supporto Memory Card da 1 a 64 MB
Aggiunto il supporto per Card da 1 a 64 MB. Tuttavia, oltre gli 8 MB, si richiede un accesso veloce alla SD per evitare corruzioni.
Nota: Si consiglia comunque di usare Card da 8MB per la massima compatibilità.
PS2: Supporto a Developer, Arcade e Prototype PS2
sd2psXtd supporta:
- DevKit
- TestKit
- Arcade
- Prototype
Attraverso la configurazione della variante nelle impostazioni PS2. Queste varianti utilizzano chiavi MagicGate differenti per proteggere le Memory Card.
Nota: Per i possessori di Devkit (DTL-H), impostare la Card su RETAIL mode 1.
PS1: Meccaniche BootCard
Se la funzione BootCard è attivata, il sistema PS1 avvia automaticamente la BootCard all’accensione. Se disattivata, vengono ripristinati canale e Card dell’ultima sessione.
PS1: Supporto PSRAM
Le Memory Card possono essere gestite tramite PSRAM, migliorando la flessibilità dell’uso della RAM.
PS1: Combo Controller per Cambio Card
Combinazioni di tasti per cambiare Memory Card o Canale:
| Combinazione | Descrizione |
|---|---|
| Prossima Memory Card | |
| Memory Card precedente | |
| Prossimo Canale | |
| Canale precedente | |
| Passa alla BootCard |
È necessario tenere premuti contemporaneamente tutti e quattro i tasti dorsali più la direzione desiderata.
PS1: Avvio Super Rapido FreePSXBoot
Utilizzando una comunicazione non standardizzata, sd2psXtd permette l’avvio velocissimo di FreePSXBoot. Necessita di una versione speciale di FreePSXBoot scaricabile da: https://sd2psXtd.github.io
PS1: Supporto Net Yaroze
Il firmware si comporta come una Net Yaroze Access Card se utilizzato col software ufficiale Net Yaroze.
Generale: File di configurazione delle impostazioni
Viene generato un file .sd2psx/settings.ini modificabile da PC.
Esempio formato:
[General] Mode=PS2 FlippedScreen=OFF [PS1] Autoboot=ON GameID=ON [PS2] Autoboot=ON GameID=ON CardSize=16 Variant=RETAIL
Valori possibili:
| Impostazione | Valori possibili |
|---|---|
| Mode | PS1, PS2 |
| AutoBoot | OFF, ON |
| GameID | OFF, ON |
| CardSize | 1, 2, 4, 8, 16, 32, 64 |
| Variant | RETAIL, PROTO, ARCADE |
| FlippedScreen | ON, OFF |
Nota: Assicurarsi che il file .ini termini con una riga vuota.
Generale: Supporto ad altri dispositivi MMCE basati su RP2040
Supporta dispositivi come:
- PicoMemcard+ / PicoMemcardZero (DIY di dangiu): Utilizzare firmware variante PMC+ o PMCZero.
- PSXMemCard (BitFunX): Utilizzare firmware variante psxmemcard.
- PSXMemCard Gen2 (BitFunX): Utilizzare firmware variante sd2psx.
Nuovo nella versione 1.2: I pulsanti onboard di PMC+ e PMCZero sono supportati:
- Bottone 1: Carica BootCard
- Bottone 2:
- Pressione breve: Canale precedente
- Pressione lunga: Memory Card precedente
- Bottone 3:
- Pressione breve: Canale successivo
- Pressione lunga: Memory Card successiva
Generale: Configurazione Per Card
Ogni Memory Card può avere il proprio file di configurazione CardX.ini nella cartella della Card.
Formato esempio:
[ChannelName] 1=Channel 1 Name 2=Channel 2 Name 3=Channel 3 Name 4=Channel 4 Name 5=Channel 5 Name 6=Channel 6 Name 7=Channel 7 Name 8=Channel 8 Name [Settings] MaxChannels=8 CardSize=8
Note:
CardSizesi applica solo a Memory Card PS2.- La cartella
BOOTdeve contenere il fileBootCard.ini. - Assicurarsi che i file
.initerminino con una riga vuota.
Generale: Mappatura Game2Folder
Alcuni giochi (ad esempio, la serie Singstar) condividono dati di salvataggio tra più ID gioco. È possibile creare una mappatura personalizzata in .sd2psx/Game2Folder.ini.
Esempio:
[PS1] SCXS-12345=FolderName1 [PS2] SCXS-23456=FolderName2
Note:
- Nomi cartella troppo lunghi potrebbero causare scatti o malfunzionamenti durante l’utilizzo di MMCE.
- Assicurarsi di avere una riga vuota alla fine del file
.ini.
Changelog
- Miglioramenti alla stabilità durante il cambio manuale di modalità.
- Miglioramenti alla stabilità su PS1.
- Aggiunta la modalità Arcade 2.
- Corretto il numero massimo di canali nelle impostazioni.
- Corretta la strategia di conferma CIV.
- Corretti problemi con le “90ks maledette”.
Commit
196f398: Ottimizzati i cicli ACK (BBsan) #531e3c864: Migliorata l’emulazione della memory card PS1 (BBsan) #53dbfa9fe: Dopo l’avvio, passa alla memory card predefinita (BBsan) #53d2f8907: Tentativo di risoluzione del problema #22 (BBsan) #53d0511d5: Passa alla scheda predefinita se viene ricevuto un game ID non valido (BBsan) #536f25566: Usa correttamente l’ID principale quando viene trasmesso un Game ID (BBsan) #5305dd8d3: Abilitata la CI (integrazione continua) su tutti i branch e pull request, con limitazione alle release (Matías Israelson) #4792217d7: Aggiunto il supporto alla seconda modalità arcade (Matías Israelson) #477a816bc: Esteso il comando 0x7F secondo le specifiche ufficiali (Matías Israelson) #4797d41b5: Rinomina della modalità Arcade 2 in “Conquest Mode” (Matías Israelson) #47046c5f5: Ignorato il comando 0x7F al di fuori della modalità retail (Matías Israelson) #478d30c58: Ottimizzazioni al PIO (BBsan) #53070f135: Gestione corretta del DMA (BBsan) #537e77ce2: Uso del DMA su I2C (BBsan) #5357caef0: Migliorata la gestione delle modalità (BBsan) #5392087dd: Ottimizzata la durata della CI (BBsan) #530c192c9: Revert di una modifica precedente (BBsan) #5311e9325: Corretta la gestione di caricamento/scaricamento del PIO (BBsan) #532c72f38: Migliorata la strategia di conferma CIV (BBsan) #533b1ccea: Ottimizzazione generale (BBsan) #53971b416: Aggiornamento di pico-sdk (BBsan) #531ed29d1: Prova di clone superficiale (shallow clone) (BBsan) #53a85cdd9: Rimozione di un parametro non funzionante (BBsan) #53c584bc5: Aggiornamento alla versione più recente del ramo 8.4 di lvgl (BBsan) #53ef4fa0d: Rollback dell’aggiornamento lvgl (BBsan) #53eec7a8f: Utilizzo di devcontainer basato su Ubuntu 24.04 (BBsan) #53a22030b: Corretto il problema dei MaxChannels (BBsan) #5253afa49: Rilascio versione 1.2.1 (BBsan) #53
Download: sd2psXtd v1.2.1
Download: Source code sd2psXtd v1.2.1
Fonte: github.com







