Home Homebrew Rilasciato OSDMenu v1.0.0 Release Candidate 2

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

137
0

Pubblicata la seconda release candidate di OSDMenu, lo strumento pensato per migliorare e modernizzare l’interfaccia OSDSYS della console PlayStation 2.

L’obiettivo è quello di aggiornare le patch OSDSYS e HDD OSD (Browser 2.0) utilizzate in Free McBoot 1.8, integrandole nel framework PS2SDK e introducendo nuove funzionalità utili per chi ama personalizzare la propria console.

OSDMenu consente di avviare giochi, applicazioni e gestire dischi direttamente dalla memory card o da altri dispositivi collegati alla PS2, offrendo un sistema di menu più flessibile e attuale rispetto a quello originale.

Questo aggiornamento introduce il supporto all’avvio dei dischi PlayStation 1 grazie all’uso di PS1VModeNeg, include il pacchetto PSU nell’archivio di rilascio e risolve un problema che impediva a HOSDMenu e OSDMenu Launcher di montare correttamente le partizioni protette da password.

Si tratta di uno strumento particolarmente adatto a utenti esperti che vogliono ottenere il massimo dalla propria console anche oggi.

Utilizzo

OSDMenu

  • Copiare il file osdmenu.elf nel percorso mc?:/BOOT/ oppure copiare e incollare SYS_OSDMENU.psu tramite wLaunchELF usando psuPaste.
  • 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

  1. OSDSYS_video_mode — Forza la modalità OSDSYS. Valori validi: AUTO, PAL, NTSC, 480p, 1080i.
  2. hacked_OSDSYS — Abilita o disabilita le patch di OSDSYS.
  3. OSDSYS_scroll_menu — Abilita o disabilita lo scorrimento infinito.
  4. OSDSYS_menu_x — Coordinata X del centro del menu.
  5. OSDSYS_menu_y — Coordinata Y del centro del menu.
  6. OSDSYS_enter_x — Coordinata X del pulsante Enter (menu principale OSDSYS).
  7. OSDSYS_enter_y — Coordinata Y del pulsante Enter.
  8. OSDSYS_version_x — Coordinata X del pulsante Version.
  9. OSDSYS_version_y — Coordinata Y del pulsante Version.
  10. OSDSYS_cursor_max_velocity — Velocità massima del cursore.
  11. OSDSYS_cursor_acceleration — Accelerazione del cursore.
  12. OSDSYS_left_cursor — Testo per il cursore sinistro.
  13. OSDSYS_right_cursor — Testo per il cursore destro.
  14. OSDSYS_menu_top_delimiter — Testo del delimitatore superiore.
  15. OSDSYS_menu_bottom_delimiter — Testo del delimitatore inferiore.
  16. OSDSYS_num_displayed_items — Numero di voci del menu da mostrare.
  17. OSDSYS_Skip_Disc — Abilita/disabilita l’avvio automatico di CD/DVD.
  18. OSDSYS_Skip_Logo — Abilita/disabilita il logo SCE.
  19. OSDSYS_Inner_Browser — Abilita/disabilita l’accesso al Browser dopo il lancio di OSDSYS.
  20. OSDSYS_selected_color — Colore della voce di menu selezionata.
  21. OSDSYS_unselected_color — Colore della voce di menu non selezionata.
  22. name_OSDSYS_ITEM_??? — Nome della voce di menu.
  23. 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.
  • OSDSYS_Browser_Launcher — Abilita o disabilita la patch per l’avvio delle applicazioni dal Browser.
  • ps1drv_enable_fast — Abilita la velocità del disco rapida per i giochi PS1 quando non si utilizza DKWDRV.
  • ps1drv_enable_smooth — Abilita la levigatura delle texture per i giochi PS1 quando non si utilizza DKWDRV.
  • ps1drv_use_ps1vn — Esegue PS1DRV utilizzando il PS1DRV Video Mode Negator.

Opzioni esclusive di OSDMenu

  • path_DKWDRV_ELF — Percorso personalizzato per DKWDRV.ELF. Il percorso DEVE trovarsi sulla memory card.

Opzioni esclusive di HOSDMenu (principalmente per l’esecuzione da __mbr):

  • path_custom_payload — Percorso completo del payload personalizzato su hdd0:__system, verrà eseguito quando si preme il tasto  durante l’inizializzazione.
  • boot_custom_payload — Se abilitato, invertirà il comportamento originale ed eseguirà il payload personalizzato per impostazione predefinita.

Changelog

  • Aggiunto il supporto per l’avvio dei dischi PS1 tramite PS1VModeNeg.
  • Aggiunto il pacchetto PSU all’archivio di rilascio.
  • Corretto un problema che impediva a HOSDMenu e al launcher di OSDMenu di montare partizioni protette da password.

Download: OSDMenu v1.0.0 rc2

Download: hosdmenu-mbr-installer v1.0.0 rc2

Download: Source code OSDMenu v1.0.0 rc1

Fonte: github.com