5

As you may be aware, developers used unregistered machine codes in their games, as discussed in this thread. My question isn't why they would do this, but instead if these instructions yielded a difforent result on the NES than it did on the Famicom. Keep in mind that these codes were tested to work on the Famicom, but Nintendo probably didn't care to make sure they had the same behavior on the NES, which was, in a way, a remake of the Famicom for American consumers.

8

To my knowledge, the NES and the Famicom had the exact same CPU (a Ricoh 2A03). So, it's unlikely there were any differences in behavior between the two with regards to undocumented opcodes. As the Ricoh had a 6502 core, you could also expect it has the same undocumented opcodes as the 6502 (not your question, though) - And this document seems to confirm this.

Other than that, there were some peripheral differences like the cartridge and controller ports, but these would not relate to your question.

To my knowledge, there is no NES game that wouldn't run on the Famicom or vice versa (except the ones that are incompatible with the changed slot design)

  • According to the creator of (I think) FCEUX, the CPU is different in regard to clock cycles, and sometimes the CPU has to add clock cycles to keep it in sync. I didn't write that in my question, because I'm not 100% sure if that's the case, but clock cycles would seem to be the biggest culprit in terms of version differences. – Jack Kasbrack Oct 31 '18 at 18:45
  • You are correct, however, that all documented 6502 instructions were kept in tact, with an almost identical CPU. – Jack Kasbrack Oct 31 '18 at 18:47
  • 1
    Well, clock behavior and undocumented instructions are two different things after all. – tofro Oct 31 '18 at 18:50
  • 2
    @JackKasbrack "the CPU is different in regard to clock cycles, and sometimes the CPU has to add clock cycles to keep it in sync" That's not something I've heard before; can you provide a source for that? – NobodyNada Oct 31 '18 at 19:40
  • 2
    While the Famicom was different from the NES, a lot of its internal chips, including the CPU, were the same. in other words, there would be no reason why they would act differently. If you were to recreate the CPU yourself, on the other hand, and didn't keep undocumented opcodes in mind, you may come up with a different result. – Jonathan O'Brady Oct 31 '18 at 22:26
0

A clarification to @tofro answer.

NES CPU chip does contain 6502 as a whole (probably also shrinked a bit with some minor changes like removal of pads), but it is also surrounded by sound and sprite DMA hardware.

It looks like this: http://visual6502.org/images/6502/6502_top_op10x_BF_4677.png -- original 6502, http://www.visual6502.org/images/RP2A/Nintendo_RP2A03G_die_shot_1a_6500w.jpg -- 2A03 (note the 6502 is in the lower right part of the image).

Also it is known that 6502 in 2A03 was unlicensed and to limit patents infringement the decimal mode in 6502 was intentionally broken, as per this: https://forums.nesdev.com/viewtopic.php?f=9&t=9813

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.