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)
benc-uk/workflow-dispatch
aggiornato da 1.2.2 a 1.2.4.actions/setup-python
aggiornato da 5.1.0 a 5.5.0.softprops/action-gh-release
aggiornato dalla versione 1 alla 2.docker/build-push-action
aggiornato da 5.4.0 a 6.15.0.peaceiris/actions-gh-pages
aggiornato da 3.9.3 a 4.0.0.
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
inmethods.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
epython3-pip
come prerequisiti per gli script di controllo o installazione.
Collegamenti
MacOS
- xemu-macos-universal-debug.zip – 19.5 MB
- xemu-macos-universal-release.zip – 17.3 MB
Linux
- xemu-v0.8.47-aarch64.AppImage – 76.2 MB
- xemu-v0.8.47-dbg-aarch64.AppImage – 76.2 MB
- xemu-v0.8.47-dbg-x86_64.AppImage – 79.9 MB
- xemu-v0.8.47-x86_64.AppImage – 79.9 MB
Windows
- xemu-win-aarch64-debug-pdb.zip – 3.69 MB
- xemu-win-aarch64-debug.zip – 8.68 MB
- xemu-win-aarch64-release-pdb.zip – 2.32 MB
- xemu-win-aarch64-release.zip – 7.82 MB
- xemu-win-release.zip – 8.33 MB
- xemu-win-x86_64-debug-pdb.zip – 8.36 MB
- xemu-win-x86_64-debug.zip – 9.18 MB
- xemu-win-x86_64-release-pdb.zip – 5.68 MB
- xemu-win-x86_64-release.zip – 8.33 MB
Source Code
- src.tar.gz – 172 MB
- Source Code (zip)
Fonte: github.com