Ich ändere für ein Spiel 3 Zeichen des Zeichensatz, die ich ab 12288 ablege. Wenn ich den Code mit BASIC 64 compiliere, ist zwar alles viel schneller, aber nach einigen Spielminuten wird mein Zeichensatz überschrieben, da die Figuren nur noch Müll enthalten. Weiß jemand, woran das liegen kann und wie ich das ändere?
Hallo Besucher, der Thread wurde 978 mal aufgerufen und enthält 5 Antworten
letzter Beitrag von Stephan Scheuer am
BASIC 64-Compiler überschreibt meinen Font
- Hamrath
- Erledigt
-
-
Der Compiler wird wohl (mit seinen Laufzeitroutinen) den Zeichensatz überschreiben. Kriegst du es denn in BASIC hin, die Grafikdaten, also Zeichensatz, Bildschirmspeicher, Sprites etc. in die oberste Videobank (ab 49152) zu verschieben?
-
Ich hab jetzt Austrospeed genommen, damit scheint alles zu funktionieren.
-
Beim Basic 64 Compiler must du Direktiven einbauen. Das steht alles im Handbuch. Ansonsten löscht der Compiler den unbenutzten Ram.
Der Basic 64 Compiler ist um einiges schneller als der Austrospeed. Dafür hat Austro den Vorteil, dass dieser sogut wie alles compiliert.Schonmal den Basic-Boss getestet?
Stephan
-
Der Basic 64 Compiler ist um einiges schneller als der Austrospeed. Dafür hat Austro den Vorteil, dass dieser sogut wie alles compiliert.
Schonmal den Basic-Boss getestet?
Auf ein paar Sekunden kommt es mir nicht an. Das passt erstmal so.
Ja, Basic-Boss hatte ich probiert. Der compiliert auch problemlos, aber beim Ausführen kommt dann ein ?typemismatch error.
Geht jetzt aber erstmal nur darum, dass die Verarbeitung etwas besser ist. Ich schreibe gerade ein Spiel für den Ludum Dare (dazu heute Abend mehr, in einem anderen Thread, wenn ich es veröffentlicht habe). Die Generierung des Labyrinths braucht ohne Compiler fast 'ne Minute und mit ca. 15 Sekunden. Das ist das wichtigste. Optimieren kann ich später immer noch.
-
OK, 15sek, da bekommt man mit Basic-Boss und Direktiven "fastfor , byte , word" vielleicht auf 8-10sek. Da lohnt sich der Aufriß nicht.
?typemismatch error... vielleicht eine z.b. XY%-Variable genutzt oder eine XY$-Variable wo keine hingehört.
oder "SYS 1234,A$,12,B$" das geht nur mit der Direktive "otheron"