« Architektura Game Boy Advance (index)

Architektura Game Boy Advance

Chapter 7: Gry


Spis Treści

  1. Dostęp do danych kartridża
  2. Przestrzeń RAM kartridża
  3. Akcesoria

Programowanie dla GBA miało wspólne metodologie z Super Nintendo, ale odziedziczyło także wszystkie osiągnięcia z początku XXI wieku: Standaryzowane języki wysokiego poziomu, niezawodne kompilatory, debugowalne procesory RISC, niezastrzeżone stacje robocze do programowania, porównywalnie lepsza dokumentacja i... Dostęp do Internetu!

Programy GBA są w większości napisane w C z sekcjami krytycznymi dla wydajności w asemblerze (ARM i Thumb), aby zaoszczędzić cykle. Nintendo dostarczyło SDK z bibliotekami i kompilatorami.

Gry są dystrybuowane w nowym, zastrzeżonym formacie kartridża, który nadal nazywa się Game Pak, ale ma mniejszą konstrukcję.

Dostęp do danych kartridża

Chociaż ARM7 ma 32-bitową magistralę adresową, do modułu podłączone są tylko 24 linie adresowe. Teoretycznie oznacza to, że na kartridżu można uzyskać dostęp do 16 MB bez konieczności stosowania mappera. Jednak mapa pamięci pokazuje, że dostępne jest 32 MB danych kartridża. Więc co się tutaj dzieje? Prawda jest taka, że Gamepak używa adresów 25-bitowych (co wyjaśnia blok 32 MB), ale jego najniższy bit jest ustawiony na zero. Zatem ustawione są tylko 24 pozostałe bity. Tak działa adresowanie Game Pak.

Czy to oznacza, że dane znajdujące się pod nieparzystymi adresami (z najmniej znaczącym bitem na '1') będą niedostępne? Nie, ponieważ magistrala danych jest 16-bitowa: Dla każdego transferu, CPU/DMA pobierze zlokalizowany bajt plus następny, umożliwiając odczytanie zarówno adresów parzystych, jak i nieparzystych. Jak widać, jest to po prostu kolejna praca inżynierska, która w pełni wykorzystuje możliwości sprzętu przy jednoczesnym obniżeniu kosztów.

Przestrzeń RAM kartridża

Aby przechowywać zapisy, Game Pak'i mogą zawierać :

Akcesoria

To samo gniazdo Game Boy Link zapewniało możliwość gry wieloosobowej. Chociaż z jakiegoś powodu nie ma już czujnika podczerwieni (być może zbyt zawodnego w przypadku dużych transferów).

Dodatkowo BIOS GBA zaimplementował specjalną funkcję wewnętrznie znaną jako Multi-boot: Inna konsola (GBA lub GameCube) może wysłać działającą grę do pamięci EWRAM odbiornika, a następnie ten ostatni uruchamiałby się stamtąd (zamiast pobierać z pakietu Game Pak).


Previous: 6. System Operacyjny

Next: 8. Przeciwdziałanie-Piractwu & Homebrew


Rodrigo Copetti © 2026 RSS Feed

Przełącz na wersję nowoczesną

Strona Główna · Artykuły · Wsparcie · O autorze · O stronie