Pull to refresh

Comments 66

Слёзы ностальгии льются из моих глаз!
Но подключать ямаховский чип к PIC-контроллеру неправославно. Только к тёплому ламповому Z80!
Спасибо тебе, добрый человек! Увы, этот чип в моем провинциальном городе был редким и дефицитным, так что я потом уже, в зрелом возрасте, увлекся написанием его эмуляторов. Первая попытка была на Java (MIDP2.0) Потом уже было вот это на ардуине. А сейчас валяются в дальнем углу харда потуги сделать это же на ATtiny13 (sic!) Код синтезатора, кстати, вполне в его килобайт вмещается. На музыку уже места, увы, не хватает. Но это все не то… Скажите, а где сейчас достать YM2149F? (P.S. А звучит-то хоть похоже на реальный?)
Ааа! Люди добрые, что ж творится то!!! Пока YM2149F будет месяц из Китая идти я ж от любопытства умру! И как раз PIC16F628 так же лежит без проекта… Спасибо огромное за проект! Обязательно соберу себе такую железяку.
Почему был!? До сих пор это единственный real time вариант GPIO на x86 совместимых(главная причина почему linuxcnc использует только LPT для управления ЧПУ ).
Был Covox на LPT в те давние времена
Вы что-то путаете, сейчас GPIO чуть ли не в каждом x86 SoC, и это не LPT.
Приведите пример пожалуйста!?

Доступных GPIO, а не те которые используются кнопками/сведидиодами или I2C. GPIO которые без подпайки к контактным площадкам доступны в виде разъема или слота в обычной массовой модели материнских плат для x86

amd gizmo board пока экзотика, а в intel nuc см. абзац выше
Если говорить о материнских платах для десктопа, скорее всего там GPIO в легкодоступном виде нет, но это не значит, что линии отстутствуют в x86.
Так в этом контексте и говорил, про то что можно использовать обычному пользователю! Прошу прощения, что не уточнил)
Мне тут подсказали, что 74HC02N не потянет 24МГц. Кварцевый генератор тоже найти не получается. Не могли бы Вы сделать необходимые изменения для использования варианта «кварц+транзистор»? И выложить как ещё один проект. Ассемблер для меня очень уж тяжко. И схему, если можно. Хотя бы теоретически. Потом через месяц по приходу YM2149F отчитаюсь о работоспособности.
Или если пихнуть 2 микросхемы 74HC02N, то всё будет норм? Я совсем запутался.
Если запихнуть две 74HC02, то можно не корячится с транзистором, а инвертировать с помощью одного блока NOR из второй HC02. Тут уж кому как проще — или один лишний DIP корпус, или один транзистор и два сопротивления… Хотя если таки ставить DIP корпус, то ставить уж лучше NOT просто, типа К155ЛН1
Нет, вместо первой нельзя. Вместо первой можно попробовать 555ЛЕ1, если прет на отечественные компоненты -)
Схема в теории проста: от RA6 отрезаем провод до RESET, включаем кварц 24Мгц между RA6 и RA7, как на оригинальной схеме (в статье на картинке). Дальше у нас есть два неиспользуемых блока NOR из 74HC02 и сигналы BC1 и BDIR. Для формирования RESET, когда на BC1 будет 1 и на BDIR будет 0 собираем что-то вроде этого:
, то есть в схему добавляется какой-нибудь КТ315 и пара сопротивлений. Внимание! Схему не тестировал, набросал по быстрому без проверки, поэтому настоятельно рекомендую подумать перед тем как повторять это.

Прошивку подправить тоже не сложно, чуть позже здесь комментарием выложу.
Вроде поправил прошивку для использования кварца, а не кварцевого генератора. Но тестировать не на чем (нет кварца на 24 Мгц). Взять можно здесь
И ещё пара вопросов. 1) Громкостью же софтово из ZXTune управлять можно? 2) Если добавить 2 светодиода (на левый и правый канал), то куда их лучше садить? Прям на выходы Jack? А на качестве музыки не скажется?
1) Нельзя. 2) У меня один светодиод просто на питании (как индикатор питания), второй на какой-то дата-линии, предположим D7, как индикатор что идет обмен между компом и чипом. А чтоб в такт музыки мигали это что-то типа простейшей «светомузыки» имхо надо собирать.
Много лет идея AY-USB не давала покоя участникам zx.pk.ru, свершилось!
Он дождался:

(да, это более «короткий» 8912 (DIP28), в оригинальном 128K (и в моём Scorpion'е) использовался он)
спасибо за ваши статьи, заставляют не откладывать ямаху в долгий ящик
Все таки живой чип звучит сильно жирнее эмуляторов! я последние полгода много слушал ZXTune и тут прямо сильно слышно разницу.
А мне чип AY-3-8912 ПОДАРИЛ друг в далеком 1994 году! Я слушал музыку с него круглосуточно. А потом другой мой друг «взял послушать», ну и слушает по сегодняшний день. И книгу по ассемблеру Z80 он же взял почитать. И тоже до сих пор читает )). А вашу статью читал, конечно же, под музыку с AY.

ZX Spectrum AY-3-8910 demo music mix
Угуу. Осталось совсем чуть-чуть до отказа от компа в этом чудо-устройстве.
Тоже задумывался об этом. Да, можно пихнуть музыку на СД-карту, а сам код проигрывателя в какой-нибудь современный контроллер. Только зачем? В общественном транспорте слушать по дороге на работу? И париться ещё по поводу размера, питания, стабильности и т.п. Лично мне в транспорте хватает мобильника с наушниками. А вдумчиво музыку слушаю обычно именно возле компа. Там и настроить удобно можно всё, и музыки сотнями гигабайт держать, и докачать при надобности.
Да, я тоже музыку слушаю исключительно с компа. Но почему-то кажется, что забавно было бы сделать именно самодостаточное «трекерное» устройство, в форм-факторе не плеера, а, скажем, радиоприемника. Но это так, пока только мысли. Я думаю повторить описанную конструкцию, а дальше посмотрим.
Меня больше веселит идея добавить поддержку этой железяки в Android-версию ZXTune. Тогда можно будет и портативно с собой таскать! А из тех же китаев взять портативные активные колоночки — вот и почти формфактор радиоприёмника.
Это видел. Не обнаружил там открытого кода, что для меня с точки зрения самопала важно.
Все же МЛТ добавляет «теплоты и ламповости» устройству. Жаль, что купить их уже для такого рода плат трудно. На рынках говорят «у бомжей спрашивай», а так чтобы в ассортименте — нереал :(
Вот бы ещё иметь возможность выбора схемы каналов (ABC/ACB/BAC) и тактовую частоту микросхемы (1774400, 1750000 и 3500000 Гц)…
Для выбора каналов можно поставить DIP-переключатель или просто тупо джамперы. Я так и хотел сделать, да место на плате закончилось. Насчет тактовой — в ym2149f есть встроенный делитель на 2, то есть при внешней 3.579545 можно получить 1.7897725. Для переключения на схеме уже есть джампер.
Можно аналоговые ключи применять для коммутации: 176КТ1 (CD4016), К561КТ3 (CD4066A).
Да можно конечно. Лучше штук 6 реле — щелкали бы так прикольно… -)
а в чем прикол такой частоты?
давала чипу частоту от внутреннего генератора atmega ~2MHz, вроде работал и играл.
PIC16F627A/628A/648A FAMILY OF DEVICES
Maximum Frequency of Operation (MHz)
20


Видел, недавно, этот чип работает с превышением по питанию в 1.5 раза, а у вас по частоте?
Или у вас спец. партия. Очень, на мой взгляд, годный чип.
Хотя, пару тройку инструкций я бы добавил.
Спасибо.
Да, немного разогнан по частоте, иначе не успевал бы декодировать биты с USB. Чип холодный, не греется. Вообще, финт с разгоном далеко не нов, он еще применялся начиная с серий, где окошко для УФ-стирания было. Видел, например, когда на ПИКах делали вывод PAL-сигнала (гнали с 4 Мгц до 7 с чем-то) и тд. В целом, ПИКи очень неплохо «гонятся», порой до 50% от заявленной в даташите максимальной частоты, хотя, нужно конечно понимать, что такое нестандартное использование годится только для домашней поделки (сгорел — выкинул — поставил новый / заглючило — включил-выключил заработало) и никак не для какого-то массового устройства. На сколько знаю, гонятся в принципе все МК — и атмеги и АРМы… Но смысла гнать АРМ я не вижу вообще.
Уххххх, какая офигенская музыка! Статья не по моей части, ничего не понимаю в этом, но музыка как бальзам на душу! Мир, тепло, лампы C64 =)
А с обратной стороны макетки «мясо» из проводов? Или это можно как-то культурнее сделать? Фотку можно?
«Мясо» из проводов. Культурней — развести плату в чем-нибудь и лутом сделать. Фотика нет, но там обычный монтаж МГТФ…
Начинает приходить первое железо. Как оказалось, 74HC02 и её советские аналоги — довольно редкая штука штука в моём городе. Зато имеются чуть ли не вагоны К555ЛА3 / К533ЛА3 (2И-НЕ). Можно ли как-то перестроить генератор под них?

Ещё вроде были микросхемы с чистым НЕ. Тут есть схема генератора (рис.3) на 2 резисторах, 2 конденсаторах и 2 НЕ. Визуально мне напомнило Вашу схему. Не подскажете, можно ли в таком «сократить» схему на 1 кондёр и 2 резистора?
Ну да, на чистом НЕ это классика, можно так:


А вообще, что есть, на том и можно собрать…
Уррра! Работает! Спасибо Вам огромное! =(^_^)=

image

Из замечаний — генератор на одном резисторе работал очень не стабильно. Зато аналогичная схема на двух резисторах работает прекрасно.

Ещё у меня почему-то не работает с микросхемой «Microchip AY-3-8910A». Самба из примеров ZXTune играет как-то так: dl.dropboxusercontent.com/u/4548378/Hardware/YamahaPlayer/dx-01.wma
А вот с Yamaha YM2149F всё без проблем! ^_^

И ещё — для полного счастья хотелось бы немного громче. Если, например, заменить резисторы на выходе с 2к на 1к, то музыка же станет громче? Тогда ещё и регулятор громкости попробую какой-нибудь прикрутить.
Круто! А под Linux думалось написать драйвер? И что думаете по поводу разводки GPIO с чипа, их там, если я правильно помню, 16.
Да, и ещё один вопрос, а почему не вариант CH341a? Совместимость со старым софтом, готовый драйвер под разные ОС.
Под линукс, если я все правильно понимаю, libusb уже должна цеплятся по дефолту. Вопрос только в плеере. А вообще, я — не планирую под линукс. Если нужно — исходники всего есть, можете сделать.
Под Linux планирую написать я. ZXTune есть, libusb есть — портирование обещает быть не сложным. И может под Android. Но пока никак не могу выкроить время, чтобы сесть и написать.
Сейчас потихоньку ваяю свою реализацию, цель — сделать модуль, не привязанный к PC. Т.е., с последовательным входом. Вдохновляюсь вот этой реализацией: electronicfields.wordpress.com/2012/04/09/ym2149-sound-generator-arduino-fast-pin-switching/. Разводка платы под mega8 + AY-3-8912 готова. Реально, не понимаю пока только одного — можно ли тактировать чип на 2 МГц, как в указанной реализации.
Крутяк, я на такие героические подвиги не готов, свою железку до рабочего состояния довел и бросил, т.к. так и не придумал, куда прикрутить.
А вы можете мне ответить на этот вопрос, я в радиоэлектронике плохо разбираюсь, что за кварц на 3.579545 MHz и 24МГц — кварцевые резонаторы подойдут? Мне на рынке продали на 24МГц генератор с 2 ножками — подойдёт?
Генератор выдает импульсы, это резонатор с дополнительной обвязкой. Резонатор сам по себе ничего не выдает. Я всегда считал, что резонатор с двумя ногами, а генератор — с четырьмя. У меня используются резонаторы.

Так, стоп. Или я что-то путаю, тут и генератор и резонатор вообще. Забыл уж все.
habr.com/post/253069
Там у меня резонатор на 16 и генератор на 4. Надо генератор на 3.5..., чтобы уже точно. Или делать свой генератор частоты для YM на резонаторе и рассыпухе.
Так у вас что именно на 3.579545 MHz и 24МГц резонатор или генератор, а то я сейчас собираю такую плату вставлю не то и сгорит что-нибудь?
А фотку обратной стороны распайки можете показать? я по вашему примеру буду всё делать
У меня на 4 (вместо 3.5...) генератор, на 16 (в моей схеме 16, а не 24) резонатор.
habr.com/post/253069
Там есть фотки и ссылки на гитхаб
По фотке всё выглядит наоборот 3.5 — резонатор, а 24 квадратный — это генератор, я только хотел уточнить. На LPT у вас разводка на плате, а тут под макеткой видны провода — мне по примеру легче собрать, т.к. я плохо разбираюсь в схемах, а детали я уже купил под USB вариант и PIC контроллер и программатор. Так что пожалуйста сделайте фотку — это поможет и другим людям, кто захочет собрать не имея опыта в радиоэлектронике
Вы, по-моему, путаете меня и автора публикации, в комментариях к которой мы сейчас находимся.
Придется самому себе отвечать. 1.7… МГц — частота тактирования AY в Spectrum, 2 МГц — в Atari. А частота звука в итоге танцует от тактовой, так что, например, демка, написанная для «спеки» будет на железяке с тактированием в 2 МГц звучать несколько выше. Впрочем, не думаю, что это сильно важно.
"

Железяка с последовательным входом и Atmega8. Сделаю юзабельное что-то, пихающее в нее данные — напишу материалец. Как-то с бубном уже играет и радует.
У меня вопрос, я в радиоэлектронике плохо разбираюсь, что за кварц на 3.579545 MHz и 24МГц — кварцевые резонаторы подойдут? Мне на рынке продали на 24МГц генератор с 2 ножками — подойдёт?
Only those users with full accounts are able to leave comments. Log in, please.