Assembler-Beispiel 85 - STA $ll.asm

Aus C64-Wiki
Zur Navigation springenZur Suche springen
; Diese Programm ändert den Blockcursor in einen Strichcursor.
; Es wird der Zeichensatz auf $3000 kopiert und entsprechend abgeändert.
; Programmstart mit SYS 49152

*=$c000         ; Startadresse des Programms

lda #$30
sta $38         ; BASIC-RAM-Ende auf $3000 setzen

sei             ; Interrupts sperren

lda $01
and #%11111011
sta $01         ; Ein/Ausgabe-Bereich aus- und Character-ROM einblenden

lda #$00        
ldy #$d0
sta $5f
sty $60
ldy #$e0
sta $5a
sty $5b
ldy #$40
sta $58
sty $59
jsr $a3bf       ; Kopierroutine: $d000-$e000 --> $3000-$4000

lda $01         
ora #%00000100
sta $01         ; Ein/Ausgabe-Bereich einblenden

cli             ; Interrupts wieder zulassen

lda $d018
and #%11110000
ora #%00001100  				
sta $d018       ; Adressbereich des Zeichensatzes auf $3000-$37FF stellen 

lda #$00
sta $3500
sta $3501
sta $3502
sta $3503
sta $3504
sta $3505
sta $3506       ; neuer Cursor

rts		; Rücksprung zu BASIC