Просмотр полной версии : Karabas-128
andykarpov
17.05.2017, 00:34
Дорогие друзья!
Вашему вниманию предлагается очередной клон-велосипед под кодовым названием Карабас-128 :).
Идеей к созданию послужило желание заиметь ZX-Spectrum 128к совместимый комп с минимальным количеством деталей и, соответственно, стоимостью. Идея максимум - развести плату под размер корпуса от оригинального ZX Spectrum 48k, чтобы все разъемы, крепежные отверстия соответствовали их местоположению и назначению. Идея не нова, товарищ Superfo делает Harlequin 48k и 128k, есть еще 100500 разных вариаций на тему (ZAXXON Just Speccy 128, например), и т.п.
Но финальная стоимость собранной платы без корпуса иногда зашкаливает за $100. Может для буржуев это и не столь внушительная сумма, но если можно собрать дешевле - то почему бы и не попробовать ?
За основу для проекта был взят одноплатный вариант Speccy 2007 128к на одной микросхеме SRAM 621024 (автор: .jackson). В качестве CPLD была выбрана Altera EPM7128STC100, которая дала возможность использовать 84 доступных I/O (задействованы все). Pal coder, согласователь уровней RGB, питающая часть и читалка были взяты из схемы Harlequin 48k Rev. G.
Итого, на сегодняший день:
0) Собран прототип на макетной плате
1) Разведена и выпущена плата ревизии А
2) Плата собрана, все работает, в ревизии A найден ряд недоработок (см ERRATA (https://github.com/andykarpov/karabas-128/blob/master/ERRATA-revA-ru.md))
3) Выпущены ревизии платы B и B1 - в основном багфиксы.
Что из себя представляет Карабас-128?
- Плата для размещения в корпусе от оригинального ZX Spectrum 48k
- Конфигурация Spectrum 128k с времянками пентагона
- Возможность переключаться с помощью горячих клавиш между режимом пентагона и режимом ula48 (с эмуляцией медленной памяти). Для данной фичи необходима небольшая доработка
- порт #FE для чтения физической 40-кнопочной клавиатуры
- реализован порт #FF
- на плате присутствует AY-3-8912
- фирменный разъем (краевой слот) для подключения внешней периферии
- работает читалка с магнитофона
- есть выход на подключение VGA Scandoubler'а ZXKIT1
- присутствует RGB выход для подключения к ТВ через SCART
- присутствует PAL coder для подключения к ТВ по НЧ каналу
Текущая версия схемы, gerber'ов платы и прошивки тут: https://github.com/andykarpov/karabas-128
Доработка платы от solegstar для перключения режимов "pentagon" и "ula48" по RESET+1 и RESET+2: http://zx-pk.ru/threads/27724-karabas-128.html?p=928848&viewfull=1#post928848. Данная доработка включена в ревизии B1.
http://i.piccy_.info/i9/ebe4d25025bf75723ce8f7ab3e4ba08b/1535463242/97264/1215824/32459377_946012552234460_360853054741807104_n_2__8 00.jpg (http://piccy_.info/view3/12581441/b8b3897f0624afb7167eb8c35e62d97c/1200/)http://i.piccy_.info/a3/2018-08-28-13-34/i9-12581441/755x566-r/i.gif (http://i.piccy_.info/a3c/2018-08-28-13-34/i9-12581441/755x566-r)
1) чикнуть дорожку
2) запустить сигнал на свободный инвертер
Вариант решения проблемы тусклой картинки от crrush при подключении по RGB: https://zx-pk.ru/threads/27724-karabas-128.html?p=1068344&viewfull=1#post1068344. Данная доработка является опциональной, потому как мнения разделились - у части пользователей все отлично, а у части - тусклые цвета. Вероятно, от монитора/ТВ также зависит.
Special thanks to: syd, .jackson, Superfo, tank-uk, NiKa, MV1971, solegstar, vlad
andykarpov
18.05.2017, 22:14
Допаял VGA scandoubler (zxkit1), thanks to BARIGA_UA, цветная картинка - это ж значительно удобнее, чем ч/б :)
61083
Ключевая фраза - "есть еще 100500 разных вариаций на тему", и ни одного 100% совместимого с оригиналом.
andykarpov
23.05.2017, 19:36
Ключевая фраза - "есть еще 100500 разных вариаций на тему", и ни одного 100% совместимого с оригиналом.
Ну, на то он и оригинал! Более того, даже в оригиналах есть разные аспекты несовместимости друг с другом.
Мой велосипед не претендует на 100% совместимость с оригиналом, да и вряд ли это возможно в рамках выбранной элементной базы и технологий.
Будет только некоторая совместимость по форм-фактору и набору внешних разъемов / интерфейсов :)
andykarpov
26.05.2017, 14:12
Текущий прогресс:
61145
Пока столкнулся с трудностями разводки, осталось 49 соединений развести, но что-то не получается.
Видимо буду заново делать, переназначать входы/выходы CPLD в соответствии с физическим расположением компонентов...
Пока столкнулся с трудностями разводки, осталось 49 соединений развести, но что-то не получается.
Видимо буду заново делать, переназначать входы/выходы CPLD в соответствии с физическим расположением компонентов...
Правильно. У меня с Сябром хуже дело было - микросхемы слишком густо были расположены, а у Вас есть где разгуляться.
Выскажу свое скромное видение подобного клона, вся ваша задумка остается, т.е. Z80, AY-3-8912, ROM (чтоб легко было сменить прошивку) и RAM (один, два или четыре чипа), а вот CPLD на плате не распаивать, просто распаять 48 пиновый сокет, что бы можно было воткнуть оригинальную ULA от 128 спекка (у кого она есть) или воткнуть в сокет плату с CPLD, подобное сделано на ZAXXON Just Speccy 128 но там много лишнего: 16 чипов памяти да еще и картридер, что делает его версию непригодной для повторения.
А по-моему автор делает правильно. Если даже попинно и вывести сигналы по стандарту ULA, то не все они совпадут. Это клон andykarpov'а и он сам заморочился и сделал то что сделал. Каждый вправе придумать и сделать свой клон по своему вкусу.
andykarpov
28.05.2017, 01:57
Если даже попинно и вывести сигналы по стандарту ULA, то не все они совпадут. Это клон andykarpov'а и он сам заморочился и сделал то что сделал. Каждый вправе придумать и сделать свой клон по своему вкусу.
Так и есть. Цель не была сделать заменитель ULA, тем более что такие проекты уже и так есть, и там добавить особо нечего.
Клоны, которые используют оригинальную ULA тоже есть.
Посему, в моей схеме ничего кардинально меняться не будет. Ну разве что еще несколько десятков конденсаторов добавится :)))
UPD2: Карабас запел, AY работает отлично. И, хочу заменить, все-таки настоящий живой AY как-то иначе звучит, насыщенней что-ли и по аналогово-ламповому :) Долго ловил глюки, похоже AY мусорил на ШД, оказалось - он к качеству питания очень сильно привязан. Запитал от качественного БП - все глюки исчезли.
UPD3: Также вывел вторым этажом системный разъем для подключения внешней периферии. Сделал ROMCS и IORQGE. Но вот по последнему - есть ряд непоняток. В одних местах говорят, что этот сигнал должен блокировать только внутренние порты юлы (#FE и #FF в моем случае), в других местах говоря - все встроенные порты, включая #7FFD. Где-то встречались схемы, что этот сигнал должен блокировать юлу только при наличии A0, в других местах - при наличии A0 и A7... В общем, кто бы прояснил? :)
Хорошо попробуйте игры, которые точно не запускаются на Harlequin 128K, например: Boovie 2, Robocop 3 (1992 Ocean) взяты с WoS.
Сделал ROMCS и IORQGE. Но вот по последнему - есть ряд непоняток. В одних местах говорят, что этот сигнал должен блокировать только внутренние порты юлы (#FE и #FF в моем случае), в других местах говоря - все встроенные порты, включая #7FFD. Где-то встречались схемы, что этот сигнал должен блокировать юлу только при наличии A0, в других местах - при наличии A0 и A7... В общем, кто бы прояснил? :)
Недавно тоже озадачился этим вопросом. Блокироваться должны только те порты, которые конфликтуют с переферией, т.е. #1F, #7F, #FF и аналогичные, так же опрос клавиатуры #FE. #7FFD и другие #BFFD, #FFFD, #DFFD..... не должны блокироваться иначе TR-DOS не сможет работать с рамдиском и глушить AY ну и т.д.
andykarpov
28.05.2017, 15:28
попробуйте игры, которые точно не запускаются на Harlequin 128K, например: Boovie 2
Boovie 2 запустился, работает норм :)
61185
https://youtu.be/gDYLft6fdII
Robocop 3 еще не пробовал.
UPD: Robocop 3 тоже завелся, все норм.
Интересно, а как эти игрухи не работают на Harlequin-128 и из-за чего ?
Кто бы знал из за чего, про Boovie 2 обсуждалось как раз на worldofspectrum, но ни к чему не пришли, насчет Robocop 3 мне кажется из за того, что эта игра использует эффект снега.
Вот хорошая прога для тестирования эффекта снега - https://www.youtube.com/watch?v=Ix9Wy2jhDwI там ссылка есть на скачивание проги, потестите свой, на 128 это выглядит конечно не так как на 48.
andykarpov
29.05.2017, 09:40
Вот хорошая прога для тестирования эффекта снега - https://www.youtube.com/watch?v=Ix9Wy2jhDwI там ссылка есть на скачивание проги, потестите свой, на 128 это выглядит конечно не так как на 48.
Протестил. Как и ожидалось - это не работает :)
Откуда ж ему взяться, этому снегу ? :)))
Не работает совсем или местами работает? на 128 и не будет работать так красиво как на 48, но на небольшой части экрана эффект присутствует.
P.S. До недавнего времени я думал, что эффект снега это просто как мусор на экране, но данный тест показывает, что это гораздо сложнее и им можно управлять.
Но уже то хорошо, что у вас запустились, выше перечисленные игрухи, а то я собрал уже несколько версий Harlequin 128K но результат всегда один.
andykarpov
03.06.2017, 18:48
Не работает совсем или местами работает?
Совсем не работает, вижу статическую картинку вместо снега.
- - - Добавлено - - -
Платку развел, финальная версия ревизии A (https://prnt.sc/ffgpui):
61251
Все поместилось без переделки подключения CPLD.
В git-е есть последняя актуальная схема и монтажка.
Попробую заказать у китайцев пробную партию, как будет какой-то результат - отпишусь.
А как прошивать это чудо Altera EPM7128STC100, я с ними дела ни когда не имел, и для меня это темный лес, прямо на плате, что ли можно?
HardWareMan
04.06.2017, 20:03
NiKa, да, эту CPLD можно прошивать внутрисхемно. Для этого от нее выведен JTAG.
andykarpov
04.06.2017, 20:04
А как прошивать это чудо Altera EPM7128STC100, я с ними дела ни когда не имел, и для меня это темный лес, прямо на плате, что ли можно?
Ну да, прямо на плате, имеется специальный 10-контакный разъемчик JTAG для USB Blaster'а.
Прошиваются так же, как и остальные альтеровские CPLD и FPGA.
Стоимость USB Blaster'а - смешная (порядка $3 на алиэкспрессе).
andykarpov
04.06.2017, 23:00
3D-рендер (https://prnt.sc/ffva2g), как это будет примерно выглядеть :)
61265
Прошивка для CPLD будет выложена?, эта версия с таймингами 48, планируется ли версия с таймингами 128?
andykarpov
05.06.2017, 08:20
Прошивка для CPLD будет выложена?, эта версия с таймингами 48, планируется ли версия с таймингами 128?
В первом сообщении есть ссылка на github, там есть вся документация, gerber'ы и исходники прошивки для CPLD.
Текущая версия основана на варианте Speccy2007 128k с таймингами пентагона.
В принципе, лично для меня этого достаточно.
Платы заказал, давайте дождемся первого рабочего экземпляра - а там уже будем "курить" тайминги :)
andykarpov, какая стоимость плат будет? хотя времени катастрофически не хватает, но возможно этот клон собрал бы
andykarpov
05.06.2017, 09:23
andykarpov, какая стоимость плат будет? хотя времени катастрофически не хватает, но возможно этот клон собрал бы
Ориентировочно - в районе $10-$12, практичечски по себестоимости.
Как платки приедут и будет собран первый экземпляр, заведу тему в барахолке :)
Возможно, будут варианты с предустановленными SMD-компонентами в районе $15-$20, посмотрим...
ОК
с пайкой SMD и мелких BGA проблем вообще ни каких нет, вот только с новыми правилами таможни главное чтоб не стали заворачивать микрухи
andykarpov
05.06.2017, 09:37
вот только с новыми правилами таможни главное чтоб не стали заворачивать микрухи
А что за новые правила, если не секрет? Первый раз слышу. Пока микрухи из Китая доходят без проблем, вроде бы.
кучу ограничений ввели, брендовые вещи не пропускают, подделки не пропускают, у меня скальпель на таможне две недели лежал с пометкой "задержано таможней без обьяснения причин", у знакомой посылку с часами завернули назад в китай из-за того что одни из часов были похожи на ми-бэнд
andykarpov
05.06.2017, 11:22
кучу ограничений ввели
Где бы подробнее почитать о новых правилах? Пруф-линк в студию, плз.
И это будет катастрофа для радиолюбителей, если будут заворачивать посылки с микросхемами и детальками... :(
CodeMaster
05.06.2017, 13:07
Где бы подробнее почитать о новых правилах?
Не смешивайте божий дар с яичницей и не сравнивайте растаможку контрафактной электроники и колюще-режущих с радиодеталями.
Давайте про таможню в другой ветке перетирать.
Данный же проект интересен уже тем, что можно будет в любой момент изменить прошивку Альтеры, ждем результатов короче.
Я бы конечно еще сделал вариант с двумя чипами памяти.
CodeMaster, тут как раз вы не правы, посмотрите из какой страны вы и мы, у вас не растамаживается до 1000 евро, а у нас до 150 ( а хотели срезать вообще до 25 )
и правила таможни подстраивают под правящую семью, а эта семья теряет прибыль когда мы покупаем сяоми, мезу и т.д. не у них , а за границей, вот и вводит ограничения
в догонку у меня на таможне три недели провалялись переходники TQFP32-DIP32 по той же причине
и вообще тема не об этом
- - - Добавлено - - -
вопрос к автору: по какой причине в подключении клавы стоят 8 эмиттерных повторителей ? не проще было регистр или буфер поставить ?
andykarpov
05.06.2017, 16:36
вопрос к автору: по какой причине в подключении клавы стоят 8 эмиттерных повторителей ? не проще было регистр или буфер поставить ?
Взято из схемы Superfo Harlequin 48k rev.G.
При чем в ревизиях с A по E там стояли диоды, как в оригинальном спектруме, а начиная с ревизии F - появились pnp-транзисторы.
Чем лучше транзисторы в данном случае - вопрос... Но эта схема работает, поэтому перенес без задней мысли, как и некоторые другие блоки из оригинальной схемы арлекина :)
Кто захочет - поставит себе диоды вместо транзисторов )))
Можно сэкономить на 8 транзисторах и одной резисторной сборке.
Транзисторы, кстати, там можно КТ361 вкорячить, должно подойти 1-в-1. Будет красивенько.
C диодами сильнее нагружается адресная шина, поэтому и были применены транзисторы, а еще проще и дешевле поставить ЛИ2 две штуки.
andykarpov В выложенных герберах у вас замыкание между входом и выходом питания (там где L1), хотя может это моя прога так воспринимает.
andykarpov
07.06.2017, 16:53
В выложенных герберах у вас замыкание между входом и выходом питания (там где L1), хотя может это моя прога так воспринимает.
NiKa, покажите скриншот, плз, чтобы было понятно, о чем речь. Схема и плата проходят валидацию ERC, DRC, ошибок нет.
https://www.dropbox.com/s/hze833ow1s6ax2i/%D0%B7%D0%B0%D0%BC%D1%8B%D0%BA%D0%B0%D0%BD%D0%B8%D 0%B5.jpg?dl=0
andykarpov
07.06.2017, 17:11
Это какой-то слой документации (не меди) похожим синим цветом отрисовался... :)
Во-вторых, у вас не актуальная версия, просьба переподтянуть проект из git, с момента анонса и до фильной версии там были еще 100500 правок.
Конкретно в этой версии gerber'ов есть ошибки, земляные полигоны не везде дотягиваются до нужных выводов :)
Больше правок по ревизии А не предполагается, так как уже ушли в производство.
Новая ревизия, если и будет - в виде отдельного архива с gerber'ами внутри проекта, либо в виде отдельной ветки в git.
Да действительно у меня версия gerber'ов на один день старее, буду изучать новую.
andykarpov
23.06.2017, 15:33
UPD: Приехала первая партия платок из seeedstudio.com.
61448
Выглядят красивее, чем на рендерах :)
В ближайшие дни попробую собрать опытный образец, жду EPM7128.
Как будут какие-то результаты - сообщу дополнительно, также заведу тему на барахолке, в свободной продаже будет 6 платок :)
Очень интересно, вот только фото платки бы качественное посмотреть, и еще так и не понял, как залить скаченную у вас прошивку в EPM7128?
andykarpov
23.06.2017, 19:09
Очень интересно, вот только фото платки бы качественное посмотреть, и еще так и не понял, как залить скаченную у вас прошивку в EPM7128?
Фото платки более качественное тут: https://drive.google.com/file/d/0B2rfZgvQB4woWmpWemUxSS13dlE/view?usp=sharing
Прошивку в скомпилированном виде я не выкладывал, так как оно еще все в процессе разработки, финальной версии особо нет :)
По-идее, нужно скачать Quartus 13.0 Web Edition, это последняя версия, в которой есть поддержка Max 7000.
Открыть проект и собрать, затем прошить Quartus Programmer'ом.
Я постараюсь на днях выложить скомпилированную прошивку, тогда для заливки нужен будет только Quartus Programmer любой версии.
- - - Добавлено - - -
UPD: закоммитил бинарник прошивки: Download (https://github.com/andykarpov/karabas-128/raw/master/cpld/karabas_128.pof)
- - - Добавлено - - -
UPD2: Соответственно, для прошивки CPLD Вам потребуется:
1) USB Blaster
2) Quartus Programmer
3) Бинарник прошивки
Подключаем USB-blaster в JTAG-разъем на плате, подаем питание на плату, в Quartus Programmer загружаем бинарник прошивки, выбираем найденный USB Blaster и говорим "Прошить". Вот и весь процесс, длится несколько секунд :)
Вот теперь понятно, а то я скачал Quartus Programmer, а он файлы даже не видит.
USB Blaster это который на Али можно купить?
Интересен результат сборки на новых платах.
andykarpov
23.06.2017, 19:36
USB Blaster это который на Али можно купить?
Да, USB blaster с али, типа такого, за $3:
https://ae01.alicdn.com/kf/HTB1VqV1KFXXXXc2XpXXq6xXFXXXm/Mini-Usb-Blaster-CPLD.jpg_640x640.jpg
Может и дешевле можно найти, не знаю, у меня был в комплекте с отладочной платой :)
andykarpov, так как , платки уже можно купить ?
andykarpov
26.06.2017, 09:32
tank-uk, первый экземпляр еще не до конца собран - жду EPM7128, должна сегодня приехать.
Подождите, плз, еще денек-другой, тема в барахолке обязательно появится, Вас в очередь уже поставил :)
Продавать то, что может вызвать у пользователя дискомфорт, как-то не хочется :)))
andykarpov, после КОРВЕТа , Спринтера и Фени06 уже ни чего не страшно
а по чем ЕРМки брал ?
andykarpov
26.06.2017, 11:24
EPM-ки от китайцев еще едут, брал 10 штук по $2.26/шт.
В космодроме одну штучку заказал, чтоб быстрее было, по ~$10/шт.
Разница - на лицо, как говорится, более чем в 4 раза...
При этом у китайцев, как обещают, speed grade 7N, а в космодроме - 15N...
https://ru.aliexpress.com/item/in-stock-can-pay-878A-25878-13Z-EPM7128STC100-IP113CLF-IP175CH-LF-IP175C-LF-5pcs-lot/32805820176.html?spm=2114.03010208.3.9.bEdOYX&ws_ab_test=searchweb0_0,searchweb201602_4_10152_10 065_10151_10068_10136_10137_10060_10155_10062_437_ 10154_10056_10055_10054_10059_303_100031_10099_532 0013_10103_10102_10096_10052_10053_10142_10107_100 50_10051_10170_10084_10083_10119_10080_10082_10081 _10110_519_10111_10112_10113_10114_10182_10078_100 79_10073_5260012_10123_10120_10189_10127_142_10125 ,searchweb201603_1,ppcSwitch_5&btsid=e9eb4b95-c371-4c58-9e96-c8aa1f765a72&algo_expid=460b25ee-6e24-439f-ae6c-81da15d000d5-1&algo_pvid=460b25ee-6e24-439f-ae6c-81da15d000d5
еще дешевле
HardWareMan
26.06.2017, 12:53
У китайцев не все то хорошо, что дешевле. Присматривайтесь.
andykarpov
26.06.2017, 13:02
У китайцев не все то хорошо, что дешевле. Присматривайтесь.
Согласен. Зачастую - рулетка. Особенно у тех продавцов, где описание товара очень размыто.
HardWareMan, у этого продавца в прошлом году брал Альтеры для Спринтера и все с первого пуска заработало
tank-uk Спасибо, тоже себе заказал.
andykarpov
26.06.2017, 22:56
Ну что, господа, первый экземпляр собран и работает!
С уверенностью могу сказать - на плате ошибок нет.
http://i.piccy_.info/i9/89989f8915f359fcb0b70e06b4604dca/1498505601/90444/1127497/IMG_20170626_214902_800.jpg (http://piccy_.info/view3/11324135/5203c68442bd1bba90ba93040555f4b6/1200/)http://i.piccy_.info/a3/2017-06-26-19-33/i9-11324135/566x755-r/i.gif (http://i.piccy_.info/a3c/2017-06-26-19-33/i9-11324135/566x755-r)
http://i.piccy_.info/i9/c47e8bc5532fc0f8e939f476fe7a5e63/1498505649/70758/1127497/IMG_20170626_214851_800.jpg (http://piccy_.info/view3/11324137/28e6147b2c00134d09ffaa0471aafb43/1200/)http://i.piccy_.info/a3/2017-06-26-19-34/i9-11324137/566x755-r/i.gif (http://i.piccy_.info/a3c/2017-06-26-19-34/i9-11324137/566x755-r)
Завелось с пол-пинка, пришлось, правда, долго искать соплю при пайке CPLD.
1) Клавиатура работает.
2) Магнитофонный вход работает.
3) AY работает.
4) Пал-кодер работает. Правда небольшой муар наблюдается. То-ли из-за того, что аналоговая земля с цифровой не разведены, то-ли БП наводки делает, то-ли дизайн такой :) На Арлекине у меня муар похожий имеется....
5) Выход на VGA скандаблер ZX KIT 1 работает.
Что не проверялось еще:
- ZX BUS. Как в корпус вставлю - и проверю. Предполагаю, там есть что еще покрутить...
- RGB выход. Не на чем проверить :(
Плата становится как родная в корпус от резинки. С кнопкой reset, которая на плате предусмотрена, еще не придумал, то-ли дырку резать в корпусе, то-ли не запаивать кнопку... Но кнопка нужна :) Какой же спектрум без RESET :)))
Тему в барахолке пошел заводить )
- - - Добавлено - - -
UPD: Тема в барахолке: http://zx-pk.com/forum/viewtopic.php?f=7&t=7828
andykarpov
27.06.2017, 00:16
UPD:
В корпусе от retroradionics:
http://i.piccy_.info/i9/09df63fab6c3b9d9e2e23bcb522fbf28/1498511714/74398/1127497/IMG_20170627_000523_800.jpg (http://piccy_.info/view3/11324384/d5ff749f644a019c2ec3149f098b40a3/1200/)http://i.piccy_.info/a3/2017-06-26-21-15/i9-11324384/566x755-r/i.gif (http://i.piccy_.info/a3c/2017-06-26-21-15/i9-11324384/566x755-r)
Подключен ZX BDI 2.0. С реальным дисководом / эмулятором еще не тестил :)
andykarpov Мои поздравления, очень хорошо, что ошибок нет, потребление не меряли?
HardWareMan
27.06.2017, 04:35
HardWareMan, у этого продавца в прошлом году брал Альтеры для Спринтера и все с первого пуска заработало
Как уже было сказано выше, что это рулетка и особенность китайцев. А может еще и влияет ранг покупателя (у меня всегда был сильвер, ныне А4). Если размазать стоимость нужного элемента по шкале дешево-дорого, то первая треть (дешево) и последняя треть (дорого) имеет больше шансов к обману. А вот средняя часть с минимальной вероятностью. Это так, примерная статистика, как моя так и моих знакомых. Иногда бывает лучше переплатить 1$, для гарантии. А еще бывает, что продаван указал Registered шиппинг (тобишь с треком), а выслал Ordinary (тобишь без онного), не спешите минусовать. Время потеряете, факт, но в конце всегда можно надавить в арбитраже "Обман пользователей на странице", баблос вернут 100%, но если дождаться то придет все то, что нужно и хорошее. Просто продаван зарабатывает на марже шиппинга. Из примера - мостики, заказывал 50шт. Через 2 месяца срок вышел и мне продаван все вернул. А они пришли через полгода. :) Так что это рулетка и для продавана. Кстати, сам по себе Registered тоже не факт что рабочий, часто дают левый трек а высылают Ordinary. Так же через 10 дней можно надавить, и либо отдают денег, либо "перевысылают" с нормальным треком. Второй вариант был у меня и я получал 2х заказанного, правда вторая половина через 3-4 месяца. Но всегда вполне качественное.
andykarpov
27.06.2017, 09:02
andykarpov Мои поздравления, очень хорошо, что ошибок нет, потребление не меряли?
Спасибо! Потребление не мерял, но спек еще пару секунд работает после выключения БП из розетки :)))
andykarpov а сколько ячеек прошивка занимает,есть еще место? Классный Спек получился.
Места практически не осталось, прошивка занимает 116 из 128 макроячеек.
+---------------------------+-------------------------------------------------+; Fitter Status ; Successful - Sat May 27 22:21:05 2017;
; Quartus II 64-Bit Version ; 13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition ;
; Revision Name ; karabas_128 ;
; Top-level Entity Name ; karabas_128 ;
; Family ; MAX7000S ;
; Device ; EPM7128STC100-15 ;
; Timing Models ; Final ;
; Total macrocells ; 116 / 128 ( 91 % ) ;
; Total pins ; 84 / 84 ( 100 % ) ;
+---------------------------+-------------------------------------------------+
andykarpov
27.06.2017, 16:29
UPD: Добавил на github описание процесса сборки и запуска: https://github.com/andykarpov/karabas-128/blob/master/HOWTO-ru.md
Места практически не осталось, прошивка занимает 116 из 128 макроячеек.
А не подскажете, как в Quartus 13.0 Web Edition посмотреть схему проекта, эти самые 116 макроячеек?
как в Quartus 13.0 Web Edition посмотреть схему проекта
Tools->NetlistViewers->RTL Viewer
Tools->NetlistViewers->RTL Viewer
Получил ответ - The RTL netlist is not available. Run analisis and laboration to view RTL netlist.
Получил ответ
А analysis&synthesis нажимал перед RTL Viewer?
HardWareMan
28.06.2017, 08:20
Достаточно просто собрать проект, чтобы стал доступен RTL Viewer. Ему же надо иметь кэш синтезатора и фиттера, а они не хранятся, если проект закрываешь. А из SOF не восстанавливается. Поэтому, лучше именно собрать проект, потому как результат в RTL будет сильно зависеть от использованной FPGA/CPLD.
результат в RTL будет сильно зависеть от использованной FPGA/CPLD
Даже если в схемном виде из 74 логики(или простых лог элементов) собрать схему,то кактус пересоберет схему так как ему лучше и схема в RTL не будет такой как рисовал автор.
HardWareMan
28.06.2017, 08:46
AndyD, этим занимается синтезатор: он делает оптимизации. Но именно схемный ввод будет наиболее приближен к результату в RTL.
А нельзя ли вместо обычной клавиатуры сделать PS/2 и добавить TR-DOS и SD-Card интерфейс?
А нельзя ли вместо обычной клавиатуры сделать PS/2 и добавить TR-DOS и SD-Card интерфейс?
Нельзя, т.к. это уже Barabas-128.
Нельзя, т.к. это уже Barabas-128.
Ну пусть будет Barabas-128 :-)
А analysis&synthesis нажимал перед RTL Viewer?
Спасибо, все заработало, можно теперь схему посмотреть.
andykarpov
28.06.2017, 18:08
А нельзя ли вместо обычной клавиатуры сделать PS/2 и добавить TR-DOS и SD-Card интерфейс?
Тогда получится Speccy-2007 :)))
Тогда получится Speccy-2007 :)))
Зато сразу 128 Кб и со звуком. Просто вместо 5 пинов используемых сейчас для клавиатуры, 2 пина пойдут на PS/2, и 3 для SD карты. Только ПЛИСка более емкая нужна будет ...
Ну уже говорили, что пины распределены, конструкция закончена. Создавайте свой клон и отстаньте от автора.
Вот я тоже не пойму, зачем Карабасу PS/2 и прочие свистелки-перделки, он задуман что бы встать в оригинальный ZX корпус, если ориг. корпуса нет, то тогда самое то Speccy-2007 у него размеры очень удобные.
andykarpov
29.06.2017, 16:41
Зато сразу 128 Кб и со звуком. Просто вместо 5 пинов используемых сейчас для клавиатуры, 2 пина пойдут на PS/2, и 3 для SD карты. Только ПЛИСка более емкая нужна будет ...
В природе существуют варианты Speccy 2007 (http://zx-pk.ru/threads/11890-speccy2007-128k-odnoplatnyj-variant.html) сразу со 128 кБ, TR-DOS и звуком.
По быстрому запаял что подруки попалось
И как уселась ЕРМкаhttps://uploads.tapatalk-cdn.com/20170710/d0ce3496d0d5597b5b33faac9d5910a7.jpghttps://uploads.tapatalk-cdn.com/20170710/af29bbd095aa0fad2190b1fbaaede416.jpg
Отправлено с моего JY-S2 через Tapatalk
Запаяв крупные детали потом будет не удобно паять мелочь.
Контактные площадки под Дипы можно было сделать по меньше, олова много уходит, много протекает
https://uploads.tapatalk-cdn.com/20170711/2c2e2aea2824bdf3b1f02b7d3807460a.jpg
Отправлено с моего JY-S2 через Tapatalk
HardWareMan
11.07.2017, 12:17
tank-uk, не площадки а дырки. Я там вижу 0.9 или даже 1.0, а ведь хватает 0.7 или 0.8 (я делаю 0.8 обычно).
Площадки тоже большиеhttps://uploads.tapatalk-cdn.com/20170711/5afe7700f5e41a372de7ba90cbb9b08e.jpg
Отправлено с моего JY-S2 через Tapatalk
- - - Добавлено - - -
NiKa, При желании могу мелочевку запаять как паял на Спринтере , с обратной стороны https://yadi.sk/i/eqAIhNL-sPb23
- - - Добавлено - - -
неплохо сделан земляной полигон в районе стабилизатора ( пальник на низкой мощности "прилипает" )
HardWareMan
11.07.2017, 15:56
неплохо сделан земляной полигон в районе стабилизатора ( пальник на низкой мощности "прилипает" )
Термоотвода нет что-ли?
Наоборот, хорошо рассеивает
Отправлено с моего JY-S2 через Tapatalk
HardWareMan
11.07.2017, 17:50
tank-uk, я хотел сказать, что при заливке контура не задали термомост (или задали слишком большой). Запарился просто.
andykarpov
11.07.2017, 18:30
По поводу SRAM UT621024PC-70LL в корпусе DIP32, которая используется в Карабасе, народ тут жалуется, что проблематично достать эту микруху.
Так вот, я тут погуглил немного, есть, вроде бы, аналоги на замену от разных производителей:
1) HM628128ALP-7 - Hitachi, корпус DIP32, время доступа - 70нс, распиновка совпадает. есть на али, цена вопроса - $10 за лот из 10 шт.
2) LP621024D-70LL - бренд неизвестен, корпус DIP32, время доступа - 70нс, распиновка совпадает. есть на ebay, цена вопроса - $28 за лот из 10 шт.
3) HM628128BLP-7 - более продвинутая версия от Hitachi, параметры те же, что и в версии A (ALP-7)
4) K6T4008C1B-DB55 (или DL55) - Samsung, корпус DIP32, время доступа - 55нс, распиновка совпадает, объем, правда, чуть больше, чем надо, поэтому первую ногу - A18 - прийдется куда-то или заземлить, или к питанию притянуть, A17 - нога 30 и так в порядке притянута куда надо.
5) K6T4008C1B-DB70 (или DL70) - все то же самое, только 70нс.
6) AS6C4008-55PCN - Alliance, DIP32
7) BS62LV1027PC-70 - BSI, DIP32, 70нс
8) BS62LV1027PC-55 - BSI, DIP32, 55нс
9) TC551001CP-70L, Toshiba, DIP32, 70нс
10) любая аналогичная SRAM в корпусе SSOP32 через переходник SSOP32-DIP32
;)
Еще добавлю - Toshiba TC551001CP-70L
ну так у меня через переходник и запаяна IS62C1024-70Q на фото видно, правда переходник широкий, но это не помеха
остался вопрос по TL712, что-то не видно их в продаже, наверное нужно делать так http://microsin.net/images/stories/programming/ZX-Spectrum/TL712-replace-LMV331-sch.png
и еще, если питание платы 9в переменки, по постоянке будет 12.6в без нагрузки, на кой тогда D1 на 12в, если телеку 5в достаточно
а так же какова роль 10в стабилитрона D2 в компараторе
andykarpov
11.07.2017, 21:58
По поводу TL712 - нужно чем-то заменять этот кусок схемы. Где-то на форуме проскакивал вариант на одном транзисторе :) Может его попробовать вместо этого компаратора?
Кстати, на ebay есть предложения: http://www.ebay.com/itm/5pcs-TL712CP-DIP-8-DIFFERENTIAL-COMPARATOR-/252664009578
На aliexpress есть, если искать по подному названию: TL712CP.
если питание платы 9в переменки, по постоянке будет 12.6в без нагрузки, на кой тогда D1 на 12в, если телеку 5в достаточно
а так же какова роль 10в стабилитрона D2 в компараторе
Вопросы не ко мне, я взял куски схемы без изменений отсюда: http://trastero.speccy.org/cosas/JL/Harlequin/superfo1.html
Но, хочу заметить, компаратор без стабилитрона не работает :)
По поводу 12В стабилитрона для телика - нет идей, может телики разные бывают и некоторым 5В мало ? а 12В стабилитрон - это чтоб больше не пошло, чем 12В, ИМХО.
вот статья по сборке Арлекина и в ней схема замены TL712 на LMV331 , автор утверждает что 100% работает http://microsin.net/adminstuff/others/harlequin-rev-g-assembly.html
andykarpov
11.07.2017, 22:54
схема замены TL712 на LMV331
прикольное решение :)
интересно, по стоимости - намного дороже получится, чем новый TL712 у китайцев?
andykarpov, почему дороже ?
вот https://voron.ua/catalog/MS-LMV331ILT
или вот https://voron.ua/catalog/MS-LMV331SE7
правда их пока нет в наличии
а вот и в наличии https://aliot.com.ua/?item=34421&cat=4520
на днях еще на рынке узнаю
andykarpov
11.07.2017, 23:23
tank-uk, ну я к тому, что если разрабатывать микро-платку для замены TL712 на LMV331 - явно получится дороже.
Посему, давайте испытаем данный вариант на заменителе, если прокатит - можно будет выкатить ревизию "B" карабаса с заменой.
Можно еще на одном транзисторе попробовать, тут вообще эконом-вариант получится, если заработает.
Вообще, все хотелки принимаются, такие как:
- заменить компаратор TL712 на что-то более распространенное
- заменить SRAM на SMD-версию, либо предусмотреть оба варианта
- уменьшить пятачки и диаметр отверстий для DIP-микросхем
- полигон для стабилизатора сделать с терморазрывами, чтобы легче было паять
- может еще какие хотелки будут, ну например все компоненты перевести в их SMD-аналоги, что-то куда-нибудь подвинуть, и т.п. ?
- может вместо пал-кодера и RGB-выхода сделать что-то типа VGA на базе ZXKIT1? Вот только с разъемом непонятно, как в стандартную дырку из-под RCA в корпусе поместить VGA выход :( Все упирается в корпус :(
- может DSUB для джойстика куда-нибуть приколхозить?
ЗЫ: кстати, TL712 не хочет загружать игры с турбо-загрузкой.
Это не работает у меня ни на Harlequin'е, ни на Карабасе.
Вероятно, нужно искать другое решение, все-таки ?
andykarpov, если так, то может стоит попробовать компаратор с Ленина48, только вместо двух УД6 и СА3 поставить одну LM393
Заменить TL712 идея хорошая, нужно пробовать разные варианты, у меня кстати игры с турбо-загрузкой идут.
Вот все компоненты перевести в их SMD-аналоги мне кажется не надо, это усложняет процесс сборки для простых любителей.
Насчет полигона для стабилизатора не понял.
Вот джойстик приколхозить надо, он ведь у Superfo есть.
Чтоб не переводить все на SMD можно немного уменьшить расстояние между ножками резисторов и тогда можно паять на выбор либо компактные либо 1206
По поводу полигона - он приличный, но можно сделать универсальное посадочное место чтоб можно было на "болт" посадить ТО-220
Отправлено с моего JY-S2 через Tapatalk
Ещё не понятно зачем такое сложное переключение банков ПЗУ, одного джампера перекидывающего А15 с питания на землю не достаточно?
Отправлено с моего JY-S2 через Tapatalk
tank-uk, Это для поддержки 28C256 я тоже считаю лишним, лучше иметь возможность в 512 банки переключать.
andykarpov
12.07.2017, 08:52
Это для поддержки 28C256 я тоже считаю лишним, лучше иметь возможность в 512 банки переключать.
Да, пожалуй это было лишнее :) И банки переключать в текущей конфигурации не получится :(
Ок, в новой ревизии будет один джампер для переключения банков и поддержка только 27C512.
Да, пожалуй это было лишнее И банки переключать в текущей конфигурации не получится
Ок, в новой ревизии будет один джампер для переключения банков и поддержка только 27C512.
Ну да разводку платы надо изменять.
Я для себя плату уже переделал:
один джампер для переключения банков,
разъемы для подключения внешнего питания,
возможность устанавливать преобразователи напряжений типа 7805,
возможность устанавливать емкость 680uF горизонтально.
кто нибудь из купивших Альтеру уже прошивал ?
у меня "Failed"
Quartus II 10.1sp1 Web Edition (32-Bit)
детектит
Blank-Check
"OK"
добавил karabas_128.pof
Programm/Configure
Start
"Failed"
Verify
"Failed"
Blank-Check
"Failed"
Осталось сдуть с Profi Extender ( у меня один переделан под 7128) и пробовать
и ЛПТешным и ЮэСБишным один и тот же результат
andykarpov
12.07.2017, 12:54
tank-uk, Я пробовал из этой партии, все шьется.
Pull-up резисторы R35-R37 для JTAG запаяны?
+5В на плату подано?
естественно, 3х1к (R35-37) , питание 4.99в
Ща попробую с экстендером местами махнуть
andykarpov
12.07.2017, 13:19
Странно.
Пошел, запаял на чистую плату CPLD из этой партии и JTAG-обвязку, прошилось все норм.
Интересно, а не может такого быть, что Quartus Programmer древний и чего-то в этом pof не понимает?
Я собирал под Quartus II 13.0 Web Edition.
Пошел, запаял на чистую плату CPLD из этой партии и JTAG-обвязку, прошилось все норм.
Ты у китайцев CPLD покупал и по "вкусной" цене?
Если да, то большая вероятность, что это демонтированные чипы и могут спокойно быть залочены. Я такое уже проходил :)
andykarpov
12.07.2017, 14:08
Ты у китайцев CPLD покупал и по "вкусной" цене?
Если да, то большая вероятность, что это демонтированные чипы и могут спокойно быть залочены. Я такое уже проходил :)
Ну да, у китайцев, по вкусной цене, не скажу, что по минимальной, были и более дешевые предложения.
Все чипы на вид новые, непаянные, 2 штуки из этой партии уже запаял и зашил, все норм.
- - - Добавлено - - -
UPD: Запаял еще одну CPLD на чистую платку.
Автодетекты / Blank-check не делал, сразу шил - все шьется и верифицируется.
По поводу ошибок - есть похожее обсуждение из темы про Speccy-2007:#51 (http://zx-pk.ru/threads/12027-speccy2007-sborka-i-naladka.html?p=283443&viewfull=1#post283443) и #53 (http://zx-pk.ru/threads/12027-speccy2007-sborka-i-naladka.html?p=283563&viewfull=1#post283563), #59 (http://zx-pk.ru/threads/12027-speccy2007-sborka-i-naladka.html?p=284150&viewfull=1#post284150) и #60 (http://zx-pk.ru/threads/12027-speccy2007-sborka-i-naladka.html?p=284159&viewfull=1#post284159)
Судя по всему - качество питания при программировании Альтерок очень критично - это раз.
Во-вторых, авто-детект и blank/check вовсе необязательны.
Ну да, у китайцев, по вкусной цене, не скажу, что по минимальной, были и более дешевые предложения.
Все чипы на вид новые, непаянные, 2 штуки из этой партии уже запаял и зашил, все норм.
Ну китайцы уже хорошо научились маркировку новую наносить на старые чипы и ножки очищать.
По себе скажу. Я у китайцев тоже небольшую партию EPM7064 брал и вроде все одной серии и красивые, только некоторые оказались залочены и не прошивались :)
andykarpov
12.07.2017, 14:11
ЗЫ: Я при программировании питаю плату карабаса от ноутбучного USB, как показала практика - это самое качественное питание, которое у меня есть :)
Питание подаю на верхние штырьки разъема ZXKIT1 debug.
Шить альтеру от встроенного стабилизатора Карабаса - не пробовал.
А что альтеру можно залочить так, что даже стереть нельзя?
А что альтеру можно залочить так, что даже стереть нельзя?
На форуме об этом неоднократно писали. Как правило прошивают эти CPLD через JTAG. Но эти же входы можно переназначить на пользовательские, тем самым блокирую дальнейшее перепрошивание.
И стирать в этом случае надо специальными алгоритмами с подачей +12В
в моем случае сначала смутило потребление, при первом включении 680мА, но Альтера отдетектилась, на чистоту проверилась, а шиться отказалась и после нескольких попыток прошить USB бластером, а потом и LPT потребление упало до 310мА , а сама Альтера перестала отвечать, тут же попробовал Profi Extender и он прошился и на 5в и на 3.3в с EPM7128AE
andykarpov
12.07.2017, 19:55
А может сопля где-то была или непропай? А может еще хуже - где-нибудь недотравлены / перетравлены дорожки на плате?
но тогда и АЕшкой что-то случилось бы, а она вернулась здоровой в экстендер
Пока у меня проблема с ЕМРешкой, в ознакомительных целях выкладывают фото собранной платы, с музыкалкой ещё не решил что ставить 8912 или Мегу8, компарратором займусь как все заработает либо LMV331 либо по схеме Ленина, но вместо УД6+СА3 что то типа 4558, переключатель банков ПЗУ уже доработан и почти не заметна сама доработка, пока всеhttps://uploads.tapatalk-cdn.com/20170713/62828408d47c8943a09d43674050bb65.jpghttps://uploads.tapatalk-cdn.com/20170713/ae2bb7c7e515c7b7e2efe195ebb83d42.jpg
Отправлено с моего JY-S2 через Tapatalk
HardWareMan
13.07.2017, 07:39
А вот, кстати, если бы ко мне прислушались (http://zx-pk.ru/threads/6479-dendi-tema.html?p=886394&viewfull=1#post886394), то кодер можно было бы не ставить. Цена - 1 вывод CPLD и примерно 8-12 регистров внутри.
andykarpov
13.07.2017, 08:34
выкладываю фото собранной платы
Пайка шикарная! И платка такая вся разноцветная получилась :)
andykarpov
13.07.2017, 22:54
Кстати, tank-uk, открыл datasheet по MAX7000A, там русским по белому написано:
1) High-performance 3.3-V EEPROM-based
2) Pin-compatible with the popular 5.0-V MAX 7000S devices
3) MultiVoltTM I/O interface enables device core to run at 3.3 V, while I/O pins are compatible with 5.0-V, 3.3-V, and 2.5-V logic levels
4) MAX 7000A (including MAX 7000AE) devices are high-density, high- performance devices based on Altera’s second-generation MAX architecture. Fabricated with advanced CMOS technology, the EEPROM- based MAX 7000A devices operate with a 3.3-V supply voltage and provide 600 to 10,000 usable gates, ISP, pin-to-pin delays as fast as 4.5 ns, and counter speeds of up to 227.3 MHz.
Что наталкивает на мысль, что 5В этому жуку, все же, было многовато, хоть он и умеет при питании ядра от 3.3В работать с 5В уровнями...
И та плата, откуда Вы его сдували для теста, скорее всего была 5-вольтовой, но сам жук должен был питаться от 3.3В.
andykarpov, я ее сдул с древнего ноута, и питание на нем было 5в, на екстендере питание переключено на 5в и работает немного лучше чем 3128
Запаял новую ЕРМку, сразу стартонул, ПАЛ работает, теперь можно заняться звуком и компаратором.https://uploads.tapatalk-cdn.com/20170714/1627f8a74cb687776fc2d527e7b28bfc.jpghttps://uploads.tapatalk-cdn.com/20170714/f557c60eebe23133b2402d778b679eb5.jpg
Отправлено с моего JY-S2 через Tapatalk
И питание от встроенного стабилизатораhttps://uploads.tapatalk-cdn.com/20170714/578ef4eaf4d19e1734f6f306762de579.jpg
Отправлено с моего JY-S2 через Tapatalk
andykarpov
14.07.2017, 11:57
Запаял новую ЕРМку, сразу стартонул, ПАЛ работает, теперь можно заняться звуком и компаратором.
Поздравляю!!!
А желтая полоска на экране - это с матрицей что-то ?
Или Карабас косячит ? :)
ЗЫ: Изыскания с компаратором очень помогут! Вчера нашел у себя завалявшуюся TL712, вставил в прототип Карабаса (тот, что на макетке был собран) - а она почти не работает, игрухи не грузятся, беда в общем. Похоже, полудохлая :( Так что нужна какая-то альтернатива - 100%...
с понедельника поколдую с компаратором, а желтая полоса - отслоение в матрице
В давние времена самый простой и отлично работающий компаратор был на отечественной 1006ВИ1, на современных NE555 это не получается т.к. они КМОП, нужно найти именно биполярный аналог вишки и попробовать.
подключил к большому телеку через PAL и вижу помеху при питании от встроенного стабилизатора, посмотрел осцилом и реально помеха по питанию, скорее всего и с компаратором проблема по этой причине
У кого есть возможность попробуйте вместо TL712 воткнуть LM311 отогнув 5 и 6 ноги и поставив 1к резистор и три перемычки как на картинке, теоретически должно работатьhttps://uploads.tapatalk-cdn.com/20170716/e4cd7ee9ee1d2cb1199472699defbc76.jpg
Отправлено с моего JY-S2 через Tapatalk
HardWareMan
16.07.2017, 11:16
http://savepic.ru/14925304.jpg
HardWareMan, ты сюда поязвить заходишь ?
мог бы с бумаги снять, но с экрана телефоном быстрее
HardWareMan
16.07.2017, 15:29
tank-uk, народ хочет разобраться! (с) Оно у тебя на бумаге или на экране? Тогда на экране чего? Даже если это на экране телефона (сфотографировано телефоном), то это уже фотография, которую легко можно закинуть на комп. Если на экране компа, тогда вообще нет проблемы, верно? Так в чем был заключен сей хитрый план катить колесо?
OrionExt
16.07.2017, 16:03
У кого есть возможность попробуйте вместо TL712... https://uploads.tapatalk-cdn.com/20170716/e4cd7ee9ee1d2cb1199472699defbc76.jpg
Хитро. И что с этим делать?)
Tapatalk от слова тапок-говорит:D
CodeMaster
16.07.2017, 16:38
Так в чем был заключен сей хитрый план катить колесо?
Случаи разные бывают...
OrionExt
16.07.2017, 16:44
Придумал вольный перевод с сообщениями от Tapatalk, видимо у платформы дальше комнатных тапочек дело не пойдет.
заработал компаратор на LM311P(КР521СА3), пробовал загружать пока со смартфона стандартный и турбо загрузчик, загружает ,но уровень со смартфона маловат,
сейчас собираю на макетке ZX-Taper от Trol73, дальше будут полноценные испытания
отгибаем 5 и 6 ножки и запаиваем микруху вместо TL712
с со стороны пайки соединяем 6 и 7 контактные площадки, еще соединяем 1 , 4 и 5 контактные площадки
запаиваем резистор 1к между 7 и 8 ножками
и со стороны деталей прямо к ножкам микросхемы припаиваем 2.2к между 2 и 5 ножками
andykarpov
17.07.2017, 18:54
заработал компаратор на LM311P
Круть!
Кстати, LM311 существует в SO8 корпусе, можно попробовать замену для TL712 сделать на переходнике SO8-DIP8, со всей обвязкой из SMD-компонентов.
Продолбался сегодня пол дня с компараторами и понял что ZX-Taper не предназначен для турбо-загрузки
и на LM311 и на 4069(по схеме PLM-X) и на LM393 все компараторы грузят только нормальный загрузчик и не грузят турбо с ZX-Taper
за то с компа или смартфона турбо грузит без проблем, так что вот такие "пирожки"
andykarpov
18.07.2017, 12:41
ZX-Taper не предназначен для турбо-загрузки
Подтверждаю!
andykarpov
18.07.2017, 15:54
Вспомнил о существовании одного интересного американо-китайского магазина: http://www.futurlec.com
Покупал у них неоднократно всякие редкие (по нынешних временам) штуки.
У них в наличии есть DIP-версии 74-й серии (ALS, HC, HCT), включая SMD-версии, а также SRAM нужного объема и в нужном корпусе для Karabas-128: http://www.futurlec.com/ICRAM.shtml
Более того, вроде как есть аналоги 565РУ7 (41256), может кому надо? :)
Сайт, конечно, старомоден, как и ассортимент на нем. Система заказа (корзина, чекаут, онлайн-оплата) - это вообще жесть :)
Магазин вроде как не работает.
CodeMaster
18.07.2017, 17:54
Магазин вроде как не работает.
Вроде работает, но FF ругается на ошибки Javascript.
andykarpov
18.07.2017, 17:56
Вроде работает, но FF ругается на ошибки Javascript.
Хммм, в Safari все норм, ошибок JS не наблюдаю...
andykarpov, а какая частота клок для AY ? подключил эмуль на меге8 играет какая то лабуда
andykarpov
19.07.2017, 10:02
tank-uk, клок для AY - 1.75МГц.
С реальным AY все работает. Странно, однако.
А Вы этот эмулятор AY еще где-нибудь пробовали на другом железе?
andykarpov, так и шил, странно , вот сейчас на PLM-X миликает и довольно прилично
andykarpov
19.07.2017, 11:52
вот сейчас на PLM-X миликает и довольно прилично
К реализации AY в Карабасе у меня, кстати, были вопросы, код взят без изменений из конфигурации Speccy2007, выглядит примерно так:
AY_CLK <= chr_col_cnt(1);
ay_port <= '0' when N_WR = '1' and N_RD = '1' else
'1' when vbus_mode = '0' and MA(1 downto 0) = "01" else
'0' when vbus_mode = '0' else
ay_port;
AY_BC1 <= '1' when ay_port = '1' and N_M1 = '1' and N_IORQ = '0' and A14 = '1' and A15 = '1' else '0';
AY_BDIR <= '1' when ay_port = '1' and N_M1 = '1' and N_IORQ = '0' and A15 = '1' and N_WR = '0' else '0';
Так вот, есть вопросы по вычислению флажка ay_port.
Более того, компилятор ругался на какую-то циклическую рекурсию в этом месте.
- - - Добавлено - - -
Судя по этой схеме https://zxpress.ru/article.php?id=11995, нужно сделать как-то так:
AY_CLK <= chr_col_cnt(1);
AY_BC1 <= '1' when N_M1 = '1' and N_IORQ = '0' and A14 = '1' and A15 = '1' and A[1] = '0' else '0';
AY_BDIR <= '1' when N_IORQ = '0' and A15 = '1' and A[1] = '0' and N_WR = '0' else '0';
Поправьте, если не прав. Проверить в ближайшую неделю не будет возможности.
- - - Добавлено - - -
UPD: закоммитил новый karabas_128.pof (https://github.com/andykarpov/karabas-128/raw/master/cpld/karabas_128.pof) в git, просьба проверить.
solegstar
19.07.2017, 12:16
Судя по этой схеме https://zxpress.ru/article.php?id=11995, нужно сделать как-то так:
по схеме на zxpress да, вроде так.
я у себя делал чуть по другому. это из прошивки платы периферии Profi 5.06:
fon <= '0' when adress(15)='1' and adress(1)='0' and iorqge='0' and iorq='0' and m1='1' else '1';
bc1 <= '1' when adress(14)='1' and fon='0' else '0';
bdir <= '1' when wr='0' and fon='0' else '0';
разница в том, что М1 добавлен также и в BDIR, как в исходном варианте прошивки карабаса. еще, если со слота расширения приходит iorqge, его желательно тоже ввести в дешифратор, чтобы небыло проблем, т.к. дешифрация музпроца короткая.
andykarpov, конфа вроде работает, у меня наверное мега8 косячит, прошил ту же прошу что и PLM-X , в одном канале подзванивает, но в общем то терпимо, поставлю 8912, а эмуль в профик пойдет
andykarpov
19.07.2017, 12:50
UPD: С подачи solegstar добавил BUS_N_IORQGE и N_M1 в дешифрацию AY: karabas_128.pof (https://github.com/andykarpov/karabas-128/raw/master/cpld/karabas_128.pof)
8912 четко заработал
- - - Добавлено - - -
резистор R30 лучше заменить перемычкой, с ПАЛ выхода картинка слишком темная
andykarpov
19.07.2017, 13:36
резистор R30 лучше заменить перемычкой, с ПАЛ выхода картинка слишком темная
Хм, может дело не в резисторе, а еще в чем-то, может ДО пал-кодера не те характеристики у входного сигнала?
Резистор 75Ом как бы нужен, более того - он в референсном даташыте есть:
61689
и еще компаратор на 4069 почему-то работает лучше чем на 311 и 393
Вот такойhttps://uploads.tapatalk-cdn.com/20170719/c5c1c61949186895219c418358db584c.jpg
Отправлено с моего JY-S2 через Tapatalk
andykarpov
19.07.2017, 13:54
и еще компаратор на 4069 почему-то работает лучше чем на 311 и 393
Так это же почти что классическая схема читалки для Ленинграда на ЛН2 ? :)
Вообще, мне эта схема нравится больше, чем на аналоговом компараторе.
Наверное окончательный вариант, хотя LM2596 шумит на PAL-кодерhttps://uploads.tapatalk-cdn.com/20170719/67fd4cf46ed946c96b89ad17990aea11.jpghttps://uploads.tapatalk-cdn.com/20170719/30437e6e992956e69cf067a06bcd7481.jpg
Отправлено с моего JY-S2 через Tapatalk
andykarpov
19.07.2017, 14:25
Наверное окончательный вариант, хотя LM2596 шумит на PAL-кодер
Круто! И даже - без МГТФ :)))
По поводу шума от LM2596 - может попробовать для AD724 по питанию (на аналоговый VCC) фильтр соорудить ? Дроссель или ferrite bead + фильтрующие конденсаторы на 4 ногу?
дорогу не резал, а на самой АДешке висит 100нФ+150мФ, значительно лучше, но все равно цвета немного мерцают, возможно дроссель по питанию и поможет
- - - Добавлено - - -
лупонул дорожку между IC5 и C12, подцепил дроссель 4.7мкГн, прямо на IC11 повесил кондеры 100нФ+150мкФ
питание аналоговой части чистое, помех по ПАЛу не почти нет
Порез и дроссельhttps://uploads.tapatalk-cdn.com/20170719/795450a5b8ea49a31afa25b10b01c967.jpghttps://uploads.tapatalk-cdn.com/20170719/5502373933ddde50aa6301b89ae88353.jpg
Отправлено с моего JY-S2 через Tapatalk
По поводу помех по питанию на выходе LM2596 - конденсатор на выходе стоит далеко, надо его ставить сразу после дросселя, а потом уже разветвление на схему - вверх и вниз.
Сейчас получается конденсатор вообще внизу, к нему длинная дорожка. Разветвление вверх платы сразу же после дросселя.
Посмотрите Harlequin G, там кондер стоит сразу на выходе и от него разветвление вниз и вверх.
Еще я бы поставил вместо C17 подстроечный конденсатор, все равно бегунки на цветах будут, но их можно будет подрегулировать немного.
По поводу помех по питанию на выходе LM2596 - конденсатор на выходе стоит далеко, надо его ставить сразу после дросселя, а потом уже разветвление на схему - вверх и вниз.
Сейчас получается конденсатор вообще внизу, к нему длинная дорожка. Разветвление вверх платы сразу же после дросселя.
Посмотрите Harlequin G, там кондер стоит сразу на выходе и от него разветвление вниз и вверх.
Еще я бы поставил вместо C17 подстроечный конденсатор, все равно бегунки на цветах будут, но их можно будет подрегулировать немного.С дросселем и кондерами все чисто, да и ПАЛ работает чётко, без помех , может конечно у меня квац чётко попалhttps://uploads.tapatalk-cdn.com/20170719/03e304bbf48a37f57788a28d842755da.jpghttps://uploads.tapatalk-cdn.com/20170719/3bd40af46d49185b5d437a98d2ce07da.jpg
Отправлено с моего JY-S2 через Tapatalk
andykarpov
20.07.2017, 15:35
По поводу помех по питанию на выходе LM2596 - конденсатор на выходе стоит далеко, надо его ставить сразу после дросселя, а потом уже разветвление на схему - вверх и вниз.
Сейчас получается конденсатор вообще внизу, к нему длинная дорожка. Разветвление вверх платы сразу же после дросселя.
Посмотрите Harlequin G, там кондер стоит сразу на выходе и от него разветвление вниз и вверх.
Еще я бы поставил вместо C17 подстроечный конденсатор, все равно бегунки на цветах будут, но их можно будет подрегулировать немного.
Спасибо за комментарии, обязательно учту все эти нюансы в плате rev.B.
Интересует, какой емкости и тип корпуса выбрать в качестве подстроечного конденсатора для PAL-кодера?
HardWareMan
20.07.2017, 15:50
А что, современные строители букварями принципиально не пользуются?
http://savepic.ru/14950552.png
Спасибо за комментарии, обязательно учту все эти нюансы в плате rev.B.
Интересует, какой емкости и тип корпуса выбрать в качестве подстроечного конденсатора для PAL-кодера?
Сложно сказать.
Обычно такие импортные ставят.
https://www.chipdip.ru/product/tz03z100f169
Думаю, что на 30pF будет нормально.
Но у них проблема - крутить их сложно без специальной отвертки.
Есть еще такие SMD, не знаю , легко ли их крутить, не пробовал.
https://www.chipdip.ru/product/tzb4p300ba10
andykarpov
23.07.2017, 12:23
Закоммитил новую ревизию (https://github.com/andykarpov/karabas-128) платы Karabas-128 rev.B.
Что нового:
1) Переразведен стабилизатор согласно datasheet и советам MV1971
2) В схему PAL-кодера добавлен дроссель (предусмотрен выводной и smd 0805 варианты) по питанию + электролит + керамика
3) Убрана перемычка выбора стандарта для PAL-кодера, теперь только PAL :)
4) Оставлена поддержка только 27c512, соотв. перемычка осталась одна, которой можно переключать банки ПЗУ
5) Увеличена толщина дорожек питания в аналоговой части
6) Для DIP-корпусов уменьшены диаметры отверстий и изменена форма контактов
7) Вместо компаратора на TL712 реализован компаратор на CD4069
8) Гнездо для композитного выхода - увеличены диаметры отверстий, добавлено доп. отвертстие для земляного контакта
9) Добавлен переменный конденсатор для тонкой настройки кварца для PAL-кодера
10) Добавлен опциональный индикаторный светодиод питания (smd 0805 + резистор 0805)
11) Для электролита C34 предусмотрена лежачая версия
В производство плату пока не отправляю, пусть отлежится :)
Если у кого какие замечания есть - принимаются, еще не поздно что-то подкорректировать.
http://i.piccy_.info/i9/0c7d7f74571e4ffaefa1f06e842d156b/1500801644/114512/1127497/progress13_800.jpg (http://piccy_.info/view3/11401641/ee36d6e3c7c139162315f3fc0af57581/1200/)http://i.piccy_.info/a3/2017-07-23-09-20/i9-11401641/800x500-r/i.gif (http://i.piccy_.info/a3c/2017-07-23-09-20/i9-11401641/800x500-r)
solegstar
23.07.2017, 16:43
andykarpov, возможно стоит предусмотреть стабилизатор на 3.3В для питания cpld epm3128, как вариант замены. еще в рев.а я нашел только одну тонкую дорогу для питания cpld, которая через ногу cpld и далее через переходное отверстие переходит в толстую дорогу на нижнем слое, есть еще где-то дороги питания, которые в сумме делают ширину дороги питания под cpld? или это единственная дорога питания через вывод cpld, которая потом переходит в широкую, еще и через переходное отверстие?
andykarpov
23.07.2017, 16:58
andykarpov, возможно стоит предусмотреть стабилизатор на 3.3В для питания cpld epm3128, как вариант замены. еще в рев.а я нашел только одну тонкую дорогу для питания cpld, которая через ногу cpld и далее через переходное отверстие переходит в толстую дорогу на нижнем слое, есть еще где-то дороги питания, которые в сумме делают ширину дороги питания под cpld? или это единственная дорога питания через вывод cpld, которая потом переходит в широкую, еще и через переходное отверстие?
solegstar, идея для стабилизатора 3.3В - принимается! То есть ядро будет питаться от 3.3В, а уровни на входах / выходах такая epm3128 сможет поддерживать / сделать 5-вольтовыми ?
И да, в ревизии A с питанием для EPM чуток косячно вышло, дорога одна, тонкая, с переходным отверстием на пути...
В ревизии B уже сделал норм толщины дорогу до самой EPM, правда тоже с перепрыгиванием через слои в одном месте. Но увеличил диаметр переходного отверстия, это ж должно помочь, надеюсь?
HardWareMan
23.07.2017, 18:39
Никто не мешает поставить больше одного пистона.
solegstar
23.07.2017, 19:22
уровни на входах
толлерантны к +5В. уровни на выходах будут 3.3В, но это не проблема для 5В входов микросхем.
andykarpov
23.07.2017, 19:24
UPD: Добавил LDO на 3.3В, еще немного причесал питание к EPM:
http://i.piccy_.info/i9/bceafcdce60b15b377341a3bca8b4ddb/1500826963/140878/1127497/progress13_800.jpg (http://piccy_.info/view3/11402864/817bcf1b9f07d7d2975589da31f03d48/1200/)http://i.piccy_.info/a3/2017-07-23-16-22/i9-11402864/800x500-r/i.gif (http://i.piccy_.info/a3c/2017-07-23-16-22/i9-11402864/800x500-r)
http://i.piccy_.info/i9/3dcdc52112ce86e65aa9b6bc86805003/1500826988/113993/1127497/progress13b_800.jpg (http://piccy_.info/view3/11402866/38719514a5ff03cc27924b297f64062b/1200/)http://i.piccy_.info/a3/2017-07-23-16-23/i9-11402866/800x500-r/i.gif (http://i.piccy_.info/a3c/2017-07-23-16-23/i9-11402866/800x500-r)
andykarpov
23.07.2017, 23:17
толлерантны к +5В. уровни на выходах будут 3.3В, но это не проблема для 5В входов микросхем.
Это не проблема для 5В входов микросхем, но может быть проблемой для сигналов RGBI + sync. Возможно, прийдется пересчитывать делители ? Проверить можно будет только опытным путем :)
andykarpov, У вас во всех ревизиях отзеркалены контакты разъема RGB Mini-Din, или я опять не туда смотрю.
61777
solegstar
24.07.2017, 10:09
Проверить можно будет только опытным путем
думаю скоро проверю. :)
andykarpov
24.07.2017, 10:10
andykarpov, У вас во всех ревизиях отзеркалены контакты разъема RGB Mini-Din, или я опять не туда смотрю.
NiKa, спасибо большое за находку, так и есть... Я этот выход вообще не проверял, ибо не на чем :)
Посему понадеялся, что с ним таки все в порядке.
Вот так после этого доверять чужим компонентам...
В схеме - правильно, на плате - правильно, а связи между компонентом на схеме и пятаками для платы - были неправильные (отзеркаленные)...
Правлю. Еще нашел момент - экран этого mini-din 8 никуда не был подключен...
С одной стороны - не страшно, ибо стандарта на распиновку никакого нет, каждый делает так, как ему удобно.
С другой стороны - недокументированная фича, то есть имеются расхождения схемы с реальным положением дел...
Еще раз спасибо! Чуть позже выложу обновление для ревизии B.
Anubis_OD
24.07.2017, 10:30
Опс.. вот с питанием еще ладно. а отзеркаленный разьемчик.. а у меня кабель есть готовый под это..
подожду ревизию Б платы, если будет.. правда сдувать придется теперь CPLD-шку.
andykarpov
24.07.2017, 10:32
UPD: закоммитил в git обновленную (исправленную) версию платы ревизии B (правильный pinout для RGB-выхода). Thanks to NiKa.
http://i.piccy_.info/i9/d968fb288527fa8d00573ea62293721b/1500881440/139778/1127497/progress13_800.jpg (http://piccy_.info/view3/11404208/2455df08933df83ec52a3347c93fa7e4/1200/)http://i.piccy_.info/a3/2017-07-24-07-30/i9-11404208/800x500-r/i.gif (http://i.piccy_.info/a3c/2017-07-24-07-30/i9-11404208/800x500-r)
Anubis_OD
24.07.2017, 10:33
И еще увидел.. мелочь конечно
но в BOM
8 x 10k 1 resistor network, common pin 1 RN1, RN3
указано что 1шт.. надо 2
andykarpov
24.07.2017, 10:40
Опс.. вот с питанием еще ладно. а отзеркаленный разьемчик.. а у меня кабель есть готовый под это..
подожду ревизию Б платы, если будет.. правда сдувать придется теперь CPLD-шку.
Сорри, недоглядел-с...
Не стоит сдувать, если очень хочется RGB под Ваш кабель - я думаю проще перекромсать дорожки для RGB на самом Mini-Din-8.
С верхней стороны платы отрезать 7 дорожек, с нижней - одну и кинуть N перемычек из МГТФ для "правильного" соединения.
Anubis_OD
24.07.2017, 10:45
И еще 2 копейки про BOM
собирая какую то свою схемку я долго провозился с классическим генератором на КМОП 04 схеме.
Не работало и всё .. погуглил. оказывается проблема известная.
и есть специально для этого применения HCU04. микросхема без буферизированного выхода
TI даже специальный мануал выпустило по применению и расчету:
http://www.ti.com/lit/an/szza043/szza043.pdf
http://www.ti.com/lit/an/scla007a/scla007a.pdf
- - - Добавлено - - -
Сорри, недоглядел-с...
Не стоит сдувать, если очень хочется RGB под Ваш кабель - я думаю проще перекромсать дорожки для RGB на самом Mini-Din-8.
С верхней стороны платы отрезать 7 дорожек, с нижней - одну и кинуть N перемычек из МГТФ для "правильного" соединения.
Ну тут я подожду.. Если платы рев Б не будет, то так и сделаю..
andykarpov
24.07.2017, 10:46
И еще увидел.. мелочь конечно
но в BOM
8 x 10k 1 resistor network, common pin 1 RN1, RN3
указано что 1шт.. надо 2
Да, спасибо! Я видел этот баг в BOM :) Исправлено.
andykarpov, Схему подключения изменили, а расположение (сдвиг) контакта нет.
andykarpov
24.07.2017, 11:47
andykarpov, Схему подключения изменили, а расположение (сдвиг) контакта нет.
Я думаю тот, кто делал библиотеку для этого компонента - сделал это умышленно.
Разъем mini-din вставляется в посадочное место без проблем, при этом не выпадает при переворачивании платы для запаивания.
Многие производители так делают, включая SparkFun Electronics, например ;) У них есть версии компонтов нормальные, а есть с небольшим сдвигом контактов относительно друг друга, например для всяческих больших (длинных) гребенок (pin headers).
Если этот момент принципиален и хочется перфекционизма - можно подвигать контакты Mini-Din :)
andykarpov
24.07.2017, 14:31
andykarpov, Схему подключения изменили, а расположение (сдвиг) контакта нет.
Открыл на всякий случай datasheet на этот разъм, судя по доке - так и должно быть ? :)
http://i.piccy_.info/i9/01744f40028a8465bfe1363439819b08/1500895837/53808/1127497/Screenshot_at_yiulia_24_14_30_16.png (http://piccy_.info/view3/11405113/c323fa216a4e4b808a95720c03ab2502/)http://i.piccy_.info/a3/2017-07-24-11-30/i9-11405113/787x239-r/i.gif (http://i.piccy_.info/a3c/2017-07-24-11-30/i9-11405113/787x239-r)
На данном рисунке разъем изображен правильно при виде снизу, а нумерация выводов как при виде сверху. У меня нет даташита, я сравнивал с Арлекином.
andykarpov
24.07.2017, 19:43
На данном рисунке разъем изображен правильно при виде снизу, а нумерация выводов как при виде сверху. У меня нет даташита, я сравнивал с Арлекином.
Может не париться, сделать одинаковые расстояния между выводами ?
А разъем встанет в любом случае.
Я когда запаивал разъем на плату rev.A, даже не почувствовал подвоха с этими дырками, все встало как по маслу :)
- - - Добавлено - - -
Судя по фото, там вообще непонятно, смещение есть в центральном ряду, но одинаковое, не так, как по datasheet'у :)
https://ae01.alicdn.com/kf/HTB1O8UTPpXXXXb7XXXXq6xXFXXXz/10pcs-lot-MD-Housing-Female-font-b-DIN-b-font-font-b-8-b-font-font.jpg
Сегодня получил с АлиЭкспресс EPM7128, все по разному маркированы, осталось дождаться плату и будем пробовать.
andykarpov
26.07.2017, 09:18
получил с АлиЭкспресс EPM7128, все по разному маркированы
Это как? Из разных партий или способ маркировки разный???
Это как? Из разных партий или способ маркировки разный???
И партии разные и маркировка, только две с одинаковой маркировкой, короче китайцы берут их из большой бочки и насыпают купившим, что попало.
HardWareMan
26.07.2017, 15:20
NiKa, а ты их проверял хоть? Часто они с залоченным житагом идут.
NiKa, а ты их проверял хоть? Часто они с залоченным житагом идут.
Как же я их проверю не запаивая в плату?
NiKa, я у этого продавца брал разные микрухи , и только одна от него мне попалась тухлая (кодек для спринтера) , но мне нужна была одна, а пришло 5 из них одна тухлая, Плисы для спринтера у него брал, спринтер завелся сразу
Да я и не переживаю, у нас в магазине я бы мог купить только одну плисину за эту цену.
andykarpov
30.07.2017, 18:57
Спаял на переходнике SO8-DIP8 заменитель компаратора TL712 на LM311 (по схеме tank-uk):
Работает отлично, не хуже, чем TL712 :)
На переходнике режется 2 дороги, остальное соединяется перемычками, резистор на 1к формфактора 0603 навешивается прямо на пины, резистор 2k2 - вместе с проводочком до нужного пина.
Фото:
http://i.piccy_.info/i9/0bef2fdf9544a4ea3b256c1fe9e6f91a/1501430067/117181/1127497/IMG_20170730_183943_HDR_800.jpg (http://piccy_.info/view3/11423900/efb87ba465011f2ed4820d7aea16ffa0/1200/)http://i.piccy_.info/a3/2017-07-30-15-54/i9-11423900/566x755-r/i.gif (http://i.piccy_.info/a3c/2017-07-30-15-54/i9-11423900/566x755-r)
andykarpov
30.07.2017, 23:12
UPD: Закоммитил в git новую прошивку для CPLD.
Почему-то полная дешифрация порта #FE с подключенной периферией (контроллером BDI) глючила.
Сделал укороченную - все стало работать норм.
Ничего не понимаю, думаю - нужна помощь зала :)
Было:
port_access <= '1' when N_IORQ = '0' and N_RD = '0' and N_M1 = '1' and BUS_N_IORQGE /= '1' else '0';
D(7 downto 0) <= '1' & ear & '1' & KB(4 downto 0) when port_access = '1' and A(7 downto 0) = "11111110" else -- #FE
attr_r when port_access = '1' and A(7 downto 0) = "11111111" else -- #FF
"ZZZZZZZZ";
Стало:
port_access <= '1' when N_IORQ = '0' and N_RD = '0' and N_M1 = '1' and BUS_N_IORQGE /= '1' else '0';
D(7 downto 0) <= '1' & ear & '1' & KB(4 downto 0) when port_access = '1' and A(0) = '0' else -- #FE
attr_r when port_access = '1' and A(7 downto 0) = "11111111" else -- #FF
"ZZZZZZZZ";
#FE: bXXXXXXXX_1XX11X10 с полной адресацией он и не работает, там же меняются биты адреса при проходе по клавиатуре или ПЗУ там как-то не так порт выбирает, по нулевому биту тоже не лучший вариант, т.к. могут быть конфликты
а #FF вроде так bXXXXXXXX_1XXX1111
и не дос у обоих
shurik-ua
31.07.2017, 01:17
там же меняются биты адреса при проходе по клавиатуре
так то старший байт адреса меняется - а младший всегда 0хFE.
мистика какая-то - или ПЗУ какие-то само(криво)писные.
попробуй убрать iorqge из формирования сигнала port_access
andykarpov
31.07.2017, 12:15
#FE: bXXXXXXXX_1XX11X10 с полной адресацией он и не работает, там же меняются биты адреса при проходе по клавиатуре или ПЗУ там как-то не так порт выбирает, по нулевому биту тоже не лучший вариант, т.к. могут быть конфликты
а #FF вроде так bXXXXXXXX_1XXX1111
про A15:A8 понятно, эти биты участвуют при проходе клавиатуры и их анализировать при дешифрации порта #FE не нужно.
Вопрос: а зачем делать для A7:A0 1XX11X10 ? В чем тайный смысл такого попустительства?
и не дос у обоих
Это обязательно?
Разве в оригинальных 128к моделях ULA так себя ведет? Она вообще про DOS ничего не знает, а внешний BDI-контроллер при этом воткнуть можно.
попробуй убрать iorqge из формирования сигнала port_access
Не помогает.
по нулевому биту единственно рассово верный, остальное - от лукавого.
Вот кому верить ? Непонятно :)
shurik-ua
31.07.2017, 12:32
значит БДИ гадит на шину когда не надо )
про A15:A8 понятно, эти биты участвуют при проходе клавиатуры и их анализировать при дешифрации порта #FE не нужно.
Вопрос: а зачем делать для A7:A0 1XX11X10 ? В чем тайный смысл такого попустительства?
Разве в оригинальных 128к моделях ULA так себя ведет? Она вообще про DOS ничего не знает, а внешний BDI-контроллер при этом воткнуть можно.
Вот кому верить ? Непонятно :)
На счет #FE честно не скажу почему так, где-то вычитал, потом проверил на своей разработке, все конфликты пропали.
В оригинальном IORQ же блокируется самим BDI, не знаю, может не блокируется у вас или еще чего... я с #FF намучился, пока не отключил его на время DOS
UPD:
а вот в ULA вот так
if (A[0]==0 && io_we==1) begin
andykarpov
31.07.2017, 16:25
а вот в ULA вот так
if (A[0]==0 && io_we==1) begin
То есть дешифрация #FE все-таки только по A0 = 0?
У меня это работает, но почему-то жду подвоха :)
"Thus, the 48K ULA, which responds to all even port addresses, is often referred to as Port 0xfe, rather than the full 16-bit port 0xfffe."
Port: ---- ---- ---- ---0
Hardware Ports (http://www.worldofspectrum.org/faq/reference/ports.htm)
solegstar
31.07.2017, 18:26
То есть дешифрация #FE все-таки только по A0 = 0?
так-то да, но меня больше смущает, что io_we==1... он что, /rd==0 не учитывает?
еще странно, что изменения на порт FE повлияли на работоспособность компа.
С вгшкой пересекается только "порт FF", если его так можно назвать. у "порта FF" компа нет как такового адреса дешифрации, и тем более - это не отдельное устройство. атрибуты должны читаться не только при ША = FFh, но и по другим несуществующим портам. как правило, это делается доп. регистром у которого на входе всё тот же байт памяти, запись в регистр при записи байта атрибутов в основной регистр атрибутов и подключение выходов регистра на ШД проца при активном папере и обязательно развязка резисторами 680 Ом с ШД проца.
У контроллера дисковода порт FF (один из портов BDI (http://speccy.info/%D0%9A%D0%B0%D1%80%D1%82%D0%B0_%D0%BF%D0%BE%D1%80% D1%82%D0%BE%D0%B2_ZX_Spectrum#Beta_Disk_Interface) ) есть только на запись. может ВГшке сносит крышу от этого?
насчет порта FE на запись - тут тоже только по одному А0. если делать полную дешифрацию, то не будут работать кое-какие эффекты в демках (а может и еще где) - одновременное обращение к портам FE и 7FFD. вот тут (http://zx-pk.ru/threads/27868-rasskazhite-pro-scorpion-pozhalujsta/page2.html)goodboy рассказывал об этом.
shurik-ua
31.07.2017, 18:49
ещё меня смущает эта строчка
BUS_N_IORQGE /= '1'
почему было не написать BUS_N_IORQGE = '0' ?
потому что под определение "не равно 1" подходит и 'Z состояние'.
Тип STD_LOGIC
Типы STD_LOGIC является перечислимым типом. Объекты типа STD_LOGIC могут принимать 9 значений: '0', '1', 'Z', '–', 'L', 'H', 'U', 'X', 'W'.
Для синтеза логических схем используются только первые четыре:
'0' – логический "0";
'1' – логическая "1";
'Z' – третье состояние;
'–' – не подключен.
HardWareMan
31.07.2017, 19:38
zebest, все верно, ведь с самого начала этот вариант и был обозван велосипедом. И меня даже на него приглашали (http://zx-pk.ru/threads/25682-samodelnyj-kompyuter-na-z80-i-ne-tolko.html?p=913468&viewfull=1#post913468).
solegstar
31.07.2017, 19:42
с самого начала этот вариант и был обозван велосипедом.
ну и ничего, допилим конфу. проблем-то. :)
так-то да, но меня больше смущает, что io_we==1... он что, /rd==0 не учитывает?
как-то так там
assign io_we = nIORQ==0 && nRD==1 && nWR==0;
UPD: источник собственно здесь http://baltazarstudios.com
andykarpov
01.08.2017, 07:11
У контроллера дисковода порт FF (один из портов BDI) есть только на запись. может ВГшке сносит крышу от этого?
Надо будет оторвать этот #FF и попробовать еще раз, чтобы экспериментально подтвердить либо опровергнуть догадку :)
почему было не написать BUS_N_IORQGE = '0' ?
потому что под определение "не равно 1" подходит и 'Z состояние'.
Сигнал BUS_N_IORQGE приходит с краевого слота и по-умолчанию притянут к земле. Поэтому так, Z-состояния у него не может быть в принципе :)
вот только zebest еще как года полтора назад потоптался по этим граблям. ну зато в Speccy2010 тогда же для себя любимого и исправил выборку порта #FE.
А ткните носом, плз, в пост на форуме или в исходники проекта, хочется на правки посмотреть :)
andykarpov
01.08.2017, 22:01
хоть оригинальной, хоть под Pentagon, Tiboh вроде расковырял эффект, ну и потом кто то объяснял, почемуу она неправильно работает из за дешифрации порта. Как то так
Я что-то никакой особо разницы не заметил, если честно, что при полной дешифрации (по A7...A0 = 11111110), что при частичной (по A0=0), как на чтение, так и на запись порта #FE. Только глюк с BDI-контроллером исчез: при подсоединенном контроллере на клавиатуре нажимались произвольные кнопки.
Оставлю пожалуй так как есть. Закоммичено в git.
#при подсоединенном контроллере на клавиатуре нажимались произвольные кнопки.#
У меня такое и без BDI наблюдается при питании 5в, при понижении питания до 4,8в глюк исчезает
осталось разобраться как на LMке понизить питание, скорее всего придется ставить LM7596-ADJ
кстати, подключил ZX-Taper на прямую без компаратора и делителей, с Меги128 напрямую на Альтеру и эфект тот же, грузится все кроме Турбо-загрузок ( сверх быстрых 40-секундных, более медленные не проверял), с ББ и смарта грузит все через 4069
После LM-ки можно поставить мощный диод Шоттки, на нем упадет 100-200mV.
После LM-ки можно поставить мощный диод Шоттки, на нем упадет 100-200mV.
это понятно, но ADJ наверное будет лучше
andykarpov
02.08.2017, 11:15
#при подсоединенном контроллере на клавиатуре нажимались произвольные кнопки.#
У меня такое и без BDI наблюдается при питании 5в, при понижении питания до 4,8в глюк исчезает
осталось разобраться как на LMке понизить питание, скорее всего придется ставить LM7596-ADJ
Хммм, но это очень странное решение проблемы - понижать питание, немного сбоку :)
ИМХО, все должно работать как часы при 5В, а проблема была (надеюсь) только в программной части (CPLD).
Не пробовали вливать последнюю прошивочку из git?
кстати, подключил ZX-Taper на прямую без компаратора и делителей, с Меги128 напрямую на Альтеру и эфект тот же, грузится все кроме Турбо-загрузок ( сверх быстрых 40-секундных, более медленные не проверял), с ББ и смарта грузит все через 4069
У меня тоже с ZX-Taper не получалось загрузить никакие Турбо-загрузки, пробовал разные.
А со смартфона грузится на ура. Это на компараторе LM311.
Новую конфу ещё не лил, тролл сказал что у него тоже турбо не работает, сказал попробует разобраться
Отправлено с моего JY-S2 через Tapatalk
solegstar
24.08.2017, 18:32
Приветствую пользователей замечательной реплики "Karabas-128". Некоторое время назад, я получил от tank-uk подарок, плату Карабаса-128, и решил его собрать на TTL-логике - на 1533 и 555 серии. Собрал можно сказать из того, что было. Плата абсолютно не критична к номиналам. Собрал пока без Pal coder`a и AY8912. SRAM поставил K6X4008C1F-BF55 на 512кб в корпусе SOP32, та, которая была в наличии. Пришлось сделать адаптер под DIP32. Выводы микросхемы пришлось загнуть под её корпус, из-за того, что корпус был широкий и выводы в полную длину заходили на выводы DIP32 платы.
http://savepic.net/9764377.jpg
Плата запустилась сразу, без проблем и глюков. Были небольшие помехи по питанию, но проблема решилась установкой конденсатора 330uF рядом с выходным дросселем. Как раз удобно проходит дорожка питания и земли.
http://savepic.net/9715225m.jpg (http://savepic.net/9715225.htm)
Далее, захотелось экспериментов - расширения памяти и чего-то еще :), но свободных выводов у ПЛИС не оказалось. Пришлось пораскинуть мозгами. :) Сначала я положил глаз на два вывода, отвечающие за магнитофоный интерфейс, но как-то рука не поднялась его ломать, тем более - плата разрабатывалась под фирменный корпус, хотелось сохранить все разъемы рабочими. Скачав прошивку, проанализировав её, было решено вынести порт клавиатуры и магнитофона наружу на отдельном буфере. Сначало это была ИР37, но потом, чтобы не плодить еще номиналов микросхем, стала АП6 (74ALS245). Если собрано на КМОП, то соотв. 74HC245, как и остальные по схеме. Тем самым освободив 5 ног ПЛИС, которые отводились под клавиатуру KB0-KB4, а вывод ПЛИС, отвечающий за цифровой вход магнитофона превратился в выход дешифратора порта FE на чтение, который идет на подключение выходов внешнего регистра. Далее по схеме во вложении, думаю будет понятнее. SRAM на 512кб, поэтому понадобились еще два бита для управления полным объемом. Для расширения был выбран порт 7ffd, т.к. он уже был в прошивке, оставалось только добавить старшие два бита ШД. Подправить мультиплексор страниц и вывести это всё наружу через бывшие входы KB0 и KB1. Также от автора реплики, andykarpov, я получил на время экспериментов zx BDI 2.0 для фирменных машин. Всё как ни странно заработало:
http://savepic.net/9711135m.jpg (http://savepic.net/9711135.htm) http://savepic.net/9701919m.jpg (http://savepic.net/9701919.htm) http://savepic.net/9761310m.jpg (http://savepic.net/9761310.htm) http://savepic.net/9749022m.jpg (http://savepic.net/9749022.htm) http://savepic.net/9746974m.jpg (http://savepic.net/9746974.htm) http://savepic.net/9735710m.jpg (http://savepic.net/9735710.htm)
Расширение памяти прошло легко, без особых проблем, и захотелось 1мб :) а то ни туда, ни сюда с этими 512кб. :) И настало время корпуса:
http://savepic.net/9702942m.jpg (http://savepic.net/9702942.htm)
Так как все доработки до 512кб оказались довольно высокими из-за запайки колодок под микросхемы и всяких переходных адаптеров и микросхем на "втором этаже", корпус мне не получилось закрыть, потому-что высота очень ограничена, было решено проверить доработку на 1мб и потом думать, как закрыть корпус и полностью упорядочить доработки. Так как пока это только проверка возможности расширения памяти на данной плате. Второй адаптер для доп. 512кб я сделал под полноценный размер чипа памяти, без его деформации. планировал пока проверить на проводах, уже точно зная, что не влезу в высоту, так или иначе. Эту конструкцию в сборе я пожалуй показывать не буду... :) только результаты работы:
http://savepic.net/9703953m.jpg (http://savepic.net/9703953.htm) http://savepic.net/9763344m.jpg (http://savepic.net/9763344.htm)
и сам адаптер
http://savepic.net/9749008m.jpg (http://savepic.net/9749008.htm)
Для расширения памяти до 1мб была дописана прошивка и на этот раз я использовал порт Профи DFFD. мне он привычнее и под этот порт и его 1мб сделано очень много программ. никто не мешает в прошивке сделать другой порт управления расширенной памятью, по скорпиону, каю или еще какой экзотике.
Далее я заказал на али чипы памяти в DIP32 корпусе и как приедут, буду их ставить вместо адаптеров, выпаивать колодки и впаивать микросхемы, чтобы уменьшить высоту деталей и наконец-то полностью закрыть корпус! :)
схема доработки. (https://www.dropbox.com/s/md3y15kfgfrorcc/mod_sch.pdf?dl=0&raw=1)
Прошивка для 1мб.
62075
Исходники прошивки будут доступны чуть позже, надо согласовать с автором платы, как их оформить в общий доступ. если кто-то надумает делать расширение памяти - обращайтесь, подскажу, что знаю.
PS: Хочу отдельно поблагодарить AndyKarpov за такую разработку и поддержку в сборке и обеспечении девайсами для проверки платы, очень легкая в сборке машинка, я честно, не ожидал. Tank-uk за подарок, дельные советы по сборке и за знакомство с платой, а также за описание процесса наладки платы на форуме. Иногда меня надо вот так вот пинать. :) alk0v`у за оригинальный корпус с клавиатурой!
Собрал сегодня Карабаса, долго плясал с бубном но так и не смог USB-Blaster заставить работать под десяткой, пришлось переходить на XP, Альтера прошилась с полпинка, и на этом радость закончилась, Карабас собака работать не хочет.
Посмотрите фото, может я чего забыл запаять, тактовая на проц приходит.
https://www.dropbox.com/s/0gxox549j9ho6kb/IMG_2232.jpg?dl=0
andykarpov
03.09.2017, 17:27
Карабас собака работать не хочет.
А в чем конкретно это проявляется ? Картинка есть какая-нибудь?
Что на штырьках ZXkit debug header, конкретно интересует 3 последних (vsync, hsync и f14mhz).
Если тут что-то есть боле-менее правильное, значит искать проблему нужно дальше в районе pal-кодера.
Без проца, памяти и ПЗУ развертка на экране должна быть.
С памятью без проца и без ПЗУ - небольшой хаос в области paper :)
С памятью и процом, без ПЗУ - матрас.
- - - Добавлено - - -
UPD: еще я бы внимательно на пайку альтеры посморел в первую очередь, может на фото, конечно, блики, но все же.
На ZXkit 14mhz есть, а вот vsync, hsync сомнительные, на них на обеих должны быть импульсы и какого уровня?
andykarpov
03.09.2017, 18:04
vsync, hsync сомнительные
~49Гц и ~15кГц соотв, емнип.
Никак пока не могу начать :(
solegstar
03.09.2017, 19:31
На ZXkit 14mhz есть, а вот vsync, hsync сомнительные, на них на обеих должны быть импульсы и какого уровня?
Я, когда запускал карабаса, не надеялся на zxkit (хотя был уверен в его работоспособности с прошивкой под профи), поэтому сразу запаивал под чб изображение 4ре резистора 1кОм на цвета и синхру с разъёма RGB-minidin в один видеовыход. Какое никакое изображение при этом было, видно по фото выше в сообщениях. Резисторы R18, r20, r22, r24. Удобно напаивать с нижней стороны. Внимательно с разъёмом minidin - там присутствует 9в.
solegstar
03.09.2017, 21:57
Никак пока не могу начать :(
Начинай. Не успеешь оглянутся, как закончишь. Комп собирается очень быстро.
Продолжим похождения Карабаса: была пропаяна Альтера, но это не помогло, пришлось брать в руки осциллограф и более тщательно смотреть видео сигналы и шпион нашелся быстро - это дохлая AD724JR, подключился к RGB и вот она заветная картинка
https://www.dropbox.com/s/ejxucxb9hl8fkel/IMG_2238.jpg?dl=0
solegstar
04.09.2017, 19:57
Отлично! Теперь проверить клаву, писалку и читалку магнитофона и можно упаковывать в корпус. :) со своей стороны хочу продолжить эксперименты с фирменным режимом. Режим практически реализовал Андрей, за исключением медленной памяти. Этим я занимался за несколько дней до поездки туром по Грузии. :) частично работает, но надо допилить чуть и решить по какому стандарту из 128к моделей её допиливать...
NiKa, не факт что кодер дохлый, проверь питание на "чистоту" на самом кодере и кварц
tank-uk, Ну даже если питание не очень, то какую-то, мутную картинку все равно бы выдавал, а у меня этот кодер на 9 ноге, куда приходит синхро, выдает 1. На кварце в данном случае как то сложно, что то увидеть.
solegstar, Эксперименты с фирменным режимом, можно подробней пожалуйста.
andykarpov
05.09.2017, 08:55
кодер на 9 ноге, куда приходит синхро, выдает 1
хм... 9 нога - это выход, вообще-то. синхра смешивается с сигнала RGB_SYNC и 9 выхода PAL кодера.
советую проверить кварц 4.43 и номиналы конденсатора C17 на нем (10пФ), возможно ad724 жив, просто не заводится.
andykarpov, Да это я запутался в словах приходит - выходит, но вы ведь поняли, что на нем 1, а вот на кварце частоту я чего-то не смог увидеть, притом смотрел еще на Арлекинах, их у меня несколько, с одного из них рабочего я кварц то и позаимствовал.
andykarpov
05.09.2017, 11:23
на кварце частоту я чего-то не смог увидеть
Ее там и нет, это ж не генератор :)
Генератор где-то внутри самой ad724.
Ну тогда понятно, придется менять ad724.
Сообщение от NiKa
на кварце частоту я чего-то не смог увидеть
Ее там и нет, это ж не генератор
Генератор где-то внутри самой ad724.
Почему же нет? Просто смотреть нужно обязательно щупом с делителем 1:10.
Попробую конечно с делителем 1:10, сегодня запаял разъемы клавиатуры и загрузки с мафона, все грузится на ура, компаратор поставил TL712, турбо-игры тоже загружаются без проблем, в качестве мафона у меня айфон.
Не получится у меня магнитофонную загрузку проверить, айфону нету, пичалка.
Дык не обязательно айфон, любой телефон с плеером.
Ток выключить все улучшалки звука
Отправлено с моего JY-S2 через Tapatalk
Просто смотреть нужно обязательно щупом с делителем 1:10
Посмотрел с делителем 1:10 - ни чего там не видно.
andykarpov
07.09.2017, 18:59
Посмотрел с делителем 1:10 - ни чего там не видно.
Может кварц дохлый / сопли / etc ?
Кварц был рабочий, я его позаимствовал на время с Арлекина, да и не проблема это, я уже заказал и кварцы и кодеры, ни сегодня дак завтра должны прийти.
Поменял сегодня ad724, как и ожидалось видео выход заработал.
Следующим этапом была проверка AY - все вроде работает, вот только наверное надо было вывести еще и на разъем Mini-Din?
andykarpov
08.09.2017, 20:11
Поменял сегодня ad724, как и ожидалось видео выход заработал.
Мои поздравления! :)
Следующим этапом была проверка AY - все вроде работает, вот только наверное надо было вывести еще и на разъем Mini-Din?
Нужно подумать. Для стерео там не хватит контактов. Для моно - можно попробовать подмешивать к биперному выходу.
Может перемычки предусмотреть какие-нибудь для этого?
Лично мне достаточно отдельного 3.5мм мини-джека для стерео-выхода.
Дак вот и можно, когда в 3.5мм мини-джек ни чего не воткнуто, звук с двух его контактов (которые в данный момент не задействованы) идет на Mini-Din, так сделано в Арлекине 128.
Пытаюсь подружить DivGMX c платой, есть вопрос по резистору R34 1K через который сигнал N_ROMCS поступает на вывод 22 OE# ROM IC2. Для чего он там? Без него на осциллограмме сигнал куда более лучше выглядит.
andykarpov
08.09.2017, 21:44
Пытаюсь подружить DivGMX c платой, есть вопрос по резистору R34 1K через который сигнал N_ROMCS поступает на вывод 22 OE# ROM IC2. Для чего он там? Без него на осциллограмме сигнал куда более лучше выглядит.
Кажется, это атавизм пробрался, изначально BUS_N_ROMCS планировался, как и в оригиналах, заводиться напрямую на N_CS ПЗУ, а через резистор должен был поступать сигнал N_ROMCS с ULA. Если без него осциллограммы лучше, можем заменить на 0 Ом :)
Насколько это принципиальный вопрос?
Не принципиально, подтвердил догадку )
Думаю над турбированием 7МГц для возможности работы своего контроллера (https://github.com/mvvproject/Library-Modules/tree/master/fdc_hdc) с дисками HD и винта. Включение "турбо" можно повесить на какую-нибудь комбинацию клавиш, может даже covox получится всунуть в CPLD... Кеш бы для ROM ещё.. Так, ностальгия прям )
andykarpov
08.09.2017, 22:51
Думаю над турбированием 7МГц для возможности работы своего контроллера с дисками HD и винта. Включение "турбо" можно повесить на какую-нибудь комбинацию клавиш, может даже covox получится всунуть в CPLD... Кеш бы для ROM ещё..
:) Было бы здорово, но сильно прийдется пересчитывать счетчики доступа к памяти, имхо.
Ковокс, кеш - там ресурсов в CPLD почти не осталось :(
solegstar
08.09.2017, 23:54
Кажется, это атавизм пробрался, изначально BUS_N_ROMCS планировался, как и в оригиналах, заводиться напрямую на N_CS ПЗУ, а через резистор должен был поступать сигнал N_ROMCS с ULA. Если без него осциллограммы лучше, можем заменить на 0 Ом :)
Насколько это принципиальный вопрос?
Вообще, так и надо сделать, подключить bus_n_romcs на n_cs пзу, но резистор r34 оставить 470-680 Ом. Как это было в наших машинках. 1кОм многовато, как по мне. сигнал bus_n_romcs отключить от плис и вместо него приделать управление турбой:). И убрать резистор r51.
andykarpov
09.09.2017, 00:05
Принимается! По поводу номинала резистора - тут как бы камень преткновения. Опытным путем vlad установил, что при сопротивлении 1кОм и машинка еще работает, и DivGMX'у хватает мощности ключа для управления этим сигналом извне. На оригинальных машинах, кстати, по-разному этот резистор ставился, от 470 Ом до 1к, насколько я знаю, видимо еще от применяемого типа ПЗУ зависит...
solegstar
09.09.2017, 00:19
А, ну точно... Ну тогда до 1кОм для устройств на ПЛИС)
solegstar
13.09.2017, 13:26
solegstar, Эксперименты с фирменным режимом, можно подробней пожалуйста.
Ок. Приехал и продолжил эксперименты. Фирменный режим был в прошивке карабаса еще с самого начала выпуска. Андрей сделал выбор режима в прошивке с помощью виртуального сигнала (внутренней переменной, грубо говоря). Прошивка была настроена на пентагон, т.к. фирменный режим был не закончен. Поэтому после экспериментов с памятью, я решил и попробовать доделать фирменный режим. с медленной памятью, 69888 тактами и 312 строками, как в оригинале.
В фирменном спеке для торможения проца используется сигнал CLK процессора, не /wait, как в большинстве наших машинках, поэтому как минимум надо доделать это торможение в прошивке карабаса. В этом направлении я и начал искать. На нашем форуме были эксперименты по добавлению медленной памяти в Ленинград-1. Этим занимались ZST (http://zx-pk.ru/members/4746-zst.html)и Ratibor (http://zx-pk.ru/members/7019-_ratibor_.html). За что им отдельная благодарность! У ребят результат был положительным и я решил попробовать внедрить схему доработки медленной памяти (http://zx-pk.ru/threads/16312-leningrad-2010-sborka-naladka-rasshirenie.html?p=440801#post440801)в прошивку ПЛИС. Схема была еще немного модернизирована ZST и внедрена в Ленинград-2012 (http://zx-pk.ru/threads/17338-leningrad-2012.html). Нужный узел есть на третьей странице схемы Ленинград-2012, в правом верхнем углу. (http://zx-pk.ru/threads/17338-leningrad-2012.html?p=503695#post503695). Попробовал и впринципе получилось как-то так:
http://savepic.net/9934198m.jpg (http://savepic.net/9934198.htm) http://savepic.net/9942156m.jpg (http://savepic.net/9942156.htm) http://savepic.net/9929868m.jpg (http://savepic.net/9929868.htm)
Пока попробовал только на этих программах, сегодня вечером еще проверю тесты (http://zx-pk.ru/threads/16312-leningrad-2010-sborka-naladka-rasshirenie.html?p=421104#post421104). Результаты работы выложу вечерком. А пока...
Чтобы поменять режим работы, с пентагона на фирменный, нужно в исходниках для signal sync_mode: std_logic_vector(1 downto 0) := "01"; вместо 01 поставить 00. Часть, отвечающая за торможение частоты проца ниже. сильно не пинать, код писался для проверки идеи и схемы, поэтому еще сырой совсем. кто сделает красивше, только буду рад. закоментируем код для CLK_CPU и вставляем вот этот кусок:
Обьявляем:
signal z80_clk : std_logic := '0';
signal page_cont : std_logic;
signal block_reg : std_logic;
signal count_block : std_logic;
process( z80_clk )
begin
if z80_clk'event and z80_clk = '1' then
if n_mREQ='0' or (a(0)='0' and n_iORQ='0')then
block_reg <='0';
else
block_reg <= '1';
end if;
end if;
end process;
page_cont <= '1' when (a(0)='0' and n_iORQ='0') or ram_page="101" else '0';
count_block <= not (chr_col_cnt(2) and hor_cnt(0));
process( CLK14 )
begin
-- rising edge of CLK14
if CLK14'event and CLK14 = '1' then
if page_cont='1' and paper='0' and block_reg='1' and count_block='1' and sync_mode="00" then
z80_clk <= '0';
else
z80_clk <= chr_col_cnt(0);
end if;
end if;
end process;
CLK_CPU <= z80_clk;
и еще вопрос - может кто-то еще посоветует какие-нибуть программы для проверки фирменных машин, кроме тех, что выше по ссылке. и да, я пока проверял для 48кб, по какому стандарту оно работает из 128кб машин я пока не в курсе. сегодня буду проверять дальше.
В самом начале темы я автору тоже задал вопрос про фирменные тайминги, но 100% совместимости все равно не добиться, а на данном этапе Карабас по совместимости мне нравится больше чем..., но не будем называть имен.
Вот только Shock Megademo я так и не смог запустить.
solegstar
13.09.2017, 13:51
Shock Megademo я так и не смог запустить.
у меня тоже не с первого раза получилось. качал с WoS (http://www.worldofspectrum.org/infoseekid.cgi?id=0007726), выбирал 48кб режим и загружал с ноута из winTzx. когда загрузится intro, в wintzx нужно нажать паузу. затем на клавиатуре спека пробел один раз и включить воспроизведение в wintzx. мультиколорная часть (2я часть) была целью проверки, но так впринципе я посмотрел всю демку, т.е. после каждой части надо останавливать "магнитофон". непривычно было загружать дему с кассеты. :)
Вот 2я часть у меня как раз и не хочет грузиться, нажимаю пробел и все приехали.
solegstar
13.09.2017, 14:52
Вот 2я часть у меня как раз и не хочет грузиться, нажимаю пробел и все приехали.
ну тут главное не передержать пробел. иначе BREAK...
ну тут главное не передержать пробел. иначе BREAK...
Вот-вот, именно поэтому Busy & Noro в своей демке Echologia (http://www.worldofspectrum.org/pub/sinclair/demos/Echologia.tap.zip) сделали переход между частями через Caps Shift. :)
Кстати, ей вполне можно потестировать, она под фирменный 128 (+3 тоже) заточена, а если что не так, то об этом сообщает в начале:
http://i12.pixs.ru/storage/6/9/5/Untitledpn_7525135_27517695.png
andykarpov
14.09.2017, 01:05
Попробовал собрать проект с данной "тормозилкой" - хммм, у меня не помещается в 128 макроячеек...
solegstar, это ты пробовал с портом #FE снаружи?
solegstar
14.09.2017, 09:12
solegstar, это ты пробовал с портом #FE снаружи?
да, я пока не возвращал #FE внутрь плис... печально, если не влезет в итоге такой мелкий узел.:(
скачал с гитхаба весь архив с исходниками и добавил этот кусок - всё скомпилилось.
отправил архив с прошивкой на почту. а тут пока для проверки pof. потом удалю... если есть возможность у кого-то проверить, будет отлично. у меня получится только вечером вернуть плату в оригинальный вид.
andykarpov
14.09.2017, 09:37
скачал с гитхаба весь архив с исходниками и добавил этот кусок - всё скомпилилось.
Спасибо! Странно, конечно, все это. Может моя версия quartus какая-то не такая ? :)
Каких-нибудь оптимизаций не хватает?
solegstar
14.09.2017, 09:40
Каких-нибудь оптимизаций не хватает?
вообще ничего не делал с ними. как поставил, так и откомпилил.:rolleyes:
shurik-ua
14.09.2017, 11:00
а как вы порт 0xFE готовите ? - с дешифрацией полного младшего байта адреса или только его бит 0 ?
если только нулевой бит - то может и влезет.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot