Александр Семенов @shiru8bit
Узкий специалист широкого профиля
Information
- Rating
- 18-th
- Location
- Москва, Москва и Московская обл., Россия
- Works in
- Date of birth
- Registered
- Activity
Specialization
Game Developer, Application Developer
Senior
From 9,000 $
English
C++
C
Programming microcontrollers
Code Optimization
Software development
System Programming
Assembler
Когда-то я начинал изучать машкод на ZX Spectrum, имея под рукой книжку от Радио 86РК, набивая программки через POKE. Я тогда даже не подозревал, что процессоры в принципе как-то отличаются друг от друга, и так как Z80 может то же самое, что и 8080, у меня всё работало.
Всё равно заказал! Но в рамочку для диплома такую плату красиво не вставишь, это да.
Круто! Сначала отнёсся к материалу скептически из-за оформления, но по содержанию оказалось, что проект весьма годный. Но особенно впечатлила информация про существование в продаже макеток формата A4. Как говорится, дайте две.
Могу исправить оплошность путём раздачи всем перечисленным замечательным людям инвайтов, чтобы они смогли написать полностью правильные материалы с полноценным рассказом о себе и своих заслугах. Боюсь, правда, что привычный им стиль общения здесь не оценят. Но попробовать можно.
Не совсем так. 8910 — 40 выводов, два GPIO. 8912 — 28 выводов, один GPIO. Совсем без GPIO есть 8913 — 24 вывода. Но 13-ый я до сих пор вживую не встречал ни разу, в наших краях были 10-ые, реже 12-ые, чаще YM2149F (тоже два GPIO).
Мы же говорим про 4-битные ЦАП с характеристикой, схожей с оригинальной. В четыре бита вывести два раза по четыре бита трудно. Двух будет достаточно, если они будут большей разрядности.
Абзац про БМК переделал.
Так тоже можно сделать. Но дело в том, что и трекеры, и мастерство топ-музыкантов заточены на работу с очень ограниченной полифонией, типа экстремальной оптимизации кода на ассемблере. А тут нужно совершенно противоположные навыки, когда нет ограничений, и надо придумать, куда девать лишние ресурсы. В трекере будет очень неудобно работать с пачками, с инструментами, которые играют одну ноту на 3-6 каналах одновременно: одна нота займёт почти весь экран в ширину.
Это нормальный рабочий вариант, многие так делают.
Да, я ссылался в тексте именно на этот проект (на ассемблере и 27 МГц), но забыл найти его страницу и дать ссылку.
Как следует из статьи, в данном проекте я не беру готовую микросхему. И подобные проекты делаются не для экономии времени. VS10x3 к МК подключали тысячи человек, творчества в этом немного, все эти проекты звучат одинаково. Сопоставимый софтовый MIDI-синт на слабом МК делали единицы, у каждого уникальный результат, и это повод рассказать про что-то более интересное, чем про подключение 9 проводков.
Да-да, вот поэтому и челлендж. А на Ардуине 32К флеша, и в него ещё должен влезть MIDI-файл. Но какой-то минимальный синт можно сделать, со звучанием типа первых полифонических мобильников. Может получиться довольно забавный проект.
Полифонический MIDI с банком сэмплов на Ардуине тоже проиграем со временем, будет довольно интересный челлендж.
На SID и NES точно заморачивались не хуже, чем на AY. На FM-синтезаторах как раз началась тема с пресетами. Японцы продолжили морочиться с настройкой инструментов под каждый трек, MML-макросами, и прочим, а на западе большинство стало применять готовые драйвера с пресетами, из-за чего музыка стала звучать радикально хуже, чем могла бы.
Да, именно такой был план, сочинять в Reaper на софтовом VST (вероятно сделать свой, чтобы делать сразу инструменты-пачки), потом экспорт в MIDI и конверсия в управляющий поток.
Код эмулятора выглядит грамотным, там даже флаги огибающей разбираются по человечески, согласно устройству чипа. Rpi Pico раз в 15 мощнее Arduino Nano, так что всё сходится. Там действительно можно запустить много AY с нормальной передискретизацией.
Я давеча думал сделать Wild проект: взять целую кучу реальных AY, подключить к контроллеру, и написать под это дело музыку. Чтобы на один канал трека шло минимум по одному чипу, а то и по два, и таких каналов 16-32. Может ещё дойдут руки. Чисто из любопытства, как может звучать оркестр AY.
Именно про это и идёт речь в статье, в комментариях к которой мы находимся. Были ещё специализированные микросхемы, с характерным голосом робота. Самая популярная в 80-х была от той же General Instruments — SP0256. Её эмулятор тоже вполне можно запустить на Атмеге.
Честно говоря, впервые слышу о подобном. Я даже не могу навскидку назвать голосовой синтезатор, который в принципе использовал бы AY, все известные мне подобные программы работают на 48К с бипером.
Сигнал 4-битный, но это только один канал. Если звук моно, да, можно сделать один ЦАП и мультиплексировать его, это всё равно должно звучать получше, чем PWM. А для стерео уже по любому нужно делать три отдельных ЦАПа, это 12 пинов и мешок резисторов.
Трек на видео мой собственный из 2010 года.
И на Сеге, и на AY это делается простым воспроизведением заранее записанных сэмплов.