Determinismus in Assembler 🙂
„LOCATE“ nimmt eine Schlüsselstellung innerhalb des Source von Rock ein. Die Subroutine berechnet in Abhängigkeit von der vorgegebenen X und Y Bildschirmkoordinate die Adresse im Bildspeicher um von dort entweder zu lesen oder dorthin zu schreiben.
Die erste Version tat dies, indem eine Schleife durchlaufen wurde – von 0 bis Y – und dabei die Adresse um jew. die Spalzenzahl erhöht wurde. Am Schluss wurde noch X dazu addiert und fertig.
Ohne Schleife geht’s auch und das sogar viel schneller. Die Zeilenadressen werden einfach in einer Tabelle abgelegt, dann wird es möglich, ohne Schleife, die jew. Adresse direkt aus der Tabelle gelesen. fertig:
Das Spielchen läuft nun flüssiger!
Kommentar verfassen