Home Homebrew Rilasciato OSDMenu v1.0.0 Release Candidate 1

[Scena PS2] Rilasciato OSDMenu v1.0.0 Release Candidate 1

84
0

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 percorso mc?:/BOOT/.
  • Copiare il file DKWDRV nel percorso mc?:/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 che OSDSYS_A.XLF sia presente. SHA-256 hash dei file OSDSYS_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 e launcher.elf in hdd0:__system/osdmenu/
  • Copiare DKWDRV in hdd0:__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, bypassando rom0:PS2LOGO.
  • -nogameid — Disabilita la visualizzazione dell’ID del gioco.
  • -dkwdrv — Quando viene rilevato un disco PS1, avvia DKWDRV da mc?:/BOOT/DKWDRV.ELF invece di rom0: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 tramite rom0: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 per launcher.elf. Il file deve trovarsi sulla memory card.
  • path_DKWDRV_ELF — Percorso personalizzato per DKWDRV.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