Просмотр полной версии : Sizif-512
Chwe, скорость можно определять подсчётом количества тактов за инт. Пример - https://github.com/UzixLS/zx-midiplayer/blob/master/src/device.asm
Спасибо за пример кода! Да, я об этом думал, но моих знаний пока не хватает, чтобы это всё на z88dk реализовать (да ещё и под esxdos).
А зачем определять модель компьютера?
Для использования API, существующего только в этой модели :) Тут история такая... Хотел готовый код показать, но что-то его пока не выложил... Попытаюсь объяснить словами.
Для вот того t2esx (https://zx-pk.ru/threads/32157-sizif-512.html?p=1190730), работающего на Next, мой подельник сделал определение частоты. Там на том Next всё сложно для понимания [пользователя], как понял, в смысле в какой момент какая частота, так как оно программно переключается (https://wiki.specnext.dev/CPU_Speed_Register) плюс то ли он чего не понял, то ли правда всё очень сложно. Ну, не суть важно, сделал он там и сделал. А так как чтение текущей частоты сделано через специальный регистр, который есть только на Next, то он там детектирование Next реализовал (я так понял, это тоже там просто как-то, то ли API есть, то ли какие-то дополнительные инструкции Z80N). По сути там код получился
if (model_is_next()) {
read_cpu_clock_from_NEXTREG();
}
А тут я почесал репу и подумал: «а полезная штука, может и на Sizif такое можно». То есть, вариант №1, кросс-платформенный -- считать такты. С ним у меня пока технические проблемы, как считать -- понятно, как встроить в существующий код -- непонятно. А вариант №2, платформо-зависимый -- как-то определить платформу и, если на ней есть API, дёрнуть этот API.
Но, опять же, если в Sizif программно частоту прочитать неоткуда, то и определять незачем. Откуда читать, я, как уже упоминал, не нашёл.
в какой момент какая частота
так ее не только прочитать программно можно, но и задать - так же программно.
есть (http://downloads.heartware.dk/View.asp?Group=%7BD119F8A1-BB7E-4D62-AE34-D2A11733F8AE%7D) программа, в чем похожая на t2esx (если я правильно понял суть) - в ней можно рулить скоростью проца
а так - да, только считать такты, что б совсем платформонезависимо было - и сизиф, и некст, и тостер с divmmc.
Для использования API, существующего только в этой модели
У сизифа таких API нет. Все доступные из ПО порты - широко употребимые и реализованы в различных машинах. Соответственно, для каждого функционала есть собственный метод детекции. Например, для ula+ - запись и считывание порта #ff3b, для расширенной памяти по стандарту профи - запись в порт #dffd и определение фактического переключения банка памяти в #c000, для текущей частоты CPU и таймингов - см. выше, и т.д.
Порты, позволяющие менять конфигурацию - скрыты и разблокируются только при активном пзу сизифа - внутри меню и при старте компа.
Какие-то ручки и крутилки можно вынести наружу, но, думаю, это должно быть обосновано и сделано в рамках какого-то устоявшегося стандарта.
Да, похоже верной дорогой идти надо будет. Только вот со счётом у меня не очень пока. Как в принципе считать (использовать IM 2) из программы на C (z88dk) я более или менее представляю в общих чертах, а вот будет ли оно в принципе работать для dot command... Ну, попробую, наверное :)
- - - Добавлено - - -
У сизифа таких API нет. [...]
Какие-то ручки и крутилки можно вынести наружу, но, думаю, это должно быть обосновано и сделано в рамках какого-то устоявшегося стандарта.
Спасибо, значит я ничего в коде не упустил. Это радует :) Случай у меня уж больно специфичный, я попробую такты посчитать, оно так и правда «правильнее» будет.
Для использования API, существующего только в этой модели
Я много ранее пытался уговорить Uzix реализовать переключение частоты процессора без захода в меню, через кнопки F... на PS/2 клавиатуре. Не смог уговорить.
Это, правда, не совсем тот случай. Я думал о переключении в турбо в играх типа авиасимуляторов или той же Элиты, где надо лететь долго и можно было бы на ходу турбировать
процессор, чтобы ускорить процесс.
Почему на rev D1 не удается запустить ?
https://vtrd.in/release.php?r=23b7c3d48e53476e7f6bf763984940ea
А в этой игре сеговский джой некорректно работает
https://fransouls.itch.io/crazy-christmas
Тут возник другой интересный момент. [...] Теперь достаточно часто моя плата не грузится, показывает мусор, вроде того, что прикреплено, а то и какие-то эффекты на бордюре.
Прошил я тут rev_E_b976d65.7z (который отсюда (https://zx-pk.ru/threads/32157-sizif-512.html?p=1188169&viewfull=1#post1188169)) и, кажется, глюки ушли. Поторопился я, что ли, с утверждением, что мой процессор работает с Rev.E. Хотя, пока тепло было работал же, глюки поздней осенью начались. Я, правда, ПЗУ пошевелил, может там контакта не было...
А в этой игре сеговский джой некорректно работает
https://fransouls.itch.io/crazy-christmas
Это их глюк, похоже. Пишут, исправили день назад.
Решил я тут обновить прошивки своего Сизифа на последние.
Обновил и... перестал работать контроллер IF1bis.
При переводе его в рабочий режим Сизиф как и положено переходит в 48 BASIC, но далее экран начинает заполняться оператором BORDER, как будто залипает клавиша "b".
Залил прошивку 2022 года - то же самое.
Проблема ушла только на прошивке v20211204.
Поразбирался с if1bis, нашёл причину почему он сломался в новых прошивках.
Начиная с версии 20221002 поправлено декодирование кемпстон джойстика - раньше декодировался только порт #1F, из-за чего в некоторых играх джой в принципе не работал. С 20221002 декодируется в т.ч. и порт #DF. И из-за этого возник конфликт с if1bis, который, видимо, использует этот же порт.
По #1F / #DF, кстати, довольно хорошо тут написали: https://zx-pk.ru/threads/12425-speccy2010-sborka-naladka-testing.html?p=285589&viewfull=1#post285589
Если выключить Kempston в меню кнопки magic перед активацией if1bis, то всё начинает работать. Вроде бы. Я пока не разобрался особо как им пользоваться, только вывел список файлов через CAT и запустил пару игр через LOAD ;"run".
Но работает это до первого сброса. В ПЛИС регистры, хранящие настройки меню Magic, сбрасываются в значения по умолчанию по сигналу сброса. А потом должно запуститься ПЗУ сизифа и выставить то что было сохранено. Но if1bis после активации блокирует ПЗУ сизифа. Можно это пофиксить если по сигналу сброса не трогать соответствующие регистры.
В общем то можно доработать if1bis чтобы он выставлял сигнал IORQGE на ZXBUS - тогда его порт #DF становится более приоритетным, а порт сизифа автоматически отключается. Но там такие запутанные исходники, что ой) Кажется, это самый мудрёный девайс который я пока видел для спека )
Евгений, а функция FastForward будет доступна при отсутствии клавиатуры PS/2?
Евгений, а функция FastForward будет доступна при отсутствии клавиатуры PS/2?
Я не представляю куда её можно повесить. Резиновая клава опрашивается процессором, а значит ПЛИС не сможет надёжно засекать нажатие хоткея - т.е. может быть ситуация, когда проц не опрашивает клавиатуру и невозможно включить/отключить FastForward.
Я не представляю куда её можно повесить. Резиновая клава опрашивается процессором, а значит ПЛИС не сможет надёжно засекать нажатие хоткея - т.е. может быть ситуация, когда проц не опрашивает клавиатуру и невозможно включить/отключить FastForward.
Может, на nmi добавить ещё функцию, перед меню? Или на геймпаде сочетание какое-то. Ещё лучше.
NEO SPECTRUMAN
29.02.2024, 22:23
Резиновая клава опрашивается процессором
а клава не заведена в плис?
а так у проца много времени когда он гарантировано не опрашивает клаву
и когда можно опросить клаву завместо него
каждый m1
захват инта
Может, на nmi добавить ещё функцию, перед меню? Или на геймпаде сочетание какое-то. Ещё лучше.
Джойстик - вариант, надо подумать.
а клава не заведена в плис?
Заведены линии данных, линии адреса управляются процессором.
а так у проца много времени когда он гарантировано не опрашивает клаву
и когда можно опросить клаву завместо него
Если правильно помню, шину адреса Z80 переводит в высокоимпедансное состояние только в 2 случаях - при активном сигнале сброса и при активном сигнале захвата шины (busrq). Так что не вариант.
Джойстик - вариант, надо подумать.
А ровно через месяц можно сделать релиз и с обратной перемоткой.
А ровно через месяц можно сделать релиз и с обратной перемоткой.
Ладно, шутку про обратную перемотку не поняли.
Хотел поставить платку Wifi, которую запаял год назад, но не взлетела: при включении запахло горячим,
большой конденсатор на платке разогрелся, не прикоснуться. Выключил, от греха подальше.
Питание успел замерить, 5В идёт на платку. Вроде ничего не пострадало.
ЗЫ. Могу подтвердить, ShamaZX Net 512 с Сизифом работает.
В этом посте я писал про проблему с прошивкой 2023-08-20.
Дело оказалось в моём экземпляре Сизифа. Поменял микросхему AY, проблема ушла.
На видео - внешний вид и работа моего Сизифа.
https://disk.yandex.ru/i/EDXqrrhbC1TmBA
Возвращаясь к платке Wifi, у меня оказался припаян танталовый конденсатор не той полярностью!
Конденсаторы такие у меня были запасные, брал в своё время в чипе три штуки. Перепаял на новый.
При включении Сизифа ESP-шка моргает диодом один или два раза (не понять), и потом не светится.
На команду .iwconfig с указанием SSID и пароля от моего Wifi-роутера система отвечает 0 OK,
(он так же отвечает "0 OK", даже если SSID и пароль указать от балды),
https://drive.shadow.tech/s/Fq582E8wDDsbsqp
но роутер не показывает новое устройство в сети (у меня кинетик, на котором
политика Wifi такова, что незарегистрированным устройствам блокируется сеть).
Похоже, нет связи с ESP-шкой.
Заказал пару новых ESPшек.
djs, а процессор не NMOS случаем? С ними в актуальных релизах есть проблемы - разнообразные глюки в холодном, горячем состоянии и т.п. Лучше проц ставить как указано в BOM. В следующем релизе будет пофикшено https://t.me/uzixls/92
Проблема с моим Сизифом и прошивкой 2023-08-20 решена заменой чипа AY!
djs, а процессор не NMOS случаем? С ними в актуальных релизах есть проблемы - разнообразные глюки в холодном, горячем состоянии и т.п. Лучше проц ставить как указано в BOM. В следующем релизе будет пофикшено https://t.me/uzixls/92
Не, процессор CMOS, Z84C00020PEC с Али, брал давным-давно ещё.
Маркировка лазерная, не краска. И я их проверял тогда тест-ROMом
именно на предмет перемаркировки, из NMOS в CMOS, в том числе
(сейчас уже не помню, какой именно это тест, один из двух встроенных).
В результате, один из этих 20PEC стоит в ZX81, второй - в Сизифе.
А так, у меня есть и SHARP LH0080A, и NEC D780C, и 10PEC крашеный,
и ещё три этих 20PEC из той же партии с Али.
AY стоит Микрочиповский, хотя есть ещё пара GI-шных с Али. Не помню, проверял или нет.
djs, тогда идей нет. На моих всех AY не наблюдается проблем. Хотя с момента когда проверял их у меня уже побольше стало, как-нибудь надо будет ещё позаниматься.
А так, я из COM-порта и Wifi всё-таки выбрал Wifi пока, хотя вырез под COM-порт остался.
Может позже компорт прямо на ноги AY запаяю, или снизу к плате. Там надо-то 4 провода.
Извините, хотелось бы уточнить. Я тут, просто, тоже о WiFi думаю, правда, склоняюсь к его практической бесполезности. Так вот, когда "компорт прямо на ноги AY запаяю", там Вы планируете переключать WiFi/RS-232 физическим переключателем? Если я правильно понимаю, WiFi и висит на "COM-порту". Поэтому либо одно, либо другое, или я что-то путаю?
Всем привет!
Не дает мне покоя один «глюк» - сизиф наглухо виснет на тесте #7FFD
это из за чего и на всех версиях прошивок/плат такое ?
https://fs3.fotoload.ru/f/1018/1538989838/500x500/5f476faec8.jpg (https://fotoload.ru/foto/1688457/)
Извините, хотелось бы уточнить. Я тут, просто, тоже о WiFi думаю, правда, склоняюсь к его практической бесполезности. Так вот, когда "компорт прямо на ноги AY запаяю", там Вы планируете переключать WiFi/RS-232 физическим переключателем? Если я правильно понимаю, WiFi и висит на "COM-порту". Поэтому либо одно, либо другое, или я что-то путаю?
Ну вообще-то, на AY-3-8910 целых два порта ввода-вывода.
Проблема с шумом решена заменой AY!
oper, ожидаемое поведение, запускайте эту версию (в режиме 48 или 128): 80508
ожидаемое поведение
вспоминаю что на классике128к чтение (что и проверяет тест) из #7FFD приводит к зависанию компа.
возможно это и съэмулировано.
возможно это и съэмулировано.
не, насколько помню у trd-версии есть какая-то несовместимость с esxdos (т.е. в эмуле и на других машинах так же виснет)
- - - Добавлено - - -
Реализовывать в сизифе зависание при чтении из #7ffd точно не вижу смысла :-)
Реализовывать в сизифе зависание при чтении из #7ffd точно не вижу смысла :-)
выполните в 128ом бейсике PRINT IN 32765
что произойдёт ?
выполните в 128ом бейсике PRINT IN 32765
что произойдёт ?
на экране выведется 255
это предположение или результат проверки на реальном железе ?
(смущает слово `выведется`)
это предположение или результат проверки на реальном железе ?
результат...
oper, ожидаемое поведение, запускайте эту версию (в режиме 48 или 128): 80508
здесь не зависает
- - - Добавлено - - -
это предположение или результат проверки на реальном железе ?
(смущает слово `выведется`)
у меня тоже 255
понятно.
.....
чуток разобрался с логикой этого этапа теста.
там первым делом проверяется версия trdos (тут esxdos и не справляется)
Ну вообще-то, на AY-3-8910 целых два порта ввода-вывода.
Точно, я-то как-то сосредоточился на описании оригинала, а там-то 8912. Хотя... мне возни с CP/M пока хватило, прикручу USB UART, когда следующий раз корпус раскручу, чем больше я про это думаю, тем менее полезным WiFi кажется.
oper, ожидаемое поведение, запускайте эту версию (в режиме 48 или 128): 80508
Вот так выглядит картинка с тестами портов
https://fs3.fotoload.ru/f/1018/1538989838/500x500/5f5d664100.jpg (https://fotoload.ru/foto/1689028/)
А что означает «сильно тормозится нижняя память» ?
https://fs3.fotoload.ru/f/1018/1538989838/500x500/5f5d65bea4.jpg (https://fotoload.ru/foto/1689027/)
И респект вам за разработку платы !
востребованный форм фактор и ничего лишнего. Мне очень понравился !
Есть некоторые проблемы с совместимостью (опять таки видимо из за тр-дос), но….это не критично
Сейчас ребенок (8 лет, не избалован писюками и приставками) отобрал у меня сизиф и пытается пройти R-Type )))))
Кстати сеговский геймпад 8 кнопочный заработал без доработок – стрелки на колесе + 2 огня (кнопки «B» и «y», причем «y» – при нажатии постоянно стреляет )
Работает и кемпстон и синклер, на синклере можно назначить все клавиши геймпада. Я прям даже не ожидал что с геймадом так просто будет !
Ревизия платы D1
Вот так выглядит картинка с тестами портов
"тест портов расширения" это кажется два порта на AY,
https://fs3.fotoload.ru/f/1018/1538989838/500x500/5f476faec8.jpghttps://fs3.fotoload.ru/f/1018/1538989838/500x500/5f5d664100.jpg
- - - Добавлено - - -
А что означает «сильно тормозится нижняя память» ?
это особенность фирменных машин.
[QUOTE=goodboy;1195737]"тест портов расширения" это кажется два порта на AY,
https://fs3.fotoload.ru/f/1018/1538989838/500x500/5f476faec8.jpghttps://fs3.fotoload.ru/f/1018/1538989838/500x500/5f5d664100.jpg
- - - Добавлено - - -
>два порта на AY
?
про память - в чем именно ? "тормоза" откуда ?
Евгений, а платку ESP от Wifi не надо прошивать чем-то? Она должна работать с заводской прошивкой?
Я получил сейчас новые ESP8266, буду перепаивать плату Wifi. Скорее всего, заменю и все пассивные элементы.
У меня чипы ESP маркированы так: ESP8266MOD, брал в Москве очень дёшево.
https://duino.ru/esp12e.html/
Это нормальные чипы?
PS.
Сдул феном с платки Wifi все компоненты, запаял новую ESP, проверил и запаял обратно резисторы,
запаял новые конденсаторы. Всё то же самое.
.iwconfig прописывает конфиг моей точки доступа, а дальше - ничего.
Никаких признаков подключения к роутеру.
На всякий случай вместо Wifi подсоединил свой RS232, проверить работоспособность
порта ввода-вывода AY. Порт работает. С ББ перегнал по RS232 картинку на Сизиф через .sercp
Как завести Wifi, не понимаю...
ВОТ ЭТО НОМЕР.
Раздал Wifi с телефона и подключился к интернету на раз...
Рано радовался. Повторить не удаётся.
Полазил немного с Сизифа по интернету, и всё.
На телефоне - 0 подключенных устройств.
djs, попробуйте заменить R1 с 47Ом на меньший номинал, возможно ESP не может продавить сигнал TX у AY.
Любопытно что в оригинальной схеме из 27 номера журнала ЗаРулём вообще 560 Ом используется, с таким номиналом у меня в принципе ничего не заработало ни с одним AY.
Готовится новая ревизия платы с буферами 74LVC2G34GW.
- - - Добавлено - - -
Евгений, а платку ESP от Wifi не надо прошивать чем-то? Она должна работать с заводской прошивкой?
Прошивать не нужно
djs, в оригинальной схеме из 27 номера журнала ЗаРулём вообще 560 Ом используется...
Готовится новая ревизия платы с буферами 74LVC2G34GW.
Да, Евгений!
Я тоже обратил внимание на отличия в схеме, только схемы из "ЗаРулём" я не видел, а смотрел
на Схему Шарихина. У него сброс чипа не заведён к тому же. Но тут же он пишет про проблемы
со сбросом и переходом чипа в режим моста.
https://github.com/nihirash/zx-net-tools/tree/master/doc/any
djsГотовится новая ревизия платы с буферами 74LVC2G34GW.
Правильно я понимаю, что один буфер становится в разрыв R1 и R3, вместо резисторов, а второй - одним каналом - в разрыв R4 для CTS?
У меня, если не заработает смена R1 (попробую на него сверху в параллель напаять что-то), я врядли буду дожидаться новой платы.
Скорее, навесом буду буферы паять, если схема позволит.
PS.
Попробовал на R1 вторым этажом такой же. Ожидаемо, результирующее 23.6Ом.
Ноль эффекта.
Раздал Wifi с телефона и подключился к интернету на раз...
Рано радовался. Повторить не удаётся.
Полазил немного с Сизифа по интернету, и всё.
Как говорил Ходжа Насреддин «Я ничего не понимаю в болезнях, зато понимаю в девушках» :) Я это всё пока теоретически изучаю, но встряну в целях изучения настройки всего этого.
Давным давно, когда только начали переходить с 2.4МГц, я себе оставил точку доступа специально для всякой неумной IoT шушеры. Я это к тому, что то, что Вы описываете, очень похоже на несовпадение частот, стран (ограничений), методов шифрования или условную микроволновку соседа. Что я читал про тот ESP8266, всё говорит о том, что это очень нежная штучка.
И, кстати, этот ESP8266 можно же напрямую подключить к UART? То же самое и отдельно с модулем WiFi. То есть, я смогу сначала настроить/протестировать ESP-12E, а потом настроить/протестировать WiFi модуль, и всё это совсем без Sizif, я правильно понимаю?
Как говорил Ходжа Насреддин «Я ничего не понимаю в болезнях, зато понимаю в девушках» :) Я это всё пока теоретически изучаю, но встряну в целях изучения настройки всего этого.
Давным давно, когда только начали переходить с 2.4МГц, я себе оставил точку доступа специально для всякой неумной IoT шушеры. Я это к тому, что то, что Вы описываете, очень похоже на несовпадение частот, стран (ограничений), методов шифрования или условную микроволновку соседа. Что я читал про тот ESP8266, всё говорит о том, что это очень нежная штучка.
И, кстати, этот ESP8266 можно же напрямую подключить к UART? То же самое и отдельно с модулем WiFi. То есть, я смогу сначала настроить/протестировать ESP-12E, а потом настроить/протестировать WiFi модуль, и всё это совсем без Sizif, я правильно понимаю?
Чтобы настроить ESP надо breakout board для ESP, или вручную обвязку какую-то. И AT-командами.
Были такие мысли.
Вот, кстати, про настройку ESP ссылка:
https://learn.microsoft.com/ru-ru/archive/blogs/abhinaba/esp8266-wifi-with-arduino-uno-and-nano
Может ли кто подсказать где купить Альтеру, чтобы точно была новая и по разумной цене, ну и другие комплектующие к данному клону CPU и прочее?
Чтобы настроить ESP надо breakout board для ESP, или вручную обвязку какую-то. И AT-командами.
Были такие мысли.
Спасибо. Потянул за ниточку, узнал много нового.
Нашёл человека, который это всё запустил «на столе». Он даже мне доступ туда дал поиграться. Странная штука, говорят легко заходит в странные режимы из которых выход только через полный сброс (AT+RESTORE). Я спросил у коллеги, мол, а чего у тебя эта штука на столе лежит, а не в Sizif воткнута. А он говорит — смысла нет, нечего делать с ней, вообще не нашёл ничего, что просто работало бы, не говоря уже о практической полезности. А что, правда, с этим можно делать практически?
Что лично меня поразило:
AT+CWCOUNTRY_CUR?
+CWCOUNTRY_CUR:0,"CN",1,13
А чувак ни разу ни в Китае и точка доступа у него ничего про Китай не знает, это точно. Оно, конечно, для 2.4 не сильно на что влияет, но, всё же, если там «китай» гвоздями прибит, можно странных глюков словить на ровном месте, они приколисты известные. Например, зачем там bootloader на 77400 baud плюётся?
Для себя делаю вывод — если вдруг надумаю делать, то первым делом надо будет подключать к компьютеру и настраивать вручную.
Странная штука, говорят легко заходит в странные режимы из которых выход только через полный сброс (AT+RESTORE)
Ничего не понятно, но очень интересно :v2_dizzy_stupid:
смысла нет, нечего делать с ней, вообще не нашёл ничего, что просто работало бы, не говоря уже о практической полезности. А что, правда, с этим можно делать практически?
https://github.com/nihirash/zx-net-tools
Как минимум gopher браузер для прослушивания музыки из интернета. Хотя можно на карту скачать весь архив, так что... А о какой практической полезности вообще можно спрашивать в контексте ретрожелезяк?) Удовольствие от ковыряния, обучение, утилизация свободного времени в конце концов (при его наличии) :v2_unsur:
Как минимум gopher браузер для прослушивания музыки из интернета.
Я всё думаю об играх на спектруме через интернет.
Стратегии, пошаговые, шахматы...
Ничего не понятно, но очень интересно :v2_dizzy_stupid:
За что купил, за то и продаю :) Вообще не заработало, говорит. Я специально уточнил, вот именно этот набор zx-net-tools (https://github.com/nihirash/zx-net-tools) он собрал и любая из программ вгоняет ESP-12 в ступор из которого выход один — подключить к компьютеру и сделать AT+RESTORE. Причём, если настройки (кроме скорости UART) «обнулить», то иногда что-то разумное получается. А если уже настроенный ESP-12, то всё, тушите свет. Хотя, просмотрев код и вникнув в меру разумения, я категорически не понимаю, как это правильно запускать. ESP-12 куплю, но буду ждать, когда djs всё сделает и подключит, у него отличные разъяснения получаются :)
Ключевой момент, который мне стал непонятен, после изучения всего, что я нашёл — как оно вообще в теории может заработать без предварительной настройки на «большом» компьютере. ESP-12 сбрасывается в 115200,8,1,n, т. е., скорее всего, новая плата в таком режиме и стартует. Как оно переключится в 9600, которые ожидает спек, я понять не могу. В некоторых программах Александра там явно ничего не делается для настройки скорости, т. е. одни (IRC (https://github.com/nihirash/zx-net-tools/blob/master/irc/zifi.c#L104), wget (https://github.com/nihirash/zx-net-tools/blob/master/wget/ay-uart.asm)) точно работать не будут без дополнительной настройки. В других (netman (https://github.com/nihirash/zx-net-tools/blob/master/netman/ay-uart.asm#L338)) какой-то «мусор» выплёвывается на TX с максимальной скоростью (конечно, тут стоило бы у него и уточнить, что зачем и как). Вот тут у меня пока две гипотезы: 1) либо это такой способ гарантированно сбросить ESP-12, но, непонятно, как это помогает с проблемой не той скорости UART; 2) либо эта магическая последовательность как-то магически должна настроить ESP-12 на нужную скорость (коду 4+ лет, а у моего знакомого модуль с новой прошивкой, от 20го или 21го года, может, на новых прошивках эта магия и не работает?). Upd: небольшая зарядка для ума показывает, что это "CR LF AT+UART_DEF=9600,8,1,0,2 CR LF". Какой магией это работает, в смысле, почему выплёвывание бит на максимальной скорости даёт 115200 плюс/минус лапоть, наверное, тому есть логическое объяснение, если посчитать такты.
А о какой практической полезности вообще можно спрашивать в контексте ретрожелезяк?) Удовольствие от ковыряния, обучение, утилизация свободного времени в конце концов (при его наличии) :v2_unsur:
Я тут, может, неточно выразился :) Практически полезно и практически возможно, вот две ситуации, которые я имел в виду. Вот мой знакомый явно в ситуации, когда у него практически невозможно этот ESP-12 использовать.
Интересно, а если ESP-12 перепрошить на Zimodem… Где-то тут по соседству тема была про что-то похожее… Спаять всё же, что ли...
буду ждать, когда djs всё сделает и подключит, у него отличные разъяснения получаются :)
Ммм... я обьяснятор ещё тот. Найти какую-то инфу, это я могу. А сам что-то сделать, это врядли.
Кстати, по поводу общения с ESP, я задал вопрос автору net-tools в телеге в теме по Next, и он там довольно подробно обьяснил, как код настройки ESP сделал.
https://t.me/specnext
Очень прикольный способ, но я бы сказал, очень зависимый от фаз Луны. Используя термин самого Александра, он подвержен "Undefined Behavior"
Кстати, вы его абсолютно точно определили. Александр называет это "дрыгоножество", это выплёвывание потока битов в расчёте на то, что такты совпадут.
Склоняюсь к тому, что ESP надо заранее всё-таки настраивать через "большой" комп. На N-Go, кстати, Wifi у меня сегодня заработал сразу и без проблем.
Я, конечно, теоретик знатный и поэтому решил выяснить всё досконально заранее, до того как спаяю WiFi модуль. В результате моих выяснений и родились эти заметки. Особо явных ошибок быть не должно, под моим руководством человек смог запустить плату, которая валялась у него без дела больше года, да и я сам смог запустить, убить и перезапустить ESP-12.
<<Здесь должен быть мемасик из «Властелина колец»>> «нельзя так просто взять и подключить ESP-12 к спеку»
Хозяйке на заметку:
* Данные мысли вслух подразумевают использование «штатной» прошивки ESP-12 в комплекте с ПО, использующим «UART driver» от zx-net-tools by nihirash (https://github.com/nihirash/zx-net-tools). ESP-12 подключается по схеме «AY» IOA7-GPIO1/TXD, IOA3-GPIO3/RXD,IOA2-GPIO13/CTS.
* И, да, мы говорим «спек», подразумеваем «sizif-512», говорим «sizif», подразумеваем «спектрум».
* Всё нижеописанное теоретически подходит как для «голого» ESP-12 (убедитесь, что ваш UART умеет 3.3V), так и для готового WiFi модуля (очевидно, тут нужен TTL). Мне было достаточно питания от USB UART, для уверенности можно запитать ESP-12/WiFi модуль отдельно.
* И убедитесь, что ваш терминал посылает CR LF, а не просто CR. <ENTER> ниже значит CR LF.
TL;DR: 9600, 8 бит, 1 стоп бит, без контроля чётности, RTS (и только RTS) включён. Или 115200,8,1,n,CTS+RTS, скорее всего, тоже сработает.
Я использовал конфигурацию «настоящего 128». но, говорят, тут критична должна быть только частота процессора — 3.5МГц, никакого ускорения!
ESP-12 может находится в бесконечном количестве состояний, но спек сможет с ним общаться только в двух случаях:
- 115200,8,1,n[,CTS+RTS] — такое получается после сброса к заводским настройкам. Если у вас новый модуль, скорее всего он имеет именно такие настройки.
- 9600,8,1,n,RTS — на это рассчитано всё ПО, которое тут пока упоминалось.
Предлагаемый алгоритм первого запуска WiFi модуля:
А. если вы уверены, что ESP-12 сброшен в заводские настройки, подключайте его к спеку и первым делом запускайте netman. Другие программы до netman запускать не надо, может войти в [пока ещё не исследованный] режим, после которого потребуется сброс через компьютер. Profit, после можно запускать MRF (https://github.com/Kulicheg/MRF) и наслаждаться.
Б. если вы не уверены, в каком состоянии ESP-12, вам понадобится USB UART для подключения его к компьютеру. Ну, и естественно, это понадобиться, если netman не может достучаться до ESP-12.
С. в любом случае, не запускайте на спеке ничего, кроме netman. Если он сработал, всё отлично, наслаждайтесь. Если netman не смог, не усугубляйте, сразу USB UART + компьютер.
Настройка ESP-12 с пользованием компьютера:
1. Настраиваем терминал на 76800,8,1,n,-, подключаем ESP-12 и подаём на него питание. Внимание, тут важна последовательность — USB UART должен быть включен, настроен и терминал готов принимать и показывать, что-там-esp-будет-слать. Только после этого подаём питание на ESP. Если вы на 200% уверены, что ESP жив и здоров, этот пункт можно пропустить.
1.1 Если ESP-12 вообще живой, то он выплюнет что-то вроде (да, они затейники, тут «масса» полезной информации).
ets Jan 8 2013,rst cause:1, boot mode:(3,7)
load 0x40100000, len 2592, room 16
tail 0
chksum 0xf3
load 0x3ffe8000, len 764, room 8
tail 4
chksum 0x92
load 0x3ffe82fc, len 676, room 4
tail 0
chksum 0x22
csum 0x22
2nd boot version : 1.7(5d6f877)
SPI Speed : 40MHz
SPI Mode : DOUT
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
V2
Mo
,��rf cal sector: 251
freq trace enable 0
rf[112] : 00
rf[113] : 00
rf[114] : 01
SDK ver: 3.0.5-dev(52383f9) compiled @ Jul 8 2020 16:00:05
phy ver: 1156_0, pp ver: 10.2
2. Методом проб и ошибок подбираем скорость, на которой ESP начнёт реагировать не команды. Здесь поможет только пролетарское чутьё, настоящий ретрокомпьютерщик должен угадывать скорость по типу «мусора» на экране :)
Подсказка: лучше всего пробовать <ENTER>AT+RST<ENTER>, даже если эхо выключено или что-то не совпадает на приём, как минимум будет мигать светодиод на плате, а, идеально, если вы видите какой-то мусор (ну, или загрузку, если зачем-то оставили 76800). Даже если ничего не выводится, но светодиод мигает, это уже хорошо, переходим к следующему пункту
c_�RS�fJ[zf�f
�J��s�S�M�T
X�O����
3. После того, как ESP-12 стал реагировать на команду перезагрузки, сбрасываем к заводским настройкам: <ENTER>AT+RESTORE<ENTER>
ВАЖНО: скорость переключится на 115200,8,1,n,CTS+RTS, не забудьте переключить настройки терминала, если планируете настраивать дальше на компьютере.
Теперь можно перейти к пункту А выше. А можно продолжить настройку. Внимание, мы запросим RTS only для flow control, поэтому убедитесь, что CTS модуля правильно подключено к USB UART, иначе вы не увидите ответов.
4. Первым делом меняем настройки скорости: AT+UART_DEF=9600,8,1,0,2 (сработает сразу, переключаем скорость в терминале!)
4.1 Устанавливаем режим станции (клиента): AT+CWMODE_DEF=1
4.2 Подключаемся к своей точке доступа: AT+CWJAP_DEF="SSID","PASSWD", оно скажет «WIFI CONNECTED» и «WIFI GOT IP»
4.3 Перезагружаем: AT+RST
5. Проверяем, что всё заработало:
5.1 Смотрим список точек доступа вокруг: AT+CWLAP
5.2 Можно потестировать HTTP, например посмотреть свой IP адрес
Ai-Thinker Technology Co. Ltd.
ready
WIFI CONNECTED
WIFI GOT IP
AT+CIPSTART="TCP","api.ipify.org",80
CONNECT
OK
AT+CIPSEND=39
OK
> GET / HTTP/1.1
Host: api.ipify.org
Recv 39 bytes
SEND OK
+IPD,231:HTTP/1.1 200 OK
Date: Thu, 20 Mar 2024 22:14:42 GMT
Content-Type: text/plain
Content-Length: 15
Connection: keep-alive
Vary: Origin
CF-Cache-Status: DYNAMIC
Server: cloudflare
CF-RAY: 867ddcf8fc7e79c9-LHR
333.444.555.666AT+CIPCLOSE
CLOSED
OK
6. Подключаем модуль к Sizif, запускаем MRF. Profit!
P.S. MRF для esxdos самому вручную надо собирать, так?
Как сложно всё) Я уже подзабыл детали, но точно всё без ПК делается. То ли setspeed.tap, то ли netman.tap - настраивает esp на нужную скорость, потом выбираем нужную сеть и вбиваем пароль, и без всяких колдунств.
точно всё без ПК делается.
Да, согласен на 100500%. Но при одном условии, если вы шаловливыми ручками не, гкхм-гкхм, эту ESP-12 в течение года :)
То есть, для 99% «нормальных людей», у которых новый модуль в «заводской» конфигурации, инструкция проста (см. пункт А) -- запустить netman и ничего не трогать.
Не работает через ZXkit1 ULA+ палитра на ЖК монике. Подскажите пожалуйста, должна ли она работать ?
zxkit1 с прошивкой и доработками от Uzix
belik, ZXKit1 не поддерживает ULA+ - у него 4-битный вход RGBI и 6-битный выход VGA (по 2 бита на цвет - RRGGBB). ULA+ подразумевает 8-битный цвет (RRRGGGBB). Кроме того, у самого Сизифа нет 8-битного выхода для цвета - на хедере EGA только 6 бит.
UncleDim
27.03.2024, 09:56
должна ли она работать ?
с соответствующей прошивкой (и доработками) - может, выкладывал в соотв. теме
с соответствующей прошивкой (и доработками) - может
Я имел ввиду именно ZXkit1+Sizif
UncleDim
27.03.2024, 12:26
+Sizif
а принципиальной разницы нет, сизиф это или профик или атм (что 6 бит тащить, что 8)
- - - Добавлено - - -
(при 4-битном подключении ессно никакой палитры не будет)
Кстати, в процессе своих страданий и изучения ESP-12, я не нашёл вменяемого и работающего терминала и, естественно, написал свой, вдохновляясь .uart для Next’а. Результат на лице:
80554
Программка простенькая, делалась именно для тонкой настройки ESP-12 прямо на Sizif. Байт принял — вывел на экран, нажатие кнопки — послали в последовательный порт. Исходники (https://codeberg.org/TIsland/zx-uart-ay/src/branch/dev-v1.0rc) причешу и выложу, т.к. первый вариант писал в поезде. Отлаживал на обычном USB UART, но друг с Sizif и WiFi модулем говорит, что работает отлично (см. снимок экрана выше). Инициализации ESP-12 оно НЕ ДЕЛАЕТ, предполагается, что 9600,8,1,n,CTS уже выставлено. Если это не так — сначала надо запускать netman использовать ключик -f. А уж потом можно и шаловливыми ручонками всяких разных AT-команд навводить :) Если стоит «Auto CPU frequency», то глюки гарантированы, убедитесь, что тактовая частота 3.5МГц.
Upd 2024-03-28: Раскопав своих подвалов я нашёл нормальные «библиотеки» для работы с RS232, в том числе и на скорости 115200, без всякого колдунства. После чего было успешно добавлено:
Возможность перенастройки только что сброшенного ESP-12, который работает в 115200,8,1,n -- ключик -f
Локальное эхо, если вдруг включили ATE0
80557
Говорят, что работает с настоящим WiFi модулем. Я, к сожалению, лично проверить пока не могу за неимением оного. Исходники скоро будут.
80673 - dot command, копировать в /BIN
Кстати, в процессе своих страданий
Очень здорово то, что вы делаете!
Добавьте, пожалуйста, выбор порта AY в параметрах программы.
Я чувствую, что это может быть супертерминал, который заработает и с компортом.
Только у меня на компорте чёстно заведены RTS/CTS.
Ваши библиотеки поддерживают этот вариант?
В любом случае, выбор порта AY был бы очень полезен.
ps.
а ведь когда-то я сам писал программку для модема, с протоколом z-modem на спектруме.
И работала, соединялась через телефон с писюком в конторе, качала что-то оттуда.
Исходники для Зевса, который я в то же примерно время переделал под себя, лежат
в образах дискет.
Добавьте, пожалуйста, выбор порта AY в параметрах программы.
...
Только у меня на компорте чёстно заведены RTS/CTS.
Ваши библиотеки поддерживают этот вариант?
Хорошая идея, и не сложно должно быть. Единственное, как протестировать не могу придумать… Ну, разберёмся…
«Библиотеки» я не зря в кавычки взял, основная библиотека это ROM 0 для оригинального 128k. Это оттуда все «Write Byte to RS232 Port (http://www.matthew-wilson.net/spectrum/rom/128_ROM0.html#L08A3)» и «Read Byte from RS232 Port (http://www.matthew-wilson.net/spectrum/rom/128_ROM0.html#L06D8)» копируют, зачем-то тщательно вычищая комментарии. Пользуясь случаем, передаю привет Matthew Wilson, Andrew Owen, Geoff Wearmouth, Rui Tunes и Paul Farrow. С их трудами можно ознакомиться тут (http://www.matthew-wilson.net/spectrum/rom/) (как минимум с 2009-го). Короче, DTS и CTS там были всегда.
Upd 2024-03-30: что-то получилось. Ключик -b выбирает IOB (I/O Port 2), ключик -r включает RTS. Как протестировать — я не соображу. В смысле, подцепиться к ногам 8910 я сейчас не могу, но любая из этих настроек не даёт «общаться» с WiFi модулем, по словам моего знакомого. Мой USB UART с picocom на компьютере демонстрирует удивительное пренебрежение к flow control и работает [почти] всегда :) Единственное, что могу подтвердить — выбор I/O Port 2, по крайней мере, перестаёт посылать данные в I/O Port 1 :)
80566
В принципе, что RTS/CTS выведены, это ничему не мешает, и ESP-12 и, тем более. USB UART’ы, можно же настроить так, что они будут это всё игнорировать. Кстати, новейший sercp (https://vym.cz/sercp/) тоже, вроде, отказался от flow control. Интересно, в ROM 0 disasm’е почему-то используется «DTR» вместо «RTS», какой-то исторический казус, как я понимаю, в оригинальной документации для ZX Interface 1, ЕМНИП, было так.
Заодно сделал индикацию всех выбранных ключей/режимов. На выходных постараюсь код выложить, чтобы все желающие могли сами дописывать.
Есть непринципиальные моменты, которые у меня точно ни на что не влияют и почему их тащат [предположительно] откуда-то в zx-net-tools и потом в MRF, я понять не могу (предположить, безусловно, могу):
1. Зачем включать Channel B Tone и Channel A Tone (https://github.com/Kulicheg/MRF/blob/main/drivers/uart-ay.asm#L8) в микшере 8912.
2. Зачем при инициализации порта выставляют CTS в low (https://github.com/Kulicheg/MRF/blob/main/drivers/uart-ay.asm#L18). (Может быть, чтобы передатчик «слил» в никуда свой буфер, пока мы раскачиваемся? Не уверен, как там «унутре» прошивка ESP-12 работает. Мне кажется, это вряд ли на что-то принципиально влияет, учитывая что в zx-net-tools вообще начинают с перезагрузки ESP12, принять пару десятков байт мусора тут ни на что не влияет). В моём коде этого нет по понятным причинам, моя цель — принять как можно точнее всё то, что нам передают.
3. Зачем при приёме второго байта вырезали третью проверку стоп-бита (http://www.matthew-wilson.net/spectrum/rom/128_ROM0.html#L077F). Опять же, у меня всё работает с третьей проверкой и чему она может помешать непонятно.
Но, это незначительные технические детали, «на скорость не влияют» :)
Кстати, Uzix, а в модуле WiFi RTS (который на самом деле CTS для ESP-12) специально не разведён на разъём и притянут к земле? IIRC, ESP-12 на GPIO15 (pin 16) выводит, вроде. Я себе плату делать, наверное, не буду, на макетке соберу и вдруг есть причина, по которой RTS не должен быть подключен? Или можно соединить, как положено?
80674 исходники (https://codeberg.org/TIsland/zx-uart-ay)
USB UART’ы, можно же настроить так, что они будут это всё игнорировать
А ведь отказ от аппаратного контроля передачи подводит нас к возможности использования Bluetooth RS232 контроллеров, типа такого:
https://aliexpress.ru/item/1005002168332848.html?sku_id=12000018925700214&spm=a2g2w.productlist.search_results.0.184036a6lsE pZF
и, таким образом, избавление от проводов?
Там вроде была фишка, что надо, чтобы с одной стороны был в режиме "master", с другой - в режиме "slave".
Но сейчас, смотрю, появились даже с переключателем модули:
https://aliexpress.ru/item/1005004337501618.html?sku_id=12000028810245216&spm=a2g2w.productlist.search_results.0.32884b68YA9 eZP
или даже:
https://aliexpress.ru/item/32806326564.html?sku_id=64348347551&spm=a2g2w.productlist.search_results.10.32884b68YA 9eZP
Ох, это уж для каких-то специальных извращений. Хотя, штуки интересные :)
Кстати, 115200 правда работает. Пользоваться практически, конечно, особенно для целей терминала, нельзя. Но, в принципе, работает. Удивительно, до чего дошёл прогресс.
По сути, заказал себе ESP-12. В связи с чем вопрос -- чем нынче модно делать 3.3В из 5? 1117 в закромах кончились, может, что помоднее есть?
Кстати, @Uzix, а в модуле WiFi RTS (который на самом деле CTS для ESP-12) специально не разведён на разъём и притянут к земле? IIRC, ESP-12 на GPIO15 (pin 16) выводит, вроде. Я себе плату делать, наверное, не буду, на макетке соберу и вдруг есть причина, по которой RTS не должен быть подключен? Или можно соединить, как положено?
Не думаю что в этом сигнале есть смысл - слишком маленькая скорость и маленький объём данных передаёт спек. К тому же вряд ли имеющийся софт умеет учитывать этот сигнал
Если будете делать на макетке - подтяните к земле через резистор 10 кОм. Напрямую (как это по ошибке сделано на плате модуля) подключать не следует.
Забрал вчера ESP-12, пол ночи игрался, думаю, на следующей неделе подключу. Пощупав руками не могу не задать вопрос, который меня [теоретически] мучил с самого начала. А на кой, хмм, людям упёрлась эта убогая AT прошивка от Espressif? Есть же отличный zimodem и, что самое главное, прошивается «на раз».
Вот, хочу попробовать переделать MRF для работы через zimodem. Ибо другого ничего работающего как-то и не видно особо.
По результатам подключения ESP-12 отпишусь, интересно собственные теоретические инструкции проверить на практике.
Модуль у меня какой-то левый. Да ещё и только 512Kb ППЗУ.
Решил я свой модуль обновить, он с какой-то очень древней прошивкой был и, естественно, начал с ESP8266 SDK Getting Started Guide. Всё отлично заработало, ну, кроме 3.x, она слишком большая для моего модуля. Но потом я почитал эти самые интернеты, выпил водки и пошёл спать. Потому как там такое в плане прошивки советуют… Про Flash Map явно никто не читал…
Это к вопросу о zimodem, даже если его самому собирать из исходников, это всё равно проще, чем продраться через ту ересь, которую советуют по поводу AT firmware. Нет, речь не об официальной документации, там всё чётко и по делу, но кто, кроме меня, с официальной документации начинает? :)
Есть же отличный zimodem
Который на скорости 1200 работает? Но для всяких BBS хорошая вещь.
Рекламная пауза: есть плата zx wifi, она до 921600 килобит умеет...
Который на скорости 1200 работает?
Да что Вы, на 460800 точно работает, сам проверял. Не на спеке, конечно, на спеке 9600 вполне, не хуже AT firmware
Там другой момент вылез. Я всё прошил, собрал, «на столе» отдельно и ESP-12 работает с USB UART и спек работает с USB UART. Но оно, в смысле прошивка zimodem, почему-то наглухо игнорирует flow control. Из-за чего получение внятного ответа на спеке получается практически невозможно, кроме очень специальных случаев. Поздно уже, буду на неделе читать дальше. Вроде все «ручки» для настройки есть, а включить не получается. Из-за чего вот такое безобразие (как видно, плевать оно хотело на CTS и сразу шлёт данные, это простое нажатие клавиши с ATE1):
80623
Upd: оно, оказывается, ESP-12 «напрямую» не поддерживает до сих пор. Надо выводы назначать явно:
80625
Протокол там гораздо более вменяемый. Вот именно то, что после сброса в 1200 стартует. Куча всяких вкусностей и плюшек, надо разбираться.
Кстати, а для скорости 1200 там есть killer feature — полноценный http client с буферизацией данных. Пилит флешку, конечно, поэтому «мнэээ, не советую». Но есть.
P.S. плата хорошо, но ESP-12 у меня уже есть :) Но, плата с Sizif работать будет, так?
плата с Sizif работать будет, так?
Должна бы, я не проверял. С +2А, например, работает. Главное чтобы порт EF был не занят.
Ну, что я могу сказать, до использования ESP-12 в его первозданном виде я пока не дошёл :) Кроме уточнений по моим теоретическим инструкциям по его оживлению, буде оный помре временно опосля неудержимых экспериментов. Инструкции оказались на 100% рабочие, поправил мелочи там выше (https://zx-pk.ru/threads/32157-sizif-512.html?p=1195992&viewfull=1#post1195992).
А всё свободное время я посвятил играм с Zimodem. Что сказать, мне понравилось. Настолько, что я даже переделал MRF. Оно ещё в совсем не рабочем состоянии, правда. Что-то куда-то явно не туда пишет и всё падает с грохотом после загрузки «страницы». Причём, я даже не уверен, мой код или MRF, я сдуру взял не стабильный релиз, а просто HEAD. Или я неправильно состыковал свой API с тем, что ожидает MRF. Но часть общения с модемом командами Zimodem работает, запросы посылаются, ответы принимаются. Я анализатором посмотрел :) Иногда(!) даже и на экране отображается. Откуда такая стохастичность, не понимаю… Upd: стохастичность удалось победить, работает и неплохо. Похоже, я ещё и баг в Zimodem нашёл, буду проверять.
В процессе переделал свой .uart, теперь его можно использовать и для работы с Zimodem (и его настройки, прямо на Спеке!), появился выбор скорости и режим «скрипта».
TL;DR:
- для сборки «C64Net»: ATS46=1S48=1S50=1S52=1S54=1S56=1S47=5S49=13S51=15S 53=12S55=14S57=4S44=1F0
- для сборки «Zimodem»: ATS47=5S49=13S51=15S53=12S55=14S57=4S44=1F0
Ну, и скорость увеличить: ATB9600
Если заработало, не забудьте сохранить настройки (&W), а то они до первого ATH/сброса.
Можно попробовать вот такой программкой:
10 PRINT "ZIMODEM SETUP"
20 REM Set up levels to match RS232 reqs
22 .uart -1 -s ATS46=1S48=1S50=1S52=1S54=1S56=1
30 REM Set up ESP-12 pins
32 .uart -1 -s ATS47=5S49=13S51=15S53=12S55=14S57=4
40 REM Add 1ms delay after each char
42 .uart -1 -s ATS44=1
50 REM Switch baud rate and flow control
52 .uart -1 -s ATF0B9600
90 PRINT "Connect at 9600 and do not"
92 PRINT "forget to save settings:"
93 PRINT " AT&W"
94 GOTO 9999
99 SAVE *"ZMDMSTUP.BAS" LINE 10
И чуть более подробно (в HTML на внешнем ресурсе (https://telegra.ph/zimodem--ZX-Spectrum-04-12)):
Upd: после продолжительных экспериментов я должен признать, что последняя прошивка для ESP8266 (3.0.5), похоже, работает гораздо стабильнее, чем странно настроенный zimodem. Интереса ради я переписал «сетевой стек» для MRF для zimodem и для ESP-12, чтобы у потенциальных ошибок были равные шансы проявить себя. Пока esp at firmware выигрывает по очкам. Может быть, мои попытки «настроить» zimodem привели к обратному эффекту, но, мне так не кажется... К выходным узнаем...
Значит, вердикт по Zimodem таков: использовать для передачи произвольных данных его можно, но последняя at прошивка его превосходит по стабильности. Мой ESP-12 модуль изначально был с какой-то древностью 1.1.0.0 и оно глюкало, не фатально, но так, в нормальном темпе. 3.0.5 работает отлично.
Zimodem я завёл, всё работает, но попутно нашёл минимум два бага и очевидно, что для «пакетной» передачи данных его никто не использует. Помимо проблем с форматом команд, в общих чертах, там понадобилось значительно (20..25%) искусственно замедлить приём, иначе на приём шла какая-то ересь из-за потери синхронизации. Мне кажется, zimodem шлёт слишком быстро, игнорируя flow control, но не уверен на 100%. Я много что перепроверил тестами и, как уже говорил, переписал «драйвер» at прошивки на свой манер, чтобы сравнение было максимально честным. На 98% я уверен, что глюки именно прошивка zimodem генерирует. TL;DR: обязательно S44=1 и при приёме делать паузу в 1,5..2мс между пакетами. S44=1 нужно, чтобы пауза попадала точно между пакетами, что в сумме дает замедление минимум на 25%. Природу этой магии я понять не могу, но в такой конфигурации всё работает стабильно. Она случайно получилась у меня, я просто паузы вставил, чтобы в анализаторе пакеты визуально разделялись.
Пользуясь случаем, рекламирую выпуск .uart, там есть всё, что мне было нужно :) .UART 1.0a - 80672 (исходники (https://codeberg.org/TIsland/zx-uart-ay)) 80669
Кстати, если я ничего не путаю, должно быть возможно сделать универсальную прошивку, и с zimodem и с at firmware...
Не думаю, что у меня в ближайшее время будет возможность вернуться к упражнениям с ESP-12 и Zimodem, поэтому делюсь тем, что есть. Вдруг, кому интересно будет продолжить.
В архиве мои изменения для MRF -- «драйвер» Zimodem и переписанный на мой манер «драйвер» AT Firmware. Писалось изначально не для MRF, поэтому идеально не стыкуется. Но, работает :) Upd: 2024-04-27: кто забрал первый черновик, вот поновее. Тут, заодно, и "драйвер" для ZX Spectrum Next (мопед не мой, просто в одном репозитории возились). Если руки дойдут, к майским выложу в git repo (https://gitflic.ru/project/chwe/mrf-fe).
80714
Берёте MRF 9a98064 (https://github.com/Kulicheg/MRF/tree/9a98064ef48bc92166fd7a66195536501dcd792c), поверх распаковываете MRF-Zi.7z и собираете любым способом, например, `make ayesxdos`. На выходе будет `AY-64.ESX`. Потом можно сделать `make -f tap/Makefile`, оно соберёт mrfz.tap, его можно загрузить к файлам, уже развёрнутым на диске. Profit!
Смотрел сейчас на ютубе игрушку на C64...
Вспомнил, что хотел попросить новую фичу на Сизифе:
Евгений, а нельзя ли у нас на Сизифе сделать выбор кастомной палитры в меню?
Именно не вкючение ULA+, а кастомную палитру в "простом" режиме.
У нас сейчас выбор ULA+ вкл/выкл, а вот сделать бы такой выбор:
1) ULA+ включена
2) ULA+ выключена
3) порт(ы) ULA+ выключен(ы), но выбирается кастомная палитра из нескольких вариантов. Причём, хотелось бы в одном из вариантов иметь Grayscale-палитру.
Обьясню: у меня большую часть времени Спектрум 48-"резинка" был подключен к чёрно-белому PAL-телевизору (до сих пор жив),
и, когда я у одного друга (он был как-то связан вроде с Пажитновым, это была середина 80-х) увидел какую-то игру в цвете,
был... неприятно удивлён, потому что привык к чёрно-белому градиенту за много лет, и не был готов к "вырвиглазным" цветам.
Я плохо понимаю, как на уровне схемотехники реализован вывод цветов, и ограничения, накладываемые количеством бит кодировки цвета в Сизифе
,но программно наверно это было бы несложно сделать, учитывая, что уже есть и работает ULA+.
Фактически, свелось бы к включению ULA+, но с фиксацией одной заданной палитры, выбоанной из нескольких?
Видел давно в интернете статью по этой теме со сравнением палитр, сейчас не нашёл.
Но вот что-то подобное: https://en.wikipedia.org/wiki/List_of_8-bit_computer_hardware_graphics
djs, такая функция уже давно есть в lfn browser (https://spectrumcomputing.co.uk/forums/viewtopic.php?t=2553)
Он умеет подгружать палитры из отдельных файлов и затем запускать игры с ними.
Вот такие у меня в архивах нашлись палитры:
80703
Ч/б вроде бы нет, но, думаю, при большом желании возможно разобраться и сделать свою.
Коллеги, я, наверное, уже всем надоел со своими узкоспециальными экспериментами, уже слабо связанными с Sizif, но только у меня возникло желание ускорить MRF в шесть раз? Или это уже сделали до меня, а я просто найти не смог?
80731
P.S. Да, там где-то скорее три раза, но теоретический максимум именно 6 :)
Я, конечно, далёк от мысли, что я единственный гений, освоивший google/yandex, но как так получилось, что я не нашёл никаких следов своих предшественников? Пользуясь случаем, представляю набор изменений для процедур использования RS232 через IO Port AY 8912. Ускоряем MRF for fun and profit! Я экспериментировал на Sizif да ещё и с прошивкой Zimodem, но, не вижу причин, почему бы оно не работало бы везде.
«ESP AT» сборки протестировать лично не смог, но, говорят -- работают. Теоретическое ускорение должно быть даже больше, чем у Zimodem.
В общем, предлагаю вашему вниманию экспериментальные сборки MRF (все для esxdos, внутри 7z обычный TAR для распаковки на Спеке): 80747
ESP AT Firmware
9600 baud («стандарт») с моим «драйвером», исключительно для коллекционеров, отличительной чертой является возможность нажать BREAK и завершить любую операцию с сетью -- MRF-ESP.TAP
57600 baud, тут всё понятно, быстрее раза в три (см. технические детали ниже) -- MRF-ESP5.TAP
Zimodem
9600 baud, для эксперментаторов, практически оно медленнее AT Firmware -- MRF-ZIM.TAP
57600 baud -- MRF-ZIM5.TAP
ZX Spectrum Next, опять же с новым «драйвером», он не мой, только для KS2, но МОЖЕТ быть поустойчивее той жути, которая на Next используется в силу каких-то исторических причин, мне лично непонятных. Честно, я и не вникал. Опуская все идиоматические выражения, которыми таки богат английский язык, я бы перевёл описание как «работает гораздо лучше, чем всё остальное». -- MRF-ZXOS.TAP
Все сборки предполагают, что нужная скорость выставлена в модеме заранее. Используйте замечательную утилиту .UART для настройки :) 80748 (-5 включает 56700). Файлики ESP576.BAS и ZIM576.BAS могут помочь.
Как настраивать скорость. Для Zimodem всё просто -- ATBspeed, действует сразу, отменить, если что пошло не так, только сбросом или питанием. Для ESP AT -- настоятельно рекомендую AT+UART_CUR, чтобы, опять же, сбросом или питанием легко всё возвращалось, как было.
Получается так, теоретическая скорость в байтах на 57600 у нас 5760, так? Практически получается экран (6912) принимается за 2.76 сек. То есть, примерно 2500/сек. Это по настоящей сети «откуда-то» из интернета, это не с соседнего компьютера.
Самый большой файл, на котором я замерял, был 21498 байт и в целом передача занимала чуть меньше 10 сек. ~2200/сек.
На скорость «в среднем по больнице» влияет странная особенность Zimodem, он первые несколько байт первого пакета передаёт с сильными задержками.
Тут, теоретически, ESP AT должно вырываться вперёд, там я такого ещё не видел.
Если выключить прерывания на всю операцию «принять файл», наверное, можнр «разогнать» ещё немножко. И, может быть, убрать те паузы в 1.5мс,
которые я добавил для стабильности на 9600, на 57600 это просто гигантский интервал.
Хотя, как правильно заметил Pavel Vymetálek, на скоростях выше 38400 основную роль играет время обработки принятого байта (записать в память, уменьшить счётчик, и т.п.). На 57600 такие паузы составляют, я бы сказал, половину времени.
P.S. Наверное, мне пора в тему для MRF, только где она?
P.P.S. Случилась у меня беда, точно по симптомам как у djs. После очередной сборки/разборки моего WiFi "«модуля»" (двойные кавычки, чтобы подчеркнуть, что там всё было ОЧЕНЬ временно) оно перестало работать. Похоже, что-то где-то окислилось и сопротивление выросло, если выкинуть резисторы для RX/TX нафиг, то оно оживает, но эксплуатировать его в таком режиме я как-то боюсь.
Я, конечно, далёк от мысли, что я единственный гений, освоивший google/yandex, но как так получилось, что я не нашёл никаких следов своих предшественников? Пользуясь случаем, представляю набор изменений для процедур использования RS232 через IO Port AY 8912. Ускоряем MRF for fun and profit! Я экспериментировал на Sizif да ещё и с прошивкой Zimodem, но, не вижу причин, почему бы оно не работало бы везде.
«ESP AT» сборки протестировать лично не смог, но, говорят -- работают. Теоретическое ускорение должно быть даже больше, чем у Zimodem.
В общем, предлагаю вашему вниманию экспериментальные сборки MRF (все для esxdos, внутри 7z обычный TAR для распаковки на Спеке): 80747
ESP AT Firmware
9600 baud («стандарт») с моим «драйвером», исключительно для коллекционеров, отличительной чертой является возможность нажать BREAK и завершить любую операцию с сетью -- MRF-ESP.TAP
57600 baud, тут всё понятно, быстрее раза в три (см. технические детали ниже) -- MRF-ESP5.TAP
Zimodem
9600 baud, для эксперментаторов, практически оно медленнее AT Firmware -- MRF-ZIM.TAP
57600 baud -- MRF-ZIM5.TAP
ZX Spectrum Next, опять же с новым «драйвером», он не мой, только для KS2, но МОЖЕТ быть поустойчивее той жути, которая на Next используется в силу каких-то исторических причин, мне лично непонятных. Честно, я и не вникал. Опуская все идиоматические выражения, которыми таки богат английский язык, я бы перевёл описание как «работает гораздо лучше, чем всё остальное». -- MRF-ZXOS.TAP
Все сборки предполагают, что нужная скорость выставлена в модеме заранее. Используйте замечательную утилиту .UART для настройки :) 80748 (-5 включает 56700). Файлики ESP576.BAS и ZIM576.BAS могут помочь.
Как настраивать скорость. Для Zimodem всё просто -- ATBspeed, действует сразу, отменить, если что пошло не так, только сбросом или питанием. Для ESP AT -- настоятельно рекомендую AT+UART_CUR, чтобы, опять же, сбросом или питанием легко всё возвращалось, как было.
Получается так, теоретическая скорость в байтах на 57600 у нас 5760, так? Практически получается экран (6912) принимается за 2.76 сек. То есть, примерно 2500/сек. Это по настоящей сети «откуда-то» из интернета, это не с соседнего компьютера.
Самый большой файл, на котором я замерял, был 21498 байт и в целом передача занимала чуть меньше 10 сек. ~2200/сек.
На скорость «в среднем по больнице» влияет странная особенность Zimodem, он первые несколько байт первого пакета передаёт с сильными задержками.
Тут, теоретически, ESP AT должно вырываться вперёд, там я такого ещё не видел.
Если выключить прерывания на всю операцию «принять файл», наверное, можнр «разогнать» ещё немножко. И, может быть, убрать те паузы в 1.5мс,
которые я добавил для стабильности на 9600, на 57600 это просто гигантский интервал.
Хотя, как правильно заметил Pavel Vymetálek, на скоростях выше 38400 основную роль играет время обработки принятого байта (записать в память, уменьшить счётчик, и т.п.). На 57600 такие паузы составляют, я бы сказал, половину времени.
P.S. Наверное, мне пора в тему для MRF, только где она?
P.P.S. Случилась у меня беда, точно по симптомам как у djs. После очередной сборки/разборки моего WiFi "«модуля»" (двойные кавычки, чтобы подчеркнуть, что там всё было ОЧЕНЬ временно) оно перестало работать. Похоже, что-то где-то окислилось и сопротивление выросло, если выкинуть резисторы для RX/TX нафиг, то оно оживает, но эксплуатировать его в таком режиме я как-то боюсь.
А такая нужна? А то я как-то стесняюсь аж целую тему заводить, а то на пихают как обычно за него =)
А так, любые улучшения и исправления приветствуются. А частота процессора на этих 57600 какая, оригинальные задержки оптимизированы кажется на 3.5
А такая нужна? А то я как-то стесняюсь аж целую тему заводить, а то на пихают как обычно за него =)
А так, любые улучшения и исправления приветствуются. А частота процессора на этих 57600 какая, оригинальные задержки оптимизированы кажется на 3.5
Всё как в оригинале. Ну да, их много. Я по историческим причинам использую конфигурацию оригинального 128k. Кстати, в MRF там сейчас выдранная без «мяса», в смысле, один к одному, процедура из ROM0 от 128k, так что 57600 уж точно с этим совместимо :) 57600, в общем, код небезызвестного Paul Farrow, ЕМНИП, известен года так с 2009-го и работает даже на оригинальном 48k. Я так понимаю, что у Вас основная масса пользователей на отечественных клонах, но, опять же, если ROM0 работал до сих пор и никто не жаловался, то и это вполне может заработать. Может, кто попробует... Я на Sizif только Пентагон могу включить.
P.S. Я там с техническими деталями на праздниках «загляну», по поводу темы и прочего.
Там у меня (https://gitflic.ru/project/chwe/mrf-fe) масса всего, но суть именно ускорения можно попробовать следующей нехитрой заменой:
1. Переименовать uart-ay.asm в uart-ay-128k.asm
2. Добавить uart-ay-57600.asm
3. Создать новый uart-ay.asm (вот ниже) и собирать с -DUART_AY_57600
Ну, и как-то сконфигурировать ESP-12, чтобы на 57600 работало, код предполагает, что ESP-12 уже настроен.
; Copyright 2024 TIsland Crew
; SPDX-License-Identifier: Apache-2.0
IFDEF UART_AY_57600
MACRO SYSCALL proc
IFDEF __ESXDOS_DOT_COMMAND
rst 0x18
dw proc
ELSE
call proc
ENDIF;__ESXDOS_DOT_COMMAND
ENDM; SYSCALL
INCLUDE "uart-ay-57600.asm"
MODULE Uart
init:
call UART5.RS232_INIT
xor a
jp UART5.RS232_CFGDTR
write equ UART5.RS232_WR_BT
uartRead equ UART5.RS232_RD_BT
read:
push bc, de, hl
call uartRead
pop hl, de, bc
ret c
jr read
ENDMODULE ; Uart
ELSE
INCLUDE "uart-ay-128k.asm"
ENDIF;UART_128K
; EOF vim: et:ai:ts=4:sw=4:
Спасибо, посмотрю код. Подумаю над ним. Просто у меня нет ESP на AY. Код для AY, оригинальный из MR и я его не касался вообще.
Как попробовать
Я среди ночи попробовал добавить этот код к себе. собрал и добавил такую версию. Попробуй вдруг заработает, под номером 9 она. Похоже и правда понадобится какая-то тема чтобы не оффтопить много.
На GitHub (https://github.com/Kulicheg/MRF/blob/main/TRD/MRF.TRD)
А также на домашней странице MRF в папку 1.7.25.56 (gopher://kulich.tplinkdns.com/MRF/ZX-SPECTRUM/TRD/1.7.25.56)
Я среди ночи попробовал добавить этот код к себе. собрал и добавил такую версию.
Ох, я толком попробовать не могу, у меня что-то где-то отвалилось, как я уже писал выше. Я, конечно, подключил 3.3V выводы напрямую к TTL, magic smoke сразу не появился :) и вот что я могу сказать:
Оговорка: я очень начинающий спектрумист «вообще» -- стаж меньше года. А по меркам нашего сообщества ещё и очень неортодоксальный. В смысле, я в этих TR-DOS'ах ничего не понимаю... Я больше по esxdos и +3DOS. Мог чего упустить или неправильно сделать.
Так вот, в принципе, работает, правда, с какими-то незначительными шероховатостями. Ваш TRD стартует, похоже, в какой-то конфигурации, меню я не увидел (в FUSE то же самое, если я не ошибаюсь, там boot запускает EVO-64), поэтому руками запустил "AY56-64.B" (запустить MRF, чтобы сменить перманентно?). Оно заработало, там какие-то артефакты на экране, но, в целом, загрузка /Stuff/SCR/ZXART0/!GIRL!.scr с Вашего сервера заняла ~1.78 секунды. И PT3 удалось послушать. Sizif-512, конфигурации 128 и Pentagon. Дальше боюсь, ESP12 точно помрёт от «перенапряжения».
Там надо ещё решить проблему конфигурации ESP для пользователей TR-DOS, может быть что-то вроде вот этого, переделанное слегка для TR-DOS, разумеется...
; Copyright 2024 TIsland Crew
; SPDX-License-Identifier: Apache-2.0
DEVICE ZXSPECTRUM48
ORG 23755
MODULE BASIC
INCLUDE "BasicLib.asm"
START:
LINE : db clear : NUM 32767 : LEND
LINE : db load,'"', 'ESP576.C','"',code : LEND
LINE : db rand, usr : NUM _start : LEND
END equ $
ENDMODULE ; BASIC
ORG 0x8000
IFNDEF __MACRO_SYSCALL
IFDEF __ESXDOS_DOT_COMMAND
MACRO SYSCALL adr
rst 0x18
dw adr
ENDM
ELSE
MACRO SYSCALL adr
call adr
ENDM
ENDIF;__ESXDOS_DOT_COMMAND
DEFINE __MACRO_SYSCALL
ENDIF;__MACRO_SYSCALL
_start:
ld a, 2 ; upper/main screen channel
call 0x1601 ; CHAN-OPEN - https://skoolkid.github.io/rom/asm/1601.html
exx
push hl
exx
call UART.RS232_INIT
xor a
call UART.RS232_CFGDTR
call RS232_DISCARD
ld hl, AT_SET_57600
call RS232_PUTS
ld hl, AT_SET_57600
call PUTS
call RS232_DISCARD
exx
pop hl
exx
ret
RS232_DISCARD:
ld b, 0
; flush everything until ESP-12 "has nothing to say", but no more than 256 chars
RS232_DISCARD_B:
.flush: call UART.RS232_RD_BT
ret nc
djnz .flush
ret
RS232_PUTS:
ld a, (hl)
or a
ret z
call UART.RS232_WR_BT
inc hl
jr RS232_PUTS
PUTS:
ld a, (hl)
or a
ret z
rst 0x10
inc hl
jr PUTS
AT_SET_57600:
defb 'AT+UART_CUR=57600,8,1,0,2', 13, 10, 0
INCLUDE "drivers/uart-ay-128k.asm"
DISPLAY "Code: ",/A,$-_start
DEFINE TAPE "esp576.tap"
EMPTYTAP TAPE
SAVETAP TAPE,BASIC,"ESP276",BASIC.START,BASIC.END-BASIC.START,10
SAVETAP TAPE,CODE, "ESP576.C",_start,$-_start
; EOF vim: et:ai:ts=4:sw=4:
Владельцы Sizif, записывайтесь в бета-тестеры! Сильно приятнее на большой скорости всем этим пользоваться!
ESP12 точно помрёт от «перенапряжения».
Ну если ты ее запитал не от +5В то все будет хорошо.
Для настройки был порт Net Man под TR-DOS. (https://zx-pk.ru/threads/33138-opros-wifi-dlya-zx-klonov-ne-na-fpga.html?p=1111559&viewfull=1#post1111559)
Да, изначально boot нет, MRF его создаст нужный. 7 килобайт за 2 секунды это очень хорошо. Это серьезно.
У меня наоборот, ESX-DOS это темный лес и партизаны, хотя и TR-DOS тоже. Драйвер TR-DOS написал izzx от начала и до конца, но TR-DOS я могу хоть проверить и собственно целый активный пользователь был.
Да, изначально boot нет, MRF его создаст нужный. 7 килобайт за 2 секунды это очень хорошо. Это серьезно.
Поставил нормальный преобразователь уровня и, оказалось, что там питание «просаживалось» :) Запустил с внешним, погонял, всё работает, ускорение ощутимое.
Там только в gopher/render/ui.asm надо для AY56 определить строку, а то там нуля не получается и оно мусор печатает, справа вверху, где [AYWIFI] должно быть.80783. Там, по хорошему, 13, 0 вынести из каждого IF/END...
Кстати, а есть ещё любители +3? Я, кажется, довёл до (пока полу)живого состояния интеграцию MRF для +3. Если есть желающие потестировать -- дайте знать. Но, предупреждаю, там не всё гладко, «потестировать» скорее значит «было бы интересно услышать комментарии кого-нибудь, кто в +3 разбирается лучше, чем я».
Upd: 2024-05-17. Тестирование знатоками +3 выявило пару ошибок, исправлены, код доступен в моём репозитории (https://gitflic.ru/project/chwe/mrf-fe). Там необходимые IFDEF'ы в MRF, почему-то, уже есть, поэтому достаточно просто добавить dos/p3dos.asm в дерево и собрать с -DP3DOS.
Для тех, кто вдруг захочет воспользоваться режимом +3e, но, непонятно, как туда файлы закинуть.
Тут в процессе экспериментов появились, так сказать, отходы магического производства. Прошу любить и жаловать -- tape2p3dos, младший брат tape2esxdos.
Работает попроще и [почти] без затей записывает все CODE блоки с магнитофонного входа на диск. Диск текущий, каталогов в +3 DOS не предусмотрено, всё «плоское». Есть, правда, две тонкости:
1. Файлы записываются «как есть» и ДОЛЖНЫ иметь правильные PLUS3DOS заголовки. Я пользуюсь specform из taptools (https://www.seasip.info/ZX/unix.html), но подойдет всё, что угодно. Например, можно загрузить файл в эмулятор, записать на образ диска и скопировать с этого образа.
2. Если адрес загрузки CODE блока в TAP меньше 256, это считается как файл, порезанный на куски, где «адрес» -- это оставшееся количество кусков (не считая текущего). Последний кусок, соответственно, должен иметь адрес 0. Максимальный размер кусочка чуть больше 32K. Все другие значения адреса игнорируются, именно поэтому нужен PLUS3DOS заголовок файла (или его явное отсутствие).
Тонкость, не специфичная для этой программы, а просто особенность +3 DOS, о которую я постоянно «спотыкаюсь» -- символ "-" (минус) это НЕ поддерживаемый символ в имени файла.
ВНИМАНИЕ: проверки правильности имен нет, всё неподдерживаемое будет молча проинорировано.
В 10 символов имени на ленте полное имя +3/CP/M не умещается (8+3+1=12), поэтому есть возможность передать желаемое имя файла через «блок мета
данных». Это, опять же, обычный CODE блок, со специальным именем _P3FN-TAG_ (да, такой файл невозможно создать в +3 DOS, т.к. имя содержит неподдерживаемый символ '-'). Первые 12 символов или первые символы до ASCII кода менее 32 будут использованы как имя файла для следующего блока/блоков на ленте.
ИСХОДНИКИ (https://codeberg.org/chwe/zx-tape2plus3dos)
80833
Файл перевести в TAP можно tapcat - не надо, bin2tap или любым другим способом. Я там наврал немножко, taptools у меня с моими собственными правками, оригинальный tapcat PLUS3DOS заголовки вырезает, не надо им пользоваться совместно с t2p3.
Копируем файл с DSK образа:
cpmcp -f pcw disk.dsk 0:screen.scr screen.scr
bin2tap -c screen.scr tx.tap screen.scr 0
Просто готовый файл, например, скомпилированный:
specform -a 24576 AY64.P3
bin2tap -c AY64.P3.zxb tx.tap AY64.P3 0
Разрезаем длинный файл на кусочки:
split --bytes=32768 long.dat long.dat.
bin2tap -c long.dat.aa tx1.tap long.dat 1
bin2tap -c long.dat.ab tx2.tap long.dat 0
cat tx1.tap tx2.tap > tx.tap
Запись с полноценным 8+3 именем:
echo "S@MPLENM.TYP" > _P3FN-TAG_
bin2tap -c _P3FN-TAG_ tx1md.tap _P3FN-TAG_ 0
bin2tap -c DATAFILE tx1dat.tap DATAFILE 0
cat tx1md.tap tx1dat.tap > tx.tap
Ровно через неделю - юбилей "Сизифа-512", кстати.
21е число... День взятия Бастилии прошёл впустую. Релиза не состоялось.
При выводе изображения по скарту или композиту темное изображение, как будто белый цвет не очень белый. Можно ли как-нибудь исправить?
Fercad, проверьте что в кабеле внутри разъёма scart нет резисторов, если есть - убрать или шунтировать.
Приветствую всех!
Если плата ревизии D1 имеет ли смысл поменять прошивки ПЛИС и ПЗУ на от ревизии E1?
Fercad, нет, прошивка для ревизии E1 не будет работать на плате ревизии D1.
Fercad, нет, прошивка для ревизии E1 не будет работать на плате ревизии D1.
Евгений, раз уж вы сюда заходите...
Я сам отвлёкся сейчас от Сизифа и Синклеров вообще.
Занялся более старым проектом, компьютером 1979го года, который был у меня первым компьютером, Ohio Scientific C1P.
Сейчас всё, что у меня от него осталось, это корпус, в который отец 30 лет назад переставил Пентагон-128, когда сгорел мой настоящий 48K "резинка".
Пентагон жив, хотя что-то отошло, я так понимаю, в схеме генерации изображения, пара битов залипли на единицу. Всё думаю вывезти его с дачи и заняться им.
81349
Я собрал FPGA-версию C1P, хотя к ней есть куча вопросов, хочу сделать на Ардуино эмулятор магнитофона с записью к нему, мысли есть, как это сделать. Там просто последовательный порт.
Купил станок CNC3018, отрисовал стилизацию корпуса и нарезал её на станке (ПВХ с запечаткой текстуры "под дерево" на УФ-принтере), выгравировал клавиатуру на колпачках,
найденных на чердаке дачи (им тоже лет по 30-40, как и самим кнопкам).
81350
81351
81352
81353
Видео работы станка:https://disk.yandex.ru/i/WzugdEp0UxQAiQ
Вся папка по проекту:https://disk.yandex.ru/d/A1ltd-y2lojXyA
Так что не 3D-принтерами едиными мир интересен, тема CNC зашла очень, учитывая цены даже на Озоне (мой обошёлся мне в шесть владивостоков). Только платы не пробовал гравировать пока, а ведь можно!
...
Евгений, может сделаете релиз прошивки Сизифа, как есть на данный момент хотя бы?
А то год прошёл после предыдущего релиза. Я например не вполне понимаю, как бы качал и что прошивал, собери я сейчас новый Сизиф, не прошлогоднюю же, ведь накопились изменения наверно за год?
Евгений, может сделаете релиз прошивки Сизифа, как есть на данный момент хотя бы?
Есть у меня пара перемаркированных чипов SRAM, которые в комбинации с некоторыми процессорами не проходят тест памяти на текущей версии. При этом в последней релизнутой версии они работают. Что-то где-то не учёл когда дорабатывал прошивку для стабильной работы с NMOS-процессорами. Надо потратить ещё N вечеров чтобы разобраться в проблеме.
Евгений, а актуальны ли вообще NMOS-процессоры для Сизифа с его разгоном до 14МГц?
Я читал ещё например, что не все клоны Z80 от других производителей, да и не все ранние Z80 даже от самого Zilog(!), например, адекватно работали с линией M1, и на сборке у Синклера ставили из мешка что попало и были возвраты (ссылку на источник сейчас не могу дать, сейчас много информации появляется по реверсу Z80).
Это я к тому, что стоит ли подстраиваться под прожорливые и теоретически не совсем "правильные" NMOS-чипы?
Я во в всех своих Синклерах, включая ZX81, поставил 020е CMOS-процессоры с Али (после небольшой проверки), и проблем от этого не испытал. Как и от замены старых горячих 7805 с радиаторами на современные Traco и MeanWell с 90% КПД.
При выводе изображения по скарту или композиту темное изображение, как будто белый цвет не очень белый. Можно ли как-нибудь исправить?
https://www.speccy.pl/forum/index.php?topic=5761.75
С 79 сообщения и ниже ..
У меня - в одном R10, R17, R22 - 680 ом
в другом R10, R17, R22 - 1К
Евгений, а актуальны ли вообще NMOS-процессоры для Сизифа с его разгоном до 14МГц?
Я кучу времени убил на эту доработку и не брошу её на полпути) даже если для этого придётся убить ещё кучу времени
К тому же, теперь Сизиф определяет что процессор NMOS и ограничивает макс. частоту до 7 МГц.
Приветствую всех!
Подскажите по плате расширения. На днях я ее спаял и хочу проверить все ключевые компоненты. Большинство файлов из soundtest играют, но wp_divmm.z80 загружается и дальше ничего не происходит. Видимо должны быть видны файлы для проигрывания, но их нет. На просторах инета нашел WP333.trd, это видимо образ Wild Playera под TR-DOS. Он загружается, показывается какой-то текстовый файл справки и на фоне играет музыка. КАК ВЫЙТИ ИЗ ТЕКСТОВОГО РЕДАКТОРА? :) В файле куча информации о редакторе, но нет ни слова как выйти из справки и запустить его :)
образ Wild Playera под TR-DOS
в оригинале он не поддерживает divmmc и `видит`только fat32
cuba.777
02.01.2025, 19:51
Всем привет! Нужна подсказка с подключением wifi к sizif-512 rev.D1. Вопрос: какая должна быть прошивка в модуле esp8266? Где можно доп.информацию почитать?
Всем привет! Нужна подсказка с подключением wifi к sizif-512 rev.D1. Вопрос: какая должна быть прошивка в модуле esp8266? Где можно доп.информацию почитать?
Обычно перепрошивка не требуется, подойдёт зашитая с завода.
Если есть желание, можно зашить последнюю версию прошивки ESP8266_NONOS_SDK-3.0.6 (ссылка (https://github.com/espressif/ESP8266_NONOS_SDK/releases)). В старых версиях есть проблема, из-за которой иногда подвисает общение с сервером (прошивка "закрывает коннект раньше чем пришлёт последний +IPD").
Узнать текущую версию можно командой AT+GMR:
AT+GMR
AT version:1.3.0.0(Jul 14 2016 18:54:01)
SDK version:2.0.0(5a875ba)
v1.0.0.3
Mar 13 2018 09:37:06
OK
Пример зашивания новой версии утилитой esptool:
esptool --port COM19 write_flash -fs 1MB -fm dout 0xFC000 bin/esp_init_data_default_v08.bin 0xFE000 bin/blank.bin 0x00000 bin/boot_v1.7.bin 0x01000 bin/at/512+512/user1.1024.new.2.bin 0x81000 bin/at/512+512/user2.1024.new.2.bin
(в зависимости от флеш-памяти может потребоваться поменять параметры, см. гайды по прошивке esp8266 в интернете)
Софт для работы с WiFi на спек брать тут: https://github.com/nihirash/zx-net-tools/releases и тут https://github.com/nihirash/moon-rabbit-zx/releases (вариант AY).
Я тут описывал свои приключения с ESP. Немного путано, так как там у меня лично было два этапа -- теоретический и практический. Но основные выводы точно ещё актуальны:
0. Вот как Евгений сказал, если прошивка достаточно свежая, просто пользуетесь и всё
1. Не читайте «гайды по прошивке esp8266 в интернете», там и раньше было мало полезного, а сейчас, в 2025-м году, когда фокус ушёл на ESP32 и того не будет. Читайте официальную документацию от Espressif и обращайте внимание на то, чтобы это была документация именно для ESP8266. Параметры записи прошивки должны совпадать с теми параметрами, с которыми она была скомпилирована. Всё есть в документации, вот которая прямо с bin'ами и идёт.
2. Перед любыми действиями сохраните всё, что модуль выдаёт при загрузке (это то, что «выплёвывается» на скорости 77600). Это позволит откатится на известную рабочую конфигурацию. Только AT+GMR для этого недостаточно. Ну, или читаем документацию и определяем параметры флеш памяти.
P.S. и берите последний MRF (https://github.com/Kulicheg/MRF) и запускайте его со скоростью 57600
cuba.777
08.01.2025, 18:41
Uzix, Chwe Спасибо за информацию! буду пробовать :)
Uzix Есть еще вопросик о возможности подключения sizif-512 rev.D1 к конвертеру VGA - https://zx-pk.ru/threads/36013-rgb-vga-hdmi-adapter-ot-aleksekb.html
R0, G0, B0, KSI, SSI берём с EGA
I (яркость) предлагают пробовать через ИЛИ с R1, G1, B1
С пиксельклок не разобрался
cuba.777, при включении в меню настройки ZXKit1, на разъёме EGA вместо vsync будет подаваться клок 14 МГц, а вместо hsync композитный синхросигнал vsync + hsync
Здравствуйте. Собрал Сизифа С1, на экране мозаика. Прочитал всю тему, набрался знаний и определил, что не стартует процессор. Обнаружил, что питание на сигнале Reset 1.3V, что думаю мало. Отогнул 26 ногу Z80 и посадил на +5V через R10 КОм. Ничего не изменилось. Но, если просто её оставить в воздухе, проц. стартует, появляются импульсы и на экране матрас. Посмотрел по схеме, что этот сигнал идёт из ПЛИС, замыканий не обнаружил, резистор подтяжки 10КОм проверил тоже. Что можно ещё проверить? Из за чего такое может быть?
JNipper, выпаяйте резистор R5 (описано в errata.txt рядом с файлами печатной платы)
JNipper, выпаяйте резистор R5 (описано в errata.txt рядом с файлами печатной платы)
Спасибо! Работает!
Сегодня столкнулся с тем, что не работает узел чтения с магнитофона на моем свежезапущеном сизифе. Посмотрел осцилографом и увидел на всех выводах 74HCU04, кроме тех, что задействованы в тактовом генераторе, шум размахом несколько вольт и частотой несколько десятков мегагерц. Это какая-то распространенная проблема, связанная с качеством микросхем с али, или это только мне так повезло? Из десятка микросхем, купленых одним лотом на али, заработали только три. Вот и думаю, могут микросхемы так заводится и шуметь, или это я что-то путаю?...
Смотрю в описании проекта на гитхабе в предыдущей ревизии Е финурируют следующие вещи:
experimental: 74HCU04-based speaker amplifier replaced by LM386-based
experimental: 74HCU04-based tape input circuit replaced by LM311-based
experimental: 74HCU04-based crystal clock generator replaced by ICS501-based
А в версии Е1 единственное изменение:
reverted experimental rev.E changes
А есть где нибудь информация о том, что пошло не так с экспериментом? Как по мне, довольно полезные изменения. Узнал что у еще одного пользователя, которые собрал Сизиф-512, такая же проблема с узлом Tape In/Tape Out. Тоесть проблема похоже действительно не только у меня.
Это какая-то распространенная проблема, связанная с качеством микросхем с али, или это только мне так повезло?
Возможно, китайцы подсунули вместо HCU серию HC или HCT - в данном узле это важно.
А есть где нибудь информация о том, что пошло не так с экспериментом?
Был потерян интерес к экспериментированию в этом месте. Узел на hcu04 работает достаточно хорошо (без функции усилителя для динамика) чтобы не возникло желание заменить его на несколько разных других микросхем.
Вчера достал опять комплект своих "hcu04" и все по очереди попробовал. Ничего нового, кроме того, что работают не три, а две. Но обе генерят шум. Поназаказывал у разных али-продавцов еще микросхем. Жду пока приедут. Если не поможет, буду городит какой-то патч в виде платки, которая ставится на место hcu04 и несет на борту LM386, LM311 и четырехногий генератор на 28МГц. На ICS501 и кварц что-то на патче места не хватает. Надеюсь прокатит. Усилитель динамика мне тоже не очень важен, но для порядку хотелось бы и его оживить. Ну в общем сначала посмотрим что китайцы пришлют под маркой hcu04.
Но обе генерят шум
имел ввиду кварц на 14МГц
Ошибся
имел ввиду кварц на 14МГц
Ошибся
При чем тут кварц на 14МГц? В Сизифе на 28МГц кварц стоит.
Ошибся
При чем тут кварц на 14МГц?
ошибся)
Приехали новые микросхемы. Партия пять штук. Все рабочие. Со всеми работает узел чтения с ленты.
Тоже собрал Сизиф. ЕПМку прошить не получилось.. Failure Blank Check. после стирания. И соответственно при прошивке верификация тоже не проходит. Пришлось заказывать еще одну. А пока посмотрел генераторы. Ни один не работает... Без 28 Мгц Алтера должна вообще прошиваться? Вообщем странно как-то.. HCU04 поменял - но результата нет. И на AD724 тоже генератор не запускается. Все Питания на выводах в норме. Чудеса... Не знаю что и делать теперь.. Перед запайкой проверил HCU04 в тестере. показал всё ОК. Правда определил как ЛН1/ЛН2
HCU04 поменял - но результата нет.
Китайцы уже перепиливают логику ...
Видно шлифованный верх (при этом не маркировка , а гравировка) и глянцевый низ микросхем.
У меня HCU04 последняя партия с Али тоже не работает.
Хотя в тестах как 7404 тестится нормально.
AD724 похоже что тоже перемарк, раз генерации нет. Или она не должна генерировать пока входных сигналов нет?
Vasily_A
11.04.2025, 23:34
AD724 - она капризная к кварцам, мне пришлось подбирать. Потом подбирал емкость для стабильности цвета (припаял подстроичник древний, поймал диапазон с устойчивым цветом, измерил и запаял 0603 чип нужной емкости вместо подстроичника)
С генераторами разобрался. Была микротрещина на дорожке. Оба заработали. Но альтеру никак не могу прошить. В квартусе видится. После стирания Blank Check Error. При прошивке verify failure on device number 1. Заменил альтеру. - тоже самое. Увидел что в схеме нет подтяжек 10 ком на tms, tdi, tck. Так и должно быть? Прошивается без них? Попробовал поставить их на разъёме. - не помогло. Шью обычным USB blaster. Бластер рабочий. Неделю назад шил турбосаунд.
Копейкин
24.04.2025, 17:06
TCK надо к земле подтягивать.
Без этого может глючить.
Спасибо за ответ. Обычно ведь через 10 ком на землю подтягивают?
Копейкин
24.04.2025, 17:51
Вроде 1ком должен быть.
Вроде 1ком должен быть.
Везде в офф. доках от Altera и Xilinx именно этот номинал! А вот на 2 другие линии(TMS & TDI) поддтяжка к Vtarget через 10K
Спасибо за информацию! Поставлю подтяжки. Авось прошьется..
Альтеру удалось прошить припаяв подтяжки. (что странно.. как я понял у всех прошивалось без них) Верификацию проходит, - всё нормально. Генераторы работают. На экране квадратики. Причем без/с ПЗУ и проца одинаково. Проверил проц в тестере. - показывает что КМОС, уверенно работает на 20 Мгц. Клок в схеме присутствует, активность есть. Почитав тему, начал подозревать шифтеры. Сигналы на входах и выходах шифтеров совпадают. - косвенно можно предположить о их работоспособности. Обнаружил что на ША12,15, и 18 сигнал порядка сотни миливольт. И на всех ШД двух уровневые сигналы. Прозвонил на землю и между собой. КЗ отсутствует. Всё же предположил что подсаживаются сигналы на шифтерах, хотя сигналы на входе и выходе совпадают 1-1 0-0. Отпаял шифтер. Увидел такие же низкие сигналы на хА12,15,18. Решил проверить соответствующие сигналы VA. и там тоже ничего не увидел. Без ОЗУ, ПЗУ и проца на всех шинах VA есть сигналы кроме 12,15,18. Проверял под микроскопом качество пайки, - подозрений не обнаружил. На землю сигналы не звонятся. Вопрос: в такой ситуации можно ли сделать вывод о неисправности ПЛИС, не смотря на успешную ее прошивку? Хотя это уже вторая..
JNipper, выпаяйте резистор R5 (описано в errata.txt рядом с файлами печатной платы)
Где найти этот файл, errata ? Не нашел на гитхабе..
Где найти этот файл, errata ? Не нашел на гитхабе..
Если речь про С1, то вот он https://github.com/UzixLS/zx-sizif-512/blob/master/pcb/rev.C1/ERRATA.txt Ну и там есть на главной странице репозитория поле поиска, подписанное "Go to file". Введите там имя файла и он найдет для всех версий.
Речь про версию D1. Для неё он не нужен? Видимо поэтому я его и не увидел...
Друзья! Есть у кого-нибудь Long Filename Browser? Ссылка с гитхаба ведет на англоязычный форум, а с него ссылка на скачивание не открывается... (санкции..?)
Seabolt, https://zxart.ee/rus/soft/system-software/media-admin/long-filename-browser-for-esxdos/
Seabolt, https://zxart.ee/rus/soft/system-software/media-admin/long-filename-browser-for-esxdos/
СПАСИБО
А в Сизифе на PS/2 только клавиатура функционирует? Мышь не определится как Kempston мышь?
djs, мышь не поддерживается
Я сегодня попробую запаять HIDman mini, отпишусь по результату, если заработает клавиатура через него.
Теоретически, очень хороший вариант сделать беспроводную клавиатуру для Сизифа, минус один провод.
Евгений, ещё один вопрос: я видел, в ревизии E Сизифа сделан мод питания порта джойстика с питанием для улучшения поддержки 8bitDO.
Могу ли я сделать самостоятельно подобное с моей ревизией D?
Достаточно ли разомкнуть линию 3.3, выходящую на штекер джойстика и завести на то же место 5В?
Евгений, ещё один вопрос: я видел, в ревизии E Сизифа сделан мод питания порта джойстика с питанием для улучшения поддержки 8bitDO.
Могу ли я сделать самостоятельно подобное с моей ревизией D?
Достаточно ли разомкнуть линию 3.3, выходящую на штекер джойстика и завести на то же место 5В?
Зависит от джойстика. Если его выходы работают по принципу open drain, то достаточно указанной доработки.
Если же его выходы push pull, то можно пожечь ПЛИС т.к. они выдают 5В, а для ПЛИС это небезопасное значение. Ну или, если запаяна предусмотренная на Сизифе защита от перенапряжения (U15 и U16), то можно пожечь джойстик из-за повышенного тока на его выходах.
В общем то это решаемо, например резисторами в разрыве сигнальных линий для ограничения тока.
всем привет, а вот мне захотелось esxDOS v0.8.9 (вместо 7 кажется), и вот вопрос - а он прошьется как в инструкции, а именно
1. Copy esxide.tap/esxmmc.tap/mb03plus.tap (depending on if you have a DivIDE, DivMMC or MB03+, obviously) to your CF/SD/HDD, load it and follow the instructions. Power Off and remove media.
2. Copy the SYS, BIN (and create /TMP if using DivIDE) directories to your CF/SD/HDD.
3. Insert media. Power On. Reset while keeping space pressed to reinit if needed.
или нада всю fpga прошивать?? наверное не получится...
crrush, в сизифе уже esxdos 0.8.9
Друзья! Есть у кого-нибудь Long Filename Browser? Ссылка с гитхаба ведет на англоязычный форум, а с него ссылка на скачивание не открывается... (санкции..?)
Похоже Сизиф удалось запустить. Поделитесь пожалуйста, что было не исправно, как выявили, исправили
Да. Сизиф 512 v. D1 успешно запущен! Пришлось заменить транзисторы на ША Q8,Q10,Q12. Из-за них сигналы на соответствующих разрядах ША были занижены. Сейчас собираю плату Ext. И дальше думать о корпусе. Кто-то здесь вроде замонтировал сизиф в корпус G1502 из ЧиД. Хотелось бы узнать подробности..
Я свой тоже запустил. Причина цветного статического мусора у меня - дохлый процессор. Заменив на u880d все заработало, правда только на частоте 3,5Мгц. Позднее пришел на 10 Мгц, с ним сизиф тоже работает, но хочу отметить не стабильность, причину которой я пока понять не могу.
Пример: .specasm в редакторе пишешь код и он зависает в рандомных местах. Причем курсор продолжает мерцать, но реакции ни на что нет.
В других местах тоже часто зависает. При этом например Элита Легенд работает без проблем
u880d
NMOS-процессоры в текущей прошике ПЛИС плохо работают, ставьте CMOS. Поддержку NMOS я уже сделал и это закоммичено в гите, но пока не доведено до ума на 100%.
На плате ревизии Е1 разведены два пина для динамика. Какое сопротивление катушки динамика должно быть?
Подскажите какие разъёмы нужны для соединения сизиф и платы расширения (ext) ? Как их искать?
- - - Добавлено - - -
Подскажите какие разъёмы нужны для соединения сизиф и платы расширения (ext) ? Как их искать?
Вот здесь.
https://aliexpress.ru/item/32639620655.html?spm=a2g2w.orderdetail.0.0.ffb24aa 6eq1S4e&sku_id=59504755058&_ga=2.156772219.1506326772.1753199306-54548363.1747844429
И отрезать.
Спасибо. Но там же на плате контакты. Ламели нужны.
Спасибо. Но там же на плате контакты. Ламели нужны.
По-видимому у Вас неправильно отображается эта страница. Я покупал именно здесь ..
Нет такого разьема, который на плату одевается. На плату паяются вилки с обеих сторон, на встречную плату розетки с обеих сторон. И так вот оно соединяется.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot