Wektor resetowania ARM7 to 0x00000000, co wskazuje na 16 KB BIOS ROM. Oznacza to, że Game Boy Advance najpierw uruchamia się z BIOS-u, który z kolei pokazuje ikoniczny ekran powitalny, a następnie decyduje, czy załadować grę, czy nie.
Ten ROM przechowuje również procedury oprogramowania, które gry mogą wywoływać w celu uproszczenia pewnych operacji i zmniejszenia rozmiaru kartridża . Obejmują one:
- Funkcje arytmetyczne: Procedury wykonywania Dzielenia, Pierwiastka Kwadratowego i Tangensa Łuku.
- Obliczanie macierzy afinicznej: Mając wartość i kąt 'powiększenia', oblicza macierz afiniczną, która zostanie wprowadzona do PPU w celu skalowania/obracania tła lub sprite.
- Istnieją dwie funkcje, jedna dla sprite, a druga dla tła. Ich parametry są nieco inne, ale idea jest taka sama.
- Funkcje dekompresyjne: Implementuje algorytmy dekompresji, w tym Run-Length, LZ77 i Huffman. Zapewnia również rozpakowywanie bitów i różnicę sekwencyjną.
- Kopia pamięci: Dwie funkcje poruszające pamięć. Pierwsza z nich kopiuje bloki 32-bajtowe przy użyciu specjalnego kodu operacji dla tego typu transferu (
LDMIAdo załadowania iSDMIAdo przechowywania) tylko raz. Druga kopiuje 2-bajtowe lub 4-bajtowe bloki przy użyciu powtarzających się, odpowiednio, opkodówLDRH/STRHlubLDMIA/STMIA. Tak więc druga funkcja jest bardziej elastyczna, ale nie tak szybka. - Dźwięk: Implementuje kompletny sekwencer MIDI! Zawiera wiele funkcji do sterowania nim.
- Interfejs zasilania: Skróty do resetowania, czyszczenia większości pamięci RAM, zatrzymywania procesora do momentu pojawienia się określonego zdarzenia (V-blank lub niestandardowego) lub przełączenia w 'tryb niskiego poboru mocy'.
- Multi-boot: Przesyła program do innego GBA i uruchamia go. Więcej szczegółów znajdziesz w sekcji 'Gry'.
BIOS jest podłączony przez 32-bitową magistralę i jest zaimplementowany za pomocą kombinacji instrukcji Arm i Thumb, chociaż te ostatnie są najbardziej widoczne.
Pamiętaj też, że wszystko to będzie działać tylko na ARM7. Innymi słowy, nie ma dostępnej akceleracji sprzętowej, która przyspieszałaby te operacje. Dlatego Nintendo udostępniło całą tę funkcjonalność za pomocą oprogramowania.