Posts by derSchnippe

    Ich wollte einfach für das ganze Projekt (die Multiplikation ist hier nur ein kleiner Teil) einen möglichst zusammenhängenden Block an ZP-Adressen haben, deswegen habe ich einfach die ZP-Adressen mitgenommen welche für RS232 benutzt werden. Denn das kommt mir hier ganz sicher nicht in die Quere. :D


    Bezüglich der Geschwindigkeit habe ich noch keine Tabellenversion implementiert, ich wollte eigentlich so platzsparend wie möglich sein da es im Projekt (zumindest im Moment) nicht auf Geschwindigkeit ankommt. Aber danke für den Hinweis - wird sicher auch noch mal getestet.

    Hi zusammen,


    ich bin weiter fleissig am lernen und coden und habe ein kleines Problem.


    Ich verwende folgenden Code aus der Codebase64: 16bit * 8bit


    In meinem Projekt kommt dann folgendes als Code dabei raus:


    Als Ergebnis würde ich nun #$0780 erwarten, also in fa #$07 und in fb #$80 - aber ich habe als Ergebnis im Speicher dann #$0680 stehen ?(


    Hab ich jetzt einen Fehler drin (den ich selbst nach Stunden des intensiven Anstarrens nicht entdecke) oder ist der Codeschnipsel schon fehlerhaft?




    Grüße,
    Schnippe

    Statt das gleiche Byte ein zweites Mal zu laden (kostet fünf oder sechs Taktzyklen), kannst Du den Wert in X aufbewahren (TAX...TXA kostet zwei mal zwei Taktzyklen).

    Über Zeitverbrauch hab ich mir noch gar keine Gedanken gemacht - muss ich mal im weiteren Verlauf etwas darauf achten.


    ... oder gleich mit "lax" laden ... dann braucht man nur noch den "txa".
    Anderes Problem ist: Was ist, wenn bei der Addition von #8 auf $f9 ein Überlauf passiert ?
    Besser zwischen "lda $fa" und "sta $fc" ein "adc #$00" einfügen ...

    Was für ein Problem könnte mir denn ein Überlauf verursachen (mal abgesehen davon dass dann ja eh keine Zieladresse mehr stimmen würde) und ginge statt dem "adc #$00" auch ein "clc"?

    Mahlzeit zusammen...



    Lies das Datenblatt, da steht alles drin was geht.

    Klasse Idee - wieso nur ist mir das nicht selber eingefallen 8o;)


    Hätte ja sein können dass es nen relativ einfachen Trick gibt der mir nicht eingefallen ist?



    Gelöst habe ich das ganze nun so:


    Es funktioniert soweit und tut was es soll - ob das nun gut ist oder man das noch viel einfacher lösen kann ist ne ganz andere Frage :D



    Danke erstmal für die Hilfe,


    derSchnippe

    Ja dann hol ich mal noch weiter aus ...


    Ich möchte ein Zeichen (8x8) auf dem Grafikbildschirm anzeigen.
    Dieses Zeichen liegt nun nicht im praktischen Raster sondern zum einen um vier Bit nach rechts verschoben sowie um 4 Bit nach unten.


    Hier mal mein bisheriger Versuch:




    Was ja nun gar kein Problem ist die ZeichenAdr über die ZP bereit zu stellen.
    Nun wollte ich halt noch die Startadresse (hier also $2034) in der ZP bereit stellen und das ganze dann einfach als Funktion aufrufen.


    Mein Problem sind nun also die Zieladressen und da hab ich entweder nen Knoten im Hirn oder es gibt keine einfache Lösung ?(



    Grüße,
    derSchnippe

    Ok,


    dann muss ich etwas ausholen.


    Ich möchte innerhalb einer Schleife an die Adressen zp und zp+8 schreiben, wobei eben die Zieladresse mit jedem Schleifendurchlauf um eins erhöht werden soll. Wie kann ich denn sowas nun lösen?


    Benötige ich dazu nun zwei Zähler?

    Hallo alle zusammen,


    ich bräuchte mal eine kleine Hilfe bei der Assemblerprogrammierung


    Ist bei der indirekten Y-nachindizierten Zeropage-Adressierung denn ein Konstrukt wie im Titel möglich?


    Ich nutze das CBM prg Studio falls diese Info benötigt wird :D



    Grüße