одно время был шум, что у некоторых, или наоборот у всех (не помню подробностей), не работала AY-3-8910, а ямаха работала как часы... Возможно ноги те же.
Вид для печати
Думаю, что всё банально ... Есть тактирование 1.75 мегагерца, по которому производиться запись цифровой части в регистры. У ямахи явно учтена возможная задержка генерайии данных на входах. У меня нет этого учёта. И самое обидное, что я пока не знаю как это сделать, поскольку я входную частоту выкинул. Самое обидное что в первой версии я это выкинул, и хотел вставить во вторую, но увы забыл. Но эта проблема решаема прошивкой матрицы.
Вот схема прошивки Alter'ы ... Может кто-то сразу ткнёт пальцем и скажет - "да хтоШ так делает" .?.
Это любят делать на другом форуме. Если не ошибаюсь или Savelij или LVD у них спец по матрицам (по-моему таки LVD) так что на ткнуть пальцем - надо к ним выкладывать. :)
Оооххх ... С новым годом всех !!!
Ну усё ... Пашет, чйёрт побйери ...
Пентева побеждена. Исследования привели к простым результатам. На пентеве не работает на чтение AY-3-8912, так же как и мой Wild Sound. Причина очень проста НУЖНЫ ПОДТЯГИВАЮЩИЕ РЕЗИСТОРЫ НА VCC. Самое интересное, что в AY2149F, резисторы активируются только в режиме чтения из АУ. Поэтому все кто обладают пентевой и захотят пользоваться Wild Sound'ом, должны напаять 8-мь резисторов. Владельцы настоящих Spectrum'ов могут просто собирать по схеме.
Текущую версию подготовлю уже утром, поскольку два дня не спал, искал причину глюков глюка, хоцца спать.
- Долизал баги с цифровой музыкой, теперь играет цифру через АУ.
- На данный момент семплирование происходит 1/4 тактов генератора всех счётчиков.
- Привёл в рабочее состояние все функции АУ.
Насемплировал на Pentev'е, звук записан через ПиЦи и сконвертирован в МР3:
ЗДЕСЯ
Завтра "Новой Почтой" отправляю Алексею Пушенко Wild Sound плюс детали для программатора.
Подкиньте демки с поддержкой 2-ух АУ ?
СПС ...
Отбываю ХМ пускать.
http://vtrdos.ru/demoz/virtual/ATOY2007.ZIP
Треки: Cast the love, To Stars, Warm Harmony, Class 4, Blow my spirit, Now dance.
Всё ... 2хАУ работает чётко ... Для примера можно услышать среди пробников ЗДЕСЯ. Файлы в названии содержат 2xAY_NAME ...
Первый АУ выбирается OUT 65533,254
Второй АУ выбирается OUT 65533,255
Если потом прочитать из IN 65533, то вернётся для первого АУ число 254, для второго АУ 255.
Вообще странно, я бы первому АУ дал бы адрес 255. Как-то это более дефаултнее. Но раз история выбрала так, значит будет так ...
Слава, спасибо ...
Robus, стоимость конструктора какова?
Не более 100 грн ! Если не ставить память (NAND), то 60 гнр. Но без памяти XM не будет играть. XM пока ещё прикручиваю.
---------- Post added at 13:25 ---------- Previous post was at 12:18 ----------
Хопа ... Секас казусный произошёл ... Лажа со вторым АУ !!! Засёк 7REALITY, при загрузке частей в порт в порты выбрасывается значение 255 ... И автоматом выбирается второй АУ ...
Надо сделать блокировку второго АУ ! Буду постепенно под ZX софт писать для настроек.
Кстати, возник вопрос ! В Wild Sound'е есть RS-232, по нему в стартовом режиме гонится лог регистров, и так же реализована функция соединения по сети с ПиЦи или вторым таким Wild'ом. Можно прошивку обновлять по порту, а можно через регистры со стороны Speccy ! Как кто считает более разумно сделать обновление ? Мне кажется что лучше это делать по порту. На много проще путь. Всё равно все будут прошивку получать через ПиЦи, а так перетягивать её на диск, потом прошивать. Плюс начнут УМНЫЕ ЛЮДИ вирусы всякие писать, стирать прошивки.
newart, если он будет уметь играть XM и будет стоить дешевле TSFM-а, то почему бы и нет?
Вот если бы его еще научить воспроизводить MOD/WAV, чтоб еще и ГС-ку выкинуть :)
Поддержим отечественного производителя!!!
newart, тут - http://zx.pk.ru/showpost.php?p=455112&postcount=209 есть ссылки.
А так, я предыдущую версию слышал собственными ушами, правда как эмуль одной АУ.
Семпл это слишком просто ... Байт взял, в ЦАП кинул ... А вот модуль с 16-тю каналами, это на много сложнее, но не невозможно. Будут семплы, будут. Мне нужно было получить рабочую отладочную базу, что бы проводить эксперименты. Реальный Speccy, конечно круто, но когда нет связи с ПиЦи сложно тягать туды-сюды дискеты. Вот я и бился, что бы через пенетеву всё делать. Теперь вот сел модули играть.
MOD'ы автоматом будут работать. XM означает что MOD внутри. А вот ВАВКИ ... Тут как бы уже вопрос целесообразности ... Есть память 64 метра, что положишь в неё, то и выдаст наружу, хоть с эхом, хоть с фильтрами. А вот ГСку не выкинуть ... ГСка висит на других портах, то есть совместимости не будет.
Да, ещё один момент, !!! в момент проигрыша цифрового модуля, полностью отключаются АУ !!!. Вместе никак нельзя.
Выше давал.
Я тут же отсемплировал и выложил ... Скажи на какой ресурс залить, что бы ты мог скачать ?
Я отсемплировал только одну мелодию "Class04" ... Сразу скажи какие ещё отсемплировать ?
---------- Post added at 17:54 ---------- Previous post was at 17:48 ----------
Выбрал первый попавшийся файло-обменник с окончанием РУ ...
http://webfile.ru/5768194
Перечисленное + Beautiful Agony и Egao Aketsu.
Egao no Ketsu ... http://webfile.ru/5768250
---------- Post added at 18:26 ---------- Previous post was at 18:24 ----------
Beautiful Agony ... http://webfile.ru/5768256
вот именно, не стоит разрешать шить со стороны спека... либо перемычку предусмотреть (вдруг все же будет какой-то интересный софт).
подпись годицца, только если Robus сам будет всю жизнь поддерживать девайс. а если это будет открытый проект, тогда как быть с подписью?
Я вот так же склоняюсь к тому, что стоит быть аккуратным. Перемычка равносильна тянучке кабеля. Но ... Есть идея ... В любом случае есть RS232. Он и будет перемычкой. Наверное так и сделаю, прошиваться будет если сделать заглушку на RX-TX и RTS-DTR.
Только открытый. Всё до последней мелочи будет доступно.
Тогда нет вопросов. Любой модуль не превышающий 16-ть каналов будет играться. Вообще-то, количество каналов не важно, но выше 16-ти просто начнёт тормозить. Вчера запустил 16-ть семплов, играет на 44100 непосредственно с NAND, тоесть с на флешке лежат 16-ть семплов и в реальном времени миксуются на два ЦАП. Теперь буду расписывать логику.
---------- Post added at 12:25 ---------- Previous post was at 11:22 ----------
Тебе почта уже везёт Wild Sound ... У тебя первая версия в которой заложены неудобные разъёмы 1.27 шаг. Я тебе вложил в посылку ответный разъём, очень редкий, я его по Киеву три месяца искал. Прости, только один отрываю от сердца. Есть в запасе ещё два, поэтому если будет критично отправлю. Так что приспособь его на программирование Alter'ы и SiLabs'а ... Разъём очень нежный, если быть аккуратным, то будет служить долго. Ссори за такие сложности.
Так же в посылке буфера для программатора. Советую от схемы не уходить и номиналы элементов ставить в точности, особенно конденсатор на 100pF, иначе вторая перепрошивка контроллера не получится.
Схемы и остальные данные выложу как можно скорее. Проблема в том, что некуда. Наш сервак давно сгорел, и с местом проблема. Сейчас будем параллельно возвращать наш сайт к жизни и все данные будут доступны. На ZX.PK.RU выложить не могу, общий размер всего около 50 мегабайт. Если админы откроют мне такие размеры, то выложу прямо на форум.
Robus, посылку получил,посмотрим что к чему.кстати осциллограф у меня есть.если нужно сделать скриншот - скажи где мерять
Ну ... 1 семпл ... Чисто теоретически можно ... Только есть ньюанс. Поскольку это Wild Sound, и данная возможность будет предоставляться только на нём, то можно облегчить задачу. Можно без проблем сделать проигрыш модуля прямо на Wild Sound'е причём на два АУ и параллельно играть до 8-ми семплов. Тут сложность не в том, что ресурсы скорости ушли на эмуляцию, а в том, что скорость конфигурации регистров со стороны Speccy, происходит на большой скорости. Не постоянно, конечно, но пачки по 13-ть байт идут на огромной скорости, для этого нужно постоянно слушать порт на прерываниях. А шина данных у NAND и у защёлок от Z80 одна. Получается работа с NAND и постоянная запись регистров в порт АУ будет вызывать торможение. Вообщем если тебя устроит проигрыш АУ-модуля прямо в Wild Sound'е, то параллельно легко можно сделать до 8-ми каналов семплов. Причём управляемые, типа громкость, полифония, скорость. Собственно возможно, получится скорее всего и 12-ть семплов, но нужно проводить эксперементы. Сейчас я долижу цифровой канал, и тогда можно будет более точно сказать. Почему 12-ть ? В контроллере два 12-ти битовых ЦАПа с возможностью интерполятора. Общее количество потоков по 8-мь бит не должно превышать 16-ть сумматоров. Отсюда и 16-ть каналов ХМ. Если считать всё в отельном буфере, то потом нужно будет заниматься делением каждого значения семпла, что бы привести к 12-ти битам, а это скорость уменьшит в разы, ну или потеря качества.
---------- Post added at 21:58 ---------- Previous post was at 21:35 ----------
Загрузка со стороны Z80 !!!
Вначале конвертируешь XM в мой формат, это важно, без этого никак. Размер ХМ от этого может увеличиться примерно на 10%. Все 16-ти битовые семпла превратятся в 8-ми битовые. Тут уж простите, есть ограничения. Размер конечного модуля не должен превышать 16-ть мегабайт, сделано это для упращения смещений, что бы онные умещались в три байта. Далее грузятся семплы, Wild Sound их сам распихивает в нужные части NAND, после грузится трек с инструментами. Далее запускается плеер. После ухода в режим плеера Wild Sound на чтение поочерёдно выдаёт свои состояния. Поскольку проигрыш это ёмкая задача, то ответы на чтение со стороны Speccy, будут с задержками, для этого я придумал 4-битный интерфейс, где верхние биты означают конфигурацию данных. Например:
IN 65533 - это чтение, мы получаем значения множественными IN'ами:
#0 - 10010000B
#1 - 10010000B
#2 - 10010000B
#3 - 00010010B
#4 - 00010010B
#5 - 00010010B
#6 - 10101111B
Первые IN номер 0, 1 и 2 одинаков, это значит, что Wild Sound занят и ты читал одно и тоже, для регистра 1(биты 4,5,6). В INе номер 3, 4 и 5 мы болучили следующие 4-ре бита для регистра номер один. И так далее. Если IN'ов не происходило, то Wild Sound не будет выдавать свои состояния. Какая информация будет на выходе пока не известно, - не доделал.
Сейчас я добиваю часть корректной загрузки семплов, делаю проигрывание семплов в обратную сторону, и нормальное циклирование.
Robus,
http://s018.radikal.ru/i527/1201/9e/35b0ac632c18t.jpg
первый тест :
запустил демо -кошки мегадемо - на начальной заставке музика играет,на слух похоже
Нажал пробел - заиграла вторая мелодия - и появились щелчки (очень громкие ) и музыка начала заикаться,потом Феникс намертво завис.Резет с клавы и кнопкой не помогает .только вырубание питания.На экране просто серый экран.
Пробовал включать TS - (знаю что не должно работать) -сразу мертвый зависон -только питание передергивать
Громкость музыки 5-10 % от оригинала,на полную громкость еле слышно
Дема Парус с фиксом VNN для Феникса - начинает счелкать и трещать в динамиках потом играет нормально музыка.
Феникс просто включен - периодически раздаеться 1 или 2 подрят щелчка .период примерно 1-1,5 мин.Феникс просто включен в 128 меню.
ps:сигнал BC2 - выставлен перемычками в 1
Теперь давай искать ...
1 Попробуй при установленной перемычке на ВС2 поставить настоящий АУ. Дело может быть в банальном не полном дешифрировании. Если настоящий АУ будет играть нормально, тогда нужно прошивать контроллер. Собирай программатор. Я тебе на почту вышлю утилиты для программирования.
2 Посмотри осциллографом за какое время ВС1 и БДИР переходят из 1 в 0 и наоборот из 0 в 1. Причём интересует посмотреть двумя лучами. В матрице стоит задержка, на 200 наносекунд. То есть если у тебя ВС1 и ВДИР меняет свои значения дольше чем 200 наносекунд, то внутри матрицы сбрасывается счётчик, и данные на AYDATA игнорируются.
3 Потрогай пальцем альтеру на предмет нагрева. У меня в реальном спекки без тех магических резисторов она безумно грелась, от чего просаживалось питание, ну и происходил ресет. Боюсь, что это и есть причина такой работы, и тебе придётся в разрыв аккуратно допаять 8-мь резисторов по данным. Практика показала, что нужно 90 ом. Не ставь 100 ом, это много и на 14-ти мегагерцах просто не успевает установиться единица.
Насчёт ресета, сейчас в этой версии ресет игнорируется. Я его включу в последней версии, так что сброс Wild Sound'а можно провести только выключая питание. Это временно !!!
Очень похоже на отсутствие резисторов. 128к бейсик постоянно читает из АУ с регистров 14 и 15-ть. Щелчки, это явно сброс по перегрузке питания, а они происходят потому что появляются пилы по данным на АУ в момент переключения с записи на чтение из матрицы, она начинает сразу много ЕСТЬ и срабатывает защита по питанию у регулятора TPS763333. В нормальной работе Wild Sound потребляет не более 80 миллиампер, и греться должен очень слабо.
Вообщем собирай оба программатора для ALTER'ы и SiLabs'а. Я так понимаю, что альтера у тебя уже есть ? Остался SiLabs !!!
Спасибо за помощь в тестировании ...
---------- Post added at 17:26 ---------- Previous post was at 17:15 ----------
Ооооууу !!! Точно резисторы нужны !!! Там в режиме что TS, что просто АУ постоянно читаются данные из АУ. У меня в реальном Speccy, точно так же всё висло. Кстати у тебя именно TS, так что всё должно завестись. Речь шла о второй части "Кошки мегадемо", ну или я так понимаю, что это первая часть, сразу после выбора режима AY/TS/GS. Кстати, музыка мне очень нравится ...
Пока не добавишь резисторы не включай Wild, боюсь за выход из строя стабилизатора TPS76333. Хотя я год тому назад искал причину чуть ли не месяц и всё выдержало.
Ты сможешь разобраться где нужно паять резисторы ? На данных разрезать дорожки, что идут к матрице, и прямо поверх напаять резисторы. На ВС1 и БДИР не нужно напаивать, вроде тут не было проблем.
Robus,
сигнад BC2 у меня так и был установлен в 1.
кошки мегадемо играет нормально только на заставке с выбором девайса.
нагрев есть -тепленький но не горячий.
резисторы на 100 ом найти не проблема,а вот 90 ом будем искать.
заметил 2 волоска в районе max3232c вроде не припаяны с одной стороны.что за фикс?Завтра гляну под микроскопом как резать и заодно на волоски
---------- Post added at 18:36 ---------- Previous post was at 18:35 ----------
осциллограф однолучевой ... http://www.oscill.com/
Вроде волосков никаких не должно быть ... У тебя сверху возле 22-ой ноги АЛЬТЕРЫ есть разрыв дорожки и поверх запаянная перемычка, это единственный фикс, это для программатора SiLabs, в том программаторе, что соберёшь ты, перемычку можно не разрывать. Никаких других фиксов не должно быть. Так что если есть недочёты, убирай ... Ссори ...
---------- Post added at 17:46 ---------- Previous post was at 17:45 ----------
Давай на 100 ... Но предельная частота будет 7 мегагерц !