I can't seem to find a description for mapper 185 that makes sense to me. I obviously can't make it to work in my emulator, but I don't trap any writes to $8000-$FFFF either so I guess this one is doing something odd?
I found another post concerning mapper 185 on this forum but it didn't help me much.
Thanks in advance
Have you looked at
Disch's mapper docs? The information in there is pretty straight forward. The mapper is basically a ridiculous form of copy protection, where games disable the CHR-ROM and try to read values back from it (which should return open bus I guess).
In this case, Martin Korth is more complete and more accurate than Disch. According to his everynes documentation:
Mapper 185: VROM-disable
------------------------
Appears to be used for CNROM games with only one (used) 8K VROM bank, however,
VROM appears to be bigger than 8K, the games verify the the presence of the
unused (empty) VROM banks on startup, and get caught in an endless loop if they
do not exist.
8000h-FFFFh (De-)select VROM bank
Values used to switch VROM on/off are:
Off On Title
F0h 0Fh Bird Week
00h 33h B-Wings
00h 11h Mighty Bomb Jack
20h 22h Sansuu 1 Nen - Keisan Game
20h 22h Sansuu 2 Nen - Keisan Game
00h FFh Sansuu 3 Nen - Keisan Game
13h 21h Spy vs Spy
Above games are working when mapping an empty VROM bank (FFh-filled) either
when (X)=13h, or when (X AND 0Fh)=0.
How's this switching done? Writing the magical value to any address via $2007?
Why hasn't anyone cracked these games and assigned them to mapper 3 instead?
There are cracked copies available that turns them into NROM, but Goodnes calls them bad dumps.
In fact it's kind of weird.
Bits 0 and 1 leads to higher adress CHR-ROM pins like on a normal CNROM board, but because only 8k is used they become additional enable pins. This makes some sense, and depending which pins are positive and negative enables, the CHR-ROM will be either enabled or disabled, which makes some sense.
What makes less sense is bits 4 and 5 which are also used, and through diodes they will either makes conflicts or not make conflicts on other adress depending on the polarity of the diodes.
For example if you latch a '1' on the cathode of a diode, nothing will happen, but if you latch a '0', then the diode will conduct even if there is a '1' on the other side of it, and this will create a conflict, making it impossible to dump the CHR-ROM before latching anything the right value in the register (as opposed to NROM where you can just dump the CHR-ROM by simply powering the cartridge and reading it).
(If you put the diode on the other polarity, it's the opposite of that).
This was probably done in an attempt to damage the copiers that would dump those carts.
The invectiveness of this protection systems explains why so few games used it. Then again this is pure speculation maybe I'm completely missing something.