creator cover shiru8bit
shiru8bit

shiru8bit 

Программист, музыкант, самоделкин, ретрогеймер

89subscribers

902posts

Showcase

1

About

Программист программ, музыкант чиптюнов, самодельщик самоделок, коллекционер портативок, цифровой археолог и энтузиаст ретрокомпьютерного творчества. Ретрогеймер, радиолюбитель, диванный гитарист, автолюбитель с кабриолетом.
Делаю игры и музыкально-звуковые программы для устаревших и редких 8-16 битных компьютеров и приставок, а также эмуляторы. Сочиняю музыку для игр, старых компьютеров, приставок. Придумываю электронные самоделки. Публикую статьи на Хабре.
Здесь пишу инсайды по текущей разработке личных и сторонних программных и железных проектов, творческие планы, эпизоды из жизни ретрокомпьютерщика и ретрогеймера, и не только.
Ещё у меня есть сайт со складом релизов и YouTube-канал с демонстрациями некоторых из них. Доступен для фриланса в области моих интересов: разработка ретро-дичи, ремонт и моды старых консолей, и тому подобное. PM или через профиль Kwork.

Починил Flopster

Одной из задач, которую я планировал решить в процессе написания «дисководного» альбома, была починка VST-плагина Flopster, на котором, собственно, я и пишу альбом.
Дело в том, что этот плагин, как и все мои плагины с GUI, страдает нестабильностью: в Reaper он примерно в одном случае из 5-10 может уронить программу при открытии проекта, без каких-либо сообщений об ошибке: загружаешь проект, и Reaper закрывается. А у некоторых пользователей в FLS это происходило гораздо чаще. Плагинам моим уже много лет, некоторым без малого десять, и я не раз пытался разобраться, в чём же проблема, но ни одна идея не сработала.
Дело в том, что когда я писал эти плагины, а они написаны нормальным голым кодом на C++, а не сконструированы в каком-нибудь SynthEdit, я просто не знал, как это делать. Примеры создания GUI практически полностью отсутствовали. Также отсутствовало понимание, каков вообще жизненный цикл плагина, когда и какие методы вызываются хостом, в каком порядке — VST2.x не отличался хорошей документацией, и так и был deprecated. VST3 же значительно сложнее, и переходить на него я не хотел и не хочу.
Дополнительной проблемой было отсутствие отладки. VST-плагин — это DLL-ка с набором методов, известных хосту. Без хоста её никак не проверить. Поэтому я собирал DLL, загружал в VstHost, Psycle и Reaper, и тестировал там. Если падало, то искал проблему и собирал. К тому же, в старые времена у меня по какой-то причине вообще не собирались плагины в Debug. Таким образом, плагины отлаживались методом тыка: падает — ищу и чиню, не падает — значит работает.
Долгое время я считал, что проблема нестабильности растёт из моего непонимания жизненного цикла плагина и некорректного прикручивания GUI к нему. Типа, возникают гонки доступа, код обращается к ресурсам, которые уже удалены, и так далее. Я обкладывал код всяческими сейфгардами, но это не помогало.
Помог, как водится, ИИ. Обычный чат DeepSeek. Я просто дал ему код трёх разных плагинов и попросил проанализировать проблемы в них. Конечно, проблем там оказалось навалом, но не критических, это скорее просто устаревший менеджмент памяти (без RAII), не лучшая архитектура, и bad practices. Он нашёл некоторые гонки и предложил больше сейфгардов, но это не помогло. Ведь я искал что-то общее, проблему, которую я, предположительно, размножил копи-пастом на все свои разработки.

Перекрасил Yamaha SHS-10

Я уже рассказывал о своей недавней покупке музыкального инструмента мечты, базовой «расчёски» Yamaha SHS-10. К сожалению, они редки и дороги в наших краях, и я мечтал о классической красной, а купить удалось серую, немного побитую жизнью, и за 22 тысячи. Это не совсем закрыло гештальт, и я рассказывал о попытке покупки другой SHS-10, уже красной, но с разбитым пластиком. Её выставили за 10К, увели из под носа и сразу же выставили за 22К. До сих пор висит, цена постепенно падает, уже 18К, но в таком виде, понятное дело, оно никому не надо.
Но Авито славится тем, что после покупки того, что ты искал, он продолжает держать в курсе и постоянно рекомендовать уже купленное. Вот он и порекомендовал в очередной раз: в скупке города Пушкино, к слову, одной из первых, посещённых мной в жизни, возник красный вариант за 17699 (с доставкой) в хорошем состоянии. Это ниже рынка, я попытался купить, и попытка увенчалась успехом.
Этот лот даже шёл в родной картонной коробке, хотя и изрядно потрёпанной, и без оригинальных картонных вкладышей.
Музыка из дисководов: трек #5
Пятый трек будущего альбома «дисководной» музыки.
Level required:
Микро 16

Псевдо-3D и ИИ

В недавнее время продолжал свои эксперименты с «написанием» полностью программных псевдо-3D движков посредством ИИ. Схема прежняя: я описываю словами архитектуру и фичи, ИИ генерирует код, я никакой код не пишу вообще, в его код глубоко не вникаю, только говорю словами: «ничего не работает, это глючит, то глючит, всё плохо, сделай хорошо». Весь процесс происходил просто в чате DeepSeek, никаких агентов и интеграций в IDE.
Следующим я попробовал реализовать когда-то задуманный псевдо-3D движок, комбинирующий возможности движков Wolfenstein 3D и Doom. Идея в том, что вся геометрия хранится в плоской карте тайлов, как в Wolf, и состоит из столбов переменной высоты: есть высота пола, высота потолка, текстура на вершине пола или колонны на потолке, и опциональные вертикальные стены на рёбрах и диагоналях каждой из клеток (средние стены в Doom). Также есть спрайты и «поворотные» двери, как в Duke Nukem. Наклонов камеры нет, это именно продвинутый Wolfenstein.

Игровые пополнения

Парочка игровых пополнений, случившихся в недавнее время: одно на Switch и одно на ПК.
Первым номером идёт персидский Принц, The Lost Crown. Я люблю эту игровую серию, проходил наверное более половины вышедших игр, и поэтому давно хотел приобрести что-нибудь и для Switch.

Музыка из дисководов: трек #4

Продолжаю держать график, следующий трек также готов.. Правда, художественно пока всё это склоняется в ту же сторону, что и все предыдущие подходы. Но что поделать: сами эти звуки подсказывают именно такую музыку, с резким клубным басом, с интонированием в мелодиях. И если это само лезет в голову и быстро пишется, зачем же сопротивляться.
По мелодиям я придерживаюсь самых простых повторяющихся фраз, чтобы это звучало как повторяющиеся операции чтения, а все синкопы идут в перкуссии и немного в басу.
shiru8bit
t4 warez party.mp3
0:00
2:30
Впрочем, отличающиеся идеи ещё есть. Например, хочется сделать более перкуссионный трек, построенный больше на ритмических рисунках. Есть такое явление: исполнение музыки стуком по столу, где выразительные средства весьма минимальные (стук с разной степенью глухости, шорох), но мастерам этого дела удаётся создавать из них очень интересные и разнообразные композиции. Что-то такое можно попытаться повторить на звуках дисковода. Пока обдумываю.
Тем временем, половина альбома (не считая бонусного трека) уже сочинилась. Правда, по сведению идей получше пока не появилось, и возможно, оно останется почти таким же. Но может что-то и нащупаю.

Новая статья

Вышла очередная статья. На этот раз исследую самую классическую программу на Бейсике для восьмибиток, которая почему-то почти неизвестна в наших краях. Откуда взялась, что делает и как работает.
https://habr.com/ru/companies/ruvds/articles/1049950/

Алюминиевые детали

Китайский посредник прислал весточку: мои алюминиевые детали для проекта «Ну, погоди» на «Амуре» уже готовы!
Детали уже отправлены почтой, прибудут дней через 10. Да, это стоило немало денег (4 тысячи), но как же это круто, что такая возможность в принципе есть.

Музыка из дисководов: трек #3

Третий трек получился более традиционно мелодично-чиптюновым, с очень простой структурой. Но, как мне кажется, сюда удачно вписался очень грязный звук, дающий интересное интонирование, и я не стал мудрить с нотами. Всё-таки, основная задача в том, чтобы сделать этот механический скрежет вполне приятным для слуха (как перегруженные гитары в роке), и если я уйду в сложные гармонии и размеры, порог вхождения будет слишком высок. Может быть к концу альбома я пойду на усложнения, а пока и такой трек тоже нужен.
shiru8bit
t3 retry abort ignore.mp3
0:00
2:13
Сразу наметилось возможное название: Retry, Abort, Ignore — хотя мелодия не совсем «пропевает» эту фразу, но что-то такое читается. Также назвал первый трек Double Density, потому что он довольно плотный. Ещё сделал во втором треке небольшую тональную регармонизацию (С# вместо G# в басу во второй половине мелодии), чтобы звучало поинтереснее.
Начинаю думать над обложкой альбома. Наиболее вероятно это будет изображение дискеты во весь размер обложки. Но какая именно дискета, реалистичная или стилизованная, с какой стилизацией названия — пока в раздумьях. Возможно, просто возьму реальную дискету, надпишу и сфоткаю. А может, прорисую в пикселях или векторе.

Работа по альбому

Работа по альбому продолжается. Из ничего, с нуля родился третий трек, и в целом я его уже дописал, но ещё подумаю над ним и выложу завтра, чтобы не частить.
В среднем пишется по треку в два дня, это очень хороший темп. Но дальше будет замедление, потому что нужно будет придумывать ещё что-то, отличающееся от предыдущих треков, а материала я пока набрал мало, и он похож на уже готовые треки.
Так как уже наметилось четыре позиции из девяти, завёл сводную табличку статуса. Я делаю такую при работе над всеми альбомами. В ней  отмечается готовность треков и текущие задачи. Иногда также делаю подобный todo по отдельным трекам, если задач в них больше, чем помещается в голове.
Что из этой затеи выйдет в итоге, и сколько времени займёт — всё ещё не представляю. Но это может быть поводом сделать наконец CD-издание нового и заодно всех предыдущих альбомов, потому что меня изредка спрашивают, а я ещё с Ear Shaver собирался-собирался, да всё никак.
все же хочу статью про то как ты ничего не успеваешь)
Максим Парасюков, пока не успеваю её написатьbeaming_face
Subscription levels6

Микро 16

$0.21 per month
Просто потому что нельзя 8. Даже самая малая поддержка важна. Спасибо!

База 128

$1.64 per month
Для тех, кто просто хочет поддержать. Спасибо!

Супер 256

$3.3 per month
Для тех, кто хочет поддержать. Спасибо!

Кило 320

$4.1 per month
Для тех, кто сильно хочет поддержать. Спасибо!

Мега 640

$8.2 per month
Для тех, кто очень хочет поддержать. Спасибо!

Гига 1024

$13.2 per month
Для тех, кто крайне хочет поддержать. Спасибо!
Go up