Ich schreibe gerade in C#, was im Grunde meine eigene Interpretation der NES-Hardware für ein Old-School-Spiel, das ich entwickeln könnte, genannt werden könnte. Ich habe FCE angezündet und habe beobachtet, wie die NES Grafiken angezeigt und gerendert hat.'Bank Switching' Sprites auf alten NES-Anwendungen
Kurz gesagt, das NES konnte zwei Bitmaps im Wert von 128x128 speichern. Diese werden PPU-Tabellen genannt. Einer war für BG-Fliesen und der andere war für Sprites. Die Daten mussten in diesem Speicher vorhanden sein, damit sie auf dem Bildschirm gezeichnet werden konnten. Wenn nun ein Spiel mehr grafische Daten als diese beiden Bänke hätte, könnte es Teile dieser neuen Information in diese Banken schreiben - was es dort gab - am Ende jedes Rahmens schreiben und es ab dem nächsten Rahmen verwenden.
Also, in alten Spielen, wie haben die Programmierer 'Bank wechseln'? Ich meine, wussten sie im Leveldesign, welches Grafikset geladen wurde? Ich habe bemerkt, dass Mega Man 2 Bankschalter hat, wenn der Bildschirm von einem Abschnitt der Bühne zum nächsten scrollt. Aber wie speicherten sie diese Informationen in der Ebene - welche Sprites sollten in die PPU-Tabellen kopiert werden und wo sollten sie geschrieben werden?
Ein anderes Beispiel wäre eine Pause in MM2. BG-Kacheln werden während der Pause überschrieben und dann wiederhergestellt, wenn der Player die Pausepause einlegt. Wie haben sie sich erinnert, welche Kacheln sie ersetzt haben und wie sie wiederhergestellt wurden?
Wenn ich faul wäre, könnte ich nur ein riesiges statisches Bitmap machen und einfach Werte auf diese Weise greifen. Aber ich zwinge mich, diese Werte zu begrenzen, um ein authentischeres Erlebnis zu schaffen. Ich habe den erstaunlichen Führer gelesen, wie M.C. Kids wurde gemacht, und ich versuche Barebones zu sein, wie ich dieses Spiel programmiere. Ich merke immer noch, wie diese Programmierer vorgehen, was sie mit dem gemacht haben, was sie hatten.
EDIT: Die einzige Lösung, die ich denken könnte, wäre, separate Tabellen zu halten, die angeben, welche Kacheln in der PPU zu welcher Zeit sein sollten, aber ich denke, das wäre eine riesige Speicherressource, die das NES nicht könnte zu handhaben.
Vielen Dank das war sehr nützlich. –
Danke für das Kompliment :) –