I'm working on a mmc dload version with some more caching to speed up seeking in the image. For this purpose it would be great to get rid of the mmc registers at $df1x for a while. I unlocked bit7 of $df11 and disabled everything. $11-$13 are gone, but $df10 is still there. Did anyone succeed in mnapping out *all* registers?
That's my code to disable and re-enable the mmc registers. Page 4 and 5 show only a distortion at $10, page 6 show the 4 registers from $10-$13.
Code:
MMC64_Ctrl = $df11
MMC64_Ctrl_ExtRomActive = $01
MMC64_Ctrl_nCS = $02
MMC64_Ctrl_DisableMMC = $80
MMC64_Id = $df13
; unlock MMC64_Ctrl_DisableMMC bit
lda #$55
sta MMC64_Id
lda #$aa
sta MMC64_Id
; disable mmc
lda #MMC64_Ctrl_ExtRomActive|MMC64_Ctrl_nCS|MMC64_Ctrl_DisableMMC
sta MMC64_Ctrl
; now fill the complete page
ldx #0
lda #$bd
tst0:
sta $df00,x
inx
bne tst0
tst1:
lda $df00,x
sta $0400,x
inx
bne tst1
tst2:
lda $df00,x
eor #$ff
sta $df00,x
inx
bne tst2
tst3:
lda $df00,x
sta $0500,x
inx
bne tst3
; reenable mmc
lda #$0a
sta MMC64_Id
lda #$1c
sta MMC64_Id
tst4:
lda $df00,x
sta $0600,x
inx
bne tst4