Beiträge von berni im Thema „Bildschirmspeicher unter das BASIC-ROM verschieben?“

    Bisher ist das alles nur zu Versuchszwecken, wenns dann in BASIC mal funktioniert möchte ich das natürlich in Maschinensprache umsetzen.


    Natürlich könnte ich den VIC und den Bildschirmspeicher auch woanders hinlegen, aber ich denke, dass das er beste Ort wäre, wo BASIC und die anderen freien Bereiche voll nutzbar blieben und gleichzeitig das Kernal im RAM patchbar wäre.

    Ich will einfach verstehen, wo mein Denkfehler liegt.

    Wie andere schon geschrieben haben, sind die Lesezugriffe auf den Bildschirmspeicher das Problem. Diese greifen nämlich nicht auf den Bildschirm sondern auf das ROM zu. Alle Befehle, bei denen du sicherstellen kannst, dass sie keinen Lesezugriff auf den Bildschrim tätigen, kannst du so aber nutzen. (Bei deinem Beispiel mit dem LIST am Ende des Programms: Das funktioniert auch nur deswegen, weil das Listing komplett auf den Bildschirm passt, wäre es länger wäre plötzlich wieder alles voller "Schrott", nämlich genau dann, wenn das Scrolling beginnt.)

    Wenn du Maschinensprache nutzt, geht das besser, weil du dann die Lesezugriffe selbst kontrollieren kannst. Das heißt, du kannst dann vorher auf RAM switchen (via $01) und hinterher wieder zurück. Bei Aufrufen von Routinen im BASIC-ROM musst du aber nach wie vor darauf achten, dass dort keine Lesezugriffe stattfinden.