Non è un segreto che ho un affetto particolare per la Xbox 360 (potete leggere di più sulla mia relazione con essa in questo post). Sbloccare queste console è stato sostanzialmente il mio primo lavoro e fonte di reddito, permettendomi di esercitare continuamente le mie abilità con un saldatore. Smontare la scocca, togliere le viti e “fare il mio” era qualcosa di naturale. Mi divertivo. È una parte molto importante di ciò che è stata la mia adolescenza.
Poi, naturalmente, ho continuato la mia vita. Ho iniziato a studiare all’università e mi sono spostato verso altre opportunità di guadagno che richiedevano meno tempo e impegno, per potermi concentrare sui miei studi.
Tuttavia, c’è un’immagine di quell’epoca che ricordo con molto affetto:
XeLL Reloaded in esecuzione su una Xbox 360
Vedere quella schermata significava diverse cose: che la console funzionava ancora, che i punti saldati erano perfetti (ero solito essere orgoglioso di quanto risultasse bella la mia saldatura), e, soprattutto, ero a pochi secondi dall’ottenere informazioni critiche per distruggere completamente i meccanismi di sicurezza che Microsoft aveva implementato.
Vedere quella schermata era una costante praticamente quotidiana, console dopo console, cliente dopo cliente. Un elisir di soddisfazione.
Ebbene, col passare del tempo le innovazioni in questo “mondino” diventavano sempre più rare. Sebbene siano avvenuti grandi traguardi (per esempio, il RGH 3 del 2021 grazie al grande 15432), apparentemente non c’era molto altro da fare. Le console Winchester sono sempre state intoccabili, ma in particolare non mi interessavano. Le Trinity, a mio avviso, rappresentavano Microsoft al suo apice. Dalla Corona in poi le vedo come riduzioni dei costi nei processi produttivi.
Il 3 marzo, Grimdoomer è apparso con Xbox360BadUpdate e ha realizzato ciò che sembrava impossibile: un exploit per tutte le revisioni della Xbox 360 (incluso la Winchester). Che richiede solo una chiavetta USB, senza saldature. Genialità nella sua forma più pura.
Anche se il meccanismo è piuttosto instabile al giorno d’oggi, con una percentuale di successo relativamente bassa (e la comunità continua a raccomandare RGH per una buona esperienza), è un traguardo che la comunità non ha ignorato.
E questo ha portato un’ondata di nostalgia. E con la nostalgia, vengono le idee. Ho visto su Reddit questo post con un XeLL modificato con il logo degli Avenged Sevenfold, e mi sono detto “Sono un ingegnere informatico, ora capisco cose che prima non comprendevo. Come funziona realmente XeLL?”. E dopo non più di due ore di sperimentazione, avevo già il mio XeLL modificato.
”E se creassi un’applicazione web in modo che chiunque possa farlo?”
E naturalmente non mi sono fermato lì. XeLL viene costruito con LibXenon come libreria base, e quest’ultima era piuttosto obsoleta per quanto riguardava i componenti che la componevano. Sono ossessionato dall’aggiornamento del software, e non potevo lasciarmi sfuggire l’opportunità di farlo.
Aggiornare zlib, bzip2, freetype e libpng? Fatto. Aggiornare newlib e binutils e rinnovare le patch necessarie? Fatto. Aggiornare GCC?
Dannato GCC. Non riesco ad aggiornare GCC. Non riesco ad aggiornare GCC perché ad un certo punto hanno introdotto una modifica che, nonostante l’aggiornamento delle patch necessarie, causava il mancato avvio di XeLL (compilava, ma non veniva eseguito). Naturalmente ho trovato il problema: il commit 60bd3f2 ha introdotto flag_cunroll_grow_size e, disattivando tale “ottimizzazione”, XeLL tornava a funzionare. Certo, questo dopo una settimana di sofferenza, compilando commit dopo commit fino a trovare l’errore. Una volta identificato il problema, sono riuscito ad aggiornare GCC alla versione 13.3.0.
E con ciò pronto, e dopo aver integrato alcune migliorie da 15432 per includere il supporto di scrittura alle console eMMC, ho potuto iniziare a sviluppare l’applicazione web per XeLL. Ed eccoci qui.
È un insieme di componenti che funzionano in armonia: LibXenon e tutta la sua catena di strumenti per poter costruire XeLL, XeLL Customizer come applicazione web, e XeLL Customizer API come intermediario tra l’applicazione web e GitHub Actions per avviare pipeline di compilazione basate sui parametri scelti dall’utente.
Con la mia ossessione, naturalmente sono riuscito a emulare la grafica di XeLL in termini di margini e ad usare esattamente lo stesso font che LibXenon fornisce da anni (IBM VGA 8x16 per i curiosi). Dopo averla ultimata, ho deciso di pubblicarla su Reddit in questo post.
Non passarono nemmeno 5 minuti e gli utenti iniziarono già a trovare bug che ingenuamente non mi aspettavo. Ho realizzato alcune patch temporanee, e dopo aver passato la notte, avevo una versione stabile.
La ricezione da parte della comunità è stata davvero incredibile. Più di 10 mila visite in meno di 24 ore, e più di 130 compilazioni personalizzate generate. Idee da parte della comunità che sono genuinamente utili, e soprattutto, lavorare con cose a cui hanno contribuito idoli come Swizzy, 15432, Octal450 e InvoxiPlayGames è una sensazione che non posso descrivere a parole. Mi sento come un impostore che cammina tra giganti.
Aver dato il mio “grano di sabbia” alla scena della Xbox 360 è qualcosa che non avrei mai pensato di fare. Ed eccoci qui. Se volete provare XeLL Theme Customizer, andate pure! Spero vi piaccia.
©2022-2025 Sebastián Barrenechea. Tutti i diritti riservati.
Costruito con Astro v5.5.4.