Hallo, ich habe unten das Speicherabbild vom PLus4 dran gehängt.
Wenn ich jetzt den oberen Rom-Bereich einschaltet um etwas vom Basic rauszuholen, was passiert beim cc65 mit meinen Daten im Speicher darunter?
mfg
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von Diddl am
Hallo, ich habe unten das Speicherabbild vom PLus4 dran gehängt.
Wenn ich jetzt den oberen Rom-Bereich einschaltet um etwas vom Basic rauszuholen, was passiert beim cc65 mit meinen Daten im Speicher darunter?
mfg
was passiert beim cc65 mit meinen Daten im Speicher darunter?
Die werden überdeckt, also beim LESEN unsichtbar.
Der Bereich genau darunter ab 32768-.... wird abgedeckt?
Sind meine Daten noch da, wenn ich wieder aufs Ram umschalte?
Und kann ich, wenn ich aufs Rom geschaltet habe die Basicroutinen usw anfassen?
mfg
Der Bereich genau darunter ab 32768-.... wird abgedeckt?
Ja. Die 8 Bit CPU kann nur 65536 Zellen (64K) adressieren.
Mit einem "Trick" namens Banking werden Bereiche "übereinander" gelegt. Dh. Zwei oder mehr Speicher haben denselben Adressraum. Durch ein- und ausblenden wählt man den Speicher der gerade diesen Adressbereich belegt.
Sind meine Daten noch da, wenn ich wieder aufs Ram umschalte?
Selbstverständlich!
Wenn ich auf eie ROM Bank umschalte "sieht" die CPU eben das ROM. Schalte ich zurück ist wieder das RAM da.
Und kann ich, wenn ich aufs Rom geschaltet habe die Basicroutinen usw anfassen?
Die CPU sieht immer genau 64KB (65536 Bytes). Man blendet eben den Speicher ein den man gerade braucht. Will ich Basic Routinen aufrufen muss ich das entsprechende ROM einblenden.
Das Problem ist, dass ich mir nicht den Speicher wegziehen darf, wo gerade mein Programm läuft. Wenn ich eine ROM Routine aufrufen will, muss ich das ROM einblenden. Befinde ich mich gerade im selben Speicherraum wie das ROM, dann habe ich ein Problem. Deswegen muss ich das ROM einblenden, wenn ich gerade nicht in dem selben Speicherbereich bin. Da bietet sich der Kassetten Puffer an, weil der immer RAM ist.