Программирование для Famicom/NES/Денди в IDE Nesicide на ассемблере ca65 (часть 4)

Итак, после создания модуля neslib который нам еще пригодится в будущем мы можем приступать к формированию основной программы — модуля main.s. Откроем его, удалим всё старое содержимое и начнём наполнять новым кодом:

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

Программирование для Famicom/NES/Денди в IDE Nesicide на ассемблере ca65 (часть 3)

Пример 1 — скроллинг заднего фона — neslib

Тот тестовый проект Hello world что мы создали из шаблона Nesicide работает, но мы сейчас переделаем его полностью — от него останется только каркас проекта и два битмапа с двумя наборами тайлов где присутствуют изображения символов текста. Когда весь цикл статей уже будет написан я его прошью общим оглавлением и конечно же дам ссылки на уже готовые проекты с полным кодом готовые к редактированию и компиляции. Пока, временно, если они кого-нибудь заинтересуют сейчас — можете спросить в комментариях. А в самих статьях код будет раскрываться кусками постепенно.


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

Программирование для Famicom/NES/Денди в IDE Nesicide на ассемблере ca65 (часть 2)

Еще немного про сегменты

Если вы до этого программировали на каком-нибудь другом ассемблере для 8-биток, то возможно, что все эти заморочки с сегментами на первый взгляд могут показаться ненужными. Почему бы не использовать директиву .ORG и явно не указывать где находятся код и данные?

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

Программирование для Famicom/NES/Денди в IDE Nesicide на ассемблере ca65 (часть 1)

Оглавление

Вторая часть...
Третья часть...

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

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


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

Сторонние проекты на базе 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


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