Home Android Pubblicato il nuovo aggiornamento alpha-2226 dell’emulatore AetherSX2

Pubblicato il nuovo aggiornamento alpha-2226 dell’emulatore AetherSX2

115
0

Pubblicato un nuovo aggiornamento alpha per AetherSX2, l’emulatore della console PlayStation 2 per dispositivi Android, MacOS e Linux corregge diversi bug e migliora la decompressione delle texture in giochi come True Crime, Spiderman e Kung Fu Panda.

Il rollout avverrà in modo graduale, questo significa che potrebbero volerci alcuni giorni affinché i diversi dispositivi ricevano l’aggiornamento.

Nota: Chiunque potrà scaricare i file APK dell’accesso anticipato da Home • AetherSX2 Download Archive, non è richiesta alcuna iscrizione al patreon! La stessa chiave per la firma viene utilizzata sia per il Play Store che per le build di archivio, quindi l’installazione del file apk non impedirà di ricevere futuri aggiornamenti del Play Store e non è necessario disinstallare/reinstallare manualmente l’app.

Utilizza il renderer SW per disegnare sprite di tipo decompressione texture.

L’utilizzo del renderer SW per disegnare sprite di tipo decompressione texture corregge le texture in giochi come True Crime, Spiderman, Transformers, Kung Fu Panda, ecc..

Questo è probabilmente il cambiamento più interessante di questo mese. Per chi non ne fosse a conoscenza, la PS2 aveva solo 4 megabyte di memoria video, che doveva essere condivisa da entrambi i framebuffer, le texture e le tavolozze (CLUT).

Questo è in contrasto con il GCN, che aveva invece 48 megabyte di memoria principale a cui la GPU poteva accedere per le texture, oltre a un framebuffer su chip dedicato.

A 32 bit per pixel, un framebuffer di 640×480 era di circa 1,2 megabyte e ne voleva due (per il doppio buffering; renderizza uno, mentre l’altro viene visualizzato).

Ciò ha lasciato poco più di 1,5 megabyte di memoria video rimanenti per le texture. Non tanto. In quanto tale, gli sviluppatori PS2 hanno dovuto diventare molto creativi con la gestione della VRAM, per non dire altro.

Un certo numero di giochi tra cui la serie Spiderman, True Crime: New York City, Kung Fu Panda, L.A. Rush, serie Call of Duty e altri, hanno preso questa idea dello streaming di texture a un passo avanti.

Invece di trasferire le texture su richiesta, le hanno anche memorizzate nella RAM in una forma “compressa” (simile alla compressione delle texture VQ) e le hanno “decompresse” sul GS appena prima che fossero disegnate.

Una tecnica molto intelligente, dal momento che il GS non aveva alcuna forma di compressione delle texture, al di fuori delle “normali” texture indicizzate/palette.

Lo hanno fatto eseguendo diversi piccoli disegni di sprite per applicare una tavolozza aggiuntiva prima del disegno normale.

Il risultato è stato un disastro per la nostra cache delle texture. Non solo dovevi preoccuparti di mantenere tutte queste minuscole “texture” all’interno di un framebuffer più grande, ma dovevi anche unirle di nuovo insieme in un’unica trama prima di disegnare e inviare tutti i disegni sprite, che possono essere superiori a 1.000 per fotogramma.

Come previsto, le GPU mobili lo odiavano assolutamente e le GPU desktop non erano migliori. Non solo, ma nella maggior parte dei casi, il TC non è stato in grado di tenere traccia di tutto questo caos in corso e hai delle texture completamente rotte nei renderer hardware.

In precedenza, l’unica soluzione era utilizzare il renderer software. Tuttavia, a causa della mancanza di grandi core, questo non era molto fattibile sui dispositivi mobili.

Se disabiliti MTVU per liberare un core grande, su dispositivi di fascia alta, il renderer software può effettivamente ottenere prestazioni decenti, ma è comunque trattenuto avendo solo 2 core per sgranchirsi le gambe. Avevamo bisogno di un’altra soluzione.

Quindi, abbiamo pensato, possiamo identificare questi disegni di “decompressione della trama” e utilizzare il renderer software solo per questi?

La risposta è stata sì, dopo alcune sperimentazioni, abbiamo trovato un’euristica che ha funzionato per questi disegni, ma non ne ha infranti altri. Dopo aver modificato il renderer software per supportare la chiamata dal renderer hardware, i risultati parlano da soli:

Un altro vantaggio, poiché i dati della texture ora sono presenti nella memoria locale (a causa dell’utilizzo del software), provocano hit per la cache hash, migliorando ulteriormente le prestazioni su dispositivi mobili.

Non solo ottieni un rendering corretto, ma anche un bel aumento delle prestazioni.

Non abbiamo ancora eseguito l’upstream di questa modifica, perché ha un hack leggermente brutto a causa di un’errata invalidazione nella cache delle texture (necessaria per TC:NYC).

Ma poiché risolverlo correttamente richiederebbe modifiche TC più rischiose/invasive, probabilmente lo faremo presto a monte con l’hack incluso, in modo che tutti su tutte le piattaforme possano trarne vantaggio.

Corretto il problema con il flag VU CLIP errato in alcuni giochi.

Un altro bug di vecchia data nei ricompilatori VU ARM64. Questa volta negli aggiornamenti della bandiera, la bandiera CLIP è stata calcolata in modo errato in una particolare disposizione di istruzioni, risultando in giochi come Mark of Kri ingiocabili, con il personaggio bloccato/caduto per terra. Con le bandiere calcolate correttamente, il gioco ora è giocabile.

Aggiunta l’opzione Modalità download hardware.

Precedentemente noto come “Disable Hardware Readbacks”, questo speedhack ha fornito un significativo aumento delle prestazioni in alcuni giochi su dispositivi mobili.

Come accennato il mese scorso, abbiamo rimosso la sincronizzazione dei thread GS da questa opzione, il che ha reso GT4 notevolmente più veloce, ma a costo di interrompere i giochi che scambiano dati in entrata e in uscita dalla VRAM (ad es. Final Fantasy X).

 

Quindi, invece, l’abbiamo resa un’opzione per il meglio di entrambi i mondi. “Accurato” equivale alla vecchia impostazione “Disabilita rilettura hardware” disabilitata e “Disabilitato” equivale alla vecchia impostazione abilitata.

In altre parole, se ritieni che GT4 e giochi simili funzionino più lentamente con questo aggiornamento, modifica questa impostazione sulla modalità Disabilitata in Proprietà del gioco.

Il profilo veloce verrà impostato automaticamente sull’impostazione più sicura “disabilita readback”, pur continuando a sincronizzarsi con il thread GS.

Le opzioni non sincronizzate e disabilitate forniranno le migliori prestazioni, ma avranno maggiori possibilità di interrompere i giochi.

Gli ultimi due sono principalmente divisi perché l’opzione non sincronizzata stava causando la segnalazione di arresti anomali, ma non siamo stati in grado di riprodurne nessuno per eseguire il debug.

Se sei in grado di riprodurre un arresto anomalo con la modalità non sincronizzata selezionata, faccelo sapere e fornisci istruzioni su come riprodurlo e quindi eseguirne il debug/riparare noi stessi.

Corretto il problema per cui le modifiche alla scheda di memoria potrebbero non essere rilevate in alcuni giochi.

Un altro bug relativo a VMManager, la modifica delle schede di memoria in alcune situazioni non ha attivato la logica di riconnessione, con il risultato che il gioco non mostrava il contenuto della nuova scheda o, peggio, danneggiava la scheda di memoria. Ora la riconnessione funziona come previsto.

Aggiunto il pulsante di scambio delle schede di memoria alle impostazioni globali.

Per i giochi che non supportano il salvataggio sulla seconda scheda di memoria, avere la possibilità di scambiare rapidamente i due slot per schede senza dover deselezionare e riselezionare può essere un bel risparmio di tempo.

Per scambiare le schede, sia durante il gioco che fuori dal gioco, andare alle impostazioni della scheda di memoria e toccare Scambia schede. La modifica dovrebbe riflettersi immediatamente nel gioco senza riavviare, poiché verrà attivata la logica di riconnessione.

Aggiunto lo stato di salvataggio allo spegnimento/ripristino.

Dall’introduzione della compressione dello stato di salvataggio di zstd nell’aggiornamento del mese scorso, ora è possibile salvare automaticamente lo stato all’arresto del gioco, poiché il salvataggio viene completato così velocemente.

L’opzione è disabilitata per impostazione predefinita, poiché può utilizzare una discreta quantità di spazio di archiviazione, ma ora puoi creare automaticamente uno stato di salvataggio quando chiudi un gioco e riprendere da dove eri rimasto semplicemente toccando il gioco nell’elenco.

Ricorda che puoi utilizzare Save State Manager per ripulire i salvataggi vecchi/non necessari per i giochi che hai completato e/o che non hai più sul tuo dispositivo, se lo spazio di archiviazione è un problema.

Corretto il problema con l’espulsione delle memcard delle cartelle all’avvio di alcuni giochi.

Se stavi utilizzando schede di memoria per cartelle, potresti aver notato che alcuni giochi si sono lamentati della rimozione della scheda o dell’inaccessibilità all’avvio.

Ciò era dovuto a un bug nella logica di ripristino SIO di VMManager, che interessava sia le build Qt a monte che AetherSX2.

Fondamentalmente, simuliamo che la scheda venga scollegata e ricollegata quando il filtro (determina quali file sono visibili a seconda del gioco) viene modificato.

Tuttavia, ciò accadeva incondizionatamente all’inizio del gioco, ma poiché il gioco non era ancora iniziato, non era necessario ricollegare la scheda, poiché in precedenza non aveva letto nulla dalla carta.

Invece, saltiamo semplicemente il passaggio di ricollegamento se i filtri cambiano a seguito dell’avvio del gioco e tutto va bene e dandy.

Corretto il bug di allocazione del registro in alcuni giochi con blocchi molto grandi (ad es. Ultraman Nexus).

La memorizzazione nella cache dei registri FPR e GPR è una delle ottimizzazioni presenti nei ricompilatori ARM64, ma non presente nei ricompilatori x86, quindi questo bug era unico per ARM64.

Ultraman Nexus, e forse altri giochi, hanno creato alcune funzioni molto grandi senza alcun flusso di controllo intermedio, il che ha portato alla creazione di grandi blocchi di ricompilazione, alcuni dei quali sono riusciti a esaurire i 32 registri a virgola mobile disponibili in ARM64.

Quando alla fine si è verificato un carico di memoria, uno di questi registri è stato sovrascritto in modo errato, i dati sono andati persi, causando un arresto anomalo.

Tali bug sono spesso difficili da scoprire prima del fatto, perché in questo caso, era un caso allineato alle stelle che la cache del registro fosse esattamente nello stato precedente a un carico di memoria, in cui potrebbe verificarsi il danneggiamento dei dati. Tuttavia, man mano che emergono questi bug, li inchioderemo.

Corretto lo sfarfallio di FMV in alcuni giochi (ad es. Neo Contra).

Un bug di vecchia data in AetherSX2, ma non presente nell’upstream (a causa del nostro diverso comportamento con l’allocazione del buffer conservativo).

Fondamentalmente, Neo Contra impilerebbe due frame FMV verticalmente nella memoria locale GS.

Poiché il GS in realtà non specifica un’altezza del framebuffer (solo una larghezza e un’altezza *implicita* dalla forbice, ma non specifica), dobbiamo indovinarlo in base alla configurazione CRTC e, in questo caso, stavamo indovinando in modo errato (perché la nostra cache delle texture non sa che c’è un altro frame sotto di essa, sono tutti dati effettivamente casuali ad essa).

La soluzione in questo caso era espandere il primo target per includere il secondo frame in questo layout impilato. Tali euristiche sono purtroppo necessarie per emulare in modo efficiente il “selvaggio west” che è il sintetizzatore grafico della PS2.

Questa modifica ha anche avuto il vantaggio di correggere la riproduzione FMV in una serie di altri giochi, inclusi Disgaea 2, Mega Man X, Rygar, Sniper Elite, Tak 2 e altri, rimuovendo il “passa al software di rendering” precedentemente necessario for-FMVs” hackfix in questi casi.

Corretto il problema con la porta del controller 2 sempre collegata.

L’emulazione del gamepad in entrambe le build Qt a monte, così come in AetherSX2 è sempre stata piuttosto semplice, poiché si basa sulla vecchia implementazione di OnePad, ma con tutti i bit specifici della piattaforma rimossi.

Una delle stranezze del vecchio codice era che simulava sempre la connessione di entrambi i controller, indipendentemente dall’opzione di configurazione.

Ora disconnettiamo completamente il controller virtuale quando il tipo è impostato su Nessuno, quindi i giochi che si sono comportati in modo anomalo quando è stato collegato un secondo controller dovrebbero ora funzionare come previsto.

Aggiunte descrizioni migliori ai binding del controller.

Piccole modifiche alla qualità della vita, ma ora i collegamenti del controller nella finestra delle impostazioni verranno visualizzati con un nome descrittivo, come “Levetta sinistra sinistra”, invece di “LLeft”.

Aggiunta la sincronizzazione all’opzione di aggiornamento dell’host (per dispositivi come Odin con strani pannelli a 61 Hz).

Una nuova funzionalità, anche se è piuttosto di nicchia! I giochi NTSC per PS2 girano a 59.94hz in modalità interlacciata (o più precisamente, 60/1.001hz), ad eccezione di quelli che supportano la scansione progressiva, o girano a 240p (molto raro).

Questa è una mancata corrispondenza con i tipici display desktop e telefonici, che di solito funzionano a 60 Hz (o superiore).

Supponendo un host a 60 Hz, il risultato è un fotogramma duplicato visualizzato ogni 998 fotogrammi, o una volta ogni 16,6 secondi, che appare come “microstutter”.

L’effetto è più pronunciato nei giochi a 60 fps e meno evidente nei giochi a 30 fps, poiché si duplicano a prescindere dai fotogrammi.

Un metodo per contrastare questo problema è eseguire l’emulazione sempre leggermente più veloce (0,1% nel caso precedente), per sincronizzare l’aggiornamento del guest con la frequenza di aggiornamento dell’host.

Il risultato è un ritmo dei fotogrammi fluido e burroso, senza fotogrammi duplicati. Questo può anche avvantaggiare dispositivi come l’Ayn Odin, che utilizza un pannello a 61 Hz molto strano.

L’opzione funziona meglio se combinata con vsync e una dimensione della coda vsync pari a zero, ma poiché ciò richiede hardware più potente, non lo consigliamo per Android.

Se abiliti vsync e aggiorni la sincronizzazione senza ridurre le dimensioni della coda vsync, verrà effettivamente eseguito con la coda sempre piena, aumentando il ritardo di input.

Tuttavia, puoi comunque abilitare la sincronizzazione con l’opzione di aggiornamento dell’host da sola per dispositivi simili a Odin per regolare la velocità di emulazione e ridurre la possibilità di duplicazione dei frame.

Ribasato in upstream.

Il ramo AetherSX2 è stato nuovamente basato sul nostro emulatore upstream, così come molte delle modifiche del nostro ramo sono state unite di nuovo a monte.

Questo mese, include principalmente modifiche alle correzioni automatiche del gioco (GameDB), nonché correzioni di bug di GS, l’introduzione di opzioni di ritaglio overscan.

Rimosso wxWidgets interamente dall’app.

wxWidgets è una reliquia del passato e, nonostante AetherSX2 non utilizzasse nessuna delle vecchie GUI desktop, wxbase era ancora necessario per la compilazione poiché gran parte del core di emulazione dipendeva da esso per funzionare.

La rimozione di wxWidgets è stata un’impresa massiccia, multi-persona e di più mesi che ha richiesto la sostituzione di tutto l’utilizzo di questo framework con la libreria standard (ad es. wxString -> std::string) e/o l’aggiunta di nuove astrazioni per fornire funzionalità non presenti in la libreria standard.

Non c’è alcun vantaggio diretto per l’utente per la scomparsa di wx, a parte la libreria emucore ridotta di circa 1,5 MB, ma rende il core di emulazione a prova di futuro, consentendone il porting su nuove piattaforme molto più facilmente, senza richiedere il supporto di wx.

wxWidgets è sempre stato inserito a metà in Android, solo il minimo indispensabile per farlo funzionare, quindi è stato bello vederlo sparito completamente.

Aggiunte opzioni di proporzioni automatiche 4:3/3:2.

Aggiunto a monte nell’aggiornamento del mese scorso, il rapporto di aspetto automatico ora viene esposto nelle impostazioni.

Ciò riguarda principalmente i giochi PAL che forniscono un’opzione di modalità progressiva, poiché fondamentalmente emette un segnale NTSC, il che significa che stai visualizzando 480 linee su un display destinato a 576 linee, il che cambia le proporzioni.

Corretto il problema con la gestione dei bit T in MTVU rec.

I giochi che utilizzavano T-bit (che invia un interrupt al core MIPS) sono sempre stati un problema di stabilità con VU1 multi-thread abilitato, ma ciò è stato ulteriormente esacerbato dal fatto che la gestione di T-bit è stata gestita in modo errato nell’implementazione di VU rec di ARM64.

Non siamo a conoscenza di giochi che sono direttamente interessati da questa modifica, ma almeno è “corretto” in quanto si comporta allo stesso modo della controparte x86.

Aggiunte opzioni di registrazione dei file.

Questa è più una funzione di debug, ma a volte può essere utile nelle segnalazioni di bug. In precedenza, registravamo solo i messaggi emucore sul logcat di Android, che richiedeva all’utente di allegare adb per accedere, almeno su dispositivi non rootati.

Ora, viene fornita un’opzione per salvare il registro di emucore nella directory dei dati esterna privata dell’app (<archivio principale>/Android/data/xyz.aethersx2.android).

Puoi anche abilitare la registrazione dettagliata per maggiori dettagli. L’abilitazione della registrazione dei file rallenterà le prestazioni, poiché svuotiamo il buffer ogni volta che viene scritto un messaggio, in modo che il registro non venga troncato in caso di arresto anomalo. In altre parole, non abilitare questa opzione a meno che tu non sia un tester che effettua una segnalazione di bug.

Nota: Se si intende eseguire l’emulatore AetherSX2 su console Nintendo Switch si consiglia di eseguire l’overclock della CPU a 1785MHz, della GPU a 460MHz e della RAM a 1600MHz utilizzando il sysmodule sys-CLK.

Si consiglia di utilizzare un dispositivo equivalente a Snapdragon 845. Ciò significa 4 grandi core (livello Cortex-A75). Se hai solo due grandi core (ad esempio SoC Snapdragon serie 700, non dovresti abilitare VU multi-thread altrimenti le prestazioni ne risentiranno).

I dispositivi con GPU Mali o PowerVR eseguiranno l’app, ma le prestazioni saranno inferiori rispetto alle GPU Adreno, mentre il renderer Vulkan non sarà disponibile. Questo perché manca una caratteristica critica (combinazione dual-source).

Se si desidera utilizzare l’app su di un dispositivo più lento, è possibile provare ad eseguirlo, ma i giochi funzioneranno lentamente, specialmente i titoli più pesanti.

In tal caso provare a ridurre il clock della CPU impostando la frequenza del ciclo su di un numero negativo passando il ciclo ad un numero positivo nelle impostazioni di sistema, ma ciò causerà un ritardo interno dei giochi nel migliore dei casi o un arresto anomalo nel peggiore dei casi.

Caratteristiche

  • Simulazione del sistema.
  • Rendering OpenGL, Vulkan e software.
  • Upscaling dei giochi a 1080p e oltre.
  • Patch widescreen per giochi senza supporto nativo.
  • Supporto per stati di salvataggio.
  • Supporto per touchscreen e controller bluetooth.
  • I giochi possono essere caricati da immagini disco iso/chd/cso.
  • Impostazioni per gioco.

Aspettative

Questa è un’app gratuita, sviluppata come hobby nel tempo libero dello sviluppatore. Al momento in cui scriviamo, è in una fase iniziale e mancano molte funzioni utili, tuttavia è utilizzabile per giocare ad alcuni giochi.

Non sarà perfetto, tutt’altro. Continuerò a migliorarlo quando avrò tempo, ma ricorda che questo non è il mio lavoro e di avere aspettative realistiche, soprattutto se non hai un dispositivo di fascia alta.

Poiché si tratta di un’anteprima anticipata, dovresti salvare il gioco regolarmente in caso di arresti anomali.

Esclusioni di responsabilità

AetherSX2 dovrebbe essere usato solo per giocare a giochi che possiedi e che hai scaricato dal disco. Per scaricare i tuoi giochi, puoi utilizzare uno strumento come ImgBurn per creare un .iso per il disco e quindi copiarlo sul dispositivo tramite USB.

PlayStation 2 e PS2 sono marchi registrati di Sony Interactive Entertainment Europe Limited e in altre regioni. Questa app non è affiliata in alcun modo con Sony Interactive Entertainment.

L’app mi dice che ho bisogno di un BIOS

Si. Un’immagine del BIOS è necessaria per giocare e non è facoltativa. Questa immagine dovrebbe essere scaricata dalla propria console, utilizzando un’applicazione homebrew. Ci sono molte guide disponibili online su come scaricare il BIOS dalla console.

I miei giochi sono lenti/in ritardo

Diversi giochi hanno requisiti hardware molto diversi, a causa di quanto hanno utilizzato i vari componenti della console. Provare a ridurre il clock della CPU impostando la frequenza del ciclo su di un numero negativo e il ciclo passerà ad un numero positivo nelle impostazioni di sistema, ma ciò causerà un ritardo interno dei giochi nel migliore dei casi o un arresto anomalo nel peggiore dei casi.

Come migliorare le prestazioni?

  • Assicurati che fastmem sia abilitato nelle impostazioni di sistema.
  • Abilitare VU1 multi-thread nelle impostazioni di sistema. Ciò causerà prestazioni inferiori se il dispositivo non dispone di almeno tre core CPU “grandi”.
  • Utilizzare il renderer Vulkan se si ha una GPU Adreno. Nota che alcuni giochi funzioneranno meglio con OpenGL e potrebbero non essere visualizzati correttamente con Vulkan. Le GPU Mali non sono supportate dal renderer Vulkan.
  • Undercloccare la CPU emulata impostando la frequenza di ciclo su di un numero negativo e passare ad un numero positivo nelle impostazioni di sistema.
  • Per alcuni giochi, l’abilitazione delle opzioni di conversione Preload Textures e GPU Palette nelle impostazioni grafiche può migliorare le prestazioni.
  • Se il gioco rallenta a seconda dell’angolazione della telecamera, ciò potrebbe essere dovuto ai download GS, che sono molto lenti sulle GPU mobili. Puoi provare a disabilitare i readback hardware nelle opzioni grafiche, ma questo potrebbe creare alcuni problemi negli effetti.

FAQ

Domanda: Come si personalizza il controller touchscreen (posizione/scala)?
Risposta: Premere il pulsante pause o back durante il gioco e toccare la scheda dei controlli nell’angolo in alto a destra. Puoi anche aggiungere ulteriori pulsanti per i tasti di scelta rapida qui, ad es. avanzamento veloce, caricamento/salvataggio rapido, ecc..

Domanda: L’app si apre in modalità verticale, come posso cambiarla in orizzontale?
Risposta: Girare il dispositivo se si ha abilitato la rotazione automatica. Puoi anche forzarlo a utilizzare sempre il paesaggio nella prima pagina delle impostazioni dell’app.

Domanda: Il mio controller Bluetooth non funziona.
Risposta: Attualmente supportiamo solo una mappatura del controller fissa, determinata dal fornitore di Android. In futuro sono previste mappature personalizzate per i controller.

Domanda: Voglio settare impostazioni diverse per ogni gioco.
Risposta: Attualmente questo non è possibile. Abbiamo intenzione di aggiungere questo in futuro.

Domanda: I giochi presentano problemi di rendering.
Risposta: A causa della complessità dell’hardware della console, ci sono ancora molti problemi che sorgono quando si utilizza il renderer hardware. Puoi provare a utilizzare il renderer software per questi giochi.

Domanda: Voglio salvare più di uno stato.
Risposta: Questo non è attualmente possibile, stiamo pianificando di aggiungere più slot di salvataggio in futuro.

Domanda: Voglio copiare i miei salvataggi da un altro dispositivo.
Risposta: Attualmente puoi importare solo un’intera scheda di memoria in una volta; non è possibile importare singoli salvataggi. Scorrendo da sinistra nell’elenco dei giochi verrà mostrata un’opzione “Import Memory Card” che puoi utilizzare per importare un’immagine *.ps2 di una scheda di memoria.

Domanda: Dove si trovano i miei salvataggi?
Risposta: A causa dell’archiviazione delimitata su Android 11+, non è possibile inserire i salvataggi in una normale directory su una memoria esterna. Tuttavia, con un’app di esplorazione file, dovresti essere in grado di accedere alla directory Android/data/xyz.aethersx2.android, nel volume di archiviazione principale, che contiene gli stati di salvataggio e le schede di memoria. Tieni presente che l’accesso a questa directory richiede la concessione di autorizzazioni aggiuntive al file manager su Android 11+.

Domanda: Come aggiungo le copertine alla griglia di gioco?
Risposta: Posizionare le immagini di copertina nella directory delle copertine, situata nella directory dei dati sopra menzionata, con il nome del file come titolo del gioco o seriale in formato jpg/png. In alternativa, puoi premere a lungo nell’elenco dei giochi e selezionare “Choose Cover Image” per importare un’immagine.

Domanda: Come faccio a creare collegamenti di avvio per i giochi?
Risposta: Premere a lungo il gioco nell’elenco dei giochi e selezionare “Create Launcher Shortcut”.

Download: AetherSX2 (Desktop)

Download: AetherSX2

Fonte: patreon.com

Articolo precedenteCorsa all’acquisto di un nuovo masterizzatore Blu-Ray
Articolo successivoRilasciato Cemu v1.27.1 (sperimentale)
Sono Nato nel 1980 e da diversi anni coltivo la passione per tutto ciò che riguarda il mondo dei videogiochi, ho vissuto l'era degli home computer con il Commodore 64 e l'Amiga 500, da sempre appassionato di giochi di ruolo e di titoli di avventura.