Home Emulatori L’emulatore Xemu si aggiorna alla versione 0.8.47

L’emulatore Xemu si aggiorna alla versione 0.8.47

109
0

Pubblicato un nuovo aggiornamento per Xemu, l’emulatore open-source progettato per riprodurre la prima console Xbox su sistemi moderni come Windows, macOS e Linux.

Nato come fork di XQEMU, che a sua volta si basa su QEMU, Xemu utilizza un approccio di emulazione a basso livello, replicando direttamente l’hardware della console originale.

Questo metodo garantisce una compatibilità potenzialmente superiore rispetto ad altri emulatori Xbox, come Cxbx-Reloaded, sebbene presenti alcune limitazioni pratiche.

Il progetto continua a essere attivamente sviluppato per offrire un’esperienza sempre più fedele all’hardware originale.

L’ultimo aggiornamento ha visto numerosi miglioramenti tecnici, in gran parte concentrati sul sistema di integrazione continua (CI) e la manutenzione delle dipendenze.

Sono stati aggiornati diversi workflow GitHub Actions, come benc-uk/workflow-dispatch, actions/setup-python, softprops/action-gh-release, docker/build-push-action e peaceiris/actions-gh-pages.

Questi aggiornamenti migliorano la stabilità e la sicurezza del processo di build automatizzato, oltre a garantire una gestione più efficiente del codice e delle versioni.

Oltre ai miglioramenti nei workflow, il team ha lavorato all’aggiornamento di componenti fondamentali per il cross-compiling su Windows, come i Vulkan headers, SPIRV-Reflect e glslang.

Sono stati introdotti nuovi controlli di formattazione automatica del codice tramite clang-format, integrati direttamente nel sistema di build.

Alcuni file sono stati riorganizzati per mantenere la leggibilità e la manutenzione del codice, tra cui modifiche nei file relativi al sottosistema nv2a e mcpx.

Particolarmente degno di nota è il lavoro sul modulo mcpx/dsp, il quale è stato rifattorizzato come libreria separata.

Sono stati aggiunti test di base, corretti errori minori, ripristinata la funzionalità di disassemblaggio e migliorata la struttura modulare del codice spostando funzioni di debug e definizioni dei registri in file dedicati.

Alcuni messaggi di debug (DPRINTF) sono stati sostituiti con eventi di tracciamento più adatti a un’analisi dettagliata.

Infine, è stata avviata l’esecuzione automatica dei test relativi alla Xbox per migliorare ulteriormente l’affidabilità del progetto, mentre il sistema di controllo è stato ampliato con l’inclusione di strumenti Python come python3-tomli e python3-pip, suggerendo un futuro potenziale ampliamento delle capacità di scripting o tooling di Xemu.

Changelog

Generale

  • Continuato lo sviluppo del core di emulazione a basso livello per una maggiore fedeltà all’hardware Xbox originale.
  • Migliorata la struttura del codice con numerose rifattorizzazioni interne.

Testing e Automazione (CI)

  • Aggiunta esecuzione automatica dei test per il sistema Xbox.
  • Migrazione dei controlli di linting all’interno di build.yml.
  • Aggiunto controllo di formattazione clang-format e aggiornato .gitignore per includerlo.

Dipendenze aggiornate (via Dependabot)

Build System

  • Aggiunta configurazione dependabot per l’aggiornamento automatico delle GitHub Actions.
  • Aggiornati i contenitori per la build su Windows.
  • Aggiornamento dei Vulkan headers, glslang, e SPIRV-Reflect per supportare le ultime versioni di shader e compilatori.

Codice sorgente

  • Rinominate alcune intestazioni (*.inl in *.c.inc, methods.h in methods.h.inc) per migliorare chiarezza e organizzazione.
  • Abilitata l’esclusione del controllo di formattazione su file con allineamenti deliberati nei registri (clang-format off).

MCPX / DSP

  • Refactoring completo del modulo mcpx/dsp, ora strutturato come libreria indipendente.
  • Aggiunti test di base per mcpx/dsp.
  • Introdotti miglioramenti strutturali: spostamento dei registri, funzioni di debug e disassemblaggio in header e moduli dedicati.
  • Sostituiti messaggi DPRINTF con eventi di tracciamento.
  • Pulizia di codice morto e miglioramenti minori di formattazione.

Python & Tooling

  • Aggiunti i pacchetti python3-tomli e python3-pip come prerequisiti per gli script di controllo o installazione.

Collegamenti

MacOS

Linux

Windows

Source Code

Fonte: github.com