Das funktioniert über den DMA der Ram Expansion. Dadurch ist der Speicher-Zugriff nahezu in Echtzeit möglich, was auch der Grund ist, weshalb das Spiel für diese Erweiterung und nicht zb Easyflash entwickelt wurde. Die Grafik ist bis auf das Intro-Logo auch komplett in Zeichensatz gehalten.
Btw verwenden auch Mayhem und Sam's Journey Zeichensatz-Grafik. AFAIK nutzt derweil nur Mayhem VSP zum Scrollen (was in der Demoszene eher für Bitmap-Grafik eingesetzt wird). VSP läuft allerdings auf gefühlt jedem zweiten C64 nicht stabil und stürzt willkürlich ab. Es gibt inzwischen eine Methode, VSP sicher einzusetzen. Nur laut Aussage von Codern in meinem Umfeld, geht das zu Lasten der Geschwindigkeit.
[...] Gibt es irgendwo im Netz eine technische Beschreibung oder was die Herausforderungen waren? So etwas interessiert mich sehr.
[...] dass man aus Performance-Gründen tunlichst verschachtelten Loops vermeiden sollte und lieber mehrere (4?) 8-Bit Loops (per X-Register inkrementiert) verwendet, um den ganzen Screen umzukopieren. [...]
Bei Compilern heißt das »loop unrolling«: Man programmiert keine Schleife, sondern wiederholt den Code in der Schleife einfach so oft manuell, wie die Schleife ausgeführt werden soll.
Die Idee ist einfach: Wenn eine Schleife 25 mal ausgeführt wird (bitte korrigiert mich, ich meine das Color-RAM des C64 hat genau diese Zeichenauflösung von 40x25 Byte) und der Sprung an den Anfang der Schleife und die vorherige Abfrage, ob die Schleife schon zu Ende ist, sagen wir mal zusammen 6 Taktzyklen dauert ... dann spart man 25x6 = 150 Taktzylen. Der Code wird zwar länger, aber das ist in solchen Zeitkritischen Anwendungen meistens weniger das Problem.
(das nehme ich mir mal heraus, weil ich das ca. 1993 hautnah miterlebt habe und es hier super passt)
18 Besucher