Ok, der IRQ-Init ist schon wieder fehlgeschlagen.
zrs1: Du hast mich überredet, ich versuchs mal ohne SEI/CLI. Hier mal mein neuer Init-Code...
Den NTSC-Check hab ich davor gesetzt. Die Sokrates-Version ist zwar schick, aber mich interessiert nur ob der VBLANK mit 50 Hz oder 60 Hz kommt, dafür ist die kleinere Version des Checks hinreichend. (denk ich)
Code
- lda #$7f
- sta $dc0d ; disable timer interrupts
- sta $dd0d ; stop kernal interrupt
- lda $dc0d ; negate any pending CIA irqs by reading registers
- lda $dd0d ;
- lda #$35 ; ram/IO/ram
- sta $01
- lda vic+17
- ora #8 ; set 25 rows
- and #255-128 ; clear msb of vic+18
- sta vic+17
- lda #16 ; next is middle of vblank
- sta vic+18
- lda #<irq1
- sta $fffe
- lda #>irq1
- sta $ffff
- lda #1
- sta vic+25 ; ack
- sta vic+26 ; go
Funktioniert. Aber wer weiss wie lange... Hab ich was übersehen?