GB Rombank

aus RHWiki, der freien Romhacking-Enzyklopädie

Überblick

Auf dem GameBoy (Color) ist jede Rombank 0x4000 Bytes (=16 KB) groß. Die erste Rombank (Rombank 00) wird immer (und unveränderbar) in den Speicherbereich 0000-3FFF gespiegelt. Außer bei ROM-Only-Typen von Roms können Rombänke nach Bedarf in den Speicherbereich 4000-7FFF geladen werden. Bei Rom-Only-Typen, wo also kein MBC vorhanden ist, ist 4000-7FFF dauerhaft mit Rombank 1 befüllt und nicht änderbar, weil das Rom ja bloß 2 Rombänke (nämlich 0 und 1) hat.

Festlegung der Rombank

Solange man innerhalb der Game-Engine programmiert / Daten ändert, versteht man unter der Festlegung einer Rombank häufig nur die Miteinbeziehung dieser in einen Pointer.

Programmiert man dagegen direkt auf ASM-Ebene, kann man die Rombank wechseln, indem man die Nummer der Rombank zwischen die Adressen 0x2000 - 0x3FFF (im Speicher des GB) schreibt.
Anmerkung: Man ändert damit nicht den Inhalt der ersten Rombank, die auch in diesen Bereich geladen wird, da diese schreibgeschützt ist.
Da dadurch die Rombank unmittelbar gewechselt wird, sollte man dies nur aus Bank 00 heraus tun. Auch ist daran zu denken, die vorher ausgewählte Rombank zu speichern, damit später zu dieser zurückgewechselt werden kann.

Siehe auch

'Persönliche Werkzeuge