Программирование для Famicom/NES/Денди в Nesicide+ca65: введение (1)

Оглавление

2 — Архитектура MOS 6502...
3 — Модуль neslib...
4 — Задний фон с прокруткой...
5 — Спрайты...
6 — Ушибленный спрайт...
7 — Музыка и звуки...
8 — Маппер MMC3 — страницы...
9 — Маппер MMC3 — перехват HBlank...
10 — Маппер MMC3 — HBlank+скроллинг...

0. Предисловие

В этой серии статей я попытаюсь как можно быстрее ввести вас в программирование на ассемблере ca65 на 8-битной консоли Famicom/NES/Денди в среде программирования Nesicide.
Статьи не ставят своей целью учить кого либо программировать: вы уже должны быть программистом и понимать что такое программы, ассемблер и как работают процессоры. Многое я попытаюсь объяснить как можно более детально, но определенный багаж знаний и умений конечно надо будет иметь. В принципе в интернете немало переведённой литературы и про MOS 6502 и про Famicom/NES/Денди, поэтому особо даже не буду что-то рекомендовать.
Для первичного ознакомления с основами основ о том что из себя представляет обзорно для программмиста консоль могу отослать к своей же статье: /blog/868.html, хотя похожих статей вообще немало.
Огромная масса полезной информации находится на англоязычном сайте nesdev.com (бесценный источник и для этого моего цикла статьей!).
Если с английским туго, то могу еще отослать к обзору разных материалов от Shiru: hype.retroscene.org/blog/282.html
Начало положено этой статьёй, остальные будут дописываться по мере появления свободного времени, всячески приветствуются комментарии, замечания, корректировки и вопросы помогающие улучшить статьи и дополнить непонятные в них места.

Исходные коды к урокам на момент пока я пишу статьи можно скачать тут: yadi.sk/d/_THxg1gxuCCVNw


Читать дальше →

Сторонние проекты на базе ZXTune

Всем привет!

Для всех тех, кому нравится идея и функционал ZXTune, но кого воротит от убогого дизайна официальных приложений или тошнит от меня лично, предлагаю список альтернативных программ, которые используют исходный код проекта (да, он таки opensource) и позволяют делать примерно то же самое, но по другому (не покидая любимого плеера/браузера/нужное подчеркнуть). Короче, кто о чем, а вшивый о бане.


Типа список

Atari AMY: власть несбывшегося

Энтузиастами регулярно создаются какие-то новые устройства, расширяющие звуковые возможности обычного ретро-компьютера. Плата с двумя AY/YM чипами. Плата с двумя чипами POKEY. Эмулятор с расширенной функциональностью на ПЛИС или на микроконтроллере. Что интересно, в подобных случаях за основу музыкального синтеза берется все-таки одна из классических звуковых ретро-микросхем, хотя и разработка часто ведется уже на современном технологическом уровне. Это или синтез простых волновых форм (AY/YM, POKEY), или FM-синтез (разнообразные чипы от Yamaha), или проигрывание сэмплов (Covox, Paula). Собственно говоря, в начале 80-х других видов синтеза, доступных на домашних компьютерах, похоже, и не существовало. Любителям остается лишь увеличивать количество все тех же, давно изученных звуковых микросхем (или их эмуляций) на следующих версиях своих плат, в поисках нового-старого звучания… Вовсе нет!

Самые, пожалуй, интересные вещи в компании Atari образца начала 80-х происходили в исследовательском центре под руководством знаменитого ученого Алана Кэя (ООП, оконный граф. интерфейс). Одним из проектов этой лаборатории стал Atari AMY (Additive Music sYnthesizer), звуковой чип, созданный в 1983 году на смену POKEY. Как следует из расшифровки названия, основан он на аддитивном синтезе, с 64 гармоническими осцилляторами и 16-битным звуком. По тем временам, согласитесь, довольно внушительная штука! В его реализации были использованы идеи мощнейшего цифрового синтезатора конца 70-х: Bell Labs Digital Synthesizer.




Читать дальше →

О передискретизации в Ayumi

Введение

Эмулятор Ayumi был создан специально для музыкантов, с учетом их повышенных требований к качеству моделирования работы звуковых чипов AY-3-8910 и YM2149F. Он существует в двух версиях: аудио плагин для работы в реальном времени и отдельное приложение для генерирования файлов формата WAV. От уже существующих эмуляторов вышеупомянутых чипов Ayumi отличается, в первую очередь, подходом к передискретизации (resampling), о котором рассказано далее.

Для привлечения внимания уважаемой публики я решил погуглить какую-нибудь симпатичную японку с именем Аюми (раз уж название эмулятора образовалось таким образом из «AY» и «YM»). Нашлось, вот... Анимешную Аюми убрал. Теперь вместо нее слон. Почему слон? Читайте, и узнаете!




Читать дальше →

Внутренности ZXTune: анализ форматов

Disclaimer. Данный цикл начинался в виде статей для журнала Sync Re-Started (SRS). Первая статья была опубликована в #5 в начале 2013 года. Вторая статья должна была попасть в #6, но scalesmann разрешил ее опубликовать пока не завоняла. Текст приводится по возможности без изменений (исправленные опечатки не в счет).

Другие статьи цикла:

  1. Анализ форматов
  2. Быстрая эмуляция AY/YM


Читать дальше →