Zweizeilenscroller im IRQ

  • Hallo Leute! :winke:
    Nach länger Zeit kann ich auch wieder einmal was zeigen:
    Meinen ersten 2-Zeilenscroller

    Files

    • 2023.prg

      (16.83 kB, downloaded 51 times, last: )

    Gerald ( gh23 )


    ________________________________________
    Stur lächeln und winken Männer

  • Oh, gut. Will ich auch bald mal versuchen.


    Irgendwelche Tipps/Source (wäre natürlich BESONDERS schön)?
    Oder ist das Ding in etwa nach TND/Codebase nachgebaut?
    Falls ja: wo lauern die Tücken?

  • TheRyk
    Ja, ich habe das bei Codebae64 ausgegraben und nach meinen Wünschen angepasst!


    @fantomas
    Erkläre mir das mal genauer ;)


    Edit: Ich hänge mal den Source dran (.zip löschen)

    Files

    • 2023.a.zip

      (3.79 kB, downloaded 38 times, last: )

    Gerald ( gh23 )


    ________________________________________
    Stur lächeln und winken Männer

  • Sei bedankt, gh23!


    Der Tipp von Fantomas klingt aber auch bestechend bis verblüffend simpel.
    Muss ich aber auch erstmal in einen 1X1 Softscroller reinschauen, um zu verstehen, was er meint.
    Wirklich $40? oder #40?

  • TheRyk
    Wieso denn, ich habe das doch im Code kommentiert!

    Code
    1. nowrap sta line1+$27
    2. ora #$40 ; Inverts($80) / Shifted($40) / Beides($c0)
    3. sta line2+$27
    4. inc read+1
    5. lda read+1
    6. cmp #$00
    7. bne endscroll
    8. inc read+2

    0HIer mal nur zur Info!

  • Jau, ist angekommen, Danke.


    Aber ich habe in meinem 1x1 Scroller glaube ich nirgendwo ein AND $40, das ich zu einem ORA $40 machen könnte, um mir mal eben einen 1X2-Scroll zu bauen.


    EDIT: Naja, ich hatte ja auch nach Tücken/Fallen gefragt, schätze mal, Fantomas meinte das als Ratschlag ;)

  • Ich meine natürlich ein ORA #$40.
    Wenn man das zum Zeichen-Code des auszugebenden Zeichen der ersten Zeile hinzuaddiert hat man automatisch den Zeichencode für die 2te Linie.

    Achso. Naja, zumindest, wenn man seinen Charset so organisiert (bzw. mit welchem Editor man das macht). Da gibt es ja keine festen Vorgaben.
    Aber stimmt, wenn man nen Zeichensatz hat, den man nicht kennt, dann würde ich auch zuerst bei Shift, dann bei Invers und dann bei Shift-Invers nach den restlichen Buchstabenteilen suchen :)

  • in der scrollroutine sind logische fehler drin, die man in scrollroutinen immer wieder findet.


    zunächst in der hardscrollroutine

    Code
    1. ldx #$00
    2. wrapmsg lda line1+1,x
    3. sta line1,x
    4. lda line2+1,x
    5. sta line2,x
    6. inx
    7. cpx #$28
    8. bne wrapmsg


    der X counter wird bis #$28 gezählt. D.h. der letzte wert der verwendet wird ist #$27.
    Es wird also ein wert von line1+28 nach line1+27 kopiert.
    Der neueste buchstabe wird aber immer auf line1+27 gesetzt.
    D.h. die schleife läuft einmal zu viel durch.
    Man sieht das ganze zwar nicht. verbraucht aber unnötig rasterzeit.


    Und eigentlich läuft die schleife sogar 2 mal zu viel durch, da der wert in line1+27 niemals sichtbar ist,
    denn der screen ist an der scrollstelle nur 38 chars breit. man sieht also maximal den 39. char
    doch niemals den 40.
    Also..schleife nur bis #$26 laufen lassen, und die neuen zeichen an position line1+26 setzen.


    und wenn wir dann schon bei dem thema #$40 sind.
    wenn die logik so ist (und das ist ja ok so), dann kann man in der hardscrollschleife das auch gleich so machen:


    Code
    1. ldx #$00
    2. wrapmsg lda line1+1,x
    3. sta line1,x
    4. ora #$40
    5. sta line2,x
    6. inx
    7. cpx #$26
    8. bne wrapmsg


    das spart nochmal rasterzeit.

  • Hallo Roland


    Habe mal eine Frage zu deinen 2x2 Font. Mit welchen Programm hast du den erstellt. Meinen Font kann ich leider nicht benutzen da er anscheind die Buchstaben anders zusammen setzt werden.
    Bei mein 2x2 Fonteditor werden die Buchstaben wie folgt zusammen gestetzt A / (shift-A)
    revers A / shift revers A


    Oder wie muss ich die Routine umschreiben damit er das so darstellt. Da ich ziemlich am Anfang der Assebmlerprogrammierung stehe, stehe ich etwas auf den Schlauch es selber zu lösen.


    Gruss Drachen

  • Ähhh... geht es nicht um einen 1X2 Scroller?


    Aber gute Frage, auch wenn sie wohl an gh23 geht. Man würde NOCH besser durchblicken, mit was für einem Charset-Editor der 1X2 wie gebaut ist.

  • Hi


    Ja es geht an gh23.
    Da habe ich wohl was falsch verstanden. Habe doch wirklich geglaubt es handelt sie hier um ein 2x2 Scrolltext. Naja macht nichts.
    Den kann man doch sicherlich umbauen in einen 2x2 Scrolltext.
    Jetzt muss mir nur einer sagen wie man das anstellt, dann wäre ich der glücklichste User :tanz:
    Mir würde einen Stoss in die richtige Richtung schon langen.


    Gruss Drachen