45-in-1 (JY-120A) Multicart (Mapper 90)-how it switches CHR?

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderators: B00daW, Moderators

Post Reply
krzysiobal
Posts: 589
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland

45-in-1 (JY-120A) Multicart (Mapper 90)-how it switches CHR?

Post by krzysiobal » Mon May 08, 2017 9:46 am

I am trying to deduce how this multicart game switches CHR-BANKS (it's mapper 90, 128 PRG-BANKS, 256 CHR-BANKS). I created breakpoints:

Code: Select all

* cpu write at $9000-9007:   CHR Regs (low bits)
* cpu write at $A000-A007:   CHR Regs (high bits)
* cpu write at $D003:  [M.BH HHHH]
      M = Mirror CHR (very strange, see below)
      B = CHR Block mode (0=enabled, 1=disabled)
      H = CHR Block (when in block mode) <- this could change banks
* ppu write at $0000-$1fff
but none of them is executed for games like:
8. ninja 2
9. ninja 3
10. bb cart
and so on
Looking at the pattern tables in FCEUX, it is clear that after choosing any of those games, the pattern table set is changed..

calima
Posts: 1000
Joined: Tue Oct 06, 2015 10:16 am

Re: 45-in-1 (JY-120A) Multicart (Mapper 90)-how it switches

Post by calima » Mon May 08, 2017 10:59 am

If fceux emulates it correctly, just read the fceux source?

krzysiobal
Posts: 589
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland

Re: 45-in-1 (JY-120A) Multicart (Mapper 90)-how it switches

Post by krzysiobal » Fri May 19, 2017 4:05 am

I just found out this ROM uses mirrors of registers ($D500, $8500, $9500, etc)

Post Reply