W sieci pełno jest poradników, tutoriali i akcesoriów sprzętowych do tworzenia kopii zapasowych gier na Game Boy, Game Boy Color i Game Boy Advance. Jednak modder i youtuber znany jako «TheZZAZZGlitch» postanowił obrać bardziej chaotyczną ścieżkę: zawiesić grę na Game Boy Advance i odtworzyć ją na podstawie dźwięku generowanego przez błędy. Proces wymaga godzin nagrań i naprawiania wielu bugów, ale jest tu wiele do nauczenia.
Rodzina Game Boy ma wiele zalet, a jedną z nich jest względna odporność kaset, choć nie są one nieśmiertelne. Wyczerpane baterie, tarcie w złączach, wilgoć, uderzenia i „zginanie” PCB to niektóre z przyczyn, które mogą wyeliminować kartridż, powodując rozmaite błędy. A co, jeśli sami wywołamy te błędy?
YouTuber «TheZZAZZGlitch» zajmuje się eksploracją glitchy i hacki w pierwszych generacjach gier Pokémon. Innymi słowy, zawieszanie gier Pokémon to jego specjalność. W jednym z jego ostatnich filmów, «TheZZAZZGlitch» wyjaśnił dźwięk crasha lub zawieszenia na Game Boy Advance, i tam sugeruje, że cała zawartość kartridża może zostać odtworzona przy użyciu tylko tego audio...
Game Boy Advance śpiewa pieśń swojego ludu
W skrócie, dźwięk Game Boy Advance jest przesyłany przez mały bufor w RAM przy użyciu DMA. Gdy bufor osiąga koniec, wyzwalane jest przerwanie, aby zaktualizować dane i przesłać wskaźnik DMA z powrotem na początek. Jednak podczas zawieszenia przerwanie zostaje utracone, a wskaźnik DMA nigdy nie otrzymuje resetu, czyli nadal wysyła całą zawartość pamięci do głośnika jako dźwięk.
Po prawie dwóch godzinach oczekiwania, «TheZZAZZGlitch» uzyskał dźwięk 8-bitowy o częstotliwości 13,1 kHz. Dzięki skryptowi w Pythonie (i trudowi dwóch dni poprawiania bugów) udało mu się odtworzyć 99,76 procent... ale to nie wystarczyło. Łącząc trzy nagrania z użyciem algorytmu „głosowania większościowego”, dokładność wzrosła do 99,979 procent. ROM uruchomił się w emulatorze, ale wciąż miał zbyt wiele błędów. Kluczem? Więcej nagrań: z siedmioma różnymi dumpami dokładność osiągnęła 100 procent, całkowicie przywracając ROM.
Druga połowa filmu skupia się na powtórzeniu procesu na prawdziwym sprzęcie, a jako dodatkowy smaczek – na fałszywym kartridżu Pokémon Emerald. W tym przypadku potrzebował 45 nagrań i wciąż nie osiągnął 100 procent (99,9837%), ale gra uruchomiła się poprawnie. Na koniec kartridż skrywał niespodziankę: bez użycia baterii ani dedykowanego chipu, zapisane gry są przechowywane w tej samej pamięci Flash, na której umieszczono grę. Ktoś wykonał świetną robotę hakując ten fałszywy kartridż i prawdopodobnie «TheZZAZZGlitch» przyjrzy mu się bliżej w przyszłości.
Dostęp do kanału: Kliknij tutaj