Hallo Besucher, der Thread wurde 1,2k mal aufgerufen und enthält 15 Antworten

letzter Beitrag von schnucke am

Rasterline und Scanline

  • Genau wie im VIC-II gibt es auch Rasterzeileninterrupts. Leider ist die Zeile 0 nicht die Obergrenze des Rahmens sondern die Obergrenze des sichtbaren Bereichs.


    Nach der aussage hat der c64 die Zeile 0 als die Obergrenze des Rahmens ?
    Weil er das in seiner aussage bedauert, das der Plus4 das nicht hat...oder?


    mfg

  • Also der sichtbare Bereich geht beim Plus/4 von $0 bis $C8 also dementsprechend genau 25 Textzeilen. Alles was größer ist, ist natürlich der Bildschirmrahmen. Klar gibt es auch eine Möglichkeit wie beim C64 den Border zu erweitern bis hoch zu 30 (?) Zeilen... aber wie ihr wisst, am Besten lernt man wenn man das erstmal selber probiert oder anderen Code analysiert!!!!


    Munter bleiben!

  • Hm. So wie ich das verstehe geht es doch lediglich darum, wie die Zeilen intern durchnummeriert werden. Da muss man eben wissen, dass wenn man am C64 ne $30 nach $d012 schreibt, wenn man dann den Code portieren will, eben in das entsprechende Register beim Plus4 (keine Ahnung welches) $00 schreibt, um ungefähr den Interrupt an der gleichen "Stelle" am Bildschirm zu haben. Oder nicht?

  • Nein, es geht darum wo die Rasterlinie/Scanlinie anfängt.
    Ist die 0-Linie am Bildschirmrand oben oder ist sie beim Plus4, wo der Textbereich anfängt.
    Bei den Demos die ich gesehen habe, sind die Farbraster immer ab dem Textbereich, habe keine drüber gesehen.
    Es steht dort aber nicht , warum.


    Wenn ich Demos vom c64 sehe, gehen die über den ganzen Bildschirm.


    Kann mir das ein Plus4-Fachmann mal erklären.


    mfg

  • Zitat


    Hm. So wie ich das verstehe geht es doch lediglich darum, wie die Zeilen intern durchnummeriert werden. Da muss man eben wissen, dass wenn man am C64 ne $30 nach $d012 schreibt, wenn man dann den Code portieren will, eben in das entsprechende Register beim Plus4 (keine Ahnung welches) $00 schreibt, um ungefähr den Interrupt an der gleichen "Stelle" am Bildschirm zu haben. Oder nicht?


    Nein, du sitzt auf dem falschen Pferd.
    Lies das oben mal genau durch.


    Es geht darum, ob es beim Plus4 überhaupt möglich ist, die Rasterspielerei am Bildschirmrand oben anzufangen wie beim c64.


    So wie ich das sehe, ist das das nicht möglich.


    mfg

  • Hm. So wie ich das verstehe geht es doch lediglich darum, wie die Zeilen intern durchnummeriert werden. Da muss man eben wissen, dass wenn man am C64 ne $30 nach $d012 schreibt, wenn man dann den Code portieren will, eben in das entsprechende Register beim Plus4 (keine Ahnung welches) $00 schreibt, um ungefähr den Interrupt an der gleichen "Stelle" am Bildschirm zu haben. Oder nicht?

    $D012 ist die aktuelle Rasterzeile beim C64, richtig? Und bei $30 fängt dann der Textbildschirm an oder???


    beim Plus/4, bzw. der 264er Reihe fängt der Textbildschirm bei $00 (Rasterzeile in $FF0B) an zu zählen und nicht wie beim C64 am oberen Bildschirmrand!


    Von $00 - $C8 ist der sichtbare Textbildschirm, klar kann man weiterzählen bis $FF und dann gibt es noch andere Register die für die vertikale Scanposition zuständig sind ($FF1C - High und $FF1D - Low)


  • Es geht darum, ob es beim Plus4 überhaupt möglich ist, die Rasterspielerei am Bildschirmrand oben anzufangen wie beim c64.


    So wie ich das sehe, ist das das nicht möglich.


    Klar ist das möglich. $FF0B sind nur Bit 0-7 vom raster counter. In $FF0A befindet sich Bit 8, welches für die Rasterzeilen $0100-$0137 gesetzt sein muss. Wenn man das nicht setzt, dann hat man halt nur IRQs im Bereich $0000-$00FF.

  • beim Plus/4, bzw. der 264er Reihe fängt der Textbildschirm bei $00 (Rasterzeile in $FF0B)


    Meine Frage war, ob man oberhalb des Textbereiches mit den Rasterspielereien anfangen kann.


    Gemäss Aussage oben geht das nicht, dann müsste ich "minus" setzen.


    Die Rasterzeilen gehen von $0000 bis $0137. Natürlich kommt nach $0137 wieder $0000, und dementsprechend kommt vor $0000 auch $0137.