Тогда уж разумно эмулировать что-то стандартное, хоть страшненький СМК. ОЗУ в контроллере STM32F205RCxxx аж 96 килобайт, по идее должно хватить.
Вид для печати
Я пытался заставить ремулятор работать, но не смог. Я чувствую, что делаю что-то не так, но не знаю. BK0011 (модифицированный до BK0011M) отлично работает с исходным ПЗУ BK0011. Но с ремулятором у меня получается только шахматка.
Я попробовал систему переключателей и базовые HEX-файлы BK0011M. Вот как я установил Ремулятор, используя базовый HEX-файл BK0011M. Никаких закороченных контактов: зеленый провод подключается к контакту 23 XT7, а желтый провод предназначен для прослушивания сброса.
https://i.imgur.com/haNC67O.jpg
Извините за ошибки, пользуюсь переводчиком, так как не говорю по-русски.
Можете сказать, какой именно hex файл прошивали в stm и каким методом?
Я помню, что когда я изучал ремулятор, у меня всё получилось далеко не с первого раза.
У вас возможно не запускается загрузчик в stm.
А жёлтый провод надо подключить к контакту A1 на разъёме МПИ, или к выводу "+" конденсатора C5.
X7 в ремуляторе - это выход, он не даёт запуститься БК0011, пока загрузчик внутри stm не проинициализируется и ремулятор не войдёт в рабочий режим.
https://mega.nz/file/B0J3EYiT#Nucv0M...Akav4yknoWC51c
Я использовал эти файлы. Я использую SMT-Link для их программирования. Я также попробовал использовать программу WCLoad, но получил те же результаты.
Желтый провод соединяется с C5 и A1. Местоположение просто позволяет мне легко отключить соединение при необходимости.
Я также пробовал программировать с помощью WCLoad с установленным в BK Remulator и перемычкой на S6 после загрузки его с помощью ST-Link. Я думаю, что руководство также предлагает это сделать, но перевод странный, поэтому его трудно понять.
Но мне не удалось установить связь с ремулятором. Так что, возможно, вы правы насчет загрузчика, или я неправильно понимаю руководство.
У меня заработало вот так:
Скрытый текст
Вложение 79797[свернуть]
Relo, У меня раньше не было ST-Link, и я прошивал через UART обычным USB-UART переходником, программой WCLoad.
Перемычка S6 нужна как раз для UART. Только для работы с UART на ходу, во время работы. Если перемычка S6 установлена, то ремулятор не работает, а находится в режиме UART, ожидает загрузки прошивки. В других случаях перемычка S6 не нужна.
Я посмотрел ваши файлы. В bk0011m.hex нет загрузчика, он как раз предназначен для повторной загрузки без стирания загрузчика.
В файле a205_gcc11_11M_10_jtag_alt_32_10-mstd_JMP_NRL_800.hex всё есть, но он не совсем стандартный. Его источник - на предыдущей странице этой темы.
Хотя в readTest.hex загрузчик есть, может сам ремулятор не работает? Я проверял работоспособность своего экземпляра с помощью кастомной прошивки 1801РЕ2-326, которую сделал для проверки, и ставил его вместо ПЗУ в контроллере дисковода.
Попробуйте прошить файлы из этого архива Вложение 79798, через ST-Link или через UART
a205_gcc11_jtag.hex - для БК0011
a205_gcc11m_jtag.hex - для БК0011М
Описание конфигураций для них - в руководстве к ремулятору. Это стандартный набор ПЗУ для БК11 или БК11М.
Если стандартный набор заработает, то можно будет экспериментальные прошивки заливать.
Пробовал загрузиться через UART, не помогло. Я не мог установить связь. Потом попробовал ST-Link, он тоже не сработал и выдал ошибку программирования по адресу 0x00000000. Однако уборка прошла хорошо.
Затем я попробовал модифицированную версию программы по адресу 0x08000000, которую использовал ранее, которая прекрасно программируется на ST-link. Затем я вернулся в WCLoad, и теперь все работает нормально, пока я устанавливаю S6.
Однако в BK0011 это все еще не работало. Но это может быть связано с тем, как оно запрограммировано.
Итак, я подозреваю, что загрузчик работает нормально, но что-то идет не так, может быть, он программирует 0x00000000?
Результирующий файл при чтении через WCLoad:
https://mega.nz/file/gsAk2BAZ#mQmubp...tPDV2jdNM1mWBI
Нет, 0x80000000 - начальный загрузчик, b205.hex
0x80004000 - управляющий код, a205.hex
0x80008000 - данные для эмуляции ПЗУ
Показывает всё правильно. Всё как надо.
Всё таки я подозреваю, что не работает микросхема STM. Или где-то некачественная пайка.
Попробуйте отсоединить жёлтый провод, и после включения БК0011, через некоторое время нажать кнопку reset. Если не запустится, значит проблема в ремуляторе.
Если вы используете файл a205_gcc11_11M_10_jtag_alt_32_10-mstd_JMP_NRL.hex, то с ним надо использовать переключатели как указано в посте #118
Я уже почти всё забыл, как надо делать, вспоминаю сейчас, что для загрузки через UART с помощью WCLoad нужно готовить свой hex файл, без начального загрузчика, со смещением 0x0000, и начальный загрузчик корректирует смещение до 0x4000
А для загрузки через JTAG, нужно оставлять смещения как есть. Значит я в первый раз загрузил прошивку через ByteBlaster, и только потом использовал UART.
Я подозреваю, что это плохой чип... (спасибо китайскому продавцу...) Я переделал его, используя тот же STM32, который у меня был только один, но в остальном со всеми новыми компонентами. Тот же результат.
Перепрограммировал, все равно пишет и читает нормально. Но по-прежнему никакой разницы в поведении.
Мне следовало купить у лицензированного оптовика. Я не думаю, что они будут продавать поддельные чипсы. Так что я возьму там новый.
Есть режим работы с выводом в лога в последовательный порт. Там можно понять, что происходит.
Как мне это реализовать?
страница 7 из 1801pp1_manual.pdf
-y_ После выполнения всех операций осуществить запуск отладочного терминала на указанной
скорости. При запуске терминала также осуществляется автоматический запуск приложения
(аналог указания ключа -j). Пример - -y115200.
будет понятно, что с процессором...
Я подключаюсь, я могу начать и остановить регистрацию и отправить сброс, но файл журнала остается пустым, а на экране не появляется никакой информации.
У меня не полностью готова плата реплики 0011М, но осталось сделать уже совсем немного. В нее планирую поставить РЕ-мулятор (он готов, отдельно вроде работает).
Как получится доделать - напишу. Но это не быстро будет, времени не хватает :(
Может, кто ни будь раньше подскажет...
Relo, не нашёл тему на этом форуме, хотя автор тут очень активен, но есть ещё такой вариант.
Квест продолжает работать, небольшое обновление. Я отремонтировал его в другой раз с заведомо хорошим качеством от лицензированного дистрибьютора, который продает только компаниям, но результат все тот же. Может ли быть что-то не так с БК из-за того, что РеМул не работает, а штатные ПЗУ функционируют нормально? Я не знаю, даже не знаю, с чего начать это проверять.
Еще проверил напряжение, все в норме. Тогда я решил проверить каждый из контактов в гнезде на БК и контакт выбора микросхемы и сравнить с микросхемами ПЗУ. Они выдают какую-то стабильную форму сигнала (за исключением напряжения на входе и заземлении), а выбор микросхем в XT7 почему-то остается высоким.
Во время сброса/фиксации каждый вывод имеет либо высокий, либо низкий уровень, но не выдает сигнал. А вот у обычных микросхем ПЗУ это не стабильный сигнал, а явно данные.
Я случайно закоротил 2 контакта данных, что привело к зависанию системы, а затем получил те же результаты, что и BK. Так что похоже, что Ремул висит.
Я обнаружил, что то, как я установил контакт сброса, похоже, удерживает систему в состоянии зависания / сброса, и его удаление освобождает ее от этого. Хотя если посмотреть на схемы, то должно быть правильно. Мне нужно это дважды проверить.
Я также проверил контакт выбора чипа на XT7 во время загрузки и сброса. При установке штатных микросхем ПЗУ напряжение немного колеблется, а затем возвращается к 0 В. Но с Ремулусом оно продолжает быть на высоте. Только форма сигнала немного меняется от плоской линии до линии с крошечными прямоугольными пиками.
Может сброс не работает?
Любые предложения или идеи приветствуются.
Прикрепил фотки сигналов Ремула:
https://mega.nz/file/BxAGWZJS#lXRRVP...Db1WXTtPW-qqDg
Потому что выбор делается программно. А БК не запускается и некому делать выбор. Потому он всегда высокий.
Вот hex файл Вложение 79948, который я подготовил для себя для проверки Ремулятора.
Там самый простейший вариант - только одна конфигурация 0 - сняты все перемычки SA1-SA5 - ПЗУ РЕ326 по адресу 0160000.
Прошивать только утилитой wcload. Проверка работы:
1. Установить все микросхемы ПЗУ на свои места.
2. Подключить внешнюю панель ПЗУ в XT8
3. В любую свободную колодку внешней панели вставить Ремулятор, все перемычки снять, никаких дополнительных проводов не подсоединять.
4. Включить БК11, дальше работать в мониторе.
5. В мониторе набрать команду 12;1C <Ввод> - подключится страница ПЗУ, в которую вставлен Ремулятор.
6. Теперь по адресу 160000 должно быть содержимое Ремулятора: набрать команду 160000/
Потом нажимать клавишу стрелка вниз.
Если в ответ выводится число, то Ремулятор работает, если выводится "?" - то Ремулятор не работает.
Ну, по крайней мере, я нашел новую проблему. При установленной внешней панели ПЗУ система также не запускается. Это дает инверсию шахматной доски, но ничего больше. Возможно дело в конденсаторах, я их еще не менял. Что я собираюсь попробовать завтра. Я смутно помню, что это началось раньше, когда он был установлен, но это было почти 2 месяца назад, так что я могу ошибаться.
В противном случае, я думаю, это говорит о том, что проблема может заключаться либо в замыкании разъемов ПЗУ где-то, например, в ОЗУ, либо в отсутствии соединения, либо, возможно, в какой-то проблеме с питанием. Но я пробовал несколько блоков питания, поэтому сомневаюсь, что это так.
Такое может быть если разъём внешней панели вставлять в XT8 наоборот, задом на перёд.
Я внимательнее посмотрел на схемы, оказалось, что ремулятор можно сразу вставить в XT8, не обязательно в колодки внешней панели ПЗУ. Будет то же самое.
1. Установить все микросхемы ПЗУ на свои места.
2. Вставить Ремулятор в XT8 все перемычки снять, никаких дополнительных проводов не подсоединять.
.
4. Включить БК11, дальше работать в мониторе.
... дальше следовать тем же пунктам.
Переворачивание панели ПЗУ также останавливает работу BK11 с ремулятором или без него. (И делает это так, что из-за жесткого шлейфа он уже не помещается в корпус).
Вставка Ремулятора непосредственно в слот расширения ПЗУ также приводит к прекращению работы БК.
редактировать:
Пробовал новые конденсаторы или плату ПЗУ, ничего не изменилось.
Я искал замыкания или отсутствующие разъемы в разъемах XT6, XT7, XT8. В этой сфере все хорошо.
Обнаружил, что иногда БК нормально запускается с установленным ремулятором. Один контакт на разъеме XT7 выглядит очень плохо, поэтому он может работать лишь иногда.
Когда он загружается правильно и пытается ввести «12;1C», он печатает «12;1C?» и переходим к следующей строке. Это также происходит, когда вы пытаетесь переключиться на BASIC. Такая проблема у меня была раньше и «решил» ее установкой платы ПЗУ, но так как на данный момент БК из-за нее не работает, то это явно не правильное решение.
Завтра модификация BK0011M будет отключена, возможно из-за этого явления проблем с прошивкой BK0011 BASIC. Также переключится контакт розетки, если не всей розетки XT7.
Это моя ошибка.
Взял я в руки ремулятор, чтобы поэкспериментировать. И оказалось, что там не всё так просто, как мне хотелось бы.
Идея из моего поста #139 верная, но реализация - не верная. Монитор не хочет подключать страницу, в которой чужое ПЗУ. Поэтому прошивка не подходит, нужно делать другую.
Первым делом я подключил ремулятор через STLink к утилите STM32 ST-Link. И стёр всё содержимое, "Target->Erase Chip", чтобы посмотреть, как поведёт себя пустой ремулятор в БК. Вставил его в XT8, и моя БК11М запускается, как будто в разъёме ничего нет. От ремулятора никакой реакции.
Потом оказалось, что я не умею делать прошивки для заливки в ремулятор через STLink.
Со смещения 0x00000000 не программируется, пишет "Programming error @0x00000000", со смещения 0x80000000 не программируется, пишет "No elf loader found for this operation.". Решения не нашёл, гугол ничего не подсказал, меня спасла прошивка a205_gcc11_11M_10_jtag_alt_32_10-mstd_JMP_NRL_800.hex, Там elf loader есть, она через STLink спокойно загрузилась, а мне нужен оттуда только начальный загрузчик по адресу 0x80000000. С которым дальше через UART работать можно, и можно делать какие угодно прошивки.
Потом я через UART залил свою прошивку Вложение 79969, она эмулирует только ПЗУ 017 018 по адресам 100000-140000.
Я программирую через UART ремулятор в отдельной панельке, которой подаю питание +5В от ATX блока питания с компьютера, на котором работаю.
Вставил ремулятор в XT8 (не забываем про перемычку SA6, её надо устанавливать для загрузки через UART, и снимать для работы)
Включаем БК11. В мониторе подаём команды
5;0C
12;1C
Если после этой команды не появляется вопросительный знак, значит уже хорошо.
подаём команду 100000G
Если видим вот такую картину, Вложение 79970, то ремулятор работает.
К сожалению, сейчас не могу проверить, так как перестал загружаться. Мне нужно сначала решить эту проблему, так как она не запускается даже при установке только BASIC ROMS.
Я обнаружил, что когда я переустанавливал базовое ПЗУ XT7, иногда оно запускалось, а иногда нет. Позже во время тестирования я мог бы начать снова последовательно, если бы слегка нажал XT7, что указывало бы на то, что дорожка сломана или что-то в этом роде. Я проверил все места от XT6, XT7 и XT8, и если они перешли в другие места на плате, и единственное соединение, которое, похоже, отсутствовало, было от XT7.18 до XT8.18, но это не должно иметь значения, если плата Нет ПЗУ установлено. Хотя это может объяснить предыдущие проблемы, которые у меня были с платой ПЗУ и ремулятором, установленными в XT8.
Поэтому я починил это соединение, расплавил все контакты разъема на XT6 и XT7 и еще раз проверил на наличие замыканий и отсутствующих соединений. Теперь вообще не загружается... Только шахматка, одно движение и постоянный писк.
Я также думаю, что плата ПЗУ на самом деле не решила более фундаментальную проблему, с которой я столкнулся с клавиатурой. Из-за этого я не смог освоить Бейсик.
редактировать:
BK снова работает (кроме платы ПЗУ), BK был в порядке, но контакты, которые я припаял к микросхемам ПЗУ, имели плохую пайку. Я думаю, что тест Ремулятора невозможен без платы ПЗУ, без нее я также не могу разобраться в Бейсике. Может быть, какие-то микросхемы на плате ПЗУ необходимы для БЕЙСИКА? Без платы ПЗУ я всегда получаю «11;1C?» с первой командой вместо перехода на следующую строку без вопросительного знака. Возможно, именно поэтому я не могу набрать «12;1C», не получив вопросительного знака? «5;0C» работает нормально.
https://i.imgur.com/N6bzbcW.jpg
Мой китайский Ремулус работает с помощью Vslav! Я продолжал использовать «a205_gcc11_11M_10_jtag_alt_32_10-mstd_JMP_NRL_800.hex» для загрузки загрузчика, который должен быть встроен в файл, если я правильно понял. Однако теперь я создал свой собственный, и Remul работает с файлом A205_GCC11.Hex.
Я уже пробовал "a205_gcc11_11M_10_jtag_alt_32_10-mstd_JMP_NRL.hex" для скачивания ромов, может с этим файлом что-то не так? Я не знаю.
У меня также все еще есть проблема, заключающаяся в том, что плата ПЗУ приводит к тому, что BC перестает работать (шахматная доска, а затем шахматная доска с вертикальными белыми линиями) и невозможность загрузки BASIC, что может быть причиной того, что файл Eletroscat не работает, если это случай, проблема с BK? Это может быть так же просто, как замена конденсаторов на плате ПЗУ, что я и сделал после того, как возникла проблема. Я также обнаружил, что соединения на плате плоского кабеля повреждены, поэтому замените их, что может быть исходной проблемой платы ПЗУ.
Также, как ни странно, работает STM32 от китайского продавца, а вот от официального дистрибьютора - подделка. Это как шутка, которая пишется сама собой, ха-ха-ха. Также буквально вчера заказал последние детали с https://zx-pk.ru/threads/33817-modul...ya-bk11-m.html, так что тоже попробую. Теперь у меня будут лишние детали, так что если они кому-то понадобятся, буду рад услышать. Я сомневаюсь, что в Нидерландах есть много людей с BK0011 за пределами некоторых музеев, не говоря уже о их модификации.
Я вернулся. После того как я уехал из БК на некоторое время так как расстроился а тем временем отремонтировал Х68000. Сейчас я снова открыл БК.
Свежий взгляд очень помог. Оказалось, что из-за ошибки перевода я неправильно запрограммировал Ремулус. Я мог бы просто загрузить «a205_gcc11_11M_10_jtag_alt_32_10-mstd_JMP_NRL_800.hex» напрямую с помощью ST-Link, и это работает. Хоть у меня и есть глюки, значит что-то все равно не так, но прогресс есть. Может быть ошибка в программе? При загрузке A205_GCC11.hex или использовании оригинальных микросхем ПЗУ не возникает никаких графических проблем.
Мне не удалось загрузить этот файл с помощью WCLoad, чтобы он работал, я могу загрузить версию, отличную от 800, в Remul, и дампы выглядят нормально, насколько я вижу (версия 800 выдает ошибку), но не работает в BC . Пока удалось загрузить только A205_GCC11.hex для работы с WCLoad. Может быть, «a205_gcc11_11M_10_jtag_alt_32_10-mstd_JMP_NRL.hex» загружен не в то место памяти?
Я также не узнаю экран, который появляется на BK, когда я загружаю настройку BK0011M, поскольку он отличается от экрана, который я получаю с A205_GCC11.hex. Похоже, это страница BASIC, но у меня BASIC не установлен, и я не могу просто печатать. Может еще и ошибка памяти?
Кроме того, я до сих пор не могу загрузить BASIC с платы ПЗУ. Обнаружил отсутствующее соединение на 14 контакте разъема платы BASIC Rom, его исправление ничего не изменило. Я также обнаружил, что сопротивление между землей и напряжением 5 В составляет всего 40 Ом, что кажется чрезвычайно низким.
Может ли кто-нибудь проверить свой БК, все ли в порядке? В противном случае, вероятно, где-то произошло короткое замыкание, и это может объяснить, почему BASIC не работает, а также, возможно, проблемы с графикой.
https://i.imgur.com/IAePEnb.jpeg
https://i.imgur.com/I60itu9.jpeg
На одной моей БК11М сопротивление 300 Ом, на другой - 247 Ом.
- - - Добавлено - - -
Потому что WCLoad корректирует смещение. Он прибавляет 0x4000 к адресу. Поэтому всё, что не подготовлено к загрузке через WCLoad, работать не будет.
Я не смог загрузить этот файл через ST-Link, он грузился по смещению 0 почему-то и ремулятор не работал, я смог через ST-Link загрузить только «a205_gcc11_11M_10_jtag_alt_32_10-mstd_JMP_NRL_800.hex» он грузился по правильным адресам. Но как работает, не проверял
Я заставил его работать! Отлично работает сейчас. Это было короткое время, и я не знал, как управлять БК, ха-ха. До сих пор понятия не имею, что такое MSTD и FOCAL, кроме включения и отключения BASIC.
Смещение объясняет, почему оно не работает с WCLoad. И теперь сопротивление ~70 Ом, я думаю все еще низкое, но может быть это нормально на BK0011 без M.
https://i.imgur.com/J7r159F.jpeg
Коллеги, извиняюсь. Где в 2025 году берут утилитки wcload и rev16 ? Желательно в исходниках, конечно.
wcload берут в этой ветке в шапке темы, архив boot_utils.rar
rev16 берут в этой ветке в сообщении #12
исходников никогда не было, может сможете разжалобить Vslava и упросить, чтобы он их выложил.
Да, спасибо, нашел программы.
К сожалению, wcload не удалось запустить, как ни пробовал: ?WLOAD - F - Communication error.
SA6 установлена, порт при открытии в putty на 115200 и замыкании RX-TX - работает.
Приходится прописывать через ST-Link.
Может у STM32F205 порты отгорели...
Обидно что нету исходников wcload на github-е и жаль что загрузчик при старте не пишет ничего в COM-порт.Цитата:
исходников никогда не было, может сможете разжалобить Vslava и упросить, чтобы он их выложил.
Хоть бы он на CTRL-C отвечал чтоли... Прошивку с дебагом не пересобирал.
Исходников rev16 тоже нету, но ее хотя бы несложно повторить на перле/питоне.
UPD: Исходники rev16 нашлись в соседнем архиве Vslav на Github:
https://github.com/1801BM1/k1801/tree/master/rom
Для оcвоения Remulator-а зашил в него ДВК-шный Бейсик :)
Коллеги, а никто не засовывал РЕмулятор в КЦГД ? Есть ряд проблем:
- РЕмулятор стартует довольно медленно, рестарт процессора с помощью XC7 не получается (пробовал прицепить к внутреннему ACLO после КР531АП2 D7)
- Ремулятор похоже довольно медленный, а процессор работает без AR на ~7.5MHz. В результате эта конструкция постоянно трапается.
UPD
- сделал внешнюю "ресетилку" кнопкой на 74HC14. Ресетит стабильно.
- Разогнал РЕмулятор на 144MHz, пересобрал а205, у vslav там все есть в исходниках.
- В КЦГД не заработал СЭМЗ-овский процессор, это оказывается он тормозил. Поставил пластиковый проц производства Микрон, все поехало
Вложение 83382 Вложение 83383