Обновить
383
237.2
Александр Семенов@shiru8bit

Узкий специалист широкого профиля

Отправить сообщение

Музыкальный движок для Денди: FamiTone

Уровень сложностиПростой
Время на прочтение25 мин
Охват и читатели13K

Сегодня я решил поведать миру очередную историю одного из множества моих восьмибитных деяний дней давно минувших. Это одновременно обзор и своего рода «постмортем» довольно успешного проекта, правда, припозднившийся на добрых полтора десятка лет. Погреться в лучах славы былых успехов никогда не поздно!

Речь пойдёт о некогда созданной мной библиотечкe, музыкальном «драйвере» или движке под названием «FamiTone», предназначенной для озвучки любительских (homebrew) игр для 8-битной игровой приставки Famicom, она же NES, она же «Денди». По пути разберёмся, что это, как устроено, кому и зачем вообще могло понадобиться, и пригодилось ли в итоге. Спойлер: да.

Читать далее

В поисках компактного ЛБП

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели18K

Я решил для разнообразия немного отойти от своих любимых тем про видеоигры и жуткие звуки музыки в них, а также и временно воздержаться от ковыряний различных Ардуин. Вместо этого обращусь к другой плоскости своих интересов: к созданию электронных самоделок. А если точнее, созданию самодельных инструментов для создания электронных самоделок.

Речь пойдёт о простейшем самодельном компактном регулируемом маломощном источнике питания, также известном среди радиолюбителей и им сочувствующих как «лабораторный блок питания» (ЛБП), собранном из подручных средств в виде готовых китайских модулей и наборов. С его помощью можно налаживать прочие самодельные творения. Конструкции подобного рода сейчас довольно востребованы, и, возможно, вам окажется полезным мой вариант.

Читать далее

Музыкальные программы на игровых приставках

Уровень сложностиПростой
Время на прочтение23 мин
Охват и читатели18K

С приходом в каждый дом технологического чуда под названием персональный компьютер мы привыкли, что каждый школьник может сочинять и записывать дома музыку, не обладая музыкальными инструментами и особыми знаниями. Некоторые даже умудряются делать из этого успешную карьеру.

Однако, уже в 1990-х годах создание музыки стало доступно не только обладателям «настоящих» ПК, но и пользователям куда более простых и узкоспециализированных компьютерных устройств. Речь про игровые приставки, они же консоли. Для них тоже существовали музыкальные редакторы, и за годы их накопился целый исторический пласт. Покопаемся!

Читать далее

Цифровой звук на PC Speaker

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели16K

Я часто рассказываю о временах, когда домашние компьютеры 1980-х годов только обретали звуковые возможности, и о различных формах ранней компьютерной музыки, создаваемой на этих машинах программными синтезаторами, специализированными звуковыми чипами, или проигрывателями оцифровок реальных звуков.

Уделял я внимание и такому базовому звуковому устройству, как PC Speaker — его наследие до сих пор присутствует в современных ПК. В прошлый раз, однако, речь шла про его способности в области имитации многоголосия в монофонических квадратно-волновых мелодиях.

Сегодня же я коснусь такой темы, как воспроизведение реалистичных звуков, «оцифровок», привычных нам в современности. Это нота ностальгии по техническому чуду, когда ПК, обычно издававший звуки не сильно лучше карманного Тетриса, вдруг начинал убедительно говорить человеческим голосом и играть полноценные музыкальные композиции. Причём совершенно бесплатно, без покупки звуковой карты.

О том, как это работало «под капотом», а также о памятных примерах в играх и программах, и пойдёт речь в сегодняшнем материале.

Читать далее

Музыка в кейгенах

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели19K

Одна из самых ностальгических около-компьютерно-музыкально-чиптюновых тем — музыка из «кряков» и «кейгенов». Думаю, все мы знаем, как она звучит, а многие даже качали и слушали коллекцию в поисках той самой запомнившейся мелодии из дней нашей юности, проведённых в бесконечном рубилове в какую-нибудь любимую компьютерную игрушку.

Но откуда она взялась, сама эта музыка? Почему она именно такая и звучит именно так? Как вообще возникла традиция её использовать? Уверен, кто-то где-то уже рассказывал, ибо это база, но повторение — мать учения, а также бальзам для ностальгии. Обмажемся же им поскорее!

Читать далее

Звуковые эффекты на ZX Spectrum: AYFXEdit и BeepFX

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели14K

Расскажу, как устроены и реализуются звуковые эффекты в рамках примитивных возможностей 8-битных машин на примере нашего народно любимого ZX Spectrum, для которого я сделал несколько соответствующих редакторов и наборов процедур, для бипера и для звукового чипа AY-3-8910.

Читать далее

Биперные музыкальные движки на ассемблере Z80

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели5K

В своих публикациях я уже неоднократно касался темы «биперных движков», то есть музыкальных процедур для ZX Spectrum и других 8-битных компьютеров прошлого, не оснащённых аппаратными синтезаторами звука. Но каждый раз это было вскользь. Настало время сконцентрировать более тугую струю экспертизы в данном вопросе, расставить такты над логическим «И», и рассказать базу: как же устроены и как создаются подобные процедуры в их самом классическом варианте, без привлечения новомодных ардуин.

Углубимся в максимально хардкорную тему и пройдём путь от элементарных кирпичиков до очень простенького, но функционального движка. И если практической пользы в этом упражнении немного, как минимум это повод поностальгировать о временах, когда можно было знать устройство компьютера до мельчайших подробностей, и, более того, это было необходимо для достижения хороших результатов. Побольше кода и поменьше исторических справок!

Читать далее

Русская «Ардуина»: первый взгляд любителя

Уровень сложностиПростой
Время на прочтение20 мин
Охват и читатели21K

Я — самодельщик-ардуинщик со стажем. Люблю пихать ардуины во всякие подходящие и не очень места. Как-то раз я уже показывал свою коллекцию Arduino-совместимых плат, и с тех пор она только росла и ширилась. Теперь в ней случилось особенное пополнение: русская (пока не) народная «Ардуина» ELBEAR от сибирской компании «Элрон» на базе отечественного микроконтроллера MIK32 «Амур», о существовании которой я узнал несколько дней назад из статьи на Хабре.

В статье я изложу частный опыт искушённого любителя, который пытается импортозаместить зарубежную Arduino и приспособить данную плату для своих любительских нужд, не залезая в дебри. Конечно, это далеко не первая подобная публикация, с поездкой на поезде хайпа я припозднился примерно на годик. Зато она отражает актуальное положение дел и демонстрирует, чем чреват смелый прыжок веры прямо в неизвестность без предварительного изучения вопроса.

К тому же, я не самый обычный ардуинщик. Вкусы мои специфичны: я не сделал ни одной метеостанции, мой дом глуп как пробка, и даже мои часы на Arduino — стрелочные. Вместо этого я делаю вещи, так или иначе связанные с электронными и видеоиграми, демосценой, звуком и музыкой с уклоном в ретро. И разнообразные ардуины мне нужны и интересны именно в этом контексте. А значит, есть шанс, что будет интересно.
Читать дальше →

Апгрейды для Денди: часть 2/2

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели4.9K

Продолжаем разговор об исторических, практических и теоретических улучшениях восьмибитных игровых приставок типа «Денди», она же Famicom в Японии, Nintendo Entertainment System в США и Европе, и «любое-безумное-название» в Китае.

В прошлый раз мы рассмотрели базовые вещи: что вообще можно считать апгрейдом, важность наличия индикатора питания, нововведения в области управления, улучшение качества видеосигнала, расширение возможностей консоли с помощью дополнительного железа внутри картриджа, а также попытки превращения игрового устройства в подобие персонального компьютера.

Сегодня узнаем, что ещё интересного смогли сотворить с классической 8-битной платформой разработки 1983 года китайские разработчики, радиолюбители прошлых лет и современные энтузиасты!
Читать дальше →

Апгрейды для Денди: часть 1/2

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели13K

Мы уже привыкли, что персональный компьютер и даже ноутбук можно «проапгрейдить», заменить в них компоненты и сделать производительнее. Чуть позже мы перепривыкли, что телефон, планшет или современную игровую консоль улучшить таким образом не удастся. А что насчёт игровых приставок прошлого? Можно ли было хотя бы теоретически улучшить какие-то их характеристики и, может быть, даже работу старых игр?

Практической части сегодня, к сожалению, не будет, но зато проведём довольно занимательный мысленный эксперимент в формате «а что, если…»: на примере самой популярной в наших краях восьмибитки прошлого, пресловутой «Денди», она же Famicom, она же NES, рассмотрим практические и теоретические возможности её апгрейда, что из этого было осуществлено на практике и к каким результатам привело.

Обращу ваше внимание, что я не просто начитался интернетов и пересказываю вам интересные факты. Мнение было пропущено через себя: в прошлом я разработал довольно приличную по меркам платформы игру Jim Power и удачную сценовую демку HEOHDEMO, а также ряд других проектов — это позволяет надеяться на то, что я представляю, о чём рассказываю, а не просто фантазирую.
Читать дальше →

SDK для ретрокомпьютера на примере Evo SDK

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели2.3K

Как установила современная наука, SDK — это набор инструментов для разработки программного обеспечения, как правило, под определённую компьютерную платформу, операционную систему или устройство. Весьма полезная в хозяйстве вещь.

Это довольно древнее изобретение человечества, однако есть устройства, созданные ещё раньше, и по этой причине изначально никаким SDK не обладающие. Также есть и новодельные, современные любительские платформы. Для всего этого безобразия тоже крайне полезно иметь какое-то подобие SDK. Чем полезно, а также кто, как и зачем может его сделать — разберёмся в этой статье. А в качестве примера возьмём некоторые мои старые проекты, главным образом Evo SDK для 8-битного компьютера ZX Evolution.
Читать дальше →

Звуки музыки Super Nintendo

Уровень сложностиПростой
Время на прочтение23 мин
Охват и читатели3K


В прошлый раз мы заглядывали под капот 16-битной игровой консоли Sega Mega Drive и смотрели на бобину устройство звуковой системы. Сегодня повернёмся к Сеге задом, к SNES’у передом, и проделаем то же самое: рассмотрим устройство звуковой системы в изделии конкурирующей организации, Super Nintendo.

И снова ключевое отличие этой публикации от аналогичных в том, что я не просто пересказываю вторичные источники, но пропустил эту информацию через призму личного опыта: в былые времена я разработал несколько любительских игр для этой платформы тоже, а заодно и целую музыкальную систему для озвучивания игр SNES GSS. Поэтому я могу более осознанно рассказать про местную специфику работы со звуком, особенности устройства и устоявшиеся в годах заблуждения, связанные с ним.
Читать дальше →

Будни ретрогеймера: совершенная игровая Nintendo

Уровень сложностиПростой
Время на прочтение21 мин
Охват и читатели6.3K

Возвращаемся к шестнадцати битам! Сегодня я готовлю к эксплуатации сразу две игровые консоли Super Nintendo с целью погружения в богатый внутренний мир этой замечательной платформы сразу двух неофитов. Проводником же для них в туда выступит опытный Сусанин, то есть я.

Задача на этот раз максимально проста: доукомплектовать две консоли и сделать им простейший мод со снятием региональной блокировки. Не очень интересный процесс в свете предыдущих публикаций цикла, но можно немного сместить фокус: сегодня это просто повод поговорить про замечательную, но не особо популярную в наших краях платформу, и рассказать личную историю, связанную с ней. Да и модификации получились достаточно разными, а в процессе также были подняты некоторые полезные вопросы.

Очередная будня ретрогеймера начинается!
Читать дальше →

Звуки музыки Sega Mega Drive

Уровень сложностиПростой
Время на прочтение25 мин
Охват и читатели8K

Сегодня в центре нашего внимания Sega Mega Drive, она же Genesis — называйте как хотите, всё равно все понимают, что речь идёт о некогда популярнейшей в наших краях 16-битной консоли. Comix Zone, Sonic the Hedgehog, Ultimate Mortal Kombat 3 — вот это вот всё. Но речь пойдёт не о платформе в целом, а об одной специфической её части: звуковой системе и звуках, которые она издавала. Изучим железную и программную части, вспомним холивары, послушаем кое-какую музыку.

Как обычно, я занимаюсь не простым пересказом сомнительных источников, а сложным: пропускаю их через личный опыт. Когда-то давно я разработал несколько homebrew-игр для этой платформы, а также пару музыкальных редакторов — ныне забытых, но в определённый исторический период сыгравших свою роль. Этот бэкграунд даёт мне возможность сорвать покровы и рассказать всю правду о некоторых не самых очевидных моментах. Приступим!
Читать дальше →

Джойстики из джойстиков своими руками

Уровень сложностиПростой
Время на прочтение22 мин
Охват и читатели7.6K

Одна из самых частых забав ретрогеймера-электроника — сделать что-нибудь со старыми джойстиками. Вот и сделаем! Это простейший материал для начинающих самоделкиных, на грани треш-контента и на радость одному Доктору, но с познавательными элементами, которые могут или не могут пригодиться на практике.

Будем курочить джойстики от старых игровых консолей, не приходя в сознание. Из двух проводных джойстиков сделаем один, другой джойстик лишим провода, а ещё пару просто подключим проводами. По сути это сразу три разных микро-проекта, связанные общей тематикой. Нет времени объяснять, приступаем!
Читать дальше →

Устройство «музыкалки» AY-3-8910 и эмулятор на Arduino

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели8.8K

Астрологи объявили месяц статей про ZX Spectrum, звук и Arduino. Количество публикаций увеличилось вдвое!

В прошлый раз я показывал, как можно перенести однобитные, они же «биперные», музыкальные «движки» с ZX Spectrum на Arduino. Но всё-таки это была максимально нишевая тема внутри нишевой темы, весьма узкоспециализированный проект.

Сегодня сделаю шаг ближе к народу. Расскажу, как работает легендарный звуковой чип AY-3-8910, как написать его простой эмулятор полностью с нуля, и как проиграть им музыкальный файл формата PT3 на обычной Arduino Nano.
Читать дальше →

Биперная музыка на Arduino

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели7.4K

Любимый отечественными энтузиастами компьютерной ретро-техники компьютер «Синклер» ZX Spectrum родом из начала 1980-х годов — восьмибитный. Любимый самодельщиками нынешнего тысячелетия Arduino родом из середины 2000-х годов — тоже восьмибитный. Они похожи, но такие разные. Сегодня попробуем навести мостик между этими мирами, преодолеть пропасть в два десятка лет, и заставить два разных устройства проиграть одни и те же мелодии.

В этой статье сплетаются сразу три темы: как устроены некоторые музыкальные полифонические процедуры на ZX Spectrum, как воспроизвести результат их работы в совершенно иной реализации на Arduino, а заодно немного электроники для начинающих — рассуждения на тему, как можно правильно или неправильно подключить динамик для вывода звука к этой самой Ардуине.
Читать дальше →

Золото отечественного ретродева: RetroSouls

Уровень сложностиПростой
Время на прочтение22 мин
Охват и читатели4.6K

Мода на ретро постоянно возвращается. Чем дальше человечество продвигается в своё туманное будущее, тем больше растёт увлечённость некоторой его части наследием минувших лет, того «раньше», которое было лучше.

Речь идёт не об историках, а о самых обычных людях, испытывающих тёплые чувства к чему-то из прошлого. Многообразие взгляда, обращённого назад, велико, но чаще всего это массовая культура и различные её порождения: фильмы, музыка, мода, машины. Не обойдены этим вниманием и информационные технологии.

Например, сейчас в моде «ретрогейминг» — довольно удивительное явление, когда люди играют в компьютерные игры прошлого, при наличии практически бесконечного количества новейших, более совершенных разработок. Но есть и ещё более удивительное явление: «ретродев», или «ретрогеймдев» — разработка новых игр для старых платформ.

Занимаются этим во всём мире, и в наших краях тоже, причём порой весьма успешно. Настолько успешно, что мужики-то не знают. Будучи частью этого движения, кому, как не мне, рассказывать об этом — в частности, о ретро-играх и людях, создававших их в различные исторические периоды. Это будут люди, с творчеством которых я давно знаком и которое меня впечатляет и вдохновляет. Начинаем!
Читать дальше →

Будни ретрогеймера: флешка для Рэмбо

Уровень сложностиПростой
Время на прочтение19 мин
Охват и читатели5.2K

Сегодня у нас будни не вполне обычного ретрогеймера, а продвинутого, оснащённого паяльной станцией и непреодолимым рвением к пайке микросхем в корпусе LQFP100.

Насущный вопрос, который будет решать этот прокачанный персонаж, волнует многих владельцев древнейшей игровой консоли Atari 2600 и её клонов типа «Рэмбо»: где взять Flash-картридж, чтобы запускать любые игры. Вещь эта достаточно редкая и дорогая, и в данном случае оказалось проще сделать её самостоятельно, чем покупать готовую.

Впрочем, помимо описанного в статье сложного пути с самостоятельным изготовлением устройства, я упомяну и известные мне более простые, сразу готовые решения. Углубляемся!
Читать дальше →

Новогодний DIY: В лесу крутилась ёлочка

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели9.5K

Незаметно подошло время новогодних праздников, а значит, самое время сообразить очередной тематический проект. Например, электронную самоделку. Например, прилагательное ёлочку из светодиодов. На Ардуино. Но не спешите расходиться с постными лицами, ведь я собираюсь вращать её со скоростью 1800 оборотов в минуту! Надеваем защитные очки и приступаем к созданию праздника.
Читать дальше →

Информация

В рейтинге
15-й
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Разработчик игр, Разработчик приложений
Старший
От 9 000 $
Английский язык
C++
C
Программирование микроконтроллеров
Оптимизация кода
Разработка программного обеспечения
Системное программирование
Assembler