Here you are what I think the effect of those diodes would be.
1 - If the cathode is on the HC161 side (on the mapper side) :
The diode will prevent current to go from the mapper to the ROM.
Here you are the trurth table for one single bit :
Legend :
A = NES connector CHR-Ax from the PPU
B = Output of the HC161 mapper
OUT = Voltage that will be applied to the ROM pin CHR-Ax
0 = Logic 0 (0 to 0.8 V)
1 = Logic 1 (2.4 to 5 V)
### = Bus conflicts will appear. Avoid this state at all costs.
2 - If the cathode is on the CHR-Ax side :
The diode will prevent current to go from the CHR-Ax signal to the HC161 mapper.
Trurth table :
In other words, in the fist case, a '1' should always be written to the mapper, and the diode has no effect. If '0' is written, bus conflicts will alsmost certainly appear, unless only one pattern table is acedded or something.
In the second case, a '0' should always be written to the mapper, else bus conflicts will almost certainly appear. However, when zero logic is written, the mapper direcly controls the CHR adress lines, and the PPU has no effect. This allow for software pattern table swapping, and the PPU has no effect. This is interesting, however, I'm not sure of the accuracy of this since I've no board with slot for diodes. The only CNROM boad I have has it's mapper D4 and D5 tied to VCC and no slot for any diodes. I think it's a more recent board, because it's something like 'NES-CNROM-09' instead of 'NES-CNROM-256-01'.[/code]
Useless, lumbering half-wits don't scare us.