Hallo Besucher, der Thread wurde 1,7k mal aufgerufen und enthält 4 Antworten

letzter Beitrag von hoogo am

MSB setzen mit *spritemover*

  • Tach zusammen :roll2: ...
    hat jemand eine gute Lösung für das korrekte setzen des MSB bits für folgende Routine :

    lda #%11110000


    lda #$c0
    sta $07fc
    sta $07fd
    sta $07fe
    sta $07ff
    xmove

    ldy #$00
    sprmover
    ldx #$00
    loop


    lda xsinus,x
    clc
    adc #50
    sta $d008,y

    lda ysinus,x
    clc
    adc #$10
    sta $d009,y
    txa
    clc
    adc #24
    tax
    iny
    iny
    cpy #8
    bne loop
    inc sprmover+1



    ldx ?????????
    lda $d010
    and msbtab,x
    sta $d010
    ...
    ....
    die sprites sollten natürlich übern kompl.screen fliegen (hin und rück), ich wurschtel die ganze Zeit mit einer Tabelle rum und bekommes es nicht richtig zum laufen ... wichtig für mich wäre das es sich hierbei um die letzten 4 sprites handelt (kann aber auch ein Lösungsvorschlag für alle 8 sein, kann man immer gebrauchen)


    dachte an so etwas, das ganze via -and- verknüpfen und es muss doch eine Möglichkeit geben das ganze recht einfach zu halten, um nicht alle sprites einzeln via bne und bcs abzufragen (z.b.) ....


    msbtab
    !byte $%00010000
    !byte $%00100000
    !byte $%01000000
    !byte $%10000000



    in diesem sinne beste grüße Inno/dz ......

  • eine simple "gefuschte" lösung wäre, den 8bit sinus um ein bit nach links zu shiften und dann das bit was oben rausfällt als msb zu nehmen (das reduziert natürlich die auflösung in X)


    ansonsten mach einen 9bit sinus, die untersten 8bit in eine tabelle, das oberste bit in eine andre. letztere benutzt du dann für das msb.