Mein 2. TESTPROGRAMM für das ich das alles gemacht habe, kopiert das FARBRAM auf den BILDSCHIRM (nur die ersten 255 Bytes)
Und ich konnte mir endllich mal anschauen, wie die Bits 4-7 undefiniert rumwabern.
Nimmt man AND #$00001111 in den CODE (Zeile 23) auf, dann wird es ruhig auf dem Bildschirm.
Habe das mit dem FARBRAM 35 Jahre nicht gewußt und meine Spiele ohne Farbe versehen.
Code
*=$0801
;*** Startadresse BASIC-Zeile: 2018 SYS 2064:NEW
!word HAUPT-2, 2018
!byte $9e
!text " 2064:"
!byte $a2,$00,$00,$00
; !byte $a2,$00,$00,$00
HAUPT
SEI ;Interrupts sperren
LDA #<IRQ ;LSB unserer IRQ-Routine in den Akku
STA $0314 ;und in $0314 (788) speichern
LDA #>IRQ ;MSB unserer IRQ-Routine in den Akku
STA $0315 ; in $0315 (789) ablegen
CLI ;Interrupts wieder freigeben
RTS ;zurück zum BASIC
;------------------------------------------------------------------------------------
*=4096 ;$1000 = 4096
IRQ ;Beginn unserer Interrupt-Funktion
LDX $02 ; Lade aus Zeropage Adresse 02 den Wert in X
LDA $D800,X ; Lade Accu aus FARB-RAM + X
;AND #%00001111 ; setzt Bit 4-7 (von undifiniert auf 0000xxxx)
STA 1024,X ; Speichert Accu in Bildschirm ab 1024+ X
INX ; X=X+1
STX $02 ; Speicher X in die Zeropage Adress 02
BNE IRQ
INC $d020 ;Rahmenfarbe ändern
JMP $ea31 ;weiter zur System-Routine springen
;------------------------------------------------------------------------------------
Alles anzeigen
Ich danke euch für die Hilfe.
Ich kann nun einiges für mein Spiel durchtesten.
Werde den Inhalt des FARBRAMs mal testweise wegspeichern (Vielleicht testweise nach 49152 bis 49152+1000). Gibt es dafür einen besseren Bereich ? Auch in hinsicht wegen BANK-Switching ?