Action 52 - does not work on **some** PPUs

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Post Reply
User avatar
krzysiobal
Posts: 1037
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland
Contact:

Action 52 - does not work on **some** PPUs

Post by krzysiobal »

I made a physical copy of the Action 52 multicart. It works fine on Dendy (and PAL NES). Then, accidentally, i found out it does not work on my console with UA6528 (NTSC) PPU. That is, the menu shows, you can select game, select number of players and then black screen appears. Tested on many menu entries, problem persists.
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 -----------------------------------------
Last edited by krzysiobal on Mon Jun 21, 2021 10:00 am, edited 1 time in total.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Action 52 - does not work on **some** PPUs

Post by NewRisingSun »

If the game relies on reading the PPU palette, then pre-G Nintendo PPU revisions will not run the cartridge either.
Great Hierophant
Posts: 780
Joined: Tue Nov 23, 2004 9:35 pm

Re: Action 52 - does not work on **some** PPUs

Post by Great Hierophant »

I tested Action 52, both the no-rev and the rev. A ROM (as no-intro identifies them), and every game I tried with the no-rev (CRC32=41EF44F6) crashed after the player select screen as Krzysiobal described in my Famicom with rev. E CPU and PPUs. The rev. A ROM (CRC32=0586448F) had no such issues in the same system, although game 9, Alfredo, appears to be broken in that revision.
Post Reply