Pubblicato un nuovo aggiornamento per OSDMenu, lo strumento per console PlayStation 2 punta ad aggiornare e migliorare le patch OSDSYS 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.
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.
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.
Utilizzo
- Copiare i file
patcher.elf
elauncher.elf
inmc?:/BOOT/
. - Copiare DKWDRV in
mc?:/BOOT/DKWDRV.ELF
(opzionale). - Modificare
mc?:/SYS-CONF/OSDMENU.CNF
secondo le proprie preferenze. - Configurare PS2BBL per avviare
mc?:/BOOT/patcher.elf
oppure avviarlo manualmente da LaunchELF.
Patcher
Questa è una versione semplificata e riorganizzata delle patch OSDSYS di FMCB 1.8 per il moderno PS2SDK, con alcune nuove patch aggiunte.
Legge le impostazioni da mc?:/SYS-CONF/OSDMENU.CNF
e applica le seguenti patch al binario rom0:OSDSYS
:
- Menu OSDSYS personalizzato con fino a 255 voci.
- Scorrimento infinito.
- Prompt dei pulsanti e intestazione del menu personalizzabili.
- Bypassa automatico del lancio dei dischi.
- Forzatura della modalità video GS a PAL, NTSC, 1080i o 480p con raddoppio di linea (con metà della risoluzione verticale). A causa del modo in cui OSDSYS renderizza tutto, il “vero” 480p non può essere implementato facilmente.
- Bypassa del controllo degli aggiornamenti HDD.
- Sostituzione delle funzioni di lancio dei dischi PS1 e PS2 con codice personalizzato che avvia il launcher.
- Informazioni di sistema aggiuntive nel sottomenu della versione (modalità video, versione ROM, revisioni EE, GS e MechaCon).
- Avvio di applicazioni compatibili con SAS dal browser della memory card se esiste un file title.cfg nella directory (vedi gestore di configurazione).
- Questa patch scambia i menu “Enter” e “Options” e sostituisce il sottomenu delle proprietà dei file con il launcher.
Patch non supportate o limitate sui sistemi protokernel:
- Bypassa automatico del lancio dei dischi.
- Prompt dei pulsanti personalizzati.
- Modalità video PAL.
- La patch per il browser della memory card potrebbe non funzionare in modo affidabile su ROM 1.00 e 1.01; la console potrebbe bloccarsi tentando di accedere a una voce senza title.cfg.
Consultare l’elenco delle opzioni supportate per OSDMENU.CNF
qui. Per ogni voce di menu e lancio di dischi, avviare il launcher da mc?:/BOOT/launcher.elf
per passare l’indice del menu.
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
- Il menu della versione OSDSYS è stato ampliato con informazioni aggiuntive sulla console.
- Aggiunto il supporto per le PS2 SCPH-10000 e SCPH-15000 (protokernel).
- Aggiunto il supporto per le modalità video 480p (come 240p raddoppiato) e 1080i.
- Aggiunto il supporto per l’avvio di applicazioni compatibili con SAS direttamente dal browser della memory card.
- Migliorato il supporto per le console DEX con firmware ≥ 2.20.
- Aggiunti altri titoli PS1 con eseguibile generico
PSX.EXE
alla lista degli ID dei giochi. - La patch per saltare l’HDD ora viene sempre applicata per evitare che OSDSYS avvii automaticamente HDD-OSD.
- Il file di configurazione è stato rinominato in
OSDMENU.CNF
. - Ridotte le dimensioni del launcher e aggiunta la possibilità di rimuovere dispositivi non desiderati durante la compilazione per ridurre ulteriormente la dimensione.
- Il launcher è stato esteso per supportare il caricamento di ELF specificati in file di configurazione personalizzati e SAS (vedere il file README per i dettagli).
Download: OSDMenu v0.2.0
Download: Source code OSDMenu v0.2.0
Fonte: x.com