Amstrad / Schneider CPC > Programmierung
Bildschirmadresse pro Pixelzeile ändern
TrebleAlex:
Hallöchen! :-)
Für ein neues Projekt versuche ich, die Bildschirmadresse im CRTC (Register 12+13) pro Pixelzeile zu ändern.
Es würde mir schon reichen, wenn er pro Basicscreenzeile die Adresse ändern würde. Leider ist alles bis jetzt ohne Erfolg gewesen. :(
Er ändert einfach nichts! Egal, was ich mache: Der Bildschirm bleibt leer, oder zeigt entweder das Bild bei &C000 an, oder die Daten an &4000, oder es flimmert total ohne irgendetwas. Bei der Adressierung des CRTCs verwende ich das entsprechende Adressformat, also z.B. in Register 12 "&30" für den Bereich ab &C000, bzw. "&10" für &4000...
Einen Beispielcode kann ich leider nicht anhängen, weil bis jetzt jeder Versuch gescheitert ist und nur Gewurschtel herausgekommen ist....
Kann mir jemand einen Tipp geben, oder einen Codeschnippsel und mir evtl. erklären, was ich falsch mache?
Was muss ich tun, um den CRTC zu einer Adressänderung zu bewegen?
Vielen Dank und viele Grüße,
Alex
oobdoo:
Mal so ein Schuss ins blaue? Hast Du die Interrupts/Betriebssystem weggeschaltet?
TrebleAlex:
Ja hab ich... denk ich! :-)
Mal mit DI und mal ohne DI.... das Ergebnis ist ähnlich.
Gruß,
Alex
oobdoo:
Das dürfte nicht ausreichend sein, denn der Gebrauch einiger Betriebssystem Funktionen schaltet den Interrupt wieder ein.
Ich meinte eher sowas hier: http://cpcwiki.de/forum/index.php/topic,634.0.html
TrebleAlex:
Erstmal danke für deine schnelle Antwort! :-)
Ich hatte den Interrupt schon so eingestellt, aber das Problem war ein anderes.... :D
Ein PEBCACK oder Layer-8 Problem! Ich hatte statt LD BC,&BC0C , LD BC,&BC12 geschrieben :banghead:
Aber jetzt habe ich dafür ein anderes Problem, wo ich nochmal Hilfe bräuchte! Und zwar scrollt der Bildschirm jetzt und ich hab keine Checkung, wie ich das Bild statisch angezeigt bekomme. Ich hab mit allenmöglichen Werten der Zeitschleifen rumexperimentiert, aber ich bin glaub zu doof dafür! ;-(
Ich hab mal meinen halbgaren Wurschtelcode mal angehängt.... evtl. kannst Du ja was damit anfangen, und weißt auf Anhieb wo der Fehler liegt...wahrscheinlich ist der ganze Code ein einziger Fehler! :D
Viele liebe Grüße,
Alex
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln