А почему вы решили с NES-ом мучиться? Взяли бы 8086-реализацию от Broderbund, она гораздо качественнее сделана, плюс для x86 инструментарий гораздо богаче. Да и приобретенный опыт был бы более прикладным.
К NES у меня особая, детская ностальгия, и вот мне удалось все-таки до нее дорваться. В PC же версию мне поиграть в детстве, к сожалению, не удалось, да и разобрана она давно уже по кирпичику.
… плюс для 8086 интересно еще и потому, что один и тот же exe-шник реально работал на 8088 в CGA с pc-speaker и не тормозил — я своими руками запускал; и он же работал на 80286 в VGA и с sound blaster. Вот это была виртуозная работа.
Там такие исходники, честно говоря, что заглядывай в них, не заглядывай — все едино. Хардкорнейший ассемблер, причем ассемблер старинной архитектуры. Уж проще в NES копаться (кстати, наверняка для NES с нуля тоже все писали, как и для 8086).
Вообще-то и в NES, и в Apple II, и в Commodore 64 (а также совместимые в советских клонах Правец и АГАТ) использовался тот же самый процессор MOS Technology 6502. Ассемблер с детства знакомый.
[NES] Пишем редактор уровней для Prince of Persia. Глава пятая. Отражение