So I swapped the PPU to second UA6528 and then third UA6528 and the problem was not solved.
Then I checked on different (blob) famiclone that can be switched either in PAL or NTSC mode and in worked in both modes. ROM works fine in emulator in PAL/NTSC/Dendy mode. I started wondering what is that and then it turned out there are two "final" releases of this cartridge (according to https://www.videogamemuseum.com/2010/06 ... action-52/, there are even more prototypes)
Code: Select all
REVA, green PCB, combined CRC32=51C0B27E0
PRG1=ACTION52 PGM-A, CRC32=A51212FD
PRG2=ACTION52 PGM-B, CRC32=476D0B72
PRG3=ACTION52 PGM-C, CRC32=2568DBA6
CHR =ACTION52 CHR-A, CRC32=596442EC
74273 + 74273 + 4520 + 16L8 + PIC16C54
REVB, black PCB, combined CRC32=0C222495 (*does not work on some NTSC PPUs**)
PRG1=ATI-02, CRC32=64E40C10
PRG2=ATI-03, CRC32=69FDC534
PRG3=ATI-04, CRC32=7E43E9E1
CHR =ATI-01, CRC32=596442EC
74273 + 74273 + 4520 + 16L8 + 16L8
The source of problem is that the game reads PPU palette ($3f00..$3f1f) and then tries to do something with that:
Code: Select all
2E:B030: AD 3B 03 LDA $033B = #$10
2E:B033: 29 FB AND #$FB
2E:B035: 8D 3B 03 STA $033B = #$10
2E:B038: 8D 00 20 STA $2000 = #$10
2E:B03B: A9 3F LDA #$3F
2E:B03D: 8D 06 20 STA $2006 = #$00
2E:B040: A9 00 LDA #$00
2E:B042: 8D 06 20 STA $2006 = #$00
2E:B045: AD 3D 03 LDA $033D = #$01
2E:B048: D0 19 BNE $B063
2E:B04A: EE 3D 03 INC $033D = #$01
2E:B04D: A2 00 LDX #$00
>2E:B04F: AD 07 20 LDA $2007 = #$00
2E:B052: 9D 51 05 STA $0551,X @ $0551 = #$00
2E:B055: E8 INX
2E:B056: 8A TXA
2E:B057: C9 20 CMP #$20
2E:B059: D0 F4 BNE $B04F
2E:B05B: A9 01 LDA #$01
2E:B05D: 8D 01 03 STA $0301 = #$00
2E:B060: 4C 8E B0 JMP $B08E
2E:B063: CE 3D 03 DEC $033D = #$01
2E:B066: A2 00 LDX #$00
2E:B068: BD 51 05 LDA $0551,X @ $0551 = #$00
2E:B06B: C9 D3 CMP #$D3
2E:B06D: D0 02 BNE $B071
2E:B06F: A9 10 LDA #$10
2E:B071: 29 30 AND #$30
2E:B073: F0 0E BEQ $B083
2E:B075: A9 01 LDA #$01
2E:B077: 8D 01 03 STA $0301 = #$00
2E:B07A: BD 51 05 LDA $0551,X @ $0551 = #$00
2E:B07D: 38 SEC
2E:B07E: E9 10 SBC #$10
2E:B080: 4C 85 B0 JMP $B085
2E:B083: A9 0F LDA #$0F
2E:B085: 8D 07 20 STA $2007 = #$FF
2E:B088: E8 INX
2E:B089: 8A TXA
2E:B08A: C9 20 CMP #$20
2E:B08C: D0 DA BNE $B068
>2E:B08E: 60 RTS -----------------------------------------