geschrieben am 29.10.2011 16:28:22
Jetzt muss ich hier doch tatsächlich mal selber eine Frage stellen...
Was ich möchte, ist eigentlich ganz einfach: ein einzelnes 16x16-Sprite-Teil auf dem Bildschirm anzeigen lassen (ohne extra einen ganzen Sprite drum herum bauen zu müssen). Der Code, den ich benutze, sieht so aus:
Code ; nach einem freien OAM-Slot suchen
LDX #$00
.loop
CPX #$FC ; falls gar kein Platz mehr frei ist -
BEQ .return ; eine Endlosschleife wollen wir ja nicht
LDA $0201,x
CMP #$F0
BEQ .foundOne
INX #4
BRA .loop
; wenn einer gefunden ist, Sachen damit anstellen
.foundOne
LDA #$90
STA $0200,x
LDA #$30
STA $0201,x
LDA #$26
STA $0202,x
LDA #$30
STA $0203,x
TXA : LSR #2 : TAX
LDA #$02
STA $0420,x
.return
[...]
Auch das Problem ist schnell erklärt: nichts passiert. Die Werte werden gespeichert, der Code wird also ausgeführt, aber auf dem Bildschirm erscheint nichts.
Kennt sich zufällig jemand besser damit aus als ich? (Und falls das von Bedeutung ist, das Ganze passiert auf der Overworld.)
Abiturklausuren (schamlos geklaut von spinatkuchen >_>):
Deutsch (26.3.): Alles reingebracht, was ich wollte, bereue nichts, insgesamt ganz gutes Gefühl (Ergebnis: 8 Punkte - Hm, hätte mit mehr gerechnet.)
Geschichte (1.4.): Fast nichts zum historischen Kontext gewusst, Rest war ganz okay, vielleicht noch 3, eher 4 (Ergebnis: 7 Punkte - Hey, das hätte schlechter sein können. Keine Nachprüfung!)
Mathe (2.4.): Viel besser als gedacht, bis auf 'nen kleinen Teil fast alles richtig, 1 ist gut möglich (Ergebnis: 14 Punkte - Yay!)
Englisch (9.4.): Sprachlich keine Sorgen, inhaltlich etwas mehr, gutes bis sehr gutes Gefühl (Ergebnis: 15 Punkte - Der Lehrer mag mich halt.)
Physik (mdl., 10.5.): Bis auf zwei winzige Wissenslücken sehr einfach und sehr gut gelaufen (Ergebnis: 13 Punkte - Sehr in Ordnung!)