Pubblicato un nuovo aggiornamento beta per Neutrino, l’emulatore di dispositivi per console 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 beta non dispone di un changelog ufficiale, ma le modifiche possono essere tracciate attraverso i commit recenti.
Tra gli aggiornamenti più rilevanti figurano miglioramenti alla gestione degli ELF, correzioni nel caricamento dei moduli e una revisione del sistema di checksum.
Inoltre sono stati risolti problemi legati alla scrittura su ATA/VMC, reintrodotti i colori per il debug e migliorata la stabilità generale con ulteriori riavvii dell’IOP per correggere titoli specifici come Donald Duck.
Ulteriori fix includono miglioramenti nella gestione dei callback asincroni per la compatibilità con Shadow Hearts: Covenant e la risoluzione di errori relativi a giochi come Ibara [SLPM_663.01].
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
Generale
- Migliorata la gestione del percorso ELF per il riconoscimento del Game ID.
- Aggiunto un semplice sistema di checksum per il buffer dei moduli.
- Ottimizzazioni e pulizia del codice in
ee_core
. - Trasferimento parametri migliorato e checksum sui moduli.
- Pulizia degli header in
ee_core
per maggiore efficienza.
Fix e Miglioramenti
- Risolto un problema di scrittura su file ATA/VMC su MMCE.
- Reintrodotti i colori per il debug in
ee_core
. - Spostati
Hook_SifSetReg
eApplyMode3
nel codice C per maggiore stabilità. - Aggiunti ulteriori riavvii dell’IOP per risolvere problemi di compatibilità con Donald Duck.
- Corretto un problema di checksum che poteva causare errori di integrità.
- Fix specifico per il gioco Ibara [SLPM_663.01].
- cdvdman_emu: Callback ora asincroni di default per migliorare la compatibilità con Shadow Hearts: Covenant.
Compilazione e Ottimizzazioni
- Il Makefile ora genera release
.7z
senza percorsi interni. - Aggiunta la possibilità di visualizzare i risultati dei giochi durante la compilazione.
- Ottimizzazioni generali del codice e debugging.
Download: Neutrino v1.7.0-beta
Download: Source code Neutrino v1.7.0-beta
Fonte: github.com