Uzix | микроблог

#Zx

Продолжаю тему ZXEvo.1010...

Продолжаю тему ZXEvo.1010. Верхняя плата: WiFi + TSFM + NeoGS + SounDrive + MIDI + магнитофонный джек. TSFM реализован на двух YMF288, в отличие от традиционных YM2203 эти микросхемы в SMD-корпусе и не греются как утюг, что важно в маленьком закрытом корпусе. В каждой YMF288 по 3 SSG (PSG) канала и 6 FM каналов, выход звука полностью цифровой. В YM2203 3 SSG (с аналоговым выходом) и 3 FM (с цифровым). Но есть у 288 и минус - SSG звук только моно. Ещё у неё нет IO-портов, но эту функцию легко может на себя взять ПЛИС.

Доразвёл нижнюю плату ZXEvo.1010...

Доразвёл нижнюю плату ZXEvo.1010. Не ожидал что удастся влезть в 2 слоя - по крайней мере не с VDAC2 и не с полноразмерной SD - но каким-то чудом удалось :). Хотя и пришлось пойти на компромиссы - земляной полигон оставляет желать лучшего и обратные токи текут где попало, в т.ч. рядом с чувствительными к шумам цепями. Ещё никак не влезла повышайка питания для ОУ - придётся подзадушить громкость. Насколько эти компромиссы критичны - увижу когда спаяю, в любом случае добавить ещё 2 слоя (и заодно +100% к цене, а на pcbwave и вовсе +900%) всегда успеется :)

Сегодня снова день Уны...

Сегодня снова день Уны, но на этот раз моей 1010. Её я спаял ещё в прошлом году и столкнулся с жутким, перекрывающим звук шумом из аудиовыхода, и это при том, что в этой ревизии я как раз принял несколько мер по “вылизыванию” звука. Тогда я смотрел питания, резал дорожки, поднимал ноги, но так и не нашёл причину. Так плата и валялась на полке, пока на днях я её не достал, и практически сходу локализовал главную проблему - она оказалась не в аналоговой и звуковой части, где я её искал, а в магнитофонном входе, который выдавал на ПЛИС промежуточное (но стабильное) напряжение 0.8В, а ПЛИС подмешивала в звук то 0, то 1 (гистерезис, ты где?). Что по итогу: звук чистый, громкий, ни один посторонний шорох в захват не проскакивает. Теперь все фиксы нужно вносить в CAD, проверять (?) и релизить.

ZX-Uno

Пополнил коллекцию спектрумов оригинальной ZX-Uno. Я не большой фанат формата малинки с кабелями, торчащими со всех сторон, но раз на руках оказалась плата - не вижу повода её не спаять :) Плата простая в сборке и не требует наладки, запустилась сразу после пайки. Единственная ошибка - магнитофонный вход “глухой” и не может ничего загрузить. Решается одним резистором 470кОм (на последнем фото).

Speccy 2010

Потихоньку привожу в порядок все недоделанные, недопаянные и валяющиеся по углам железяки. Запаковал в корпус Speccy 2010. Корпус использовал Z28J - вроде бы именно такой вписан в BOM, но чтобы впихнуть в него плату потребовалось рассверливать в ней пару крепёжных отверстий. Сам корпус мне показался не очень удобным - верхняя и нижняя половинки разделены не по середине, а по диагонали, из-за чего один край платы оказывается выше другого. Так же сделал наклейки на корпус, вроде получилось симпатично, прикладываю их ниже.

Наклейки на корпус Speccy 2010

speccy2010 на печать.pdf 8.1 KB

"А что по новому Мультисаунду?"

“А что по новому Мультисаунду?” - спрашивали в комментах к предыдущему посту. С момента прошлого анонса (https://t.me/uzixls/36) минуло, страшно сказать, полтора года. Я не забросил проект (ну, не до конца забросил 😁) и всё ещё помаленьку пилю. На данный момент готово ~90% в плане схемы и разводки. Но, как и положено оставшимся 10% - они оказываются самыми несговорчивыми и трудными. В частности, осталась аналоговая часть - микшер и выходной каскад. На плате целая куча источников - и, наверное, очень желательно будет добавить к микшеру АРУ (компрессор), но сделать это правильно, и чтобы это всё влезло в оставшееся место - на это моих имеющихся знаний не хватает, пока что.

Что поменялось с момента прошлого анонса: во-первых, сильно переработал MIDI-часть. Вместо SAM2695 я взял VS1053B. Как MIDI-синтезатор он уступает SAM, но зато может работать как MP3/OGG/AAC/FLAC декодер. Тема MP3 на спектруме мне не очень интересна, но иметь такой задел для развития - приятно. Для подключения же крутого MIDI-синта я добавил разъём для установки Creative Wave Blaster или совместимых плат - понаделали их очень много, в том числе есть новодельные платы на том же самом SAM2695. Так же добавил разъём для подключения внешнего MIDI-синтезатора.

Во-вторых, заменил ПЛИС: теперь вместо MAX 3000 будет использоваться более ёмкая ACEX. А прошивку в неё будет заливать Z80. Обычно для этого ставят какую-нибудь мелкую CPLD, и я не видел проектов, где процессор, управляемый ПЛИС, сам в эту ПЛИС прошивку и загружает. Такой процесс запуска платы чем-то напоминает вытаскивание самого себя из болота за волосы :) Рискованно (не хотелось бы заказывать и паять ещё одну ревизию такой монструозной платы), но должно получиться - если я не упустил никакого важного нюанса в тоннах документации :)

Ещё из изменений - добавил FM-радио. Чип, который этим занимается, очень маленький, дешёвый и не требует почти никакой обвязки - почему бы и нет.

Убрал каналы C и D на OPL3 - в стерео они бесполезны, а квадро выход на карте я делать не планирую, да и OPL-музыки под квадро - ноль или около того.

Всё разнообразие тактовых генераторов (кроме того, что тактирует Z80 на время инициализации ПЛИС) заменил на пару Si5351A - эта микросхема вместе с одним кварцем позволяет получить три почти произвольных частоты. Теперь можно будет разгонять GS с точностью до герца :)

Добавил 3.5 мм джек для подмешивания звука от другой звуковой карты - для включения в цепочку. А чтобы регулировать громкость подмешанного звука - использовал цифровой потенциометр (господи, как же сложно было найти подходящий потенциометр с I2C и чтобы его можно было купить на али по адекватной цене!).

Добавил разъём энкодера для регулировки громкости на выходе карты. Кстати, микросхема, которая будет регулировать громкость, имеет так же трёхполосный эквалайзер, а ещё с её помощью (точнее, одним грязным хаком, который, надеюсь, сработает :)) можно сделать регулируемую стереобазу.

Что ещё? Для GS/Covox/SounDrive поставил I2S ЦАП TDA1543A вместо прежнего однобитного ЦАП, реализованного силами ПЛИС. Добавил выходной усилитель для наушников на TDA1308. При этом с платы можно будет снять звук до усилителя, например, чтобы завести в микшер Евы.

Придумал как можно реализовать смену стерео-раскладки каналов ямахи (часть музыки пишется из расчёта на расклад ABC, а часть - на ACB). Вместо дополнительной микросхемы, как это я делал раньше в Сизифе, можно средствами ПЛИС просто перенаправлять записи в регистры так, чтобы каналы B и C оказались поменяны местами.

Убрал рояль из DIP-переключателей в углу платы, теперь плата будет настраиваться полностью программно – а, значит, нужно будет написать конфигуратор. Оставлена только кнопка для загрузки в безопасном режиме - со всеми отключенным фичами, с дефолтной прошивкой (да, прошивку ПЛИС/GS можно будет обновлять по Nemo Bus).

Вот так обстоят сейчас дела с новым МС (название под вопросом - может назвать КомбайнСаунд? :) ). Фух, почти час писал, но, вроде бы, ничего важного не упустил :)

Что на данный момент на плате: Бипер, Covox, TSFM, GS 2Мб, SAA1099, SounDrive, MIDI, SID, OPL3, MP3, FM радио

ZX MIDI Player v3.0

На днях спаял себе звуковую карту NeoGS ревизии CM, и по этому поводу - новый релиз MIDI-плеера с поддержкой этой карты.

  • Добавлена поддержка проигрывания MIDI через NeoGS с чипом VS1053;
  • Добавлена поддержка чтения карты памяти на NeoGS;
  • Добавлена настройка номера чипа TurboSound;
  • Добавлена настройка джойстика Kempston;
  • Исправлена навигация кнопкой “вниз” в списке файлов если в папке больше чем 255 файлов;
  • Исправлена совместимость Z-Controller с VDAC2;
  • Изменён порядок назначения букв дискам - теперь IDE диски располагаются перед SD/MMC.

https://github.com/UzixLS/zx-midiplayer/releases/tag/3

zxmidip3.trd 640.0 KB

Interface1bis

Interface1bis - новодельный аддон для фирменного ZX Spectrum, умеет загружать софт с SD-карты/USB/Ethernet, позволяет подключать Kempston джойстик, PS/2 клавиатуру и мышь, а так же с помощью подключенного по USB ПК печатать на принтер. Довольно навороченная штука и в аппаратном, и в программном плане, но всё же она уступает (для меня по крайней мере) DivMMC — нет поддержки TRD, нет поддержки FAT на SD-карте (файлы нужно заливать через специальную утилиту), да и сама карта недоступна из существующего спектрумовского софта. Ну и простота устройства DivMMC мне по душе куда больше чем россыпь микроконтроллеров и ПЛИС в Interface1bis :) Но если кто-то заинтересовался — подробнее об этой штуке можно почитать тут: https://microsin.net/adminstuff/others/zx-spectrum-interface1bis.html

Когда-то у меня была всего парочка процессоров Z80...

Когда-то у меня была всего парочка процессоров Z80, с которой я и тестировал прошивку Sizif 512. Но за прошедшее время у меня скопилась небольшая коллекция, и, как оказалось, многие из них (в основном медленные NMOS) на Сизифе работают некорректно. В схеме указана модель Z84C0020 - с ней проблем нет, но хотелось (хотя бы для галочки) чтобы работал любой Z80. Собственно, этим я и занимался последние две недели. Да, неожиданно много времени и сил это заняло, много вечеров провёл ковыряясь в GTKWave, но в итоге теперь все 33 протестированных процессора работают, вместо 24 со старой прошивкой.

Любопытно, что по результатам теста все имеющиеся у меня NMOS процессоры разогнались до 7 МГц, а почти все CMOS до 14 - тут статистику подпортили только процессоры NEC. Длительное многочасовое тестирование в разном софте, игрушке и демках всех 33 штук я, конечно, не осилю, но несколько самых строптивых процессоров ещё погоняю.

Результаты теста прикрепляю в таблице, возможно кому-то будет интересно.

Sizif512 - тест CPU 2023-10-28.xlsx 9.7 KB