Bastelstunde - proportionaler 1x1-Scroller

Es gibt 9 Antworten in diesem Thema, welches 1.344 mal aufgerufen wurde. Der letzte Beitrag (14. Januar 2009 um 19:28) ist von feuertonne.

  • Hallo zusammen,

    hab' mal wieder bisschen vor mich hin gebastelt, und unter anderem kam ein prima funktionierender 1x1-Scroller mit proportionalem Charset dabei raus. :winke:

    Wer bissel basteln will, kann gerne vor dem Start mal einen eigenen Charset nach $2000 laden (Zeichen müssen im Charset LINKSBÜNDIG sein) und schnell die passende Tabelle ab $0e00 reinhacken. Da stehen dann die Zeichenbreiten für jeden einzelnen Char in Pixeln drin, also von #$00 bis #$08!!! Zeichenbreite #$00 wird allerdings ignoriert, da gibt es ja auch nix darzustellen. Der Abstand der Zeichen ZUEINANDER wird an $0930 (LDA #$xx) dazuaddiert, da könnt Ihr gerne auch mal schrauben.

    Es gehen also Zeichen mit einer tatsächlichen Breite von 1 bis 8 Pixeln MIT entsprechenden Zwischenräumen.

    Start mit SYS 2051.

    Wie immer viel Spaß beim Schmökern,

    der Mnemonic

  • Also, der gefällt mir!
    Werde mir auf jedenfall den Code anschauen, denn so lerne ich ja wieder was dazu.
    Und deshalb mag ich das Forum! Hier kann man sich mit gleichgesinnten unterhalten, die den Cevi genauso mögen wie ich :roll:

  • Nett. Auf diese Weise kann man schön Scroller mit schmaleren Schriftarten realisieren. Eigentlich eine recht simple Idee, aber hab ich tatsächlich so noch nicht gesehen [oder es ist mir einfach nicht bewusst aufgefallen].

  • Hallo Mnemonic

    Also ich finde der Titel Schüler triffts nicht mehr ganz, fortgeschrittener Student würde viel besser zu dir passen. Trifft aber auch auf einige andere zu die hier im forum kleine "Wunder" vollbringen. Habe einen riesen Respekt vor euch allen die nicht aufgeben und immer weiter machen, wie verflixt das Problem auch sein mag. *verbeug*
    Bitte melde dich an, um diesen Link zu sehen.

  • Nee, Schüler passt schon noch, gibt auch etliche Dinge, an denen ich bislang noch gescheitert bin.

    Außerdem, man lernt ja eh nie aus... :winke:

    Deswegen stell' ich hier auch gerne immer mal was rein, so haben wir alle was davon, und das ist doch die Hauptsache.

    LG,

    der Mnemonic

    Alle alphabetisch angeordnet einem in Satz sein sollten Worte.

  • Äh, was ich an dem Code nicht ganz verstehe ist die Sache, vorher die Bytes zu sortieren.
    Immerhin kopierst Du ja eh die Bytes dann wieder um und hintereinanderweg, was ja auch einfach mit Charcode*8 und dann von dort 8 Bytes kopieren ginge.
    Ging es um Zyklensparen, oder hab ich irgendwas übersehen?

  • sehr schön dokumentiert, many thanks :)
    muss ich mir mal reinziehen

  • die dokumentation: :bussi:
    muss unbedingt mal wieder meinen cevie aufbauen und ein bisschen coden :prof:

    *ot*
    nachdem der hausbau abgeschlossen ist sollte das eigentlich zeitnah klappen

    Things fall apart; the centre cannot hold;

    Mere anarchy is loosed upon the world,


    W. B. Yeats

  • @spider-j

    Ja, da ging es auch um's Zyklen sparen, theoretisch kann ja ein "Pseudo-Char" aus max. 8 jeweils 1 Pixel breiten Zeichen bestehen (o.k., 2 bis 3 sind realistischer), und da dann jedesmal die Adresse neu zu berechnen frisst halt auch ordentlich Zyklen.

    Geht aber natürlich auch analog der Berechnung der Zieladresse des "Fake"-Chars ohne Umsortieren beim Init.

    Ich fand's so halt auch einfach praktischer, da ich dann meinen Charwert unverändert als Zeiger direkt auf die Char-Bytes UND die Breitentabelle nutzen kann. :)

    Gruß,

    der Mnemonic

    Alle alphabetisch angeordnet einem in Satz sein sollten Worte.

  • Danke für dieses Stück Code.
    Jetzt noch den Abstand der Chars im Scroller in Echtzeit verändern :hammer:
    Das würde 'wabern' :D

    Wenn einer, der mit Mühe kaum, geklettert ist auf einen Baum, schon meint, daß er ein Vogel wär, so irrt sich der.

    Wilhelm Busch