Pubblicato un nuovo aggiornamento per Neutrino, l’emulatore di dispositivi per PlayStation 2 progettato per essere piccolo, veloce e modulare.
Questo software, che trae il nome dal particella subatomica caratterizzata da massa quasi nulla, si propone di minimizzare il suo impatto sull’emulazione per garantire la massima compatibilità.
Neutrino non dispone di un’interfaccia utente integrata; invece, è pensato per essere utilizzato come backend per front-end esterni come uLaunchELF, XEB+, OPL o altri software simili.
Questo approccio facilita la manutenzione e consente la creazione di applicazioni che sfruttano Neutrino come componente principale.
I moduli di Neutrino sono completamente modulari e possono essere configurati tramite file TOML situati nella cartella dedicata. L’utente può aggiungere nuovi moduli o migliorare quelli esistenti, rendendo il software estremamente personalizzabile.
Questa nuova versione introduce un file contenente il numero di versione per facilitare il caricamento da altri software e il debug. Il modulo isofs non è più richiesto per ottenere il file SYSTEM.CNF
dalle immagini ISO, mentre è stata risolta un’anomalia che impediva l’avvio rapido dei giochi (quickboot).
La compatibilità con GSM è stata migliorata e sono state aggiunte nuove opzioni di configurazione. Sono stati introdotti nuovi parametri mantenendo la compatibilità con l’interfaccia precedente.
Inoltre, è stato risolto un problema legato all’uso del MMCE VMC, sebbene il suo utilizzo su dispositivi MMCE non sia consigliato.
Infine, sono stati corretti il buffering della lettura CD/DVD, che causava il balbettio nei video FMV, e un malfunzionamento del protocollo UDPBD su alcune versioni più datate di PlayStation 2.
Struttura degli ambienti
Neutrino opera tramite tre ambienti distinti:
- Boot Environment (BE): Caricamento iniziale tramite uLE, ps2link o simili, con file di configurazione e driver.
- Load Environment (LE): Gestisce l’avvio del
loader.elf
per accedere a immagini disco virtuali. - Emulation Environment (EE): Gestisce l’emulazione vera e propria attraverso
ee_core.elf
, replicando il comportamento dei dispositivi fisici.
Driver e supporto
Neutrino supporta vari tipi di storage, inclusi USB, MX4SIO, HDD interni (ATA), UDPBD e iLink/IEEE1394. Le partizioni supportano MBR e GPT, con filesystem compatibili come exFAT/FAT32, HDLoader e Block Devices. Tuttavia, l’HDLoader è attualmente limitato a sola lettura e può emulare esclusivamente DVD.
Per l’emulazione di CD/DVD, sono supportati tre driver principali: L’utilizzo di dischi originali, DVD patchati con ESR o file ISO da backing store. Per l’emulazione di HDD, è possibile usare dischi ATA reali o immagini HDD virtuali.
Utilizzo
Neutrino è progettato per essere utilizzato tramite riga di comando, con opzioni configurabili per i driver di archiviazione, la gestione di CD/DVD, l’emulazione di HDD e altro.
È anche possibile integrarlo con interfacce grafiche di terze parti per un uso più intuitivo, sebbene con funzionalità limitate rispetto alla versione CLI.
Usage: neutrino.elf options
Options:
-bsd=<driver> Backing store drivers, supported are:
- no (default)
- ata
- usb
- mx4sio
- udpbd
- ilink
-bsdfs=<driver> Backing store fileystem drivers, supported are:
- exfat (default)
- hdl (HD Loader)
- bd (Block Device)
-dvd=<mode> DVD emulation mode, supported are:
- no (default)
- esr
- <file>
-ata0=<mode> ATA HDD 0 emulation mode, supported are:
- no (default)
- <file>
NOTE: only both emulated, or both real.
mixing not possible
-ata0id=<mode> ATA 0 HDD ID emulation mode, supported are:
- no (default)
- <file>
NOTE: only supported if ata0 is present
-ata1=<mode> See -ata0=<mode>
-mc0=<mode> MC0 emulation mode, supported are:
- no (default)
- <file>
-mc1=<mode> See -mc0=<mode>
-elf=<file> ELF file to boot, supported are:
- auto (elf file from cd/dvd) (default)
- <file>
-mt=<type> Select media type, supported are:
- cd
- dvd
Defaults to cd for size<=650MiB, and dvd for size>650MiB
-gc=<compat> Game compatibility modes, supported are:
- 0: IOP: Fast reads (sceCdRead)
- 1: dummy
- 2: IOP: Sync reads (sceCdRead)
- 3: EE : Unhook syscalls
- 5: IOP: Emulate DVD-DL
- 7: IOP: Fix game buffer overrun
Multiple options possible, for example -gc=23
-cwd=<path> Change working directory
-cfg=<file> Load extra user/game specific config file (without .toml extension)
-dbc Enable debug colors
-logo Enable logo (adds rom0:PS2LOGO to arguments)
-qb Quick-Boot directly into load environment
--b Break, all following parameters are passed to the ELF
Usage examples:
neutrino.elf -bsd=usb -dvd=mass:path/to/filename.iso
neutrino.elf -bsd=ata -dvd=mass:path/to/filename.iso
neutrino.elf -bsd=ata -bsdfs=hdl -dvd=hdl:filename.iso
neutrino.elf -bsd=udpbd -bsdfs=bd -dvd=bdfs:udp0p0
Loader di terze parti
I seguenti progetti di terze parti utilizzano neutrino:
- XEB+ neutrino Launcher Plugin: sviluppato da sync-on-luma.
- OPLNEUTRINO: sviluppato da crt0.
- NHDDL: sviluppato da pcm720.
- RETROLauncher: sviluppato da Boon Tobias.
Changelog
- Aggiunto un file con il numero di versione per facilitare il caricamento da altri software e il debug.
- Rimossa la dipendenza dal modulo isofs per ottenere il file SYSTEM.CNF dalle immagini ISO by @pcm720 in #74
- Risolto il problema che impediva l’avvio rapido (quickboot) by @pcm720 in #74
- Migliorata la compatibilità con GSM e aggiunte nuove opzioni.
- Introdotti nuovi parametri.
- Mantiene la compatibilità con l’interfaccia precedente.
- Corretto un problema nell’uso del MMCE VMC (anche se non è consigliato utilizzarlo su un dispositivo MMCE).
- Risolto il balbettio nei video FMV causato dalle “accurate reads”, ora viene considerato il buffer di lettura anticipata per CD/DVD.
- Corretto il malfunzionamento del protocollo UDPBD su alcune vecchie versioni di PlayStation 2.
Download: Neutrino v1.6.0
Download: Source code Neutrino v1.6.0
Fonte: github.com