Pubblicata la versione stabile di Neutrino, l’emulatore modulare per dispositivi della console PlayStation 2, dopo il debutto con la versione 1.7.0 beta.
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.
Tra le novità ci sono la correzione della scrittura su MMCE, utilizzata per l’emulazione VMC/ATA, il ritorno dei colori di debug in una nuova forma, l’introduzione di un sistema di checksum per la verifica dei moduli IRX, e la risoluzione di problemi con alcuni giochi come Ibara, anche se a scapito di tempi di avvio leggermente più lenti.
Il tutto è stato ricompilato utilizzando il nuovo toolchain GCC 15.
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
- Corretto il salvataggio su MMCE, utilizzato per l’emulazione VMC/ATA.
- Reintrodotti i colori di debug, in una forma diversa.
- Aggiunto il checksum per la convalida dei moduli IRX.
- Giochi corretti:
- Ibara.
- (al costo di tempi di avvio più lenti 😞).
- Utilizzo del nuovo toolchain gcc 15.
Download: Neutrino v1.7.0
Download: Source code Neutrino v1.7.0
Fonte: github.com