Вроде же нет, при включении питания ДЦЛО тоже в 0, но он у меня снят.
Интересная мысль, на порт B можно глянуть, он по схеме идет напрямую на ХР5.
Вид для печати
Посмотрел Хальт на ЦП - подтянут к 1, посмотрел порты на ВВ55, тоже подтянуты к 1, посмотрел, что происходит с ДЦЛО на ЦП в момент включения, переключается с 0 в 1 с небольшой задержкой, те все как описано в "учебнике".
В общем, мысли куда копать, пока кончились, попробую для начала найти, где проверить ру5, а потом буду думать дальше.
Если честно, то у меня стойкое ощущение поехавшего софта. При постройке Ориона, я зашил рф2, она вроде зашилась нормально, но стоило отключить питание, начинала терять биты и Орион вел себя похожим на мой УКНЦ образом.
На обычной arduino замечательно тестится. https://github.com/andremiller/arduino-dram-tester
У меня была ситуация с 208 прошивкой.
Тоже укнц восстанавливал- процессор центральный стартовал , все сигналы ему штатно выставляла ХМка. Только на экране полосы и ноль реакции на клаву.
Выпаял РЕ- потекла от времени... купил еще новую, тоже дохлая. Читалась на стерхе Fxxx по всем адресам, один разряд выдавал чушь.
Так что время для них проблема.
Получается, что наш путь- РЕмуляторы.
У меня нет БК, но если память не подводит - там есть свободная панелька, куда можно поставить чип. и прочитать ее софтом.
Если конечно адреса наших РЕ не будут конфликтовать с другими.
Тут больше именно практики БКашки подскажут.
Вот что нашел на форуме
https://zx-pk.ru/threads/26952-qbus-...-port-usb.html
по описанию вроде может подойти для считывания, попробуй.
Я свою коллекцию дополнительных ПЗУшек (279, 183, 184 и еще что-то) вычитывал на самодельной платке с АТмегой 8515, МК выбрал, чтобы ног хватило, 40 шт. Не знаю, что там у Ардуины, может тоже хватит? Надо несколько пинов под управляющие сигналы и 16 пинов под шину адреса-данных, желательно в двух полных портах GPIO (та же Мега8 не годится, у нее почти все GPIO урезанные, по 6 пинов). А дальше все просто:выдаешь в порты GPIO адрес, побайтно, затем, в третий GPIO, сингал SYNC, низким уровнем немного ждешь (несколько NOP'ов), переключаешь GPIO адреса/данных на ввод и выдаешь сигнал DIN, тоже низким. Потом ждешь низкого на RPLY, считываешь из GPIO адреса/данных код очередного слова, снимаешь (делаешь высоким) DIN, еще чуток ждешь и снимаешь SYNC. Все.
О, коллега! А лог.1 у РЕ-шек разве не 2.4 заявлена? ИМХО, обязано работать. Только задержки придется делать серьёзные, как бы не на SysTick'е - пары NOP-ов не хватит.Ну, и СТМ-ка нужна, минимум, 64-ногая - даже у 48-ногой не наберется полного свободного 16-битного GPIO, а собирать 16-бтное считанное слово из битов от разных GPIO - это еще то удовольствие... Впрочем, делать под это отдельную плату и паять туда СТМ-ку, ИМХО, расточительно - берем китайскую пробную плату и вперед. А они, в большинстве, со 100-ногим F407VET6.
Это с АВР-кой в DIP'е было проще: на платку я припаял панельку, вставил м/с, вычитал что надо, и можно выдёргивать...
Не спортивно ;-)
Я первую свою читалку РЕ2 делал лет 7 назад на Вектор-06Ц. До сих пор работает, хотя уже и пара программаторов понимающих РЕ2/РР1/РФ3 есть.
У меня есть 32L476rg на ней точно есть полных 16 одного GPIO, я на нее дисплей по 8080 подключал, 16 бит.. около 80 кадров в секунду молотил 480*272 пикселя..
Кстати, оффтоп, голубая таблетка легко заводится на 128МГц.
Спортсменам можно, а нам нет? :)
>Спортсменам можно, а нам нет?
Это зависит исключительно от Вашего отношения к алкогольному допингу ;-)
Где-то в 85-м - 86-м я сочинил в Э-60 плату сбора информации - я тогда занимался автоматизацией эксперимента. На ней было 4 шт. КР580ВВ55 с вывешенными наружу всеми 4х3х8 бит портами и блок приоритетных прерываний на КР589ИК14. Потом та контора развалилась, плата каким-то образом попала ко мне. В 91-м мне понадобилось прочитать какие-то РЕ2, я, по-простому, воткнул эту плату в ДВК, запаял шурок с внешнего разъема этой платы на 24-ногую панельку, по-быстрому накидал программулю на асме, и прочитал все нужные РЕ-шки.
Увы, моя читалка не сохранилась - те политеховские орлы, которые ее собирали, приклеили микросхемы клеем "Момент". Где-то в середине нулевых достал я эту плату, а все м/с отвалились - клей "Момент" превратился в какую-то серую гадость... Пришлось ее разобрать, саму текстолитину с напечатанным и вырезанным разъемом МПИ ч использовал при макетировании AZ.
А мы и не спортсмены, нам по барабану!..
Должно получиться. Я, правда, ни разу не имел дела с "L".
Угу. Жаль, у нее нет ни одного полностью толерантного GPIO.
Замечательная веточка - зачитался!
зачем читалку ?
https://forum.maxiol.com/index.php?showtopic=4864
армянский программатор для БКшки прекрасно справляется с этой задачей
продавался в 90м или в 91м, рассылали по
Вычитывать РЕ2 можно и на МС1201.01/МС1201.02, но надо на линии АЛ13-АД14-АД15 приделать АП2+ЛП5 и 3 шт. выключателя - для подборки адреса 140000 из имеющегося в реальном ПЗУ. Для желающих поищу Э3 "Блок МСТД с переменным адресом".
Чем? Тем что не соблюдает паспортные режимы микросхем (в частности РР1)?
Речь вроде шла о том как из подручных средств сделать читалку РЕ2 и о том кто и как решал для cебя эту задачу, а не о том какие существовали программаторы. Программаторов было немало, в том числе c соблюдением режимов микросхем. Хотите, я тоже похвастаюсь тем какие у меня для РР1/РФ3 программаторы есть и как они удобны?
Эхх.. не будет у меня УКНЦ :( Сварганил я ридер РЕ2 на stm32l476rg (nucleo), считал. Считалась все в точности как и в образе 208 из интернета. Это означает, что мысли, в какую сторону копать, у меня закончились.
Уважаемые гуру УКНЦ, оцените по фотографии старт ПП:
https://ibb.co/yhcmXyd
https://ibb.co/z83VF3d
Синий - AD15, Розовый - AD14, Голубой - AD13 (те старшие биты), Желтый - AD0
Похоже что ПП стартует правильно?
Предварительно скажу, что на второй картинке не очень хорошая задержка. Т.к. всё крутится в диапазоне 0160000-0176776, то при выставлении адреса линии AD15-AD13 должны падать в ноль. А здесь такое ощущение, что нет ответа по RPLY. Соответственно, в зависимости от ситуации, либо TRAP4, либо даже DOUBLE_BUS_ERROR, вероятно и INTERRUPT_ERROR. По поводу INTERRUPT_ERROR, это называется ошибка приема адреса вектора прерывания. Т.к. при старте процессор подаёт сигнал INIT на все устройства, то по идее никто после не должен требовать прерывания, т.е. сигнал VIRQ не должен падать в активный низкий уровень. Если есть такое, то это не очень хорошо. При старте никакие вектора прерываний не настроены, соответственно неизвестно, что будет.
А по поводу первой картинки, то по предварительному просмотру уровней сигналов, то там даже выходит на подпрограмму перекачки пультового терминала в ОЗУ ЦП.
А на второй картинке пауза возникает после команды BIT #20,@#177716. Так что может работать плохо схема управления буфером, сам буфер 1801ВП1-055, ну либо и сама БМК D24.
Но если судить по первой картинке, то сбой уже может происходить и после перекачки пультового терминала, когда уже через регистр 0177716 запускается ЦП.
А после исчезновения сигнала INIT на ПП, на ЦП меняются уровни сигналов DCLO и ACLO?
С того и начал, на ЦП не снят ресет и все выходы висят в высоком, те у меня сейчас после включения питания или нажатия на Ресет, всегда DCLO в высоком, ACLO в низком и состояния не меняются вообще.
Буфер этот я сколько смог проверил, сигналы на входах-выходах присутствуют, все хорошие и вроде без замыканий и зависаний в 3-м состоянии.
Если это так, то скорее всего плату, придется отправить в утиль. Хочется все-таки исходить из того, что она жива, просто не получает команду на включение. Может ее можно как-то проверить, например должен присутствовать всегда на выходе какой-то сигнал, если есть данные и клок?
Кстати, в листинге ПЗУ 208, что вы ранее писали, при старте, есть код, который при определенных условиях, проводит тест памяти, может быть, что он проверяет не только RАМ ПП, но и RАМ ЦП и по ошибке начинает рестартовать? Я выпаял только DS5-DS12, это, если я правильно понимаю, память ПП. Проверил RAM-тестером на ардуине только ее (к сожалению, у меня нет к нему доверия).
Если вы про условие MOV R4,SP / BMI 160464$, то это проверка на каком процессоре работает пультовый отладчик. У них разные адреса используемой памяти, в ЦП это 0160050, а в ПП 0450, отличие в старшем бите (знаковый).
При начальном старте обращение к ОЗУ впервые идет при вызове подпрограммы перекачки командой CALL 173252$, но перед этим останавливается ЦП командой MOV #40,@#177716. И судя по первому рисунку команда останова ЦП проходит. Ещё можно обратить внимание на схему управления буфером, там одна логика, может где-то не так работает.
А так, да, нужен хороший логический анализатор.
Нет, я про чуть раньше: MOV #70045,@#177010
Вот тут мне не понятно, те по идее, у ЦП должно меняться состояние DCLO/ACLO, а оно у меня со включения: DCLO высокий, ACLO - низкий, или я чего-то не понимаю. Надо попробовать зацепить DCLO на ЦП и старший адрес у ПП и посмотреть, в какой момент DCLO станет высоким.
Подключил осциллограф к DCLO ПП и DCLO ЦП, включаю и вижу следующую картину: https://ibb.co/5FtSwqy
Причем, DCLO ЦП так и остался в 0 до момента, пока я не нажал кнопку Сброс. Если щуп снять с DCLO ЦП, то после включения DCLO ЦП в высоком сразу, без сброса. После более внимательного изучения - не всегда в высоком.
- - - Добавлено - - -
А еще не понимаю вот что, у меня в цепи RPLY, та которая идет к РЕ2 стоит конденсатор на землю, емкостью 330 pF, зачем? Он из прямоугольного сигнала делает сигнал в виде парусов, и доделка эта заводская. На некоторых фото, я видел, что в эту линию сделана
c D6 13 нога перемычка, зачем?
Вот этот кусок у меня отрабатывает на 100%
Скрытый текст
Код:MOV @#172660$,R4 ; R4 = адрес ОЗУ пультового отладчика
CLR R0 ; Признак ошибок = 0
MOV R4,SP
BMI 160464$ ; Запуск в ЦП
BIT #20,@#177716 ; ЦП в режиме HALT ?
BEQ 160332$ ; Нет
MOV @#0,R1
BEQ 160332$
JMP @R0
160332$:MOV #40,@#177716$ ; Останов ЦП (установка DCLO и ACLO)
CALL 173252$ ; Перекачка пультового монитора в сист. ОЗУ ЦП
MOV #70045,@#177010 ; Передача ключа теста памяти (делать или нет)
MOV 42(R4),@#177014
CLR @#177716 ; Снятие DCLO
[свернуть]
Но дальше ACLO уже не снимается, те вот этот код уже не выполняется или выполняется, но D24 не снимает:
Скрытый текст
Код:MOV #100,R0
160370$:SOB R0,160370$ ; Задержка
MOV #100000,@#177716; Запуск ЦП (снятие ACLO)
[свернуть]
По идее, если ПП переписал Монитор в область ЦП, можно попробовать ручками поднять ACLO. Я попробовал, ЦП запустился,мусор на экране изменялся пока экран не стал просто белым (повторяется каждый раз после включения питания и поднятия ACLO ручками). Оно и понятно, выводом на экран занимается ПП, а он работает не правильно. В общем, косяк в связке ПП, RAM ПП, ROM(208 и 205 проверены - данные читаются и корректны), D10.
Попробуйте на ПП выполнить программу :
012737 000000 177716 012737 100000 177716 000771
При этом на сигнале ACLO ЦП должны быть импульсы порядка 50 кгц.
Если программа не выполняется ( происходит прерывание по 4 вектору ПП ) - проверить наличие тактовой частоты на БМК ,где расположен регистр 177716,и наличие сигналов МПИ на его выводах.
Отказ ДОЗУ.
Найдите ретро-СИММы на 64 Кбайт ( по 8 шт. 4164 с классической регенерацией по RAS и прямоугольной матрицей 128х512 ( может даже некотрые мегабитки подойдут ) ) и приделайте вместо "байтов" .
Как экстремально-временно подойдут обычные СИММ-30 ( 256к, 1М ) с CBR регенерацией - но они протянут макс. 0.5...1 сек ( т.е. на время пуска ), дальше инфа из них может "исчезнуть".
Подобные полосы?
https://pic.maxiol.com/images2/15802...4841820.01.png
Вот такие:https://ibb.co/WtJkpW8
упс.. картинка вертикально загрузилась..
Очень похожи!
- - - Добавлено - - -
Это какие номера у рушек?
Да, но я так и не нашел, что случилось с ПП, почему он нормально не стартует. На этой фото https://ibb.co/5FtSwqy 2 сигнала DCLO, желтый с ПП DD1, голубой - ЦП DD3, видно, что ПП даже управляет D24, те пытается управлять ЦП. Но дальше - на экране только то что на фото, ресет не помогает.
Тут, наверное, лучше всего поможет гугу УКНЦ - Alex_K )