PDA

Просмотр полной версии : РЕ-мулятор - внутрисхемный эмулятор 1801РЕ2/1801РР1



Vslav
28.06.2013, 09:55
РЕ-мулятор представляет собой печатную плату в габаритах корпуса DIP-24 и предназначен для непосредственной замены микросхем типа 1801РЕ2 и 1801РР1 в различных устройствах.

С использованием дополнительных внешних входов РЕ-мулятор способен заменить до четырех отдельных независимых микросхем типа 1801РЕ2/РР1. Например, возможна одновременная замена одним эмулятором шести микросхем 1801РЕ2 на основной плате БК-0010 плюс плата модуля МСТД/Фокал. Для БК-0011М один эмулятор способен заменить до семи микросхем (на основной плате и дополнительно на плате Бейсика)

РЕ-мулятор построен на основе недорогого и распространенного микроконтроллера STM32F205, работающего на частоте 120МГц. Допускается замена программного обеспечения микроконтроллера без отключения РЕ-мулятора от платы для которой осуществляется эмуляция. Таким образом можно быстро изменять "прошивку" эмулируемой микросхемы без вынимания РЕ-мулятора из панельки.

Поле конфигурации, реализованное на перемычках ("джамперах") позволяет управлять режимом работы РЕ-мулятора без частой замены прошивки микроконтроллера.

По мере разработки и усовершенствования программного обеспечения функционал РЕ-мулятора может быть значительно расширен, выходя за рамки простой эмуляции ПЗУ. Например, возможно использование одного из дополнительных выводов для генерации сигнала DOUT, РЕ-мулятор сможет осуществлять циклы записи на шине МПИ и выполнять самостоятельное тестирование устройства, без участия центрального процессора схемы (разумеется, сам ЦП следует отключить сигналами захвата шины).

Программирование микроконтроллера может осуществляться с использованием полного JTAG, "укороченного" SWJ или по последовательному интерфейсу UART (с иcпользованием внешнего преобразователя уровней RS-232 и предварительно запрограммированного загрузчика). Программирование по UART и SWJ допускается без отключения РЕ-мулятора от схемы. При использовании JTAG без отключения от схемы следует обеспечить размыкание цепей проходящих через R4 и R5. Для программирования по JTAG/SWJ можно использовать стандартные программаторы/отладчики типа JLink, ST-Link, MT-Link. Или (если будет интерес и необходимость) - с использованием Altera ByteBlaster (простая схема на одной 74HCT244, подключаемая к параллельному порту PC) и моей утилиты.

http://s56.radikal.ru/i152/1306/09/c9941ec1ea18t.jpg (http://radikal.ru/fp/ce9716117c4e41a5b1f47ac4cf467eb7)
http://s45.radikal.ru/i109/1306/c4/12ea795848a8t.jpg (http://radikal.ru/fp/3259c4b9531a4a3b8fccc94d59138e98)
http://i074.radikal.ru/1306/54/af0c718724a6t.jpg (http://radikal.ru/fp/66b9f5c9027044f384971fa0417de504)
http://s020.radikal.ru/i716/1306/45/28c113235541t.jpg (http://radikal.ru/fp/8dbc88f49e9d40faba075d67f0445bf3)
http://s020.radikal.ru/i713/1306/71/2e7202bb6e68t.jpg (http://radikal.ru/fp/b59aac1cac594474a0c8e1975cb9aa67)

Проект выложен на github: https://github.com/1801BM1/remul

Vslav
28.06.2013, 10:13
На данный момент эмулятор проверен в работе на плате БК-0010, работающей на частоте 3МГц в качестве замены одной 1801РЕ2-017. Программное обеспечение сейчас "вычищается" и готовится к публикации, включая исходники.

Приглашаю всех желающих к обсуждению режимов работы РЕ-мулятора.
На данный момент предполагается реализация следующих прошивок и режимов:

- простая эмуляция одной микросхемы 1801РЕ2. Требуемое содержимое прошивки РЕ2 будет располагаться в прошивке микросконтроллера по фиксированному адресу, будет написан простой скрипт, и желающие при необходимости смогут сами вставлять нужное содержимое РЕ2 в файл прошивки микроконтроллера без перекомпиляции. То есть - готовим нужный файл для РЕ2 в требуемом формате (предлагаю формат программатора Стерх - intel-hex, в конце два байта адресного кода микросхемы), берем уже подготовленный файл прошивки микроконтроллера (будет выложен тут), запускаем простой скрипт (батник, скорее всего будет одна использоваться только утилита srec_cat) и получаем на выходе сразу (без компиляции - не надо разбираться с компилятором для ARM - инсталлировать, настраивать и тд) готовый файл для прошивки в микроконтроллер, которая будет эмулировать РЕ2 с заданным содержимым.

- Прошивка БК-0010. Содержит образы РЕ2-017, -106, -107, -108, -018, -019. Устанавливается на место D25(РЕ2-108, чтобы фильтровать обращение к регистрам по сигналу CS в данном посадочном месте) и заменяет все четыре микросхемы плюс модуль Фокала/МСТД. В зависимости от установленных конфигурационных перемычек РЕ-мулятор будет заменять или просто микросхемы на основной плате, или режим подключенного модуля МСТД.

- Прошивка для БК-0011М. Аналогично - со всеми РЕ2, которые применяются в данном компьютере.

Я с БК не очень много работал, поэтому предлагайте варианты, которые могут быть полезны и интересны.

Ал-р
29.06.2013, 06:48
Очень круто - 32-битный ARM на 120МГц для реализации простейшего алгоритма по эмуляции ПЗУ (в соответствии с адресом на входе выдавать содержимое внутренней Flash) ...

Vslav
30.06.2013, 01:02
А чем плохо? Всего одна микросхема за 120 российских рублей в розницу (стабилизатор +3.3V не в счет). Свои функции выполняет и ладно. А делать на отдельной микросхеме флеша плюс CPLD или дискретная логика - это очевидное (скучно-банальное) и более громоздкое(и дорогое) решение, имхо.

Vslav
28.07.2013, 19:19
Новости проекта:
- посылка с платами пришла на "место вручения" в Москве
- написана штатная программа и опробована конфигурация БК-0010 - замена до 4-х микросхем -017, -106, -107, -108

Программа написана так, что содержимое прошивок отвязано от самой программы, и можно собрать нужную конфигурацию эмуляции простым скриптом при помощи одной единственной утилиты srecords (srec_cat), то есть кто не хочет - может компиляторы не ставить и с ними не разбираться. При этом легко собирая нужный конфиг прошивки.

Сборка исходников осуществляется GCC (пробовал готовые сборки CodeSourcery и ARM toolchain) или IAR (размер кода прошивки менее 8К, есть бесплатная лицензия типа KickStarter от IAR) - кому что нравится, для тех кто захочет поэкспериментировать поглубже.

Вот так сейчас выглядит стендик с БК-0010:
http://s020.radikal.ru/i702/1307/d9/4ca4cc82a8b5t.jpg (http://radikal.ru/fp/47c4d10c5ceb45f18474fae2636cb8fa)

Кстати трассировка системной платы (пресловутой "переразведенки") не очень, когда сначала запустил РЕ-мулятор на видео начали строчки подергиваться (зазхватываю через ТВ-тюнер). Со штатными РЕ-шками помех на видео нету. В итоге ограничил скорость нарастания сигнала на выходах AD (есть такая фича у STM32) полосой 25МГц (сначала стояли аттрибуты на 50МГц) и помехи ушли.

Прелесть РЕ-мулятора еще и в том что он позволяет по последовательному порту сразу перешивать прошивку "на лету", то есть скорость написания, кросс-компиляции и прогона коротких тестов значительно увеличилась, теперь это просто стало удобно.

Слева там фото лежат аккуратно выпаянные оригинальные РЕ-шки, пришлось слегка повозиться, также сделал удлинитель клавы, и прочее. В-общем, постарался чтобы хобби выглядело красиво :)

Сейчас прочитаю еще (этим же РЕ-мулятором прямо на плате БК) прошивки -018 и -019 (МСТД на фото слева) и буду готовить программу к релизу - повычищаю все хвосты и на днях выложу.

PS. Также готовлюсь тестироваться на чуть более быстрой БК-0011М и ищу прошивки -327, -329 - микросхемы на плату Бейсика БК-0011М. Оно как бы необязательно, но было бы приятно сразу 5 чипов РЕ-мулировать.

Vslav
29.07.2013, 11:32
Пооптимизировал основную процедуру ремулятора (обработка сигналов МПИ), в итоге получилось время выборки в пределах 250-300нс. По крайней мере не хуже чем у оригинальной 1801РЕ2А с ее паспортными 300нс. Картинка с осциллографа (Желтый сигнал - ~DIN, голубой - ~RPLY):

http://zx-pk.ru/attachment.php?attachmentid=42569&stc=1&d=1375082797

Если кому надо быстрее, то можно применить STM32F407 - они до 168МГц штатно работают. Или STM32F205 также вполне хорошо оверклочится (на 168МГц работали все экземпляры что я пробовал). Ниже картинка с оверклоченного до 144МГц 205-го - ориентировочно время выборки 200-250нс. До параметров СОЗУ не дотягивает, конечно, но параметры эмулируемых микросхем перекрывает надежно.

http://zx-pk.ru/attachment.php?attachmentid=42570&stc=1&d=1375082797

Vslav
29.07.2013, 14:35
Сделал считыватель прошивок - в одну панельку на системной плате БК-0010 вставляется считываемая 1801РЕ2/РР1 и далее РЕ-мулятор устанавливает системный сброс ( можно подключить на запрос захвата шины, вместо сброса, но тогда не прочитать микросхемы с чип-кодами 4-7 - будет вылазить -037 на шину) и рулит DIN/SYNC. Результаты чтения попадают в формате ihex в лог-файл отладчика, из которого несложно сделать результирующий файл.

Update:
Вычитал -018 и -019, сделал дополнительную конфигурацию с МСТД. Забавно вышло - выбираем на РЕ-муляторе перемычками конфигурацию 0 (эмуляция -017, -106, -107, -108), включаем питание, видим заставку Бейсика БК-0010. Выключаемся, на РЕ-муляторе выбираем перемычками конфигурацию 1 (эмуляция -017, -018, -019), включаемся - видим Фокал. То есть, РЕ-мулятор легко и просто заменяет модуль МСТД.

Vslav
05.08.2013, 23:24
В первом посте добавлены:
- архив с исходниками
- архив с начальным загрузчиком и утилитой для прошивки по UART (задействован такой механизм потому что полный JTAG не позволяет делать это в устройстве не вынимая из панельки (часть ног JTAG совмещена с AD-шиной), а Cortex SWD поддерживается только относительно новыми адаптерами). Также в этом архиве утилита-препроцессор локальных меток - нужна для компилиции исходников.

Сейчас пишу документ, где описывается РЕ-мулятор и как с ним работать. Ну чтобы я мог потом всегда гордо сказать - RTFM, да. :)

BYTEMAN
05.08.2013, 23:51
Vslav, а почему не используете StdPeriph_Driver?

Vslav
06.08.2013, 00:31
Vslav, а почему не используете StdPeriph_Driver?
Не использую так как:
- было быстро найдено несколько глюков в библиотеке от ST, то есть качество банально не удовлетворило - все равно надо вникать и делать ревью кода. А мусора там...
- пришел на STM32 с другого Cortex (LPC17 и SAM3) и уже было очень много своих наработок (проект РЕ-мулятора на самом деле сначала был "по-быстрому" сделан на моей коммерческой модульной системе, а потом уже низведен до опубликованного состояния. Там много чего было - HAL, RTOS, стеки, все следы от этого были вычищены - да и не надо это все в РЕ-муляторе)
- не факт что буду очень долго на STM32 оставаться - нет смысла привыкать к проприетарной библиотеке
- не нравится что библиотека очень серьезно замыливает сущности, взамен давая только относительно простую миграцию на другие STM, в полезности чего у меня есть сомнения. Банальный принцип Окама - не умножай сущности сверх необходимого

Vslav
06.08.2013, 19:36
К сожалению форум позволяет прикреплять к сообщению максимум 5 файлов, поэтому архивы с техническим описанием и прекомпилированными прошивками пока размещаю в этом сообщении. Возможно модераторы/админы смогут предложить какое-то решение - например создать пустое второе сообщение, чтобы можно было прикрепить файлы к нему или что-то в этом роде.
PS. Не сложно сделать сам проект, намного сложнее его оформить чтобы мог пользоваться кто-то еще кроме автора :)

Vslav
11.08.2013, 00:24
Посмотрел что есть из кросс-средств для PDP-11 под Windows - бедненько. Ну МАСRО-11 есть... Без линкера... Ну еще можно портануть (начал, полдня потратил и надоело) PCC из проекта BK-Unix... Но возможности у того компилятора все равно скромные.
В-общем, пришлось ставить MinGW и собирать самостоятельно "промышленные" binutils/GCC 4.6.2 для PDP-11 под Windows.
Теперь красота - редактирую все в привычном MSVC, компилю GCC и мгновенно вливаю в РЕ-мулятор - написание тестов по освоению БК-шки значительно ускорилось :)
Пришлось написать также утилиту для инверсии адреса/данных - переводит hex-файлы из формата "как видит процессор" в формат "программатора/РЕ-мулятора" и обратно.
Самый простой проект (просто чистит экран) и сама утилита - во вложении.

Ал-р
11.08.2013, 15:20
.start
MOV #40000, R0
1R: CLR (R0)+
BPL 1R
.end
-
(amontest.mac)
br это перевод строки в HTML :)
в Ассемблере "пустой" команды BR не бывает
BR metka

Vslav
11.08.2013, 17:22
.start
MOV #40000, R0
1R: CLR (R0)+
BPL 1R
.end

Ну-у-у.... От гуру PDP-11 я такого не ожидал - "и на старуху бывает порнуха" (с)
Команда CLR всегда четко выставляет флажки (Z=1, C=N=V=0) по операнду-результату (который у CLR всегда нулевой). Так что фрагмент кода - не очень. И команда BR(anch) у меня не пустая, там такая себе крошечная точка стоит. ИМХО, она там не просто так ;)

kapitan-u
16.02.2015, 16:07
а кто нибудь продает собранные ре-муляторы ?

Woland
16.02.2015, 22:08
Я продаю, но Вы вроде мне уже в почту написали [email protected]

Ал-р
24.02.2015, 18:30
(Vslav)
А не могли бы Вы нарисовать алгоритм в виде блок-схемы как уделать 120 МГц 32х-битного ARM-микроконтроллера (100-ног с шагом 0.5мм) в 3(4)Мгц старинной ПЗУ КР1801РЕ2 c 24-ногами ???

Vslav
24.02.2015, 19:53
//__________________________________________________ ___________________________
//
// Процедура реализации алгоритма работы ROM 1801РЕ2
// - не осуществляет возврат (работает постоянно)
// - выполняется с запрещенными прерываниями (не используются)
// - код позиционно-независимый - работает перемещенным в RAM
//
// Входные параметры:
// R0 - адрес таблицы ссылок на банки ROM
// R1 - адрес порта шины данных
// R2 - адрес порта сигналов управления
//
#define PIO_IDR 0x10 // смещение регистра входных данных
#define PIO_ODR 0x14 // смещение регистра выходных данных
#define PIO_BSR 0x18 // смещение регситра сброса и установки
//
#define RPLY_BIT 0 //
#define SYNC_BIT 3 //
#define DIN_BIT 13 //
#define SEL0_BIT 9 //
#define SEL1_BIT 4 //
#define SEL2_BIT 5 //
#define SEL3_BIT 7 //
//
#define RPLY_MSK (1<<RPLY_BIT) //
#define SYNC_MSK (1<<SYNC_BIT) //
#define DIN_MSK (1<<DIN_BIT) //
#define SEL0_MSK (1<<SEL0_BIT) //
#define SEL1_MSK (1<<SEL1_BIT) //
#define SEL2_MSK (1<<SEL2_BIT) //
#define SEL3_MSK (1<<SEL3_BIT) //
#define SELX_MSK ((1<<SEL0_BIT) | (1<<SEL1_BIT) | (1<<SEL2_BIT) | (1<<SEL3_BIT))

_sect(.text, CODE, "ax", 2) //
_global app_rom_loop //
_global app_end_loop //
_thumb //
_thumb_func //
//
app_rom_loop: mov R12, R0 // R12 - таблица ссылок
movs R5, #RPLY_MSK // вспомогательная константа
//
// Для начала цикла ожидаем высокий уровень SYNC (неактивный)
//
@@SyncHigh: ldr R0, [R2, #PIO_IDR] // загружаем управляющие
movs R0, R0, lsr #(SYNC_BIT+1) // сигналы и проверяем
bcc.n @@SyncHigh // сигнал SYNC
//
// Теперь ожидаем низкий уровень SYNC (ниспадающий фронт)
//
@@SyncFall: ldr R7, [R1, #PIO_IDR] // R7 предполагаемый адрес
ldr R4, [R2, #PIO_IDR] // для предварительной фиксации
movs R0, R4, lsr #(SYNC_BIT+1) //
bcs.n @@SyncFall //
//
// Выполняем подготовку обращения к таблице ссылок
// Выделяем старшие три бита chipcode и вычисляем
// элемент таблицы
//
movs R0, R7, lsr #13 // в R6 указатель на элемент
add R6, R12, R0, lsl #8 // таблицы соответствующей
ubfx R7, R7, #1, #12 // зафиксированному chipcode
movs R7, R7, lsl #1 //
//
// Обнаружен ниспадающий фронт SYNC, теперь будем проверять
// устойчивой комбинации SYNC=0, DIN=0, и некоторых активных
// сигналов выборки
//
// Как оказалось если в качестве сигнала CS используется выход
// с микросхем 1801ВП1 (в частности -037) то к моменту ниспадающего
// SYNC матрица еще не успевает декодировать адрес и РЕ-мулятор
// не получает устойчивой комбинации сигналов на входе. Поэтому
// выполняем ожидание
//
@@WaitSel: ldr R4, [R2, #PIO_IDR] // загружаем управляющие
movs R0, R4, lsr #(SYNC_BIT+1) // сигналы и проверяем
bcs.n @@SyncFall // сигнал SYNC
movs R0, R4, lsr #(DIN_BIT+1) // проверим активность
bcs.n @@WaitSel // сигнала DIN
ubfx R0, R4, #SEL1_BIT, #6 //
ldr R3, [R6, R0, lsl #2] //
tst R3, R3 // при данной комбинации
beq.n @@WaitSel // нет доступа к ROM
//
// Более быстрый вариант, но требует чтобы комбинация CS была
// устойчивой в момент ниспадающего SYNC
//
// ubfx R0, R4, #SEL1_BIT, #6 //
// ldr R3, [R6, R0, lsl #2] //
// tst R3, R3 // при данной комбинации
// beq.n @@SyncHigh // нет доступа к ROM
//
ldrh R0, [R3, R7] // выполняем загрузку
// данных из массива
@@WaitDin: ldr R4, [R2, #PIO_IDR] // теперь ждем активного DIN
movs R3, R4, lsr #(DIN_BIT+1) //
ittt cc //
movcc R4, R5, lsl #16 //
strcc R4, [R2, #PIO_BSR] // активируем сигнал RPLY
strcc R0, [R1, #PIO_ODR] // выводим данные на шину
bcc.n @@SetupWait //
movs R3, R4, lsr #(SYNC_BIT+1) //
bcc.n @@WaitDin //
b.n @@SyncFall //
//
@@SetupWait: movs R3, #0xFFFFFFFF //
movs R3, R3, lsr #16 //
//
@@WaitDone: ldr R0, [R2, #PIO_IDR] // проверим активность DIN
movs R4, R0, lsr #(DIN_BIT+1) // как только DIN неактивен
bcc.n @@WaitDone // сразу снимаем RPLY и
str R5, [R2, #PIO_BSR] // освобождаем шину
strh R3, [R1, #PIO_ODR] //
b.n @@SyncHigh //
//
app_end_loop: //
//
//__________________________________________________ ___________________________
//

Исходники все открыты, смотрим файл a205.a79 - это ассемблерный модуль, в том числе содержит саму процедуру эмуляции. Позиционно-независима, исполняется копия процедуры в RAM, так как в целом быстрее чем из флеша, несмотря на кеширующий акселератор. В исходниках достаточно подробные комментарии, если что-то конкретно непонятно - спрашивайте. Блок-схему - постараюсь, но это времени требует, да и очень редко их рисую, только на бумажке.

Ал-р
24.02.2015, 21:37
(Vslav)
Я нисколько не сомневаюсь в вашем профессионализме - Вы супер и даже в разных областях - но Вы не БК-шник. И не обижайтесь - некоторые ваши решения для БК соответствуют убийству мух кирпичём ...
Да, приведён хороший ассемблерный текст с комментами (даже я вижу некоторые почти БК-шные команды) - может попробуем всё это сместить в меньшие мегагерцы с некоторым изменением алгоритма и вдруг дотумкаем до чё-нибудь меньше-разрядного и микросхемно меньше-ногого?

perestoronin
24.02.2015, 22:44
Ал-р - не получится в принципе и не получится дешевле.

PS. Правильное приложение усилий - сделать подобие БК на 1806ВМ2, попутно выкинув всю 1801.

Vslav
24.02.2015, 23:35
всё это сместить в меньшие мегагерцы с некоторым изменением алгоритма и вдруг дотумкаем до чё-нибудь меньше-разрядного и микросхемно меньше-ногого?

Так "кирпич" простой и дешевый. Кстати, в нем не 100 ножек, а 64. Сам процессор можно взять с памятью 128К, такие оптом покупаются менее чем за $2. Да и в самой схеме РЕ-мулятора всего две микросхемы, одна из которых стабилизатор питания. То есть "смысловая" микросхема всего одна, уменьшать число корпусов дальше некуда.

А с мегагерцами "меньше" не все просто, это же опубликован не первый вариант кода, сначала было достаточно много оптимизаций по быстродействию, еле-еле уложилось во времянку оригинальной 1801РЕ2. Может быть, возможно что-то еще оптимизировать, но я не вижу. В любом случае, проект полностью открытый, все желающие могут попробовать свои силы и внести свой вклад. Если найдется более оптимальный алгоритм или схемотехника - буду только рад.

kapitan-u
22.04.2015, 07:20
Vslav, возник интересный вопрос: если вход CE pin 23 будет постоянно посажен на землю, то будет ли РЕ-мулятор корректно работать?

Vslav
22.04.2015, 08:23
Vslav, возник интересный вопрос: если вход CE pin 23 будет постоянно посажен на землю, то будет ли РЕ-мулятор корректно работать?
Да. В БК-0010 вce CS 1801PE2 постоянно притянуты к земле (ну не считая случаев когда их явно отключают) и все работает.

Vslav
26.04.2015, 09:49
Хочу поблагодарить kapitan-u за помощь в поиске ошибок прошивки РЕ-мулятора, а также за указание на неточности в документации.

Архив с иходниками в первом посте обновлен:
- исправлена ошибка с CS, вывод непреднамеренно настраивался как выход и туда выдавался низкий уровень, что могло приводить к конфликту по выходам и влиять на работу всего устройства. На БК не проявлялось потому что данная цепь (ножка 23 в панельке 1801РЕ2) обычно и так притянута к "земле".
- добавлена опциональная возможность дополнительного декодера адреса, РЕмулятор теперь может отвечать только в пределах указанного при компиляции диапазона адресов. Такая возможность была использована например для загрузчка dwboot.bin, размещенного в 173000...173777.
- исправлено пару байт в образе 1801РЕ2-019, по результатам более корректного считывания

PS. На форуме pk-fpga все материалы также обновлены - включая документацию.

Vslav
20.09.2015, 23:17
Появился вопрос - клон вот такой ерунды (http://www.eetools.com/index.cfm/product/314/eprom-emulator.cfm) уже никакого интереса не представляет? В-принципе, можно его сделать реконфигурируемым, чтобы 1801РЕ2 тоже понимал. Стоимость самостоятельной сборки, конечно, в разы ниже чем указанная цена.

MM
21.09.2015, 11:02
Появился вопрос - клон вот такой ерунды (http://www.eetools.com/index.cfm/product/314/eprom-emulator.cfm) уже никакого интереса не представляет? В-принципе, можно его сделать реконфигурируемым, чтобы 1801РЕ2 тоже понимал. Стоимость самостоятельной сборки, конечно, в разы ниже чем указанная цена.
Может, конечно, кого-то и заинтересует ( в основном разработчиков М-ЭВМ ), но те, кто реально рисует - давно уже или купили поделку, или сами собрали нечто похожее ( знаю некотрых таких ).
Пока что интерес общественности видится в платке-клоне чипа 1801ВМ1-(много мгц), в перреспективе - в платке-клоне 1801ВМ3-(много мгц).
Предполагаю, на них можно сделать небольшой бусинесс.

perestoronin
21.09.2015, 11:43
Бизнес вряд ли, хотя кто-то и на семечках живет.

А вот платочка с которой можно утилизировать встречающиеся ВМ3 и даже ВМ4,5 было бы интересно, а вот РЕшк на новоделе видеть бы не хотелось. Речь о существенно модернизированных репликах ДВК4 и выше но уже в современных факторах и современной обвязкой - при использовании современных ПЛИС и современных микроконтроллеров можно все затолкать в них (проэмулировать), кроме самого процессора, его нужно оставить живым, а виртуальный в многомегагерц сделать бонусной неотемлемой опцией если место останется в ПЛИС подобранную под эмуляцию видеоконтроллера с выходом по DVI, hdmi...

Vslav
21.09.2015, 11:47
Пока что интерес общественности видится в платке-клоне чипа 1801ВМ1-(много мгц), в перреспективе - в платке-клоне 1801ВМ3-(много мгц).

Чтобы оно в габариты корпуса ВМ1 придется применить ACEX1К50 в БГА256. Получится всего три микросхемы (ПЛИС, генератор, флешка конфигурации), и печатная платка 4 слоя, но с нормами 0.150/0.150, сделать такую в кетае - примерно $100-150. Если наберется желающих на такую сумму - можно попробовать.

perestoronin
21.09.2015, 11:49
с более чем двумя слоями смириться можно, а вот с БГА этого лучше избежать, в паучих вариантах ничего не приглянулось ?

Vslav
21.09.2015, 12:01
с более чем двумя слоями смириться можно, а вот с БГА этого лучше избежать, в паучих вариантах ничего не приглянулось ?
Тут условия очень простые - нужна 5В-совместимая ПЛИС. Последнее такое 5-вольтовое семейство у Альтеры - ACEX1K. Существующая реплика 1801ВМ1 влазит с большим трудом в 1K30, вообще без запаса и возможности расширения. Значит надо брать 1K50. А там самый мелкий корпус TQFP-144, только с размахом ног 22 мм, в плату с габаритами корпуса 429-42 (1801ВМ1) оно не влезет никак.

БГА паяются на самом деле просто, кто не уверен в своих силах - ремонтники мобильников запросто припаяют за скромное вознаграждение.

Мне этот проект не очень интересен, могу за пару-тройку вечеров разработать схему и плату, но заниматься заказом и прототипированием не хочу, если кто возьмется (и потом подарит мне для разработки прошивки пару собраных эмуляторов :), хотя не вопрос и оплатить), то можно подумать.

Update: есть корейские (китайские?) рабочие клоны (http://www.utsource.net/ic-datasheet/EP1K50FC256-3-1119291.html) ACEX-ов, поэтому цена за 50/100 килогейтов на уровне $10-15, отнюдь не сотни, как за оригинальную альтерку.

MM
21.09.2015, 16:34
Чтобы оно в габариты корпуса ВМ1 придется применить ACEX1К50 в БГА256. Получится всего три микросхемы (ПЛИС, генератор, флешка конфигурации), и печатная платка 4 слоя, но с нормами 0.150/0.150, сделать такую в кетае - примерно $100-150. Если наберется желающих на такую сумму - можно попробовать.
Соответсьвие габаритам оригинального 1801ВМ1 - совсем необязательно.
Главное - соответствие посадки, что бы можно было на разъем приделывать на настоящую МС1201.01 или БК11М ( хотя там и имеются некотрые вопросы с трекингом посадки ).
ИМХО - абсолютно нормально МПП 5х5 см или даже больше, но с набором Н530АП2 - т.к. их аналоги дороже и худосочнее.
Шарик надо гнать подальше из любительских конструкций.

AlecV
22.09.2015, 16:09
На самом деле ACEX1K 3.3-вольтовая, просто 5V-Tolerant. Последняя "настоящая" 5V - это FLEX10K.


P.S. Забавные платки
https://ldm-systems.ru/catalog/altera
сюда просто просится ВМ3...

Vslav
22.09.2015, 16:54
На самом деле ACEX1K 3.3-вольтовая, просто 5V-Tolerant. Последняя "настоящая" 5V - это FLEX10K.

Угу, я с асексами работал, 30-ок с десяток до сих пор валяется где-то. Какое напряжения питания там у ядра и I/O - всем фиолетово, главное что не горят от 5 вольт на входах, в отличие от Циклонов.



P.S. Забавные платки
https://ldm-systems.ru/catalog/altera
сюда просто просится ВМ3...

Отлично, желающие поиметь эмулятор ВМ1 могут купить такое (https://ldm-systems.ru/product/14013) и соорудить нужный переходник. Но ВМ3 в EP1K50 (это старшая микросхема в предлагаемой линейке плат) не влезет с вероятностью 90 процентов, там сложнее микропрограмма и еще диспетчер памяти.

AlecV
22.09.2015, 17:33
Насколько я понимаю, тут коллеги запрашивают два разных вещи:

1. Реализацию процессора в FPGA, которая бы втыкалась в стандартные пины
Типа
http://www.ht-lab.com/commercial/htl8088/htl8088.html

2. "Одночиповую" FPGA обвязку, к которой можно было бы подключить реальный процессор
Типа
http://geektimes.ru/post/255494/

Vslav
22.09.2015, 17:51
1. Реализацию процессора в FPGA, которая бы втыкалась в стандартные пины
Типа
http://www.ht-lab.com/commercial/htl8088/htl8088.html

Ну да, покупается плата, указанная в предыдущем посте и на "колхозном" шлейфе втыкается вместо процессора. Я предлагал сделать "неколхозно", на компактной БГА-шке, в габаритах корпуса реального процессора, сказали что "не катит" и "колхоз" больших габаритов вполне устроит. Ну вот и нашелся готовый, немножко попаять и усё.



2. "Одночиповую" FPGA обвязку, к которой можно было бы подключить реальный процессор
Типа
http://geektimes.ru/post/255494/
Такие платы тоже есть (http://zx-pk.ru/showthread.php?t=21192) - для ВМ1/ВМ2/ВМ3. До запуска модуля 2xВМ1 у меня как раз руки дошли. Эту же плату можно взять за основу для пункта 1, чтобы "колхоз" выглядел красиво, с разъемчиками и шлейфами. Тогда даже плату на ACEX покупать необязательно - любая DEx подойдет.

Vslav
22.09.2015, 18:06
В-принципе, "колхоз" по пункту 1, если не на БГА, получается такой:

53521

Еще я нашел вот такие разъемы (http://www.brownbear.ru/goods/4976.html), так что отверстий не будет. Правда припаять такое в два ряда очень сложно :(. Несильно проще чем БГА :)

MM
22.09.2015, 23:06
В-принципе, "колхоз" по пункту 1, если не на БГА, получается такой:

53521

Еще я нашел вот такие разъемы (http://www.brownbear.ru/goods/4976.html), так что отверстий не будет. Правда припаять такое в два ряда очень сложно :(. Несильно проще чем БГА :)
Платочку можно в несколько раз увеличить.
*
По ссылке на набор штырей - непойдет, т.к. там "шахматная " система, а нужна обыкновенная ( плосская ) :
http://storage3.static.itmages.ru/i/15/0922/h_1442951453_2659787_14bdb43741.jpg (http://itmages.ru/image/view/3024829/14bdb437)
Думается, обычные штыри, напаянные поверх контактных площадок, вполне сгодятся. Я в таких случаях использую новые разъемы СНП58-64 ( мама ) - просто форумую ножки, запаиваю, отламываю лишнее ( но насечке ).

---------- Post added 23.09.2015 at 00:06 ---------- Previous post was 22.09.2015 at 23:54 ----------

А еще лучше - не экономить миллиметры и не извращаться с редкосными штырями, а увеличить платку - сбоку приделать ПЛИС, а по центру - шинные формирователи-усилители. Кстати, будет нелишним сделать площадки под НР1-4-9М 2.2 к ( ориентировочно ) - нагрузить ими двунаправленные выходы с АП2 на внешнюю шину . Внутреннюю нагрузку можно организовать и на более мелких наборах резисторов - т.к. она несмення будет ( и нужна ли она ? ).

BYTEMAN
12.07.2018, 13:27
Друзи, а платки РЕмулятора (либо уже готовые изделия) где-нибудь приобрести можно?

Vslav
12.07.2018, 20:11
Друзи, а платки РЕмулятора (либо уже готовые изделия) где-нибудь приобрести можно?
К Воланду стучаться надо - он вроде партию платок запустил, может и готовые есть.

Manwe
14.03.2020, 09:23
Я предлагал сделать "неколхозно", на компактной БГА-шке, в габаритах корпуса реального процессора, сказали что "не катит" и "колхоз" больших габаритов вполне устроит.Да ну этот колхоз. Лучше изящно сделать в размерах ВМ1. Паять БГА не вручную, конечно, а сразу со сборкой заказывать платы в Китае. Пусть роботы паяют.

BYTEMAN
06.05.2020, 18:02
Кто-нибудь пробовал РЕ-мулятор на МС1201.03?

BYTEMAN
07.05.2020, 10:39
В общем, у меня РЕмулятор в ДВК почему-то не заработал. Шил в него две конфигурации, с 134 и 377 прошивками, ни одна как положено не запахала. Либо АРМ битый китайцы прислали (по маркировке на 256к а видится как на 512), либо я где-то косячнул. Платок я заказывал много, попробую ещё пару штук собрать, может быть другой экземпляр заработает. Вообще, было бы интересно узнать, есть ли у кого положительный опыт подключения ремулятора к двк на вм3

Vslav
07.05.2020, 12:11
Шил в него две конфигурации, с 134 и 377 прошивками, ни одна как положено не запахала.
Как именно зашивалось? Загрузчиком? Или все в куче? Можно посмотреть на файл который заливался?


Вообще, было бы интересно узнать, есть ли у кого положительный опыт подключения ремулятора к двк на вм3
Да, люди подключали, тут на форуме есть тема по запуску 1201.03. Ну а сам вопрос аналогичен - "есть ли у кого опыт подключения 1801РЕ2 к 1201.03" :)

BYTEMAN
07.05.2020, 12:55
Vslav, заливалось всё скопом: https://drive.google.com/file/d/1UwLGFC0X6CWFSckzArBvprKM8o0xLUZ9/view?usp=sharing

Есть разница в поведении ДВК, когда, скажем, перемычками выбрана несуществующая конфигурация или включен режим загрузчика. Самим загрузчиком я не пробовал ничего делать, всё шилось напрямую ст-линком. Тему поищу, спасибо.

Vslav
07.05.2020, 17:49
Vslav, заливалось всё скопом: https://drive.google.com/file/d/1UwLGFC0X6CWFSckzArBvprKM8o0xLUZ9/view?usp=sharing

Есть разница в поведении ДВК, когда, скажем, перемычками выбрана несуществующая конфигурация или включен режим загрузчика. Самим загрузчиком я не пробовал ничего делать, всё шилось напрямую ст-линком. Тему поищу, спасибо.
Если:
- SA6 (на РЕ-мукляторе) замкнута - то оно так и останется в загрузчике, как ПЗУ не работает в это режиме
- если CS не выбран или под него нет имаджа внутри - то отвечать не будет, как и обычная РЕ2

PS. Вечером доберусь домой - проверю файлы из предыдущего поста

BYTEMAN
07.05.2020, 18:52
- SA6 (на РЕ-мукляторе) замкнута - то оно так и останется в загрузчике, как ПЗУ не работает в это режиме
- если CS не выбран или под него нет имаджа внутри - то отвечать не будет, как и обычная РЕ2

Эти условия выполнялись, я видел, что на шине поведение отличалось при корректно выбранной конфиге, и в режиме загрузчика/невалидной конфиги.

Vslav
07.05.2020, 18:54
Смотрим файл


:020000040800F2

OK, сделана релокация под ST-link на физический адрес внутренней флешки 0800_0000



:20000000D0060020711100084700000847000008470000084 7000008470000084700000886
....

:20134000E060FFF7C7FFFFF799FFFEE7003C0240043C02402 3016745AB89EFCD0C3C0240D4
:10136000083C02403B2A19087F6E5D4CECAAFF0F37


OK, 0800_0000...0800_3FFF - это загрузчик b205.hex,



:20400000040E00209D4200080142000801420008014200080 14200080142000801420008C5
:2040200001420008014200080142000801420008014200080 1420008014200080142000828
....
:2049600051F8043B4CF8043B043ABFF4F9AF04323FF4ACAF1 2F0020F00F0078031F8023BDF
:204980000CF8013B1B0A0CF8013B12F0010F1CBF0B788CF80 0307047AFF30080AFF3008053

OK, 0800_4000...0800_7FFF - это управляющая прошивка a205iar.hex, у меня немного другая, но могло что-то некритично измениться при разработке


:208000007700C40B047EE0000000000000000000000000000 00000000000000000000000B8
:2080200000000000000000000000000000000000000000000 0000000000000000000000040
....
:209FC00000000000000000000000000000000000000000000 0000000000000000000000081
:209FE00000000000000000000000000000000000000000000 0000000000000000000000061

0800_8000...0800_800F - 134 ? А вот тут не OK, прошивка должна быть в "формате Стерх" - адрес и данные
должны быть инвертированы. Адрес похоже - да, а вот данные - точно нет.


:20A00000070300FFFFFFFFFFFFFFFFFFFFFFFFFF
Байт код - 07 (адрес с 000000), 3 проверочный код OK, 00 - CS0 - OK

Итого - убедиться что данные проинвертированы в прошивке, снять все перемычки и должно стартовать

BYTEMAN
07.05.2020, 20:48
Хм... Инвертировал через REV16... Странно как-то... Спасибо, попробую ещё раз! "Вчерашний" ремулятор я разломал при демонтаже, т.к. запаял слишком хорошо)

BYTEMAN
07.05.2020, 23:30
А вот тут не OK, прошивка должна быть в "формате Стерх" - адрес и данные
должны быть инвертированы. Адрес похоже - да, а вот данные - точно нет.

Проблему понял - я взял прошивку "Стерховскую" и её ещё раз отинвертировал)

BYTEMAN
09.05.2020, 01:29
Vslav, благодарю за помощь, теперь заработало) Что интересно, на 377-й прошивке при стартовом тесте диспетчера памяти ловлю какую-то ошибку... Тест вываливается в пульт, а если продолжить по Р то пишет прерывание по вектору 250. Что интересно, тест 134-й прошивки и некий набор тестов VM3.CCC для FTMON ошибок не находит... Буду пытаться разобраться...

Sergei Frolov
17.12.2020, 17:51
[QUOTE=Vslav;783647]

// Как оказалось если в качестве сигнала CS используется выход
// с микросхем 1801ВП1 (в частности -037) то к моменту ниспадающего
// SYNC матрица еще не успевает декодировать адрес и РЕ-мулятор
// не получает устойчивой комбинации сигналов на входе. Поэтому
// выполняем ожидание
//
@@WaitSel: ldr R4, [R2, #PIO_IDR] // загружаем управляющие
movs R0, R4, lsr #(SYNC_BIT+1) // сигналы и проверяем
bcs.n @@SyncFall // сигнал SYNC
movs R0, R4, lsr #(DIN_BIT+1) // проверим активность
bcs.n @@WaitSel // сигнала DIN
ubfx R0, R4, #SEL1_BIT, #6 //
ldr R3, [R6, R0, lsl #2] //
tst R3, R3 // при данной комбинации
beq.n @@WaitSel // нет доступа к ROM


https://i.ibb.co/99wZ9CF/diag-vm2.jpg (https://ibb.co/99wZ9CF)

Хотел бы поинтересоваться. В диаграмме адрес снимается с шины где-то одновременно с опусканием DIN, а здесь DIN ожидается и только после этого считывается адрес. В реальной системе адрес еще какое-то время висит на шине?

Sergei Frolov
17.12.2020, 20:53
https://i.ibb.co/sq8Bwwp/20201217-381244.png (https://ibb.co/sq8Bwwp)

Посмотрел, в какой момент снимается адрес (внизу) относительно DIN (вверху)

Vslav
17.12.2020, 23:51
Хотел бы поинтересоваться. В диаграмме адрес снимается с шины где-то одновременно с опусканием DIN, а здесь DIN ожидается и только после этого считывается адрес. В реальной системе адрес еще какое-то время висит на шине?
Нет, адрес защелкивается немножко раньше, точно по ниспадающему SYNC:

//
// Теперь ожидаем низкий уровень SYNC (ниспадающий фронт)
//
@@SyncFall: ldr R7, [R1, #PIO_IDR] // R7 предполагаемый адрес
ldr R4, [R2, #PIO_IDR] // для предварительной фиксации
movs R0, R4, lsr #(SYNC_BIT+1) //
bcs.n @@SyncFall //

А Вашем фрагменте ожидается устойчивая комбинация DIN и CS.

Sergei Frolov
18.12.2020, 08:04
Ясно, спасибо.

roma
03.04.2021, 23:05
Можно ли запрограммировать начальный загрузчик через St-Link и SWD интерфейс?
Не могли бы выложить файл загрузчика для St-Link Utility.
Просто подключил ремулятор через St-Link и SWD интерфейс, чип видит, информация о чипе выводится.
Но при попытке запрограммировать a205_gcc10_jtag.hex или b205.hex пишет ошибка записи.
Видимо эти файлы либо не подходят для St-Link Utility, либо программтор пытается записать по неверным адресам.
Хотя erase чипа и проверка на чистоту проходят без ошибок ...

- - - Добавлено - - -

Как я понял нужно запрограммировать файл b205.hex с адреса 0x08000000?
Но при открытии этого файла St-Link Utility пытается его записать с адреса 0x00000000.
Как указать St-Link Utility что нужно программировать с адреса 0x08000000?
Возможно есть альтернативный тул для St-Link программатора, в котором можно выбирать начальный адрес?

Vslav
04.04.2021, 00:21
Можно ли запрограммировать начальный загрузчик через St-Link и SWD интерфейс?
Конечно можно, в РЕ-муляторе обычный stm32f205/207, все стандартные инструменты должны работать.


Как я понял нужно запрограммировать файл b205.hex с адреса 0x08000000?
Но при открытии этого файла St-Link Utility пытается его записать с адреса 0x00000000.

Тут надо просто переместить hex-файл на нужный адрес, например, утилитой srec_cat:
srec_cat b205.hex -Intel -offset 0x8000000 -o b205_800.hex -Intel

Получившийся b205_800.hex - точно такой же, просто начальный адрес будет 0x8000000.
Естественно, скомпилировано все правильно, прошивка и должна размещаться по такому адресу.

Vslav
04.04.2021, 12:36
Наконец дошли руки выложить проект на гитхаб: https://github.com/1801BM1/remul

svinka
04.04.2021, 14:56
Наконец дошли руки выложить проект на гитхаб: https://github.com/1801BM1/remul

Вместо кириллицы - кракозябры

gid
04.04.2021, 17:03
кракозябры
Не подтверждаю, у меня всё нормально, как через браузер, так и в клонированной репке. Несмотря на то, что в разных файлах проекта разные кодировки используются.

То ли гитхаб научился кодировкам, то ли Vslav знает какие-то секреты. Потому что раньше в некоторых проектах я таки видел кракозябры вместо русских букв, особенно если utf-8 было, тогда кракозябров в 2 раза больше получалось.

Vslav
04.04.2021, 17:11
Вместо кириллицы - кракозябры
Где именно кракозябры?
В readme.md быть не должны - это utf-8 файл, везде должен отображаться нормально (github рекомендует utf-8 и показывает нормально).
А в исходниках кракозябры на месте кириллических комментариев возможны, С/asm исходники я в utf-8 переводить не буду, останется в CP1251.

roma
04.04.2021, 19:36
У меня возник вопрос по конфигурации 8 для Полнофункциональная имитация отдельной микросхемы 1801РЕ2-253. Тестировался ли данный режим в контроллере НГМД?
Просто запрограммировал загрузчик через ST-Link, затем залил конфигурацию bk0011.hex через RS-232 адаптер с помощью wcload. Установил одну перемычку СА4 (конфигурация 8, Полнофункциональная имитация отдельной микросхемы 1801РЕ2-253) и установил в рабочий НГМД вместо 1801РЕ2-253, но ничего не работает.
При наборе 160000G просто возвращается по адресу 160002.
У меня предположение что проблема в firmware и что данная конфигурация с контроллером НГМД не тестировалась. И проблема скорее всего в том, что 23 вывод (CS) в контроллере постоянно сидит на земле, а firmware скорее всего ожидает перепад с высого уровня на низкий. Хотя возможно я ошибаюсь и проблема где то у меня с железом, хотя все соединения от контактов разъёма до самого чипа я протестировал и вроде проблем нет.
Что смотреть, где копать?

Vslav
04.04.2021, 20:28
У меня возник вопрос по конфигурации 8 для Полнофункциональная имитация отдельной микросхемы 1801РЕ2-253. Тестировался ли данный режим в контроллере НГМД?

У меня нет контроллера НГМД, поэтому лично я не тестировал. Но принципы эмуляции везде одинаковые, должно работать.


23 вывод (CS) в контроллере постоянно сидит на земле,
...
а firmware скорее всего ожидает перепад с высого уровня на низкий.

Нет, не ожидает. Сначала ожидается перепад SYNC, и фиксируется адрес обращения, а потом ожидается просто валидная комбинация активного DIN и какого-то из CS. Поэтому с CS постоянно сидящим на земле должно работать. Я бы начал с дампа по 160000, что там есть, читается ли код из эмулируемой 253-ей.

roma
05.04.2021, 10:57
Сделал прошивку для БК0011 из a205_gcc.hex+bk0011.hex, вроде стало правильно читаться по адресу 160000. Но при запуске возвращается по адресу 160236.
Стал выводить и сравнивать по одной ячейке, по адресам 0, 4, 10, 200 - значения ПЗУ и и емулятора совпадают, а вот по адресу 100 - ПЗУ выводит 77, емулятор 177.
Непонятно в чём проблема, вроде залипаний на плате нет, проверял. Контакты разъёма до контактов чипа вроде тоже все доходят.

Поэтому вопрос, можно ли средствами шатного монитора БК0011 вывести содержимое всего ПЗУ и желательно в HEX, а не по одной ячейке и в восьмеричной системе?
Ну или подскажите малеьнкую программу на Бейсике, как из Бейсика читать содержимое по адресу и вывести его в HEX?

gid
05.04.2021, 12:01
а вот по адресу 100 - ПЗУ выводит 77, емулятор 177
У меня была точно такая же проблема. Оказалось, что всё дело было в панельке, куда я ремулятор втыкал. Некачественная пайка была и при втыкании ремулятора на одной из ног пропадал контакт.

roma
05.04.2021, 15:10
Прозвонил ещё раз соединения между платой НГМД и ремулятором, контакт везде есть.
Так что вопрос о том как снять дамп ПЗУ установленной в контроллере НГМД остаётся открытым.

MM
05.04.2021, 16:53
монитора БК0011
Какие на Вашей плате БКшки установлены ПЗУ ( номера ) ?
Если 201-202 - 326 дамп КНГМД не пойдет, а если 324-325 - пойдет 253 и 326.

Кроме того, в блоке КНГМД БКшки есть особенность - ПЗУ по выв. 03 сигнал SYNC идет через защелку, ограчивающую доступ в адресах 170000...177777.
Может быть целесообразно временно, для выяснения достоверности прошивки, выв. 03 ПЗУ подсоединить напрямую к выв. МПИ Б22, а выв. 01 ПЗУ - сигнал DIN - к выв. А30 разъема МПИ, для обеспечения пуска БКшки при наличии ПЗУ в адресах свыше 177600.

- - - Добавлено - - -


Что смотреть,
Пожалуйста, опубликуйте скриншот дампа ПЗУ с адреса 160000 с БКшки.

roma
05.04.2021, 18:30
В БК стоят 5 штатные ПЗУ 198-202 и на НГМД 253. Все ПЗУ кроме на НГМД впаяны. Поэтому единственная возможность есть установить ремулятор в НГМД.
Ну есть ещё два свободных слота на передней панели, правда я не знаю по каким они адресам и какую конфигурацию можно в них вставить, чтобы проверить ремулятор, дополнительно никуда не подключаясь.

Мой вопрос как раз был как можно снять дамп ПЗУ установленной в НГМД или в двух свободных слотах на передней панели?
(чтобы никуда ещё не подключаться и не подпаиваться)

- - - Добавлено - - -

Да, на стандартном КНГМД сделаны две доработки Бориса Фролкина от неожиданного зависания и ПЗУ по адресам 160-170000.

MM
05.04.2021, 19:37
Колодки ПЗУ на крышке БК11/М имеют адресацию 12-й страницы ПЗУ, и могут быть доступны в адресах 100000 и 120000 ( 160000 там не детектируется БИОСом, но будет доступно, если поставить туда доп. БИС ПЗУ с адресом 100000 или 120000 ).
Этот же слот доступен и на колодке модуля ПЗУ на главной плате БК11/М - выборка по 23 выводу колодки.
*
Надежно прочитать дамп без плясок можно, если на ПЗУ с адресом 140000 , запаянную на плате БК11/М ( 23 выв. - на общем ), сверху припаять колодку, а выв. 01 колодки ( а можно и самой ПЗУ ) - отключить от имеющихся цепей и приделать к выв. А30 разъема МПИ, или к выв. 37 1801ВП1-037 - это тот же сигнал DIN, но без выбора в адресах 177600-177777.

- - - Добавлено - - -


от неожиданного зависания
Висят "полукондиция" 1801ВП1-128 от Ангстрема, не имеющие задержки 1 такт по записи в адреса 177130/177132.
Особенно это проявляется на 3 мгц БКшках, и почти совсем не заметно на 6 мгц.

Навес, который точно исключит зависание, особенно при записи и форматировании :
https://pic.maxiol.com/thumbs2/1617640535.531453945.dout.jpg (https://pic.maxiol.com/?v=1617640535.531453945.dout.jpg&dp=2)
Конденсатор следует подбирать в меньшую сторону по отсуствию зависания при форматировании диска.

electroscat
13.04.2021, 12:12
Доброго времени ! Подскажите пожалуйста, есть ли у кого схема и рисунок платы под ЛУТ для Altera ByteBlaster MV , который точно сможет прошить РЕ-мулятор? Простите за оффтоп, очень нужно !!!

Ну или, возможно ли прошить РЕ-мулятор вот этой китайской штуковиной ByteBlaster II (https://aliexpress.ru/item/1399793448.html?spm=a2g0o.productlist.0.0.75536a29 qSJmfE&algo_pvid=e81ef533-20a0-4977-913e-bdd1ff0d31ef&algo_expid=e81ef533-20a0-4977-913e-bdd1ff0d31ef-4&btsid=0b8b15c916183052379696559e95d0&ws_ab_test=searchweb0_0,searchweb201602_,searchweb 201603_&sku_id=6504807779) используя описанный софт и методику?

Вот это (https://elektron.ucoz.ru/publ/8-1-0-50) он или не он ? Можно будет этим прошить РЕ-мулятор ?

Vslav
13.04.2021, 12:36
Доброго времени ! Подскажите пожалуйста, есть ли у кого схема и рисунок платы под ЛУТ для Altera ByteBlaster MV , который точно сможет прошить РЕ-мулятор? Простите за оффтоп, очень нужно !!!
ByteBlaster штука сильно старая, jload ее поддерживает только для 32-ных Windows, и то я не уверен насчет семерки, теоретически как-бы да, но практически неизвестно.
Лучше взять ST-link уже, он потом может пригодиться для других целей.

electroscat
13.04.2021, 12:42
Лучше взять ST-link уже, он потом может пригодиться для других целей.

Я пока не очень в теме... Шил только Altera при помощи USB Blaster. На сколько я понимаю, USB Blaster не подходит... Помогите разобраться. Для этого ST-link есть свое П.О. - и мне нужно будет просто правильно повеситься на разьем на РЕ-муляторе и залить туда прошивку ? Ну то есть, по стандартному описанию из коммандной строки я не смогу прошить РЕ-мулятор через ST-link, но там будет стандартная процедура через родной софт ? А ST-link V2 подходит?

Vslav
13.04.2021, 12:50
Как прошить stm32 (https://www.google.com/search?q=%D0%BA%D0%B0%D0%BA+%D0%BF%D1%80%D0%BE%D1% 88%D0%B8%D1%82%D1%8C+stm32&oq=%D0%BA%D0%B0%D0%BA+%D0%BF%D1%80%D0%BE%D1%88%D0% B8%D1%82%D1%8C+stm32&aqs=chrome..69i57j0l4j0i22i30l3.7259j0j15&sourceid=chrome&ie=UTF-8)
Первая же ссылка на русском языке выглядит вменяемой.

svinka
13.04.2021, 13:00
Как прошить stm32 (https://www.google.com/search?q=%D0%BA%D0%B0%D0%BA+%D0%BF%D1%80%D0%BE%D1% 88%D0%B8%D1%82%D1%8C+stm32&oq=%D0%BA%D0%B0%D0%BA+%D0%BF%D1%80%D0%BE%D1%88%D0% B8%D1%82%D1%8C+stm32&aqs=chrome..69i57j0l4j0i22i30l3.7259j0j15&sourceid=chrome&ie=UTF-8)
Первая же ссылка на русском языке выглядит вменяемой.
По первой ссылке написано "Многобукфф"

Hunta
13.04.2021, 15:31
"Война и мир" или "Анна Каренина" - вот примеры Многабукфф. А по ссылке - минут на 10 чтения.

roma
13.04.2021, 16:39
ByteBlaster штука сильно старая, jload ее поддерживает только для 32-ных Windows, и то я не уверен насчет семерки, теоретически как-бы да, но практически неизвестно.
Лучше взять ST-link уже, он потом может пригодиться для других целей.

Конечно, лучше купить ST-link, тем более ему цена 2-3$.
Чип без проблем программируется родной St-Link Utility.
Предварительно нужно переместить hex-файл на нужный адрес, например, утилитой srec_cat:
srec_cat b205.hex -Intel -offset 0x8000000 -o b205_800.hex -Intel

svinka
13.04.2021, 16:43
А по ссылке - минут на 10 чтения https://obrazovaka.ru/biblioteka/krylov/gusi-stih

electroscat
13.04.2021, 16:47
Конечно, лучше купить ST-link, тем более ему цена 2-3$.
Чип без проблем программируется родной St-Link Utility.
Предварительно нужно переместить hex-файл на нужный адрес, например, утилитой srec_cat:
srec_cat b205.hex -Intel -offset 0x8000000 -o b205_800.hex -Intel

Спасибо !!!
А можно подробнее, то есть я скачиваю дамп прошивки, например вот от сюда (https://forum.pk-fpga.ru/download/file.php?id=338), и нужный мне дамп прогоняю через утилиту srec_cat? Или эти дампы подготовленны к прошивке уже? Ну то есть, в каком случае нужно перемещать HEX файл на нужный адрес? Простите мне мое невежество ....

roma
13.04.2021, 16:59
Так почитай пару страниц назад, я буквально неделю назад обо всём спрашивал ...
https://zx-pk.ru/threads/21519-re-mulyator-vnutriskhemnyj-emulyator-1801re2-1801rr1.html?p=1111514&viewfull=1#post1111514

- - - Добавлено - - -

http://sourceforge.net/projects/srecord/files/srecord-win32/1.64/srecord-1.63-win32.zip

electroscat
13.04.2021, 17:26
Все в целом понятно, заказал девайс, огромное всем спасибо !!!!

- - - Добавлено - - -

Хотя нет, не понятно самое главное...
Я за ранее прошу не пинать сильно, тема для меня совершенно новая, и мое невежество пока крайне зашкаливает....

Наверняка где то это обсуждалось, по крайней мере в этой ветке не нашел...

На схеме ремулятора на разьем Jtag выведено:

TXD,
RXD,
RESET,
JTDI,
JTDO/AD3,
JTCK,
JTMS,...

А на ST-Link для STM32 есть только:

SWDIO,
SWCLK,...

Подскадите соответствие при подключении ?

Могу предположить что :

JTDI -> SWDIO (или JTDO/AD3)...
JTCK -> SWCLK ..

Ну и GND и +3v .....

Vslav
13.04.2021, 17:52
JTDI -> SWDIO (или JTDO/AD3)...
JTCK -> SWCLK ..
Ну и GND и +3v .....
Да, верно.

Я смотрю сейчас с ценами и доступностью stm32 совсем плохо.
Надо брать LPC54113, корпус тоже мелкий LQFP64, два ядра, хорошая независимая шинная матрица внутри, USB.
На одном ядре поднимаем собственно эмуляцию, а на втором Web-сервер. И в реал-тайме перегружаем прошивку, статистику обращений смотрим, и прочее. И все это - в браузере.

electroscat
01.05.2021, 11:05
У меня произошла совершенно идиотская история с РЕ-мулятором... Прошил, вставил - шахматка, как будто ПЗУ нет вообще... Вытащил ре-мулятор, и по запаре вставил со смещением на 1 ряд контактов.. (получилось, что на 22 и 11 ногу "микросхемы" ремуляора было подано 5 вольт, 24 нога оказалась на общем...). После этого ST-LINK больше не увидел STM32... Понять почему не заработал РЕ-мулятор, когда был еще исправен чип не представляется возможным.

В связи с этим вопрос, если мне нужно чтобы РЕ-мулятор работал с прошивкой от БК0011M онли, можно ли использовать микросхемы STM32F205RBT6 или STM32F205RE6 (предполагаю что RE подойдет, 512 кб flash) ?

Так же, судя по датащитам, теоретически должны работать чипы STM32F205VC и старше, и STM32F205ZC и старше, так ли это ?

В Ростове нашел только STM32F205VCT6 - будет ли она работать ? (разобрался, она в другом корпусе, не получится использовать...)

Ну и второе, я с подобными "приборами" первый раз сталкиваюсь, подскажите, при прошивке контроллера через ST-LINK программой ST-LINK UTILITY - строка прогресса внизу окна программирования должна доходить до конца прогресс-бара или как это было в моем случае - рапортовать о хорошем окончании операции и положительной верификации пройдя всего процентов 8-10 прогресс бара ?

Vslav
01.05.2021, 11:59
можно ли использовать микросхемы STM32F205RBT6 или STM32F205RE6 (предполагаю что RE подойдет, 512 кб flash) ?
RE точно подойдет, RB может подойти, надо пробовать и, если будут проблемы - править прошивку.



пройдя всего процентов 8-10 прогресс бара ?
Я ST-Link никогда не пользовался (всегда только свои утилиты), поэтому точно не скажу. Но, если прошивка мелкая, занимает только часть памяти - то такое возможно.

electroscat
01.05.2021, 12:13
Прошу прощения за оффтоп, может кто то есть из Ростова-на-Дону, и имеет возможность продать STM32F205RE6 или STM32F205RС6.. Хочется с этим закончить уже, ждать из китая 2-3 недели - серьезная аскеза, если кто то может продать микросхемку - напишите в личку пожалуйста ....

- - - Добавлено - - -


Я ST-Link никогда не пользовался (всегда только свои утилиты), поэтому точно не скажу. Но, если прошивка мелкая, занимает только часть памяти - то такое возможно.

Файл прошивки 210 кб весит, вроде солидно, больше 90% от памяти контроллера. (использовал файл, который нашел тут (https://forum.pk-fpga.ru/viewtopic.php?f=43&t=5450), все прошивки для БК-0011M).

Vslav
01.05.2021, 13:01
и имеет возможность продать STM32F205RE6 или STM32F205RС6
207/215/217 тоже подойдут
405/407/417 подойдут после обновления прошивки


Файл прошивки 210 кб весит, вроде солидно, больше 90% от памяти контроллера. (использовал файл, который нашел тут (https://forum.pk-fpga.ru/viewtopic.php?f=43&t=5450), все прошивки для БК-0011M).
По ссылке скачать не получилось, это видимо какой-то файл с загрузчиком, прошивкой и данными, раз такой большой.

electroscat
01.05.2021, 13:09
207/215/217 тоже подойдут

да, я просмотрел на али и на ebay и такие варианты тоже, в среднем 600р за штуку вместе с доставкой. Но 2 недели минимум ожидать... Сойду с ума %) ...


По ссылке скачать не получилось, это видимо какой-то файл с загрузчиком, прошивкой и данными, раз такой большой.

Именно так, это готовый набор, прошиваешь и работает. Я его еще сдвинул как выше описывалось, может его и не надо было сдвигать... с адреса 8000000 чтобы начиналось. Вот он. Если не сложно, взгляните, это сдвинутый: 75339 а это оригинал: 75340
Предполагаю, что мог записаться только загрузчик, если судить по прогресс бару...

А еще вопрос, при прошивке на SA6 нужно было джампер ставить ? Я попробовал без джампера, какую то ошибку получил, потом джампер одел на SA6 и все прошилось, но прогрессбар только около 10% показал...

Vslav
02.05.2021, 10:22
Если не сложно, взгляните, это сдвинутый
Уже достаточно сложно - позабывал где что находится. Но я вижу в файле:
- загрузчик
- код эмулятора
- бинарные данные ROM для БК
Вроде все OK, прошивать этот файл надо, ессно, не моим загрузчиком через UART, а через JTAG или SWD используя ST-Link.
Записаться должен весь файл целиком, и все данные должны верифицироваться. Это какая-то "неофициальная" прошивка, которую я делал Воланда чтобы программировать все за один проход.



Предполагаю, что мог записаться только загрузчик, если судить по прогресс бару...

Возможно. Или чип китайский клон, или следующие сектора флешки залочены.



А еще вопрос, при прошивке на SA6 нужно было джампер ставить ?
Если там уже прописана программа - то да. Она переключает выводы из режима JTAG на режим портов и JTAG/SWD становяться недоступными.
А если одеть SA6, то работает только загрузчик и JTAG/SWD доступны.
Из того что понадобилось ставить SA6 - значит программа прописалась и стартовала.

electroscat
02.05.2021, 15:15
А про сигнал сброса напишите пожалуйста что нибудь ? К чему его подключать, на сколько я понял, это в большинстве случаев нужно. Сигнал сброса ре-мулятора нужно подключить к шине "/SBROS" компьютера, например к 19 выводу (D4) процессора ? Могла ли у моего компьютера быть "шахматка" вместо запуска из за того, что СБРОС не подключен ?

Vslav
03.05.2021, 01:11
А про сигнал сброса напишите пожалуйста что нибудь ? К чему его подключать, на сколько я понял, это в большинстве случаев нужно. Сигнал сброса ре-мулятора нужно подключить к шине "/SBROS" компьютера, например к 19 выводу (D4) процессора ? Могла ли у моего компьютера быть "шахматка" вместо запуска из за того, что СБРОС не подключен ?
Эх, если бы еще знал что у Вас за компьютер. На схеме БК0011М процессор D14 и нога 19 у него AD10....
РЕ-мулятор вещь универсальная, она в множестве разных компьютеров может применяться, поэтому и документация там насчет сброса простая:



X7 - выход сброса внешнего устройства, на данном выход при старте РЕ-мулятора
формируется низкий уровень. При достижении РЕ-мулятором готовности к работе данный
выход переходит в высокоимпедансное состояние. Выход реализован на отдельном
транзисторе по схеме "открытый коллектор", поэтому может подключаться на емкостную
нагрузку (в схемах часто используются времязадающие конденсаторы относительно
большой емкости для формирования импульсов сброса устройства).

Сброс подключать надо, потому что компьютер должен стартовать после готовности РЕ-мулятора.

electroscat
03.05.2021, 01:51
Эх, если бы еще знал что у Вас за компьютер. На схеме БК0011М процессор D14 и нога 19 у него AD10....
РЕ-мулятор вещь универсальная, она в множестве разных компьютеров может применяться...

Да, перепутал, процессор на схеме моего компа (БК0011) D14 и SBROS - вывод 34 (/INIT). Он же подключен к D4 (1801ВП1-14) 19 вывод (/INIT). Судя по схеме ре-мулятора все сходится, по готовности высокоимпедансное состояние. Теоретически, шахматку я мог из за этого видеть после включения, если пока STM32 сканирует массив описателей эмуляции и выполняет другие задачи - БК успевает запуститься и не обнаружить ПЗУ..

Ок, придёт новая микросхема, буду экспериментировать дальше.

Спасибо за помощь !

Vslav
03.05.2021, 10:03
На схеме БК цеплять выход сброса РЕ-мулятора надо на ~XRES - вывод 9 D2 (там где конденсатор стоит электролитический)

electroscat
04.05.2021, 10:36
Дорогие друзья, я еще раз прошу прощения за оффтоп, так и не нашел STM32F205RE или STM32F205RС, Может у кого то по России есть лишня микросхема, готов за срочность переплатить в пределах разумного, все расходы по пересылке и т.д. Есть в китае, но там самое быстрое 2 недели доставка. Пожалуйста, отпишитесь в личку если кто готов отправить.

Vslav
04.05.2021, 11:24
Есть в китае, но там самое быстрое 2 недели доставка.
Сейчас жуткий дефицит stm32 почти по всей линейке, да и вообще чипы очень популярны, поэтому с Китаем надо осторожно - запросто могут несовместимый клон прислать.

electroscat
04.05.2021, 11:35
Сейчас жуткий дефицит stm32 почти по всей линейке, да и вообще чипы очень популярны, поэтому с Китаем надо осторожно - запросто могут несовместимый клон прислать.

Да, это есть. целом, если тут не найду, в любом случае придется из Китая заказывать. В целом, пока что, за все что не заработало возвращал средства, заказываю очень много, и аккаунт максимально прокачаный, возвращают средства даже не разбираясь и сразу. Тем не менее, потери времени всегда неприятны. Пока что вот этот (https://aliexpress.ru/item/32908740294.html?spm=a2g0s.8937460.0.0.1edf2e0ehJn vxu&_ga=2.46656037.362852225.1620111482-806231314.1577107933&_gac=1.128269438.1619859269.Cj0KCQjw-LOEBhDCARIsABrC0Tke9JghXbcqSTNgeYbuioiWQpQqP_8fpdZ EzqbsQJmqIX89-FqjLkMaAm8WEALw_wcB&sku_id=65907221899) собираюсь купить, только со стандартной доставкой, до 20 мая должны доставить, рейтинг продавца хороший.

electroscat
31.05.2021, 15:28
Доброго времени ! Пришла моя STM32 - 512 кб. И результат точно такой же как и в прошлый раз (до того как воткнул панель со сдвигом). Ощущение, что после включения STM32 висит. Выход на RESET не переходит в высокоимпедансное состояние. Естественно комп ведет себя так, ели зажат ресет. Ну и естественно, никакой дамп не передается. Если "RESET" ре мулятора не-подсоединять к "СБРОС" БК - то при включении получаем БК без ПЗУ... Сам чип (ре-мулятор) отлично коннектится к PC при помощи "STM32 ST-LINK Utility" и прошивается, пробовал полностью стирать чип, заливал прошивку (все прошивки) для БК11 и БК11м, у меня 11 - но результат одинаковый, ре-мулятор не работает.

С родными ПЗУ (201, 202) аппарат запускается, считывание данных их ПЗУ происходит, работает и монитор и бейсик(если подключить планку доп. пзу).

Прошивку брал на сайте у Voland`а там есть полные упаковки из загрузчика, программы и всех дампов ПЗУ для 10 или 11 или 11м в отдельных файлах. Кто то прошивал их, они работают ?
Ошибки записи исключаю, ибо программировал с верификацией, и после отдельно сравнивал данные с исходным файлом, ошибок нет.

Подскажите пожалуйста с чего начинать... Для меня тема с STM32, да и вообще микроконтроллерами абсолютно новая, и с какой стороны к ней подходить пока не понятно, подсоветуйте пожалуйста что нибудь.

Ну и может у кого то есть дамп которым можно проверить, например, заведомо рабочий для БК11 или 11М (без разницы, а 11М даже лучше, потому что в идеале собираюсь переделать 11 до 11м.), поделитесь пожалуйста...

Vslav
31.05.2021, 16:17
Ошибки записи исключаю, ибо программировал с верификацией, и после отдельно сравнивал данные с исходным файлом, ошибок нет.

Можно полный прочитанный файл увидеть? (все 512К прочитанных ST-Link, hex, без всяких перемещений-переокодировок)
Какие перемычки SA1-SA5 в конфигурации установлены?
SA6 точно снята?
Программатор отсоединялся?

electroscat
31.05.2021, 20:02
Можно полный прочитанный файл увидеть? (все 512К прочитанных ST-Link, hex, без всяких перемещений-переокодировок)

75519


Какие перемычки SA1-SA5 в конфигурации установлены?

Пробовал без перемычек, 0.0.0.1; 0.0.1.0; 0.0.1.1, (S4.S3.S2.S1).


SA6 точно снята?

Пробовал без нее, и один раз с перемычкой, результат не изменился.


Программатор отсоединялся?

Я программировал вне компа, подавая питание +3,3 от ST-LINK V2, потом отключал и ставил в БК. Подсоединял разьем к S1,S2,S3 и RESET, и включал.

Удивительный продавец продал мне сей девайс (https://aliexpress.ru/item/32908740294.html?spm=a2g0s.9042311.0.0.4e3933edMFa Q41&_ga=2.231740639.1316054752.1622482337-806231314.1577107933&_gac=1.22426313.1619859269.Cj0KCQjw-LOEBhDCARIsABrC0Tke9JghXbcqSTNgeYbuioiWQpQqP_8fpdZ EzqbsQJmqIX89-FqjLkMaAm8WEALw_wcB), на вопрос оригинальная ли это микросхема - в основном все говорят - конечно, у меня только оригинальные... Но этот продавец сказал, что этот чип не оригинальный, оригинал стоит гораздо дороже, но этот чип вполне заменяет оригинальный.

Vslav
01.06.2021, 18:12
В приложенном файле я вижу прошивки для 11M:
324, 325 и так далее, согласно этого файла (https://github.com/1801BM1/remul/blob/master/src/rom/bk0011m.cat).
Они вообще могут работать на 11-ой (без М) ?
Насколько я понимаю для 11-ой должны быть 201, 202 и так далее согласно файла (https://github.com/1801BM1/remul/blob/master/src/rom/bk0011.cat).

electroscat
01.06.2021, 20:22
11 от 11м отличается тремя перемычками в моей машине, там уже обрезано все что нужно, некоторые моменты, например по звуку - уже переделаны под 11М, и в 11 нет звука, а появляется он когда подгружаю дамп монитора с 0010-01. Сейчас большинство перемычек в режиме 11 запаяно и работают реальные 201 и 202, 198, 199 и 200. Когда перемычки в режиме 11М - 201 и 202, 198, 199 и 200 тоже работают, но не работает кнопка "стоп", и есть еще ряд глючков, но в целом, приглашение монитора на экране появляется, и так же можно загрузить дамп монитора 0010-01. А когда прошиваю в ре-мулятор файл прошивок для 11, не работает. Ну и более того, ре-мулятор не отпускает резет, (возможно транзистор не отпускает резет, или цепи смещения транзистора, проверяю, потому как с 17 ноги STМ32 замечен низкий уровень, и по идее транзистор должен быть закрыт) то есть, до загрузки дампов ПЗУ дело еще не доходит. На сколько я понимаю, резет должен перейти в высокоимпедансное состояние как только ре-мулятор будет готов раздавать данные на шину БК, а этого не происходит. С любыми прошивками.

Нашел проблему, все заработало, уже тестирую БК11 при помощи МСТД11... Причина до безобразия проста, непропай одной ноги у стабилизатора... Это стоило мне месяца ожидания и одной микросхемы STM32... Тем не менее, спасибо вам за подобный девайс, у меня теперь и 11 и 11М, в одном корпусе можно сказать !!! Сейчас поиграюсь 11й, перепрошью ре-мулятор и перепаяю несколько перемычек - и будет 11М...

Vslav
01.06.2021, 23:12
Причина до безобразия проста, непропай одной ноги у стабилизатора...
Да уж... Надо будет в следующей ревизии добавить светодиод, индицирующий питание +3.3V и старт.
Ну все хорошо, что хорошо кончается, заработало - и отлично, спасибо что сказали.

electroscat
02.06.2021, 23:37
Вопрос, в целом, не по ре-мулятору, но по его работе. Когда в БК11 или БК11М загружаю с "кассеты" дамп монитора от БК 0010-01 в страницу памяти 1, и запускаю - установлена "0" палитра, все узнаваемо.

Но когда гружу монитор БК0010-01 в 12 конфигурации упаковки прошивок с сайта Voland`a почему то установлена "15" или "13" палитра, судя по цветам, похоже она стоит в БК0011(М) по умолчанию, и демки для БК0010 не меняют ее, а они в целом и не должны менять палитру, ибо у последней нет такой возможности.
В следствии этого программы под БК0010 выглядят по другому...
Это происходит на 12 конфигурации прошивки для БК11 и 11М.
Инвертированный дамп M0010-01 вытащил из эмулятора БК, и он на 2 байта длиннее, перевел его в WAV и при загрузке в страницу 1;1с по адресу 100000 после запуска получаю стандартную по умолчанию палитру..



Вопрос, если кому то известно почему так происходит, и как можно поправить, напишите пожалуйста.

Ну или на крайний случай, напишите как правильно поменять палитру командой монитора БК0011, чтобы делать это перед стартом монитора БК0010...

Палитра меняется прямой записью в регистр палитры, для установки стандартной палитры нужно набрать 177662/ "ВК" появится код последнего символа из буфера клавиатуры 000057, не обращая внимания следом вводим 040000 "ВК" - и все становится красным. После этого можно запускать дамп монитора БК0011М.

И еще вопрос, как инвертировать дампы прошивок из ПЗУ БК, побитно и поадресно, прямо и обратно, есть желание сравнить 017 прошивку из эмулятора и 017 прошивку которая зашита в пак для ре-мулятора с сайта Voland`a.

Нашел rev1б.exe от Vslav спасибо ! Дампы одинаковые... Похоже при запуске из 10 (ОЗУ) и из 12 страницы (ПЗУ) что то работает по разному...

electroscat
07.06.2021, 12:40
Вопрос по существу, можно ли сделать так, чтобы ре-мулятор перезапускался по нажатии сброса на БК ? Не айс все время питание выключать и включать при изменении конфигурации ре-мулятора. У меня это происходит по тумблерам, установленным вместо разьема пользовательского ПЗУ, и было бы круто, если бы STM32 меняла конфигурацию по сбросу БК.. Чтобы контроллер не "вешало", нужно сигнал сброса с ре-мулятора (Х7) не подключать к БК. А наоборот, сигнал сброса БК подключить к сигналу сброса ре-мулятора. Это будет работать если просто шину сброса БК подсоединить к RESET STM32, например на 5 выв. X1, отсоединив 2 ногу X7 от шины сброса БК?

- - - Добавлено - - -


Если кому надо быстрее, то можно применить STM32F407 - они до 168МГц штатно работают. Или STM32F205 также вполне хорошо оверклочится (на 168МГц работали все экземпляры что я пробовал).
Подскажите, а как произвести оверклокинг STM32F205 ?
На сколько я понимаю, разгон производится в следствии изменения кода загрузчика? И у вас наверняка есть уже готовый файл загрузчика с увеличенной частотой контроллера? Поделитесь пожалуйста ?!?

Я поясню зачем мне это нужно. Выявилось нестабильное чтение "с ленты" у БК0011М при работе с РЕ-мулятором. Хочу проверить один из возможных вариантов исправления, уменьшением времени отклика ре-мулятора. БК0011М воспринимает сигнал "с ленты" только замедленный в 2 раза.

Vslav
07.06.2021, 16:41
Вопрос по существу, можно ли сделать так, чтобы ре-мулятор перезапускался по нажатии сброса на БК ? Не айс все время питание выключать и включать при изменении конфигурации ре-мулятора. У меня это происходит по тумблерам, установленным вместо разьема пользовательского ПЗУ, и было бы круто, если бы STM32 меняла конфигурацию

Это как бы не совсем верный порядок. С обычным ПЗУ оно как? Сначала прошиваем ПЗУ в программаторе, вставляем в панельку, потом включаем питание, сброс. Смена прошивки ПЗУ по сбросу целевой системы это вроде лошади впереди паровоза.
Именно для синхронизации сбросов на РЕ-муляторе стоит транзистор управляющий сбросом БК. Если подключить X7 к сбросу БК и прошивать как задумано, через UART утилитой wcload, то оно все происходит автоматически - wcload стартует, начинается заливка, БК в сбросе. Все залилось, РЕ-мулятор можно рестартовать из утилиты автоматически, без проверки перемычки - то оно рестартует, снимает сброс с БК и видится уже новая прошивка. Все делается одной командой с PC. Изменили прошивку, нажимаем одну кнопку в IDE - компилируем, заливаем и видим автоматический старт новой прошивки на целевом железе.



по сбросу БК.. Чтобы контроллер не "вешало", нужно сигнал сброса с ре-мулятора (Х7) не подключать к БК. А наоборот, сигнал сброса БК подключить к сигналу сброса ре-мулятора. Это будет работать если просто шину сброса БК подсоединить к RESET STM32, например на 5 выв. X1, отсоединив 2 ногу X7 от шины сброса БК?

Не будет оно так работать. STM32 стартует не мгновенно, если БК стартанет раньше - то не сможет прочитать первую инструкцию из ПЗУ, потому что STM32 еще не готов. Именно поэтому сначала готовность STM32 обслуживать запросы с шины (защелкнуть адрес и отдать данные), потом снятие сброса на X7 и только потом старт БК.



Подскажите, а как произвести оверклокинг STM32F205 ?


Смотреть функцию io_init_clock(void) в основной программе. Там до 144МГц поддержка прописана.
В файле с205.h заменить: #define BSP_CORE_CLOCK 144000000 // desired CPU clock frequency (Herz)
Должно пересобраться и работать.



Я поясню зачем мне это нужно. Выявилось нестабильное чтение "с ленты" у БК0011М при работе с РЕ-мулятором.

А с оригинальным ПЗУ как читает, нормально? Маловероятно чтобы это были тайминги. На 120МГц РЕ-мулятор практически как оригинал работает.

electroscat
07.06.2021, 21:34
Cо сбросом понял, спасибо, подостыл ))))


Смотреть функцию io_init_clock(void) в основной программе. Там до 144МГц поддержка прописана.
В файле с205.h заменить: #define BSP_CORE_CLOCK 144000000 // desired CPU clock frequency (Herz)
Должно пересобраться и работать.

Вопрос с ходу, а чем компилить?

Вы писали про работоспособность STM32F205 на 192МГц, у меня как раз такая микросхема... Как по максимуму разогнать?


А с оригинальным ПЗУ как читает, нормально? Маловероятно чтобы это были тайминги. На 120МГц РЕ-мулятор практически как оригинал работает.

С оригинальным ПЗУ я не пробовал. А вот с оригинальным ПЗУ БК11 - все работает, более того и с ре-муляцией БК11 - все работает. Просто не один я такой, есть еще одна БК11М с ре мулятором, которая с "лентой" не очень работает... Точнее сказать, стандартные типы "лент" читает, а "турбо" не читает... То есть, даже БК0010-01 читает турбо, а 11М с ре-мулятором нет. Вот тут (https://zx-pk.ru/threads/30298-zagruzka-s-magnitofona-na-bk-0011(m).html?p=1119571#post1119571) можно пару страниц пролистать, и понять в чем проблема...

electroscat
08.06.2021, 15:48
В файле с205.h заменить: #define BSP_CORE_CLOCK 144000000 // desired CPU clock frequency (Herz)
Должно пересобраться и работать.

Подскажите пожалуйста, как быстро стартануть в плане компиляции загрузчика ? Мне буквально на пару экспериментов, попробовать 144 мгц и 162 мгц, не хочется для этого половину программы технического вуза проходить, поставил Keil, он проект не видит, походу под него нужно пересобирать весь проект с созданием нового, указанием названий чипов и т.д. Может есть простой способ, чтобы установил, и перекомпилил ? Ну реально, так не хочется все это изучать, не пригодится ведь...

electroscat
09.06.2021, 02:12
Смотреть функцию io_init_clock(void) в основной программе. Там до 144МГц поддержка прописана.
В файле с205.h заменить: #define BSP_CORE_CLOCK 144000000 // desired CPU clock frequency (Herz)
Должно пересобраться и работать.

Может кто нибудь скомпилить два варианта, оверклочные, 144 и 162 МГц, сделайте пожалуйста доброе дело !?!

Vslav
09.06.2021, 15:18
Может кто нибудь скомпилить два варианта, оверклочные, 144 и 162 МГц, сделайте пожалуйста доброе дело !?!
На 144MHz: https://www.1801bm1.com/files/retro/1801/remul/a205-144MHz.hex
На 168MHz кода нет, это уже сильный оверклок, поэтому нереализовано. Можно перенести часть кода с 407-го, там генератор похожий, но под рукой сейчас РЕ-мулятора нет, проверить не на чем.

electroscat
10.06.2021, 00:43
На 144MHz: https://www.1801bm1.com/files/retro/1801/remul/a205-144MHz.hex
На 168MHz кода нет, это уже сильный оверклок, поэтому нереализовано. Можно перенести часть кода с 407-го, там генератор похожий, но под рукой сейчас РЕ-мулятора нет, проверить не на чем.

Спасибо огромное! Достаточно 144МГц, ничего не поменялось, причина не в ре-муляторе совсем. Еще раз спасибо Вам за такой важный и удобный проект и за помощь !!!

Sandro
10.06.2021, 02:00
Спасибо огромное! Достаточно 144МГц, ничего не поменялось, причина не в ре-муляторе совсем. Еще раз спасибо Вам за такой важный и удобный проект и за помощь !!!

Так в чём проблема-то была? "Волнуйся, подробности письмом"?

electroscat
10.06.2021, 09:35
Так в чём проблема-то была? "Волнуйся, подробности письмом"?

Моя проблема раскрывается с этого (https://zx-pk.ru/threads/30298-zagruzka-s-magnitofona-na-bk-0011(m).html?p=1119120&viewfull=1#post1119120) сообщения. А до этого есть похожая.

Sandro
11.06.2021, 06:51
Моя проблема раскрывается с этого (https://zx-pk.ru/threads/30298-zagruzka-s-magnitofona-na-bk-0011(m).html?p=1119120&viewfull=1#post1119120) сообщения. А до этого есть похожая.

Нет. Не раскрывается. Там написано "у меня не работает, почему -- не знаю."

Повторяю вопрос: в чём была проблема?

electroscat
11.06.2021, 08:53
Повторяю вопрос: в чём была проблема?

Ну тогда так, проблема не была а есть. Загрузка "с ленты" в режиме повышенной скорости не работает с монитором БК-0011М, и работает с монитором БК-0011 и БК-0010.

electroscat
16.06.2021, 22:08
Доброго времени ! Я тут снял видос о БК, и о том, что можно из нее сделать при помощи Ре-мулятора. Думаю никто не будет против если я его тут размещу тоже.


https://youtu.be/A2XfW6RycA8

Vslav
17.06.2021, 10:37
Доброго времени ! Я тут снял видос о БК, и о том, что можно из нее сделать при помощи Ре-мулятора.
Да-а-а, автор капитально заморочился, Vslav ставит лайк :v2_dizzy_punk:
Один только момент - питание можно не передергивать, у РЕ-мулятора на 5-ножке разъема программирование сброс выведен, и там возле ножки самого stm32 должна емкость 1nF стоять чтобы помехи фильтровать. То есть - можно пробросить проводок на кнопку на землю - будет сбрасывать РЕ-мулятор, ну и если с его выхода сброс БК заведен, то и саму БК.

electroscat
17.06.2021, 15:29
Недавно нашёл у себя маленькую красненькую миниатюрную кнопочку.... Вот она то как раз и пригодится, там же где три тумблер её поставлю. Спасибо за подсказку!

CodeMaster
17.06.2021, 20:44
что можно из нее сделать при помощи Ре-мулятора
А текстовая инструкция со схемами, софтом и пр. где-то есть?

electroscat
17.06.2021, 21:50
А текстовая инструкция со схемами, софтом и пр. где-то есть?

Текстовая инструкция это вот прямо этот форум, я от сюда всю информацию получил, а прошивка и
куда что припаивать и чем что переключать вот тут (https://disk.yandex.ru/d/UduVkYKbxdc7Kw), прошивка готовая к зашивке в ре-мулятор - a205_gcc11_11M_10_jtag_alt_32_10-mstd_JMP_NRL_800.hex прямо на чистую микросхему....

CodeMaster
17.06.2021, 22:56
а прошивка и
куда что припаивать и чем что переключать вот тут, прошивка готовая к зашивке в ре-мулятор

Годно. Ещё бы описание к "Панели переключателей" и таблицу с допустимыми положениями. Или просто таблицу и что получаем в этом состоянии.

electroscat
17.06.2021, 23:28
Ещё бы описание к "Панели переключателей" и таблицу с допустимыми положениями. Или просто таблицу и что получаем в этом состоянии.

Дык вот же оно:

https://i.ibb.co/MRzQc8q/image.png

Все описано, и подписано.
SA 3 - переключает между БК10 и БК11(м)
SA 2 - в режиме БК11(М) отключает и включает МСТД, в режиме БК10 - отключает и включает ФОКАЛ.
SA 1 - В режиме БК11(М) переключает между БК11 и БК11М, так же этот тумблер завязан с перемычками S2.1, S2.2 и S3 - соответственно он переключает тип звука, совместимый с БК11 или БК11М (БК10), то есть если переключить в противоположный текущему - звука не будет. Без резета ремулятора, то есть на лету этот тумблер работает еще как отключение звука.

Ну и еще, так как у БК 11 и БК 11М (БК10) по разному работает клавиша СТОП - то этот тумблер еще и переключает тип работы клавиши стоп, прямо на лету, это тоже связано с S2.1, S2.2 и S3.

- - - Добавлено - - -

SA 3 в процессе работы лучше не трогать, ибо он переключает еще и один из разрядов выбора чипа, БК11(м) работает с ПЗУ страницей 11, а БК10 со ПЗУ страницей 12, и они из разных мест управляются, переключение тумблером SA 3, переключение на лету выльется в повисание или глюки в работе текущей сессии.

- - - Добавлено - - -

Ну и самео главное - нужна БК 0011 или БК0011М. Из БК0010 или БК0010-01 такого не получится. А БК0011 нужно доработать до БК0011М, описаний полно, 3 перемычки и пара подрезов.

CodeMaster
17.06.2021, 23:47
Все описано, и подписано.
Спасибо. Без расшифровки, лично мне было, не всё понятно.

Radon17
27.11.2021, 17:07
Возможно ли в РЕмулятор добавить поддержку эмуляции К1809РУ1? И например конфигуратор: сколько из четырёх виртуальных микросхем будут ОЗУ, а сколько ПЗУ.
Правда, там кажется ножек в текущей ревизии для этого не хватает...

Sandro
27.11.2021, 17:53
Возможно ли в РЕмулятор добавить поддержку эмуляции К1809РУ1? И например конфигуратор: сколько из четырёх виртуальных микросхем будут ОЗУ, а сколько ПЗУ.
Правда, там кажется ножек в текущей ревизии для этого не хватает...

Тогда уж разумно эмулировать что-то стандартное, хоть страшненький СМК. ОЗУ в контроллере STM32F205RCxxx аж 96 килобайт, по идее должно хватить.

Radon17
27.11.2021, 18:40
Тогда уж разумно эмулировать что-то стандартное, хоть страшненький СМК.
Каким боком СМК относится к теме? Мы обсуждаем не хотелки БКшников для их машинки, а замену ОЗУ/ПЗУ для многих компьютеров.

Vslav
27.11.2021, 22:05
Возможно ли в РЕмулятор добавить поддержку эмуляции К1809РУ1? И например конфигуратор: сколько из четырёх виртуальных микросхем будут ОЗУ, а сколько ПЗУ.
Правда, там кажется ножек в текущей ревизии для этого не хватает...
Возможно. Как DOUT взять один из дополнительных CSx.

Relo
21.11.2023, 21:05
Я пытался заставить ремулятор работать, но не смог. Я чувствую, что делаю что-то не так, но не знаю. BK0011 (модифицированный до BK0011M) отлично работает с исходным ПЗУ BK0011. Но с ремулятором у меня получается только шахматка.

Я попробовал систему переключателей и базовые HEX-файлы BK0011M. Вот как я установил Ремулятор, используя базовый HEX-файл BK0011M. Никаких закороченных контактов: зеленый провод подключается к контакту 23 XT7, а желтый провод предназначен для прослушивания сброса.


https://i.imgur.com/haNC67O.jpg


Извините за ошибки, пользуюсь переводчиком, так как не говорю по-русски.

gid
23.11.2023, 09:15
Но с ремулятором у меня получается только шахматка.
Можете сказать, какой именно hex файл прошивали в stm и каким методом?
Я помню, что когда я изучал ремулятор, у меня всё получилось далеко не с первого раза.
У вас возможно не запускается загрузчик в stm.
А жёлтый провод надо подключить к контакту A1 на разъёме МПИ, или к выводу "+" конденсатора C5.
X7 в ремуляторе - это выход, он не даёт запуститься БК0011, пока загрузчик внутри stm не проинициализируется и ремулятор не войдёт в рабочий режим.

Relo
23.11.2023, 16:54
https://mega.nz/file/B0J3EYiT#Nucv0MCvqBUHNiYoaFljDYy-nVHZ3Akav4yknoWC51c

Я использовал эти файлы. Я использую SMT-Link для их программирования. Я также попробовал использовать программу WCLoad, но получил те же результаты.

Желтый провод соединяется с C5 и A1. Местоположение просто позволяет мне легко отключить соединение при необходимости.

Я также пробовал программировать с помощью WCLoad с установленным в BK Remulator и перемычкой на S6 после загрузки его с помощью ST-Link. Я думаю, что руководство также предлагает это сделать, но перевод странный, поэтому его трудно понять.
Но мне не удалось установить связь с ремулятором. Так что, возможно, вы правы насчет загрузчика, или я неправильно понимаю руководство.

ZPilot
23.11.2023, 17:03
У меня заработало вот так:
79797

gid
23.11.2023, 20:35
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М.
Если стандартный набор заработает, то можно будет экспериментальные прошивки заливать.

Relo
24.11.2023, 01:23
Пробовал загрузиться через UART, не помогло. Я не мог установить связь. Потом попробовал ST-Link, он тоже не сработал и выдал ошибку программирования по адресу 0x00000000. Однако уборка прошла хорошо.

Затем я попробовал модифицированную версию программы по адресу 0x08000000, которую использовал ранее, которая прекрасно программируется на ST-link. Затем я вернулся в WCLoad, и теперь все работает нормально, пока я устанавливаю S6.

Однако в BK0011 это все еще не работало. Но это может быть связано с тем, как оно запрограммировано.

Итак, я подозреваю, что загрузчик работает нормально, но что-то идет не так, может быть, он программирует 0x00000000?


Результирующий файл при чтении через WCLoad:
https://mega.nz/file/gsAk2BAZ#mQmubp5cA5_1EAvuZnXa2KzM8flfotPDV2jdNM1mW BI

gid
24.11.2023, 09:02
может быть, он программирует 0x00000000?
Нет, 0x80000000 - начальный загрузчик, b205.hex
0x80004000 - управляющий код, a205.hex
0x80008000 - данные для эмуляции ПЗУ

Результирующий файл при чтении через WCLoad
Показывает всё правильно. Всё как надо.
Всё таки я подозреваю, что не работает микросхема STM. Или где-то некачественная пайка.
Попробуйте отсоединить жёлтый провод, и после включения БК0011, через некоторое время нажать кнопку reset. Если не запустится, значит проблема в ремуляторе.

Если вы используете файл a205_gcc11_11M_10_jtag_alt_32_10-mstd_JMP_NRL.hex, то с ним надо использовать переключатели как указано в посте #118 (https://zx-pk.ru/threads/21519-re-mulyator-vnutriskhemnyj-emulyator-1801re2-1801rr1.html?p=1120705&viewfull=1#post1120705)

Я уже почти всё забыл, как надо делать, вспоминаю сейчас, что для загрузки через UART с помощью WCLoad нужно готовить свой hex файл, без начального загрузчика, со смещением 0x0000, и начальный загрузчик корректирует смещение до 0x4000
А для загрузки через JTAG, нужно оставлять смещения как есть. Значит я в первый раз загрузил прошивку через ByteBlaster, и только потом использовал UART.

Relo
25.11.2023, 05:03
Я подозреваю, что это плохой чип... (спасибо китайскому продавцу...) Я переделал его, используя тот же STM32, который у меня был только один, но в остальном со всеми новыми компонентами. Тот же результат.

Перепрограммировал, все равно пишет и читает нормально. Но по-прежнему никакой разницы в поведении.

Мне следовало купить у лицензированного оптовика. Я не думаю, что они будут продавать поддельные чипсы. Так что я возьму там новый.

Vasily_A
25.11.2023, 14:01
Есть режим работы с выводом в лога в последовательный порт. Там можно понять, что происходит.

Relo
25.11.2023, 14:36
Как мне это реализовать?

Vasily_A
25.11.2023, 14:59
страница 7 из 1801pp1_manual.pdf

-y_ После выполнения всех операций осуществить запуск отладочного терминала на указанной
скорости. При запуске терминала также осуществляется автоматический запуск приложения
(аналог указания ключа -j). Пример - -y115200.

будет понятно, что с процессором...

Relo
25.11.2023, 19:38
Я подключаюсь, я могу начать и остановить регистрацию и отправить сброс, но файл журнала остается пустым, а на экране не появляется никакой информации.

Vasily_A
26.11.2023, 11:44
У меня не полностью готова плата реплики 0011М, но осталось сделать уже совсем немного. В нее планирую поставить РЕ-мулятор (он готов, отдельно вроде работает).
Как получится доделать - напишу. Но это не быстро будет, времени не хватает :(
Может, кто ни будь раньше подскажет...

CodeMaster
26.11.2023, 12:26
Relo, не нашёл тему на этом форуме, хотя автор тут очень активен, но есть ещё такой вариант (https://www.phantom.sannata.org/viewtopic.php?t=29829).

Relo
21.12.2023, 02:01
Квест продолжает работать, небольшое обновление. Я отремонтировал его в другой раз с заведомо хорошим качеством от лицензированного дистрибьютора, который продает только компаниям, но результат все тот же. Может ли быть что-то не так с БК из-за того, что РеМул не работает, а штатные ПЗУ функционируют нормально? Я не знаю, даже не знаю, с чего начать это проверять.

Еще проверил напряжение, все в норме. Тогда я решил проверить каждый из контактов в гнезде на БК и контакт выбора микросхемы и сравнить с микросхемами ПЗУ. Они выдают какую-то стабильную форму сигнала (за исключением напряжения на входе и заземлении), а выбор микросхем в XT7 почему-то остается высоким.
Во время сброса/фиксации каждый вывод имеет либо высокий, либо низкий уровень, но не выдает сигнал. А вот у обычных микросхем ПЗУ это не стабильный сигнал, а явно данные.
Я случайно закоротил 2 контакта данных, что привело к зависанию системы, а затем получил те же результаты, что и BK. Так что похоже, что Ремул висит.

Я обнаружил, что то, как я установил контакт сброса, похоже, удерживает систему в состоянии зависания / сброса, и его удаление освобождает ее от этого. Хотя если посмотреть на схемы, то должно быть правильно. Мне нужно это дважды проверить.

Я также проверил контакт выбора чипа на XT7 во время загрузки и сброса. При установке штатных микросхем ПЗУ напряжение немного колеблется, а затем возвращается к 0 В. Но с Ремулусом оно продолжает быть на высоте. Только форма сигнала немного меняется от плоской линии до линии с крошечными прямоугольными пиками.

Может сброс не работает?

Любые предложения или идеи приветствуются.

Прикрепил фотки сигналов Ремула:
https://mega.nz/file/BxAGWZJS#lXRRVP7t66Nxpha3BSUal6L5v2vWwDb1WXTtPW-qqDg

gid
21.12.2023, 09:07
выбор микросхем в XT7 почему-то остается высоким
Потому что выбор делается программно. А БК не запускается и некому делать выбор. Потому он всегда высокий.

Вот hex файл 79948, который я подготовил для себя для проверки Ремулятора.
Там самый простейший вариант - только одна конфигурация 0 - сняты все перемычки SA1-SA5 - ПЗУ РЕ326 по адресу 0160000.
Прошивать только утилитой wcload. Проверка работы:
1. Установить все микросхемы ПЗУ на свои места.
2. Подключить внешнюю панель ПЗУ в XT8
3. В любую свободную колодку внешней панели вставить Ремулятор, все перемычки снять, никаких дополнительных проводов не подсоединять.
4. Включить БК11, дальше работать в мониторе.
5. В мониторе набрать команду 12;1C <Ввод> - подключится страница ПЗУ, в которую вставлен Ремулятор.
6. Теперь по адресу 160000 должно быть содержимое Ремулятора: набрать команду 160000/
Потом нажимать клавишу стрелка вниз.
Если в ответ выводится число, то Ремулятор работает, если выводится "?" - то Ремулятор не работает.

Relo
22.12.2023, 02:27
Ну, по крайней мере, я нашел новую проблему. При установленной внешней панели ПЗУ система также не запускается. Это дает инверсию шахматной доски, но ничего больше. Возможно дело в конденсаторах, я их еще не менял. Что я собираюсь попробовать завтра. Я смутно помню, что это началось раньше, когда он был установлен, но это было почти 2 месяца назад, так что я могу ошибаться.

В противном случае, я думаю, это говорит о том, что проблема может заключаться либо в замыкании разъемов ПЗУ где-то, например, в ОЗУ, либо в отсутствии соединения, либо, возможно, в какой-то проблеме с питанием. Но я пробовал несколько блоков питания, поэтому сомневаюсь, что это так.

gid
22.12.2023, 11:41
При установленной внешней панели ПЗУ система также не запускается.
Такое может быть если разъём внешней панели вставлять в XT8 наоборот, задом на перёд.

Я внимательнее посмотрел на схемы, оказалось, что ремулятор можно сразу вставить в XT8, не обязательно в колодки внешней панели ПЗУ. Будет то же самое.
1. Установить все микросхемы ПЗУ на свои места.
2. Вставить Ремулятор в XT8 все перемычки снять, никаких дополнительных проводов не подсоединять.
.
4. Включить БК11, дальше работать в мониторе.
... дальше следовать тем же пунктам.

Relo
22.12.2023, 14:43
Переворачивание панели ПЗУ также останавливает работу BK11 с ремулятором или без него. (И делает это так, что из-за жесткого шлейфа он уже не помещается в корпус).

Вставка Ремулятора непосредственно в слот расширения ПЗУ также приводит к прекращению работы БК.


редактировать:

Пробовал новые конденсаторы или плату ПЗУ, ничего не изменилось.
Я искал замыкания или отсутствующие разъемы в разъемах XT6, XT7, XT8. В этой сфере все хорошо.

Обнаружил, что иногда БК нормально запускается с установленным ремулятором. Один контакт на разъеме XT7 выглядит очень плохо, поэтому он может работать лишь иногда.
Когда он загружается правильно и пытается ввести «12;1C», он печатает «12;1C?» и переходим к следующей строке. Это также происходит, когда вы пытаетесь переключиться на BASIC. Такая проблема у меня была раньше и «решил» ее установкой платы ПЗУ, но так как на данный момент БК из-за нее не работает, то это явно не правильное решение.

Завтра модификация BK0011M будет отключена, возможно из-за этого явления проблем с прошивкой BK0011 BASIC. Также переключится контакт розетки, если не всей розетки XT7.

gid
24.12.2023, 14:52
он печатает «12;1C?»
Это моя ошибка.
Взял я в руки ремулятор, чтобы поэкспериментировать. И оказалось, что там не всё так просто, как мне хотелось бы.
Идея из моего поста #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, то ремулятор работает.

Relo
26.12.2023, 20:51
К сожалению, сейчас не могу проверить, так как перестал загружаться. Мне нужно сначала решить эту проблему, так как она не запускается даже при установке только BASIC ROMS.

Я обнаружил, что когда я переустанавливал базовое ПЗУ XT7, иногда оно запускалось, а иногда нет. Позже во время тестирования я мог бы начать снова последовательно, если бы слегка нажал XT7, что указывало бы на то, что дорожка сломана или что-то в этом роде. Я проверил все места от XT6, XT7 и XT8, и если они перешли в другие места на плате, и единственное соединение, которое, похоже, отсутствовало, было от XT7.18 до XT8.18, но это не должно иметь значения, если плата Нет ПЗУ установлено. Хотя это может объяснить предыдущие проблемы, которые у меня были с платой ПЗУ и ремулятором, установленными в XT8.
Поэтому я починил это соединение, расплавил все контакты разъема на XT6 и XT7 и еще раз проверил на наличие замыканий и отсутствующих соединений. Теперь вообще не загружается... Только шахматка, одно движение и постоянный писк.

Я также думаю, что плата ПЗУ на самом деле не решила более фундаментальную проблему, с которой я столкнулся с клавиатурой. Из-за этого я не смог освоить Бейсик.

редактировать:

BK снова работает (кроме платы ПЗУ), BK был в порядке, но контакты, которые я припаял к микросхемам ПЗУ, имели плохую пайку. Я думаю, что тест Ремулятора невозможен без платы ПЗУ, без нее я также не могу разобраться в Бейсике. Может быть, какие-то микросхемы на плате ПЗУ необходимы для БЕЙСИКА? Без платы ПЗУ я всегда получаю «11;1C?» с первой командой вместо перехода на следующую строку без вопросительного знака. Возможно, именно поэтому я не могу набрать «12;1C», не получив вопросительного знака? «5;0C» работает нормально.

Relo
09.01.2024, 23:11
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-mppzu-dlya-bk11-m.html, так что тоже попробую. Теперь у меня будут лишние детали, так что если они кому-то понадобятся, буду рад услышать. Я сомневаюсь, что в Нидерландах есть много людей с BK0011 за пределами некоторых музеев, не говоря уже о их модификации.

Relo
04.04.2024, 21:40
Я вернулся. После того как я уехал из БК на некоторое время так как расстроился а тем временем отремонтировал Х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

gid
07.04.2024, 18:55
сопротивление между землей и напряжением 5 В составляет всего 40 Ом, что кажется чрезвычайно низким.
Может ли кто-нибудь проверить свой БК, все ли в порядке?
На одной моей БК11М сопротивление 300 Ом, на другой - 247 Ом.

- - - Добавлено - - -


Мне не удалось загрузить этот файл с помощью WCLoad
Потому что WCLoad корректирует смещение. Он прибавляет 0x4000 к адресу. Поэтому всё, что не подготовлено к загрузке через WCLoad, работать не будет.

Может быть, «a205_gcc11_11M_10_jtag_alt_32_10-mstd_JMP_NRL.hex» загружен не в то место памяти?
Я не смог загрузить этот файл через ST-Link, он грузился по смещению 0 почему-то и ремулятор не работал, я смог через ST-Link загрузить только «a205_gcc11_11M_10_jtag_alt_32_10-mstd_JMP_NRL_800.hex» он грузился по правильным адресам. Но как работает, не проверял

Relo
09.04.2024, 17:48
Я заставил его работать! Отлично работает сейчас. Это было короткое время, и я не знал, как управлять БК, ха-ха. До сих пор понятия не имею, что такое MSTD и FOCAL, кроме включения и отключения BASIC.

Смещение объясняет, почему оно не работает с WCLoad. И теперь сопротивление ~70 Ом, я думаю все еще низкое, но может быть это нормально на BK0011 без M.

https://i.imgur.com/J7r159F.jpeg