Beiträge von mc71 im Thema „farbinformationen besser speichern?“

    Wieso lese ich 30 Posts später immer noch was von AND #$0F beim FarbRAM..?

    Weil das gefordert war, und weil Farb-RAM nicht zwingend 4 Bit breit ist: Vielleicht landen die Daten im Hauptspeicher und sollen entpackt abgespeichert werden, vielleicht läuft das Programm auf einem 264er und die Helligkeitswerte kommen in einem zweiten Durchgang, evtl. sogar als Einblend-Effekt, etc. pp.

    ein kleiner pseudocode

    Okay...

    bei textlaenge 5

    a) für Textlänge 5 braucht der de-Cruncher mehr Speicher als man an Datenbytes einspart.
    b) definiere Dein Programm so, daß nur gerade Textlängen vorkommen und spare die Sonderbehandlung. Solche Tricks und Kniffe kommen öfter vor als man denkt!
    c) wenn es denn unbedingt sein muß:

    start: load a, (quelle)
    shift_right a, 4; viermal nach rechts schieben...
    and #§0F; ---denn wir brauchen erstmal das High-Nibble
    store (farbram)
    increment farbram
    decrement counter
    jump_zero fertig; wenn counter auf Null geht: raus hier!


    load a, (quelle); nochmal holen- push/pull geht auch, ist aber langsamer
    and #§0F; diesmal: low-Nibble isolieren
    store (farbram)
    increment quelle; beim nächsten Durchgang brauchen wir ein neues Byte!
    increment farbram
    decrement counter
    jump_not_zero start; wenn counter noch nicht auf Null: nächste Runde!
    fertig: jee-ha!

    Du wolltest Pseudo-Code, hier hast Du... was jee-ha! macht darfst Du selbst rausfinden.