Quote:
FCUEX ANDS the two values (written value, and value at ROM) together. Nestopia and Nintendulator don't seem to do that.
The only reason this is correct is that MOS N channel transistors used to ground digital outputs have generally better saturation characteristics than MOS P channel transistors used to short the output to +5V.
In other words, when conflicting transistors (one from the 2A0x and one from the cart's ROM) are saturated, this becomes a short circuit on the supply line in theory, but when considering the imperfection of the transistors, you'd say it's two resistors in series, and the resistance of the "low" transistor will be much lower than the resistance of the "high" transistor (and hopefully both resistances in series are not low enough to cause too much problems to the power supply), therefore the line is at a voltage closer to 0V than +5V and is considered by the 74HCxxx on the cart to be logical '0'.
I would never rely on that 'AND' logic to be the correct implementation of a bus confilct... If the EPROM has higher impedence outputs, it could happen that the CPU always "win" the battle, or on the other side if you place an EPROM with lower impedence it could either "win" the battle against the CPU or cause the power supply to fail and the NES to reset itself.
It's not a surprise the transistor driving the line low typically "wins" the battle, but nobody should rely on this.