По какому стандарту?
Распиши цоколевку.
Желательно было бы иметь на разьеме +5V и GND.
Правда при этом на сигналы остается 7 выводов.
Вид для печати
Наверное все-таки 8 кнопок и GND., чтобы обычные джойстики подключать. 5в не влезет, надо откуда-то отдельно брать. А распиновка у оригинального Кемпстона какая была?
- - - Добавлено - - -
Правда тогда для геймпад от мастер систем переходник лепить придется, но у нас их все равно нету.
думаю скоро появится. ;)
https://drive.google.com/uc?export=d...x_wCn-TxtDm5EC
Это пока прототип. прошивка проверена на девборде и на Профи. хочу сделать прототип ЛУТом и проверить как законченое устройство.
В нем я сделал поддержку всех кнопок. 4-ре направления, Start, A, B, C. Расположение кнопок как на твоей картинке и как у нового стандарта для кемпстона zx spectrum next.
Видео проверки прошивки. https://drive.google.com/uc?export=d...AcXLlUXi406dBf
Пока есть время до появления нормальных служб доставки из JLCPCB, хочу сделать некоторые доработки схемы для реализации шины NemoBus 1.2, чтобы могла работать карта DMA Sound.
Основная доработка касается возможности выбора картой DMA Sound любой нужной страницы ОЗУ в пределах 1 МБ. Особенностью схемы этого Пентагона-4096 является то, что я не могу просто так взять и отключить выходы КП-шек, которые коммутируют страницы ОЗУ > 128 КБайт, переведя выходы в 3-е состояние.
Данная доработка автоматически повлекла за собой другую доработку, которая позволила упростить схему коммутации стандартов расширения ОЗУ (128 КБ / #7FFD / #DFFD / #1FFD). Оказалось достаточно заменить 2 шт КР1531КП12 на КП2 и 1 шт КР1531КП12 на КП7 (её вроде как можно достать), и сразу минус 6 логических элементов из схемы, минус 1 корпус микросхемы КР1531ЛИ1 из платы.
Теперь я приблизился непосредственно к вопросу, как лучше всего поступить с возможностью управлять страницами ОЗУ картой расширения. Есть только 2 варианта, как это сделать:
1) После выходов КП-шек ставим КР1531АП5 или АП4, которая пропускает сигналы с КП-шек в обычном режиме и отключает их при активном сигнале запроса шины со стороны NemoBus. Но это плюс корпус микросхемы DIP-20, плюс дополнительные задержки сигнала.
2) Гораздо более простое решение - просто выходы КП-шек подключить через резисторы 680 Ом, в то время, как NemoBus будет подключена напрямую без резисторов. В этом случае никаких дополнительных микросхем. Карта DMA Sound когда ей нужно, сможет точно так же сама управлять страницами ОЗУ, т.к. на ней будет приоритет, а когда она будет свои выходы переводить в 3-е состояние, то сигналы будут проходить от КП-шек. Но резисторы могут неблагоприятно повлиять на передний фронт сигнала.
Но возможно, что эти дополнительные задержки не критичны и не скажутся на стабильность работы компьютера, не смотря на то, что в их формировании участвуют сигналы A14 и A15, потому что данные адресные биты ОЗУ не участвуют в регенерации. Всё-равно первую половину 7 МГц-ового такта работы ОЗУ эти адресные биты не используются и не подаются на ОЗУ. Нужно успеть эти сигналы сформировать лишь ко второй половине такта, чтобы успеть до того, как CAS защёлкнет старшую половину адреса ОЗУ.
Кто что думает по этому поводу ?
Проверить это на практике на отсутствие глюков в работе ОЗУ мне уже проблематично - добраться к КПшкам в моём рабочем Пентагоне сквозь паутину МГТФ мне уже сложно.
- - - Добавлено - - -
Здесь созрел ещё один вопрос:
У нас имеется 4 МБ ОЗУ (если конечно установить модуль SIMM 1 MB, замкнув соответственно джампер XJ4, то этот вопрос будет не актуален).
Шина NemoBus версии 1.2 позволяет карте расширения выбирать страницы ОЗУ в пределах 1 МБ, соответственно вопрос, какой именно мегабайт ОЗУ из 4-х отдать карте DMA Sound ?
В схеме доработки Феникса, в котором объём ОЗУ 2 МБ, поставили джампер, который позволяет физически задать, какой из двух МБ отдавать карте.
В Пентагоне-4096 в качестве альтернативы двум джамперам можно задействовать два оставшихся свободных бита порта BIOS, который как раз отвечает за конфигурацию памяти, что весьма кстати.
Но может лучше этого не делать, а оставить так, чтобы выбор мегабайта из 4-х зависел от того, что выдали в порт расширения ОЗУ перед запросом шины картой ? Но тогда надо учесть, что если DMA Sound выставит адрес ОЗУ ниже чем #C000, то она получит область ОЗУ однозначно из 1-го мегабайта.
честно говоря я бы с ДМА саунд не заморачивался - из софта только плеер и несколько игрушек - а ещё есть бут который может устанавливать скорость компа, но это совсем лишнее.
если так нужен звук то лучше юзать ГС и не париться.
из доработок я бы посмотрел в сторону ULA+ - ну или просто добавить палитру совместимую с чемто
DMA Sound тоже нужно будет где-то взять, т.к. разводить его на верхней плате я уже не буду, только шину адаптирую для работы с ним. Слишком много микросхем, а в Пентагоне-4096 и так уже напичкано много чего, увеличивать верхнюю плату в размерах уже нельзя, иначе она либо упрётся в 5.25" отсек либо перекроет пространство для карт расширения. Пусть DMA Sound остаётся картой расширения, 3 слота NemoBus 1.2 будут.
Но по дополнительным сигналам для управления страницами памяти со стороны DMA Sound, на данный момент я склоняюсь к варианту не отключать выходы КП-шек, т.е. не ставить дополнительный буфер на АП4/АП5, а использовать резисторы по 680 Ом.
и более глючное. не надо туда ставить резисторы с таким сопротивлением, оно очень большое для таких частот. допустим в Профи тоже стоят резисторы с выходов КП12, но они стоят для ограничения тока, всплесков сигнала и сопротивлением от 10 до 20 Ом. 680 Ом это очень много. думаю глюки обеспечены.
имхо лучше оставить дма-саунд до лучших времён - здесь он будет только обузой
Мое имхо, я сначала думал, что неплохо бы получить эту карту и осуществить давнишнюю мечту.
Но затем подумал, что на данный момент существует и используется NeoGS, она имеет на борту Z80 до 24 Мгц, собственные 4 Мб, 512 Кб flash-ROM, расширенные способы адресации памяти: 2 окна проецирования, полное исключение ROM из адресного пространства, mp3-декодер (аналог vs1011) с аппаратным SPI для пересылки данных, тот же DMA-доступ спектрума в память NeoGS (пересылка данных между спектрумом и NeoGS командами LDI, LDIR и подобными.
Не знаю похожи режимы DMA NeoGS и DMA USC, но присутствие их есть у обоих карт.
Исходя из этого мне перехотелось делать DMA USC.
Но по словам Александра правка схемы для подключения карты не сложна, то пусть она присутствует, при отсутствии самой карты это никак не скажется.
И для кого-то будет возможность её сделать в дальнейшем.
А я для себя решил, что овчинка эта выделки не стоит, т.к. NeoGS предоставляет больше возможностей и уже есть и работает.
Кто, что думает по этому поводу?
В любом случае мы имеем уже разведённые материнскую (rev 7.2) и верхнюю (rev 4.2) платы, для которых у меня и Gerber-файлы готовы для отправки на завод. И в любом случае мне приглянулась доработка узла коммутации стандартов расширения памяти, с которой освобождается 1 корпус микросхемы, так что даже если и не делать поддержку DMA Sound, я хочу успеть доразвести плату под эту доработку, которая будет иметь следующий номер ревизии 7.3.
А войдёт ли непосредственно поддержка DMA Sound или не войдёт, пока что остаётся под вопросом. Не плохо было бы протестировать на реальном Спектруме варианты с резисторами на выходе КП-шек, гоняя компьютер во всех режимах.
Надо учесть, что они НЕ идут непосредственно на модуль SIMM, на них НЕ подаются сигналы RAS и CAS, это НЕ адресные мультиплексоры ОЗУ, они всего лишь коммутируют страницы ОЗУ с выходов 3-х портов #7FFD, #DFFD и #1FFD. Они коммутируют статические сигналы, но на них так же заводится сигнал ~A14&A15, с которым эти КПшки либо коммутируют статические сигналы с портов расширения ОЗУ, либо выдают 0 (если идёт обращение к нижним адресам ОЗУ). Выходы этих КПшек идут на другие 1531КП12, которые уже являются адресными мультиплексорами ОЗУ, и вот с ними я согласен, что никакие резисторы на их выходах недопустимы в принципе).
Ну и не плохо бы проверить вариант с буфером на АП5.
Принципиальная схема новой ревизии материнской платы 7.3, которая должна поддерживать работу DMA Sound.
Плата новой ревизии сейчас находится в полу-разведённом состояии: Все новые элементы установлены, новые соединения разведены, но теперь нужно руками подвигать переходные отверстия с целью соответствия установленным правилам дизайна, увы, но SPECCTRA плюёт на одно заданное правило - минимальное расстояние между отверстиями и лепит их слишком близко друг к другу, хотя все остальные правила соблюдает. Возможно, где-то оптимизировать с целью уменьшения переходных отверстий.
На принципиальной схеме материнской платы в отличии от предыдущей ревизии сделаны следующие изменения:
- Заменены разъёмы NemoBus 1.0 на NemoBus 1.2 (но т.к. в схеме не реализован всего один сигнал, который не используется в DMA Sound - "IODOS/" на контакте 20B, то шина соответственно получает имя "NemoBus 1.2m".
- Заменён тактовый сигнал, выводимый на контакт 8A шины. Раньше это был фактический тактовый сигнал процессора, т.е. в зависимости от Турбо-режима, это 3.5 / 7.0 / 14.0 МГц, то в новой ревизии не зависимо от турбо-режимов на шину подаётся только 3.5 МГц (изменения на DD121 выв.13).
- Оптимизирована схема коммутации стандартов расширения ОЗУ > 128 КБ: КР1531КП12 заменены на КР1531КП2 (DD31 и DD49), КР1531КП12 заменена на КР1531КП7 (DD36), это позволило освободить 6 логических элементов и убрать с платы 1 корпус микросхемы КР1531ЛИ1.
- На шину выведены сигналы для доступа к любой странице ОЗУ в пределах 1 МБ (сигналы MEM_32K, MEM_64K, MEM_128K, MEM_256K, MEM_512K и MEM_1M).
- Соответствующие выходы мультиплексоров теперь подключены через резисторы 680 Ом для предоставления возможности шине эти страницы ОЗУ переключать (DD72, DD73, DD31, DD36, DD49).
- Для того, чтобы можно было задавать, какой мегабайт из 4-х предоставлять карте расширения, добавлен 1 новый корпус микросхемы КР1533ЛП8 (DD50), который занял место вместо ЛИ1, который ушёл в п.3 доработок. Выбирать нужный мегабайт можно будет через BIOS - задействовал последние свободные ранее 2 бита порта #FC37 "конфигурация памяти".
https://i.ibb.co/DCMjMHp/Main-Board-v7-3-sch-ps.png
Как насчёт возможности прерывания программы по NMI (от таймера или контроллера прерываний) с сохранением адреса возврата и возможностью корректного возврата (почти кооперативная многозадачность, остается только немного доработать регистры сегментов для выбора страниц)? Например как здесь.
Закончил разводку новой ревизии материнской платы 7.3 с шиной NemoBus v1.2m, с которой должен работать DMA Sound.
Перезалил принципиальную схему, не помню, какую незначительную мелочь на ней поменял.
https://i.ibb.co/rwkQFRb/Main-Board-v7-3-sch-ps.png
И сама плата. В новой ревизии по сравнению с 7.2, удалось уменьшить количество переходных отверстий на 39, в новой ревизии их стало 1620, в старой было 1659.
https://i.ibb.co/vLLTxcn/Main-Board-...ponents-ps.png https://i.ibb.co/GRPygZq/Main-Board-v7-3-pcb-gnd-ps.png https://i.ibb.co/9n88Tz2/Main-Board-...b-power-ps.png https://i.ibb.co/Vt0DdK9/Main-Board-...-bottom-ps.png https://i.ibb.co/F7q3ntg/Main-Board-v7-3-pcb-top-ps.png
а какая версия пойдёт в продакшен ?
Последняя 7.3, т.к. в ней нет ничего, что делает её в чём-то хуже по сравнению с 7.2.
В исключительном случае резисторы на выходе КПшек, коммутирующие страницы ОЗУ в соответствии с выбранным стандартом расширения ОЗУ, можно будет заменить перемычками, но не думаю, что это придётся делать.
Есть по крайней мере одна хорошая новость - на JLCPCB немного снизились цены.
Новая калькуляция на их сайте:
Материнская плата размером 305х244 мм - 1x10 шт - 112.9$ (старая цена 115$), вес 2.47 кг;
Верхняя плата размером 170х171.5 мм - 1x10 шт - 20.5$ (старая цена 23.6$), вес 970 г
Плата краевого разъёма ZX-Bus+3 размером 104х23 мм - 1x10 шт - 5.4$ (старая цена 5.7$), вес 80 г
Райзер плата NemoBus размером 129.5х33мм - 3x10 шт - 11.3$ (старая цена 12.6$), вес 430 г
Итого за 10 комплектов - 150.1$ (было 156.9$)
Вес заказа 3.95 кг.
Один комплект из 6 плат получается 150.1 / 10 = 15.01$ (было 15.69$).
Вес комплекта 395 грамм.
Аналогичное не значительное снижение тарифов я заметил и для стоимости доставки DHL (увы, другие способы доставки в Украину на сайте JLCPCB до сих пор не доступны).
запишите на меня 2 комплекта из 6 плат )
Значит был допущен заводской дефект при изготовлении печатной платы, это при условии, что плата не перепаивалась, т.к. обычно металлизация переходов страдает при выпайке многоножечных деталей.
Ну а здесь куда деться от переходных отверстий при таком количестве и плотности микросхем и при таком количестве соединений ?
Кстати, уже 1618 переходных отверстий. Пока мы все ожидаем появления нормальных служб доставки из JCBPCB, потихоньку делаю вручную некоторую оптимизацию разводки.
Скажите, Александр, а когда уже продакшен ? Хотя бы примерно.
Как только в JLCPCB станут доступны нормальные службы доставки, или когда все будут согласны переплатить за дорогую доставку DHL, потому что до сих пор только она доступна. Но с DHL я не хочу связываться ещё и из-за геморроя с растаможкой, т.к. к дорогой доставке добавляются дорогие услуги брокеров DHL, которые навязывает DHL для оформления таможенных документов.
С DHL у нас только 2 варианта: или растаможка с брокерскими услугами, которые удвоят стоимость доставки, или весь заказ получить двумя посылками без растаможки, но дважды заплатить за доставку DHL.
Northwood, я правильно понимаю, что комплект из 6 плат будет стоить примерно 16$ ? это примерно 1200р.
Как купить в России? пересылка Украина->Россия возможна?
Не могли бы вы примерно посмотреть сколько это обойдется?
При конечной стоимости ( платы+пересылка) до 2000р я тоже хотел бы записаться на комплект.
Говорят, что почта работает, поэтому пересылка возможна.
По точной стоимости комплекта плат, сказать смогу, когда окончательно определюсь с производителем плат. Сейчас рассматриваю варианты как популярный китайский завод JLCPCB, но они сейчас отправляют заказы в Украину только DHL, что не приемлемо из-за стоимости доставки и геморроя с растаможкой. Так же рассматриваю варианты с нашими производителями плат. На один из местных заводов отправил gerber-файлы, жду ответа по ценам. Посмотрю, что из этого выйдет дешевле.
В идеале было бы, чтобы JLCPCB начали отправлять платы службой Registered Air Mail, тогда я однозначно остановлю свой выбор на них и смогу назвать конечную цену с учётом стоимости доставки из Китая к нам.
- - - Добавлено - - -
Количество переходов на материнской плате уже удалось уменьшить с 1618 до 1582.
Кто-нибудь может помочь разобраться с расчётом стоимости доставки на сайте DHL ? С ними какие-то не стыковки получаются.
К примеру:
На сайте изготовителя плат JLCPCB ввожу данные заказа - размер плат (305 x 244 мм), количество слоёв (4) и количество плат в заказе (10), на их калькуляторе сразу получаю вес посылки (2.47 кг) и стоимость доставки DHL (58.71$).
Аналогично пытаюсь посчитать стоимость доставки на сайте DHL:
Ввёл размер посылки 31 х 25 х 2 см, их калькулятор посчитал объёмный вес 0.5 кг.
В таблице зон нашёл Гонг Конг - это 5-я зона (так же как и Китай), в другой таблице смотрю стоимость по пересечению номера зоны и веса посылки и офигеваю от цифры:
Если смотреть по "объёмному" весу 0.5 кг, то получаю стоимость 2648 грн (98$);
Если смотреть по фактическому весу 2.47 кг (в таблице 2.5 кг), то получаю вообще 4561 грн (169$)
Что за ерунда ?
ДХЛ в топку ! )