On the NES version of Clu-Clu Land, Bubbles goes to a rave between levels as the background screen rapidly cycles. That might’ve looked okay on CRT but does not look good on OLED or LCD.
Clu-Clu Land is my favorite game but I never heard of it back in the day (go figure; we played Devil World, Ice Climber, Little Sampson, all kinds of deep cuts but not this). The version I fell in love with was the 2DS Virtual Console release. It features a much slower and more pleasant background color pulse between levels.
TL;DR: Look for a sequence of A9 04 85 55 A9 01 at address 0x435 (that offset is for a file that does include the header) and change the $04 to $0f if you want to make the backgrounds cycle more slowly the way modern VC and AC releases of Clu-Clu Land do.
Disappointed in how the version from NES romsets was so stroboscopic, I wanted to dump out the VC version so I could play it on Retroid.
My 2DS is so broken and requires a lot of tries to boot but I finally managed to start Godmode9 on it and get the ROM from it. But it was just as stroboscopic!
After looking around, it turned out that there was a separate .patch file that the VC version applies dynamically:
;Format Sample
;[xxxx] ;User-defined Name (Max:31 chars)
;Mode = 1 ;1:Fixcode; 2:Fixvalue; 3:Mask; 4:Palette; 5:Double Frame Buffer
;Type = 0 ;Normal: 0:Begin 1:End; Mode2: Value Type
;Address = x1F8000 ;ROM Address
;Fixcode = 0 ;Mode1: Fixed Rom Code; Mode2: Fixed Value
;DelayFrame = 0 ;Delay Frame
;FadeFrame = 0 ;Fade Frame 0:Off
;DarkEnable0 = 0 ;0:Off, 1:On (for Normal Mode)
;ReduceEnable0 = 0 ;0:Off, 1:On (for Normal Mode)
;MotionBEnable0 = 0 ;0:Off, 1:Black Fade, 2:White Fade, 3:Frame Blend (for Normal Mode)
;Dark0 = 10 ;0~10 (for Normal Mode)
;ReduceColorR0 = 0 ;0~31 (for Normal Mode)
;ReduceColorG0 = 0 ;0~31 (for Normal Mode)
;ReduceColorB0 = 0 ;0~31 (for Normal Mode)
;MotionBlur0 = 31 ;0~31 (for Normal Mode)
;DarkEnable1 = 0 ;0:Off, 1:On (for Green Mode)
;ReduceEnable1 = 0 ;0:Off, 1:On (for Green Mode)
;MotionBEnable1 = 0 ;0:Off, 1:Black Fade, 2:White Fade, 3:Frame Blend (for Green Mode)
;Dark1 = 10 ;0~10 (for Green Mode)
;ReduceColorR1 = 0 ;0~31 (for Green Mode)
;ReduceColorG1 = 0 ;0~31 (for Green Mode)
;ReduceColorB1 = 0 ;0~31 (for Green Mode)
;MotionBlur1 = 31 ;0~31 (for Green Mode)
;PaletteX = c31,31,31 ;X:0~15, cR,G,B (0~31)
;$A55F:A5 55 LDA $0055 = #$00 A:21
;$A561:D0 12 BNE $A575 A:00
;$A563:A9 04 LDA #$04 A:00
;$A565:85 55 STA $0055 = #$00 A:04
;$A567:A9 01 LDA #$01 A:04
;$A569:45 A7 EOR $00A7 = #$01 A:01
;$A56B:85 A7 STA $00A7 = #$01 A:00
;
;00000435h: A9 04 85 55 A9 01
[FPA]
Mode = 1
Address = 0x435
Fixcode = a6: A9 0f 85 55 A9 01
Clu-Clu Land also has a well-known score bug where you get 30 points when you’re supposed to get 3000 points.
According to The Cutting Room Floor, 0x0571’s value of $80 should be $08 to fix the bug. (That offset is 0x0561 headerless, as their page correctly indicates, but I’m working with a headered file here.) But the version on the 2DS actually had $80! So I’m wondering if maybe it went from $08 to $80 rather than the other way around? I did set it to $08 as per TCRF but I’ll keep a look out the next time I play the game and update this page once I know either way.