Page 1 of 1

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

Posted: Mon May 08, 2017 9:46 am
by krzysiobal
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..

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

Posted: Mon May 08, 2017 10:59 am
by calima
If fceux emulates it correctly, just read the fceux source?

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

Posted: Fri May 19, 2017 4:05 am
by krzysiobal
I just found out this ROM uses mirrors of registers ($D500, $8500, $9500, etc)