Hello, NES!

Решил поделиться результатами своего маленького приключения: «Hello, World!» для NES.


Информация о программировании NES.
Архитектура и программирование Dendy — неплохое руководство на русском языке.
NES info, programs and demos — большой англоязычный ресурс, посвященный homebrew-программам для NES.

Кросс-ассемблер 6502.
Я остановился на проекте Ophis — из-за удобства, в частности, из-за его возможности на лету перекодировать строковые константы ASCII в номера тайлов.

Текстовый редактор.
Использовал Notepad++ и файл подсветки синтаксиса ассемблера 6502. Файл userDefineLang.xml надо поместить рядом с notepad++.exe (в той же папке), либо, если такой файл уже существует, дописать содержимое скачанного в конец существующего.

Редактор тайлов.
Tile molester — позволяет редактировать тайлы для кучи игровых систем, в том числе NES. В частности, может выдирать готовые тайлы из образов картриджей. Написан на Java, поэтому для запуска требуется JRE. Для работы с тайлами NES требуется выбрать соответствующий формат данных: View/Codec/2bpp planar, composite.

Результат.
Выкладываю исходник программы, скриншот которой вы видите в начале статьи, с комментариями на русском языке. Дополнительно, я сделал файл, описывающий адреса регистров железа NES в виде символических констант. На реале еще не проверял, только на эмуляторах: FCE Ultra, FCEUX, Jnes, NesterJ.