Cursor abschalten ATMAS II / MAC65
von skriegel » Di 28. Jul 2009, 23:04Hallo.
Ich versuche gerade mit Hilfe von WUDSN (mobil auf dem Laptop, ATMAS II) und MAC65 (Modul im 800XL mit SpartaDos 3.3 - Danke nochmals, Erhard) Assembler zu lernen.
Meine erste Experimente drehen sich um die Speicherstellen 710 und 712, da müsste man doch flotten Farbwechsel hinbekommen. Also folgendes eingetippt:
Das läuft dann sowohl im Atari800MacX als auch mit MAC65 auf dem echten 800 XL wunderbar. Farbenflash halt.
Nun dachte ich mir: Weg mit dem Cursor! Das ist laut Literatur Register 752: Jeder Wert ungleich 0 heißt "Cursor sichtbar", 0 heißt "Cursor unsichtbar". Also zwei Zeilen wie folgt ergänzt:
Der Farbenflash läuft zwar nach wie vor, aber auch der Cursor ist immer noch zu sehen. Wo ist mein Denkfehler? Wie lasse ich den Cursor verschwinden?
Ich versuche gerade mit Hilfe von WUDSN (mobil auf dem Laptop, ATMAS II) und MAC65 (Modul im 800XL mit SpartaDos 3.3 - Danke nochmals, Erhard) Assembler zu lernen.
Meine erste Experimente drehen sich um die Speicherstellen 710 und 712, da müsste man doch flotten Farbwechsel hinbekommen. Also folgendes eingetippt:
- Code: Alles auswählen
*=$2000 ;Startadresse setzen
ldy #0 ;Y-Register mit "0" laden
ldx #127 ;X-Register mit "127" laden
loop sty 710 ;Marke "loop" setzen
;Wert aus Y-Register in 710 (COLOR2) schreiben
stx 712 ;Wert aus X-Register in 712 (COLOR4) schreiben
inx ;X-Register um 1 erhöhen
iny ;Y-Register um 1 erhöhen
jmp loop ;zur Marke "loop" springen
Das läuft dann sowohl im Atari800MacX als auch mit MAC65 auf dem echten 800 XL wunderbar. Farbenflash halt.
Nun dachte ich mir: Weg mit dem Cursor! Das ist laut Literatur Register 752: Jeder Wert ungleich 0 heißt "Cursor sichtbar", 0 heißt "Cursor unsichtbar". Also zwei Zeilen wie folgt ergänzt:
- Code: Alles auswählen
*=$2000 ;Startadresse setzen
lda #1 ;"1" in den Akku
sta 752 ;Akku ("1") in Register 752 (CRSINH) schreiben
ldy #0 ;Y-Register mit "0" laden
ldx #127 ;X-Register mit "127" laden
loop sty 710 ;Marke "loop" setzen
;Wert aus Y-Register in 710 (COLOR2) schreiben
stx 712 ;Wert aus X-Register in 712 (COLOR4) schreiben
inx ;X-Register um 1 erhöhen
iny ;Y-Register um 1 erhöhen
jmp loop ;zur Marke "loop" springen
Der Farbenflash läuft zwar nach wie vor, aber auch der Cursor ist immer noch zu sehen. Wo ist mein Denkfehler? Wie lasse ich den Cursor verschwinden?