Home Microsoft Al via lo sviluppo di Orbital, un primo emulatore della PlayStation 4

Al via lo sviluppo di Orbital, un primo emulatore della PlayStation 4

408
3

Il developer AlexAltea ha abbandonato lo sviluppo dell’emulatore PS3 Nucleus per concentrare i propri sforzi su di un nuovo progetto che prende il nome di Orbital, il primo emulatore della PlayStation 4 basato sulla virtualizzazione.

Lo sviluppatore intende virtualizzare l’intero sistema della PlayStation 4 su PC creando un ambiente idoneo dove poter far girare il firmware e i giochi della console Sony.

Orbital attualmente ci permette di eseguire dei kernel decifrati all’avvio, testato sia su firmware 4.55 che sul firmware 5.00 della PlayStation 4.

Requisiti

  • Sistema operativo: Windows, Linux.
  • Processore: CPU x86-64 con estensioni AVX/AVX2.
  • Memoria: 16 GB di RAM.
  • Grafica: TBD.

Piani futuri

I seguenti punti si riferiscono ai test effettuati con il kernel della PS4 5.00 su Orbital

  • Implementare il bootloader [Fatto].
  • [1] Debug del kernel con simboli [Fatto].
  • Inizializzazione del kernel riuscita su hammer_time [Fatto].
  • Emulazione del dispositivo UART di Aeolia (parziale) [Fatto].
  • Inizializzazione del driver completata [Fatto].
  • Aggiunta del supporto Vulkan a QEMU [Fatto].
  • Implementato l’accesso SFlash (sola lettura) [Fatto].
  • Implementato Liverpool GC/Starsha.
    • Implementato ringbuffer IH [Fatto].
    • Implementato processore di comando [Fatto].
    • Elaborazione dei comandi SAMU.
    • Backend Vulkan per motore GFX.
  • Aggiunto lo strumento di creazione di HDD PS4 [Fatto].

FAQ

  • Domanda: Come funziona Orbital senza avere le chiavi SAMU?
  • Risposta Fino a quando le chiavi non vengono scaricate, la decrittografia con SAMU verrà “emulata” da blob di input crittografati con hashing e restituendo blob decrittografati precedentemente ottenuti dalla console effettiva.
  • Domanda: Il mio dump del kernel si blocca poco dopo l’avvio. Perché?
  • Risposta: Gli ELF del kernel generati dai dump della memoria non funzioneranno poiché i segmenti scrivibili potrebbero essere stati modificati in uno stato in cui l’avvio non è possibile. Si prega di generare offline i binari corretti decifrando i segmenti ELF con SAMU sulla console attuale, non scaricando la memoria.
  • Domanda: Dove posso trovare Orbital?
  • Risposta: Questo progetto non è pronto per gli utenti finali. Non sono forniti binari, quindi è necessario creare ciascuno dei tre componenti (BIOS, GRUB, QEMU). Inoltre, configurare l’emulatore per fare qualcosa sarà difficile, poiché dovrete scaricare e decifrare l’intero filesystem PS4 e sflash, incluso il kernel. Potresti trovare suggerimenti su come farlo nei pochi file .sh sparsi in questa repository. Naturalmente, in futuro, renderò questo emulatore più user-friendly.

Ringraziamenti

Grazie a tutte le persone che hanno contribuito direttamente o indirettamente e ad aver reso possibile tutto ciò. In nessun ordine particolare: jolly, flatz, idc, masterzorag, zer0xff, zecoxao, z80, x41. Anche molte persone anonime e altre persone che potrebbero essermi sfuggite di mente. Voi sapete chi siete!

Segui il gruppo su twitter e supporta lo sviluppo dell’emulatore sul Patreon.