Arriva la prima release candidate per OSDMenu, lo strumento per console PlayStation 2 punta ad aggiornare e migliorare le patch OSDSYS e HDD OSD (Browser 2.0) di Free McBoot (FMCB) 1.8, portandole al moderno PS2SDK con diverse aggiunte utili.
Si tratta di un sistema di menu personalizzato per l’interfaccia OSDSYS della PS2, che consente di avviare applicazioni, giochi e gestire dischi CD/DVD direttamente da una memory card o altri dispositivi.
OSDMenu è progettato per utenti avanzati del retrogaming che desiderano personalizzare l’esperienza sulla PlayStation 2, con supporto per funzionalità moderne e dispositivi specifici.
Con questo aggiornamento, il patcher e il launcher di OSDMenu e HOSDMenu sono stati unificati in un singolo file binario, semplificando l’avvio e la configurazione.
Aggiunto inoltre il supporto per l’impostazione automatica dei parametri del driver PlayStation a ogni avvio, secondo quanto definito nel file di configurazione. Il meccanismo di avvio del browser di OSDMenu è stato rivisitato per essere coerente con quello di HOSDMenu.
Quest’ultimo ora introduce la possibilità di lanciare un payload personalizzato tenendo premuto il tasto durante l’avvio, e include anche un sistema di fallback che esegue automaticamente il file
usb:/RECOVERY.ELF
nel caso non sia presente né l’HDD OSD né un payload specificato.
Utilizzo
OSDMenu
- Copiare il file
osdmenu.elf
nel percorsomc?:/BOOT/
. - Copiare il file
DKWDRV
nel percorsomc?:/BOOT/DKWDRV.ELF
(facoltativo). - Modificare il file
mc?:/SYS-CONF/OSDMENU.CNF
secondo le proprie preferenze. - Configurare PS2BBL per avviare
mc?:/BOOT/osdmenu.elf
oppure eseguirlo manualmente da qualsiasi posizione.
HOSDMenu — OSDMenu per HDD OSD
- Installare HDD OSD 1.10U. Assicurarsi che i file binari dell’HDD OSD siano installati in
hdd0:__system/osd100/
e cheOSDSYS_A.XLF
sia presente. SHA-256 hash dei fileOSDSYS_A.XLF
noti per funzionare:acc905233f79678b9d7c1de99b0aee2409136197d13e7d78bf8978cd85b736ae
— binario originale dal disco HDD Utility Disc versione 1.10.65360a6c210b36def924770f23d5565382b5fa4519ef0bb8ddf5c556531eec14
— HDD OSD modificato con supporto LBA a 48-bit, proveniente dal disco Sony Utility Disc Compilation 4.
- Quando si utilizza il binario non modificato su console non NTSC-U, sarà necessario decriptare e poi criptare nuovamente il binario originale con kelftool per cambiare la regione MagicGate a
0xff
(region free). - Copiare i dule file
hosdmenu.elf
elauncher.elf
inhdd0:__system/osdmenu/
- Copiare
DKWDRV
inhdd0:__system/osdmenu/DKWDRV.ELF
(opzionale). - Modificare
hdd0:__sysconf/OSDMENU/OSDMENU.CNF
secondo le proprie preferenze. - Configurare il bootloader per avviare
hdd0:__system/osdmenu/hosdmenu.elf
, oppure avviarlo manualmente da qualsiasi posizione - Puoi anche installare HOSDMenu come payload
__mbr
per ottenere tempi di avvio più rapidi. Vedere l’installer per i dettagli. - Non installare HOSDMenu come
__mbr
se non si ha un modo per recuperare da una cattiva installazione (es. memory card con FMCB o PS2BBL).
Differenze principali rispetto a FMCB 1.8
- Tutto il codice di inizializzazione è stato rimosso, utilizzando un bootloader separato per avviare il patcher (es. PS2BBL).
- Il supporto USB è stato eliminato dal patcher, quindi solo le memory card vengono controllate per il file
OSDMENU.CNF
. - Nessun supporto per ESR.
- Nessun supporto per l’avvio di ELF tenendo premuto un pulsante del gamepad.
- I percorsi ELF non vengono verificati dal patcher, quindi tutte le voci nominate nel file di configurazione di FMCB vengono visualizzate nel menu OSDSYS modificato.
- Un launcher separato viene utilizzato per avviare le voci del menu.
- Il supporto per CD/DVD è stato esteso per includere l’opzione di saltare il logo PS2, montare VMC su dispositivi MMCE, mostrare l’ID di gioco visivo per dispositivi PixelFX e avviare DKWDRV per dischi PS1.
- Numero “illimitato” di percorsi per ogni voce.
- Supporto per modalità video 1080i e 480p (come 240p con raddoppio di linea).
- Supporto per sistemi “protokernel” (SCPH-10000, SCPH-15000), portato da Free McBoot 1.9 tramite reverse-engineering.
- Supporto per l’avvio di applicazioni dal browser della memory card.
- Supporto per HDD OSD versione 1.10U. NEW!!
A causa di limitazioni di memoria e della necessità di supportare più dispositivi, il launcher originale di FMCB è stato suddiviso in due parti: patcher e launcher.
Patcher
Questa è una versione semplificata e riorganizzata delle patch OSDSYS di FMCB 1.8 adattata al moderno PS2SDK e arricchita con alcune nuove patch aggiunte. Va a modificare i file binari di OSDSYS e HDD OSD applicando le seguenti patch:
- Menu OSDSYS personalizzato con supporto fino a 250 voci.
- Scorrimento infinito delle voci del menu.
- Indicazioni dei pulsanti e intestazione del menu personalizzabili.
- Avvio automatico dei dischi senza passare dal menu.
- Possibilità di forzare la modalità video GS su PAL, NTSC, 1080i o 480p raddoppiato (con metà risoluzione verticale).
- A causa del funzionamento del rendering in OSDSYS, non è facilmente possibile implementare un vero 480p.
- Bypass del controllo aggiornamenti HDD.
- Sostituzione delle funzioni di avvio disco PS1 e PS2 con codice personalizzato che lancia direttamente il launcher.
- Visualizzazione di informazioni di sistema aggiuntive nel sottomenu “versione” (modalità video, versione ROM, revisioni EE, GS e MechaCon).
- Impostazione automatica delle opzioni del driver PS1 ai valori definiti nel file OSDMENU.CNF ad ogni avvio.
OSDMenu
- Avvio delle applicazioni compatibili con SAS direttamente dal browser della memory card se il nome della directory è
BOOT
,<prefisso SAS di 3 lettere>_<nome applicazione>
, oppure se il nome del file termina con.ELF
o.elf
.- Questa patch inverte i menu “Invio” e “Opzioni” e sostituisce il sottomenu delle proprietà del file con il launcher.
- Per avviare un’applicazione è sufficiente premere “Invio” dopo aver selezionato l’icona dell’app.
- Per copiare o eliminare il salvataggio, basta usare il tasto
.
HOSDMenu
- Avvia un payload personalizzato quando il tasto
viene premuto durante l’inizializzazione.
- Permette di lanciare applicazioni compatibili con SAS e file ELF da directory nella partizione
hdd0:__common
o dal browser della memory card, se il nome della directory èBOOT
,<prefisso SAS di 3 lettere>_<nome applicazione>
oppure se il nome del file termina con.ELF
o.elf
.- Per avviare un’app, basta premere “Invio” dopo aver selezionato l’icona.
- Il driver ATAD viene sostituito per bypassare i controlli di sicurezza sull’HDD OSD non modificato oppure per correggere la compatibilità con dischi rigidi superiori a 1TB su versioni patchate dell’HDD OSD.
- Nota che l’HDD OSD non rileverà più di 1048448 MB. Per dischi più capienti è consigliato usare APA Jail.
- Si suggerisce di provare anche la PSBBN Definitive English Patch, che offre un’esperienza APA Jail più automatizzata e una configurazione semplificata di HDD OSD + Broadband Navigator.
Patch non supportate o con funzionalità limitate sui sistemi protokernel:
- Bypass automatico del lancio dei dischi.
- Personalizzazione dei messaggi sui pulsanti.
- Modalità video PAL.
La versione OSDMenu del patcher legge le impostazioni dal file mc?:/SYS-CONF/OSDMENU.CNF
e applica le patch al file binario rom0:OSDSYS
.
La versione HOSDMenu, invece, legge le impostazioni da hdd0:__sysconf/OSDMENU/OSDMENU.CNF
e patcha il file hdd0:__system/osd100/OSDSYS_A.XLF
.
Configurazione
L’elenco delle opzioni supportate nel file OSDMENU.CNF
è consultabile poco più in basso. OSDMenu esegue il launcher integrato e gli passa l’indice di menu corrispondente, sia per le voci che per l’avvio di un disco.
Esecuzione da __mbr
HOSDMenu può essere avviato direttamente dalla partizione __mbr
dell’hard disk, rendendo il processo di boot praticamente invisibile all’utente.
Inoltre, è possibile avviare un payload personalizzato da hdd0:__system
, se è stato definito il percorso con path_custom_payload
e se durante l’inizializzazione di HOSDMenu si tiene premuto il tasto . I formati validi per il percorso del payload sono:
hdd0:__system/<percorso del payload>
hdd0:__system:pfs:<percorso del payload>
Se l’opzione boot_custom_payload
è attiva, il payload personalizzato verrà eseguito automaticamente. Per avviare comunque l’HDD OSD con questa opzione attiva, basta tenere premuto .
Per aumentare l’affidabilità e prevenire loop di avvio quando né l’HDD OSD né il payload sono presenti, HOSDMenu tenterà di avviare automaticamente RECOVERY.ELF
da USB.
Launcher
Un launcher ELF principale completo di tutte le funzionalità, che gestisce l’avvio di file ELF e dischi CD/DVD. Supporta il passaggio di argomenti arbitrari a un ELF e può essere utilizzato anche come applicazione autonoma.
I percorsi supportati sono:
- mmce?: dispositivi MMCE. Può essere mmce0, mmce1 o mmce?.
- mc?: Memory Card. Può essere mc0, mc1 o mc?.
- mass: e usb: Dispositivi USB (supportati tramite BDM).
- ata: HDD interno formattato in exFAT (supportato tramite BDM).
mx4sio: MX4SIO (supportato tramite BDM). - ilink: Memoria di massa i.Link (supportata tramite BDM).
- udpbd: UDPBD (supportato tramite BDM).
- hdd0: HDD interno formattato in APA.
- cdrom: Dischi CD/DVD.
- fmcb: Percorso speciale per la patcher.
Il supporto per i dispositivi può essere abilitato o disabilitato modificando le opzioni di configurazione al momento della compilazione (vedere Makefile).
Gestore udpbd
- Legge l’indirizzo IP della PS2 da
mc?:/SYS-CONF/IPCONFIG.DAT
.
Gestore cdrom
Attende che il disco venga rilevato e lo avvia. Supporta i seguenti argomenti:
-nologo
— Avvia direttamente l’eseguibile del gioco, bypassandorom0:PS2LOGO
.-nogameid
— Disabilita la visualizzazione dell’ID del gioco.-dkwdrv
— Quando viene rilevato un disco PS1, avvia DKWDRV damc?:/BOOT/DKWDRV.ELF
invece dirom0:PS1DRV
.-dkwdrv=mc?:/<percorso DKWDRV>
— come-dkwdrv
, ma consente di specificare un percorso personalizzato per DKWDRV.
Per i CD PS1 con nome eseguibile generico (es. PSX.EXE
), tenta di indovinare l’ID del gioco utilizzando la data di creazione del volume salvata nel Primary Volume Descriptor, in base alla tabella di TonyHax International.
Gestore fmcb
Quando il launcher riceve un percorso fmcb0:<idx>
o fmcb1:<idx>
, legge il file OSDMENU.CNF
dalla memory card corrispondente, cerca le voci path?_OSDSYS_ITEM_<idx>
e arg_OSDSYS_ITEM_<idx>
e tenta di avviare il file ELF.
Riconosce anche le opzioni cdrom_skip_ps2logo
, cdrom_disable_gameid
e cdrom_use_dkwdrv
per i percorsi cdrom.
Gestore Config
Quando il launcher riceve un percorso che termina con .CNF
, .cnf
, .CFG
o .cfg
, esegue il gestore quickboot utilizzando quel file.
Il file di configurazione può trovarsi su qualsiasi dispositivo, purché il punto di montaggio sia uno di quelli elencati sopra.
Gestore Quickboot
Quando il launcher viene avviato senza argomenti, cerca un file con nome <nome ELF>.CNF
nella directory di lavoro corrente e tenta di avviare ogni percorso nell’ordine.
Esempio di sintassi per il file quickboot:
boot=boot.elf path=mmce?:/apps/wle.elf path=mmce?:/apps/wle2.elf path=ata:/apps/wle.elf path=mc?:/BOOT/BOOT.ELF arg=-testarg arg=-testarg2
boot
— Percorso relativo al file di configurazione.path
— Percorsi assoluti.arg
— Argomenti da passare al file ELF.
OSDMENU.CNF
La maggior parte delle impostazioni di OSDMENU.CNF
è compatibile con quelle di FMCB 1.8 FREEMCB.CNF
.
Limiti di caratteri
OSDMenu supporta fino a 255 voci di menu personalizzate, ciascuna lunga al massimo 79 caratteri. I cursori sinistro e destro sono limitati a 19 caratteri, mentre i delimitatori superiore e inferiore a 79 caratteri. I percorsi per launcher e DKWDRV sono limitati a 49 caratteri.
Opzioni di configurazione
OSDSYS_video_mode
— Forza la modalità OSDSYS. Valori validi: AUTO, PAL, NTSC, 480p, 1080i.hacked_OSDSYS
— Abilita o disabilita le patch di OSDSYS.OSDSYS_scroll_menu
— Abilita o disabilita lo scorrimento infinito.OSDSYS_menu_x
— Coordinata X del centro del menu.OSDSYS_menu_y
— Coordinata Y del centro del menu.OSDSYS_enter_x
— Coordinata X del pulsante Enter (menu principale OSDSYS).OSDSYS_enter_y
— Coordinata Y del pulsante Enter.OSDSYS_version_x
— Coordinata X del pulsante Version.OSDSYS_version_y
— Coordinata Y del pulsante Version.OSDSYS_cursor_max_velocity
— Velocità massima del cursore.OSDSYS_cursor_acceleration
— Accelerazione del cursore.OSDSYS_left_cursor
— Testo per il cursore sinistro.OSDSYS_right_cursor
— Testo per il cursore destro.OSDSYS_menu_top_delimiter
— Testo del delimitatore superiore.OSDSYS_menu_bottom_delimiter
— Testo del delimitatore inferiore.OSDSYS_num_displayed_items
— Numero di voci del menu da mostrare.OSDSYS_Skip_Disc
— Abilita/disabilita l’avvio automatico di CD/DVD.OSDSYS_Skip_Logo
— Abilita/disabilita il logo SCE.OSDSYS_Inner_Browser
— Abilita/disabilita l’accesso al Browser dopo il lancio di OSDSYS.OSDSYS_selected_color
— Colore della voce di menu selezionata.OSDSYS_unselected_color
— Colore della voce di menu non selezionata.name_OSDSYS_ITEM_???
— Nome della voce di menu.path?_OSDSYS_ITEM_???
— Percorso dell’ELF. Supporta anche: cdrom, OSDSYS, POWEROFF.
Novità di questo launcher
arg_OSDSYS_ITEM_???
— Argomento personalizzato da passare all’ELF. Ogni argomento richiede una voce separata.cdrom_skip_ps2logo
— Abilita/disabilita l’esecuzione dei dischi tramiterom0:PS2LOGO
. Utile per console patchate con MechaPwn.cdrom_disable_gameid
— Abilita/disabilita la visualizzazione dell’ID del gioco.cdrom_use_dkwdrv
— Abilita/disabilita l’esecuzione di DKWDRV per i dischi PS1.path_LAUNCHER_ELF
— Percorso personalizzato perlauncher.elf
. Il file deve trovarsi sulla memory card.path_DKWDRV_ELF
— Percorso personalizzato perDKWDRV.ELF
. Il file deve trovarsi sulla memory card.OSDSYS_Browser_Launcher
— Abilita/disabilita la patch per lanciare applicazioni direttamente dal Browser.
Changelog
Modifiche comuni
- Il patcher e il launcher di OSDMenu/HOSDMenu ora sono un unico file binario; il launcher è incorporato all’interno di
osdmenu.elf
/hosdmenu.elf
. - Aggiunto il supporto per impostare i parametri del driver PlayStation secondo i valori presenti nel file di configurazione di OSDMenu ad ogni avvio.
OSDMenu
- La patch per il browser di OSDMenu è stata reimplementata per uniformarsi al comportamento di HOSDMenu.
HOSDMenu
- HOSDMenu può ora avviare un payload personalizzato tenendo premuto il tasto Croce durante l’avvio.
- Aggiunto il fallback a
usb:/RECOVERY.ELF
quando non sono presenti né l’HDD OSD né un payload personalizzato.
Download: OSDMenu v1.0.0 rc1
Download: hosdmenu-mbr-installer v1.0.0 rc1
Download: Source code OSDMenu v1.0.0 rc1
Fonte: github.com