• avatar Shiru
  • 6
В порядке обмена опытом. Когда я писал для РК-совместимых, использовал SjAsm, учитывая отличия 8080 'в уме'. Так было проще, чем другие мнемоники и мучиться с древними ассемблерами. И так как РК-совместимые мало различаются, у меня из одного исходника собирались версии для РК86, Микроши, Апогея и Партнёра, через условную компиляцию.
  • avatar Shiru
  • 2
У NES довольно своеобразная графика, для которой плохо подходят редакторы общего назначения и редакторы для других платформ. Поэтому и пишут свои. Для платформ с 16-цветной графикой, типа Master System, Genesis, SNES, специализированных редакторов уже нет, обходятся конверсией из обычных форматов.
  • avatar Shiru
  • 2
Первый шаг к расширению объёма графики — CNROM, очень простой маппер, даёт 32 килобайта CHR: wiki.nesdev.com/w/index.php/CNROM
  • avatar Shiru
  • 1
В NesDev Wiki собраны нагугленные и проверенные крупицы информации. Когда возникает нетривиальный вопрос, ответ наверняка найдётся там. Карты памяти тоже есть: wiki.nesdev.com/w/index.php/CPU_memory_map, wiki.nesdev.com/w/index.php/PPU_memory_map
  • avatar Shiru
  • 3
Режим спрайтов устанавливается функцией oam_size, 0 для 8x8, 1 для 8x16.
  • avatar Shiru
  • 4
Поправка, в палитры запихивается по три цвета. Нулевой цвет каждой палитры 'прозрачный'. Нулевой цвет в памяти палитр (PPU $3F00) задаёт цвет фона. Таким образом получаем максимум 1+3*4+3*4=25 цветов на экране.
  • avatar Shiru
  • 4
Развёрнуто ответил отдельным постом.
Да, я ещё говорил исходя из своего опыта. То есть, я пока только пользовался набором Ширу для программирования на Си. Тем, кто больше шарит в АСМе, чем я, в этом отношении поймут больше. Если покурят материал, разумеется.
Спрайты есть и по 8х8, и по 8х16, но я не нашёл, как в сборке от Ширу использовать последние.
Отлично, спасибо, то, что надо!
Спрайты — 8*8 пикселей каждый?
Ой, ограничений полно. Начнём с того, что у нас есть восемь палитр и в каждую можно запхать по четыре цвета! Круто, да? Но четыре палитры идут на задний фон. Другие четыре — на спрайты. При этом максимум одновременно находящихся на экране спрайтов — 64. На горизонтальной линии — 8. А если учесть то, что задник может использовать только один банк графики за раз, с планированием картинки начинается полная жопа…

Наглядный пример: battleofthebits.org/arena/Entry/Bo_OM/14745/

Картинка потеряла массу мелких деталей после конверсии. Забиты чуть ли не все спрайты в памяти (учитывая то, что я юзал спрайты 8х8, а не 8х16), а цветность картинки немного потеряла в том, что я использовал спрайты с теми же цветами, что и на заднике.

Если что, бомбу рисовал и потом планировал в GraphicsGale. И потом вручную переносил через редактор Ширу в неймтейбл. Спрайты уже накладывались поверх картинки говнокодом.
Если делать дему с кучей графики, то тут будет обломчик, ибо стандартный карик NES держит всего лишь 8 килобайт графики, которая впритык помещается в тайловую память приставки. Чтобы это дело как-то расширить, придётся ебаться с мапперами покруче. О которых я мало что знаю.
Реально. И даже делали. Правда, там нужно либо дофига банков графики, либо очень шустрый код.
YY-CHR? Он есть и на инглише, просто там автодетект языка хуёво работает. Надо просто переименовать english.lng, или как он там называется, в russian.lng, и всё будет!

По поводу редакторов — именно для работы с графикой лучше этого редактора не найти, там сразу же импорт из готовых .bmp-файлов есть. Ширувский редактор используется в основном для рисования экранов из тайлов.
  • avatar VBI
  • 1
Shiru, подскажи пожалуйста, насколько подойдут граф.редакторы для работы с графикой TSconf?
я вчера посмотрел твой редактор и ещё один ипонский. твой довольно специфичен, чисто под платформу;
а ипонский без англ.версии…
  • avatar sq
  • 1
А если я хочу сделать дему для NES, мне подойдут эти туториалы? (вопрос без тени сарказма)
Часть инфы я уже наглядно получил из редактора тайлов, но еще не всю.
Еще интересует вопрос — реально ли сделать гигаскрин на NES? Или только с кастомными мапперами? Или вообще никак?
  • avatar bfox
  • 2
пардон, все нашел:) на мигере очень годно — спасибо, Shiru !
  • avatar bfox
  • 2
интересен ассемблер. синтаксис, детальное описание команд — примерно как в ларченко и родионове. карта памяти, общая архитектура тачки — наглядное описание, пусть даже в формате сухой выжимки, без вот этого вот гугления крупиц информации по частям на разных ресурсах… присоединяюсь к вопросам мороза по графике
Немного погуглил, но не нашел готовых ответов. Интересуют fullscreen картинки для NES — каковы ограничения? Как я понимаю, всё упирается в количество памяти под тайлы, плюс какие-то детали можно поверх нарисовать в другой палитре спрайтами?
Было бы любопытно почитать про чей-то опыт, какие-то советы по трюкам, задействованным в конкретных случаях.