https://www.youtube.com/watch?v=yT2P...channel=SergZp
Вид для печати
Прошивка ROM (39F): https://github.com/UzixLS/zx-sizif-5.../rom.rev.D.rom
Прошивка CPLD: https://github.com/UzixLS/zx-sizif-5...cpld.rev.D.pof
Шить в любой последовательности
протестировал платки расширения:
- zxhd: работает. отлично показывает. zxhd заточен под тайминги фирменного 128. на сизифе тайминги увы разъезжаются (в shock). на +3 shock показывает через zxhd правильно.
- zx vga joy: работает. просто проверил что работает, массово не гонял. картинка с этого vgajoy ну такое...
- spectranet от bytedelight: работает. в сеть входит, все качает.
- spectranet наш российский клон от shama: все работает.
можно занести в список поддерживаемых железяк :)
Каков вопрос, таков и ответ. [emoji846]
Там можно под себя компилить прошивки, для этого есть все исходники. Спасибо Евгению, всё довольно прозрачно. Я этим пользовался, делал под себя, например, тайминги 128K и джойстик Sinclair по умолчанию.
Доброго времени суток!
Приятность. Сегодня, спустя две недели после оплаты (58.30 $), получил свой корпус. Довольно быстро! Пришёл в жёсткой картонной коробке, внутри пупырчатый твёрдый пакет, надёжно.
Отличный корпус, хороший магазин, зря переживал. Закажу тут ещё один корпус. :)
http://images.vfl.ru/ii/1643992542/f...37873580_s.jpg http://images.vfl.ru/ii/1643992576/5...37873586_s.jpg
И снова обращаюсь за помощью.
Собрал ещё одну плату Сизифа. Всё отлично, всё работает, но только без sd-карты. Если вставить sd-карту, начинаются проблемы.
Сизиф пытается загружать esxdos, бывает выскочит пару загрузочных строк, бывает и нет, но в итоге бордюр любого случайного цвета и черный экран. На сброс реагирует, но тоже самое. В системное меню выходит, sd-карту видит, всё чётко. И самое интересное. Если отключить питание и снова его включить, то иногда Сизиф прекрасно загружает exdos,
и продолжает работать как и положено, реагирует должным образом на сброс, всё загружает, и т.п., но только до следующего выключения. Вероятность успешной
загрузки после подачи питания ~ 1:20. Пробовал ставить с рабочего Сизифа ОЗУ, ПЗУ, процессор, перешивал Альтеру, пробовал другую sd-карту (правда того же производителя, SunDisk), прозванивал все контакты от картоприёмника до Альтеры и резисторной сборки, безрезультатно. Блок питания проверенный... Куда копать? :v2_dizzy_facepalm:
Спасибо.
Конденсаторы по питанию все установлены? На стабилизаторе 3.3В в момент запуска не проседает напряжение? Если карту вставить в момент работы компа, затем включить DivMMC и ребутнуть - esxdos нормально стартует?
Проверьте ещё память на всякий случай - может где-то непропай на альтере в старших адресах. Например, этим тестом: https://zx-pk.ru/threads/12881-eshch....html?p=283577 Проверять надо с выключенным DivMMC (чтобы тест мог увидеть всю память), выбирать режим Profi.
Uzix, спасибо за ответ.
При старте компа, напряжение на стабилизаторе неизменно 3.336 в., не проседает и не изменяется.
Если при включенном компе вставить сд-карту, и в меню включить DivMMC, то последующие нажатия на кнопку magic приводят к сбросу в basic 48, либо просто бордюр моргнёт голубым цветом и снова basic 48, или к зависаниям в редком случае.
....
При попытке загрузить файл теста aumt.tap, выяснилось что не работает магнитофонный вход. Оказалось, нет контакта между плюсом с51 и 1-м выводом 74hcu04, дефект дорожки.
Восстановил контакт, заработал магнитофонный вход и загрузка с сд-карты стала работать тоже, как ни странно... Больше ничего не делал... Тест памяти проходит без ошибок. Всё работает! :)
Рано радовался. Снова включил, и старая песня, не загружает сд-карту.... Что за фигня такая?:v2_conf2:
Наблюдается такая картина. После долгого простоя, 100% загрузки с сд-карты не будет, будут глюки описанные выше. А через некоторое время, загрузка начинает работать с завидной стабильностью... Может конденсатор какой бракованный, например???
в схеме нет пуллапа на мисо карты , или он внутренний в максе ?
Ерунда. У меня был настоящий 48К, на нём то же самое было. Дело привычки. Писал в ассемблере программы на тыыыыысячи строк на этой клавиатуре. А играть надо на геймпаде, это я уже в этом веке неожиданно для себя понял, на Сизифе с китайским "сеговским" геймпадом за 300р. Во времена Спектрума были джойстики с присосками к столу, это был трэш. А ещё был джойстик, похожий на хотдог по-французски: цилиндрический вертикальный корпус, который надо было держать в левой руке, а сверху из него торчал штырь с треугольной(!) ручкой, который можно было отклонять в 4 стороны. Вот где был хардкор.
Попробуйте карту другого производителя. У меня такая же проблема. Путем замены карты выяснил, что не со всеми типами карт (которые есть у меня) стабильно работает.
Конкретно - с Perfeo 4gb class 10 нормально. Noname 2 gb - нормально. А с Oltramax 4 gb class 6 - через пень-колоду. Точно такие же симптомы , как у Вас.
Добавлю историю в копилку кейсов с "плохими"/"хорошими" картами, может наведет на мысль.
Намедни с камрадом Frewind запускали ремейк классического и очень маленького DivMMC на альтере 3128, но с ним наловили весьма интересных и неожиданных спецэффектов.
То, что имеет отношение сюда: у нас есть 3-вольтовая ПЛИС и 3-вольтовая карта памяти, подключена стандартным образом по SPI и вроде все обычно.
Однако в действии у меня наблюдалась не очень стабильная работа карты Qumo ("хорошая") и совершенно нестабильная работа карты Transcend ("плохая"). Тестировал чтением тапки badapple.tap и хорошая карта в 95% случаев работала ОК, лишь изредка давая артефакты или заависание. Плохая карта один раз из трех позволяла загрузить esxdos, и даже если можно быть увидеть каталог, то не получалось ничего запустить. Badapple падал на первых же движениях.
В чем именно разница между картами не удалось понять до сих пор. Были попытки добавить блокировочные емкости прямо перед картой, добавить подтяжки на все по очереди используемые линии SPI, на неиспользуемые DAT1 и DAT2 - ничего не менялось. Плохая карта не работала, хорошая работала. В других устройствах эти карты работают одинаково хорошо.
Дальше мысль дошла до ардуинского модуля SD, который предназначен для согласования с 5-вольтовыми схемами. В нем помимо стаба для карты есть 74lvc125 и все линии SPI наружу подключены через резисторы 3,3к. Зачем LVC125 вроде понятно, зачем были нужны резисторы - непонятно. Но подключил слот SD вне платы аналогично через резисторы 330 ом (номинал взял по ошибке, плохо рассмотрел ардуинский модуль) на всех линиях SPI. И вот тут эффект был. Плохая карта внезапно стала хорошей и стала работать стабильно.
Freiwind экспериментально выяснил, что достаточно резистора на сигнале SPI_CLOCK - и его карты тоже стали работать стабильно.Номинал резистора был другой - 1к, но на мой взгляд при огромных входных сопротивлениях КМОП-входов они вообще не важны
Эффект неясен, но осциллографом Freiwind измерил вот что:
это spi_clk на выходе ПЛИС (перед резистором)
Вложение 76988
Это он же на входе карты (после резистора)
Вложение 76989
Как я понимаю, это получилась интегрирующая цепочка из этого резистора и входной емкости входа CLK карты. Я могу себе представить только то, что за счет этого убирается шум после переходов 0-1, который воспринимается как несколько лишних фронтов и приводит к неправильной работе карты. Но вроде все эти иголки сильно далеки от уровня нуля и по идее не должны никак ощущаться.
Вопрос: известен ли кому-то этот эффект по отношению к карте и для чего нужны резисторы вот в таких модулях ?
https://mcdn01.gittigidiyor.net/7320...724_tn30_0.jpg
И второй: есть ли желание проверить этот эффект с плохо работающими в Сизифе картами? (наверное потребуется подвесить слот снаружи).
Перепробовал что было в закромах:
http://images.vfl.ru/ii/1644335813/b...37932295_s.jpg
Результат не изменен, типа такого:
http://images.vfl.ru/ii/1644335867/f...37932333_s.jpg
Или просто вываливается в basic48, либо зависает.
К сожалению, в моём случае, дело не в sd-карте... :v2_dizzy_wall:
тут как раз понятно - для ограничения тока при 5В входных сигналах. хотя именно LVC125 должны и без них работать...
я бы сказал - резисторы в такой схеме не нужны и даже вредны. разве что для ослабления звона пару десятков Ом.Цитата:
Но подключил слот SD вне платы аналогично через резисторы 330 ом (номинал взял по ошибке, плохо рассмотрел ардуинский модуль) на всех линиях SPI. И вот тут эффект был. Плохая карта внезапно стала хорошей и стала работать стабильно.
Freiwind экспериментально выяснил, что достаточно резистора на сигнале SPI_CLOCK - и его карты тоже стали работать стабильно.Номинал резистора был другой - 1к, но на мой взгляд при огромных входных сопротивлениях КМОП-входов они вообще не важны
именно. и обычно ничего хоорошего от этого не получается. я бы просто резисторы выкинул.Цитата:
Эффект неясен, но осциллографом Freiwind измерил вот что:
Как я понимаю, это получилась интегрирующая цепочка из этого резистора и входной емкости входа CLK карты.
кстати - а частота не низковата? у меня там то ли 14 то ли 7МГц.
как вариант - возможно не все LVC125 жрут по входу 5В, сталкивался что у одного производителя жрут, у другого - нет. тогда для ограничения тока.Цитата:
Вопрос: известен ли кому-то этот эффект по отношению к карте и для чего нужны резисторы вот в таких модулях ?
Вопрос в другом. LVC125 в схеме с epm3128 и microSD нет. Все аналогично Сизифу, разве что кроме подтяжки на miso, но и она не помогла.
А от того модуля здесь только резисторы на линиях SPI. С их "вредом" работает, без них почти не работает.
Частота здесь взята с шины - 3,5мгц от процессора. Достаточная, у подавляющего большинства все на ней работает (кстати, тоже не без манипуляций). У меня работало и с бОльшей, пробовал давать 8 и 14,318мгц. Но не это влияло.
из исходного сообщения не очевидно что без резисторов не работает. но в таком случае скорее всего дело во времянках SPI порта, в частности переходы MOSI и CLK - возможно они происходят одновременно, а карте это не нравится. а резистор дает задержку фронта CLK, и карта начинает работать. тут надо 2-канальным скопом смотреть и думать.
ну я посмотрел в код - сектор читается командой INIR, надо чтобы байт из карты успел задвинуться в регистр до следующего чтения процом, и лучше с запасом. а поскольку у меня в плисине были 14МГц - их и подал.Цитата:
Частота здесь взята с шины - 3,5мгц от процессора. Достаточная, у подавляющего большинства все на ней работает (кстати, тоже не без манипуляций). У меня работало и с бОльшей, пробовал давать 8 и 14,318мгц. Но не это влияло.
Идея хороша, но я ставил резисторы в разрез всех линий SPI к карте. И все три входа получили такую задержку, однако это положительно сказалось. И либо у входа CLK самая большая емкость (т.е. фронт задержан сильнее остальных), либо дело в чем-то другом.
Хотя не исключено, что это у всех карт индивидуально.
Головоломка ;)Цитата:
ну я посмотрел в код - сектор читается командой INIR, надо чтобы байт из карты успел задвинуться в регистр до следующего чтения процом, и лучше с запасом. а поскольку у меня в плисине были 14МГц - их и подал.
Скрытый текст
В классической схеме (M.Prato, 2012г) обмен по SPI тактируется от процессорного CLK=3,5мгц (точнее его же, инвертированного и выведенного на zxbus) и на каждый второй задний фронт выполняется сдвиг бита в/из карты; соот-но для 8 бит по SPI на это уходит 16 тактов CLK (не рискну здесь мусорить фрагментами кода, а если будем продолжать, то лучше сделать это в соответствующей в тематической ветке )
Так вот я не могу понять, когда собранный байт читается после этого процессором (из 21 такта INIR первые 4 - это M1, а с пятого начинается передача по обращению к порту и при неактивном /M1. И только к 20му такту будет собран весь читаемый байт, но процессор с шины данных байт к этому моменту давно прочитал и в память сохранил), такое впечатление, что это работает с задержкой на одну команду, т.е. на каждый новый "шаг" INIR читает байт прошлого шага.
Однако в коде esxdos 0.8.8 для чтения 512-байтного сектора выполняется видимо вот это:
Тут счетчик b=0, то есть это отрабатывает два 256-шаговых INIR. 512 раз, а не 513, как было бы нужно при задержке считываемого байта на одну команду )Код:1f10 01eb00 ld bc,00ebh
1f13 edb2 inir
1f15 edb2 inir
1f17 c49c1b call nz,1b9ch
1f1a 00 nop
И это как-то работает при 3,5 мгц. Если карта "хорошая" ))
И насколько я рассмотрел в Сизифе это тактируется от 7 мгц и по каждому первому, а не второму импульсу (8 из них выделяются активным диапазоном счетчика), в нем это выполняется быстрее[свернуть]
Ну а применительно к данной теме: я просто предлагаю карты (назовем их политкорректно "чувствительными") протестить с "вредящими" резисторами в Сизифе
Каюсь. Ошибочка. Карта рабочая. Это плата чудит. Хотел проверить память, но видимо магнитофон (исполнение на микросхемах) дает маленький сигнал. При загрузке в начале полоски по бордюру бегут , но дальше не грузится . Как увеличить чувствительность входного каскада чтения с магнитофона ?
А что имеется ввиду под "чудит"? Вообще никакие карты не работают? Так то я Oltramax карточку уже заказал, правда в наличии была только Class 4.
Получается, конкретных проблемных моделей карт нет, а есть несколько экземпляров компьютеров, на которых любые карты не работают.
Плата ревизии D1? Для неё нужно увеличить выходной сигнал, либо грузить с телефона.
Надо будет в ревизии Е всё же разместить магнитофонный вход на компараторе как в ранних ревизиях, он более всеядный...
А, речь про эмулятор магнитофона. От него я ожидал бы качественного сильного сигнала. Да и текущая схема не должна требовать максимального уровня сигнала. Когда-то сравнивал её со схемой на компараторе, получалось что схема на 74HCU04 стабильно грузит игры с турбо-загрузчиком из этой темы на 50-100% громкости. А схема на компараторе работает уже в диапазоне где-то 30-100%. Т.е. разница невелика. Проверял на самой дешёвой USB-звуковухе. Можно замерить амплитуду её выходного сигнала и сравнить с вашим эмулятором магнитофона.
КМК, всё же ваша плата "чудит". Кстати, микросхема у вас с суффиксом U (74HCU04)? Ну и на всякий случай: турбо должно быть выключено при загрузке с ленты.
если не трудно проверь мои загрузчики https://zx-pk.ru/threads/19193-igry-...2012-quot.html
Да, микросхема HCU04. Эмулятор магнитофона как ни странно заработал нормально сам по себе .. Я только передернул в панели ATMEGу. С платой SIZIFа разобрался. Во всем виноват процессор. А именно тот (те) , что на (якобы) 20 мгц Z84C0020PEC. Покупал на Али сет из 5 штук. Три забраковал сразу - MMC не виделось при загрузке. А два вели себя вот таким странным образом, как я описывал выше. Вообщем, и два других - отстой. И, да - явно перепилены.
Подскажите, зачем +12 на плате? Всё вроде от +5v и +3.3v питается. И что-то мост диодный греется капец, впаял вроде правильно.
- - - Добавлено - - -
Вот ведь 100 раз говорил себе: впаял альтеру - сразу проверь питание. КЗ по основной альтере, в плате звука вроде нет кз. Вот заразы.
После диодного моста при постоянном входном какое напряжение на выходе должно быть? Что-то у меня "мир перевернулся".