Hallo zusammen,
ich versuche per ASM den Turbomodus vom TC64 zu steuern, d.h. an oder aus zu schalten.
Im Handbuch ist dazu die Adresse $D0F3 angegeben. Wenn ich das richtig verstehe, wird über Bit 7 von $D0F3 der Modus geschaltet, wenn das TC64 vorher in den Config Mode ($2a in $D0FE scheiben) versetzt wird.
Folgenden ML Code habe ich dazu ausprobiert:
Code
- *=$c000
- lda $d0fe // detect TC64
- cmp #$ff // normal C64?
- beq deactivate // yes
- lda #$2a // activate config mode
- sta $d0fe //
- lda #$00 // 1=On, 0=Off
- bne turbon
- lda $d0f3 // TC64 Turbo off
- eor #$80 // kill Bit7
- sta $d0f3 //
- jmp deactivate // and exit
- turbon: lda $d0f3 // TC64 Turbo on
- ora #$80 // set Bit7
- sta $d0f3 //
- deactivate: lda #$ff // deactivate
- sta $d0fe // config mode
- rts // and exit
Es lässt sich so der Turbo Modus aber leider damit nicht ausschalten. Sieht man direkt an der Anzeige vom VGA Overlay.
Was mache ich denn hier falsch ?