ich versuche gerade meine ersten Gehversuche in Assembler. Als "Übungsaufgabe" möchte ich ein Sprite einfach nur von links nach rechts über den Bildschirm bewegen. Die Routine wird im IRQ aufgerufen. Als Test-Koordinaten habe ich die Werte von $0041 bis $0140 gewählt, um zu sehen, ob die Sprite-Bewegung auch bei Koordinaten über $ff funktioniert.
Beim "Sprung" von $00ff nach $0100 verschwindet das Sprite jedoch kurz, um danach weiter nach rechts bewegt zu werden. Die Koordinaten sehen für mich korrekt aus. Statt des "sta $d010" habe ich auch schon die Variante "lsr, rol $d010" versucht, das machte keinen Unterschied.
sinetablexlo:
.byte $41,$42,$43,$44,$45,$46,$47,$48
.byte $49,$4a,$4b,$4c,$4d,$4e,$4f,$50
.byte $51,$52,$53,$54,$55,$56,$57,$58
.byte $59,$5a,$5b,$5c,$5d,$5e,$5f,$60
.byte $61,$62,$63,$64,$65,$66,$67,$68
.byte $69,$6a,$6b,$6c,$6d,$6e,$6f,$70
.byte $71,$72,$73,$74,$75,$76,$77,$78
.byte $79,$7a,$7b,$7c,$7d,$7e,$7f,$80
.byte $81,$82,$83,$84,$85,$86,$87,$88
.byte $89,$8a,$8b,$8c,$8d,$8e,$8f,$90
.byte $91,$92,$93,$94,$95,$96,$97,$98
.byte $99,$9a,$9b,$9c,$9d,$9e,$9f,$a0
.byte $a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8
.byte $a9,$aa,$ab,$ac,$ad,$ae,$af,$b0
.byte $b1,$b2,$b3,$b4,$b5,$b6,$b7,$b8
.byte $b9,$ba,$bb,$bc,$bd,$be,$bf,$c0
.byte $c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8
.byte $c9,$ca,$cb,$cc,$cd,$ce,$cf,$d0
.byte $d1,$d2,$d3,$d4,$d5,$d6,$d7,$d8
.byte $d9,$da,$db,$dc,$dd,$de,$df,$e0
.byte $e1,$e2,$e3,$e4,$e5,$e6,$e7,$e8
.byte $e9,$ea,$eb,$ec,$ed,$ee,$ef,$f0
.byte $f1,$f2,$f3,$f4,$f5,$f6,$f7,$f8
.byte $f9,$fa,$fb,$fc,$fd,$fe,$ff,$00
.byte $01,$02,$03,$04,$05,$06,$07,$08
.byte $09,$0a,$0b,$0c,$0d,$0e,$0f,$10
.byte $11,$12,$13,$14,$15,$16,$17,$18
.byte $19,$1a,$1b,$1c,$1d,$1e,$1f,$20
.byte $21,$22,$23,$24,$25,$26,$27,$30
.byte $31,$32,$33,$34,$35,$36,$37,$38
.byte $39,$3a,$3b,$3c,$3d,$3e,$3f,$40
sinetablexhi:
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$01
.byte $01,$01,$01,$01,$01,$01,$01,$01
.byte $01,$01,$01,$01,$01,$01,$01,$01
.byte $01,$01,$01,$01,$01,$01,$01,$01
.byte $01,$01,$01,$01,$01,$01,$01,$01
.byte $01,$01,$01,$01,$01,$01,$01,$01
.byte $01,$01,$01,$01,$01,$01,$01,$01
.byte $01,$01,$01,$01,$01,$01,$01,$01
Alles anzeigen
Vielleicht hat ja jemand einen Denkanstoß.
