Если он генерируется - то кто то его использует?
Вид для печати
ВМ2 это не ВМ3. ВМ2 данный сигнал не выдаёт, это отдано на откуп логике на материнке. А вот ВМ3, да, сам этот сигнал выдает, зависит от режима работы 22 бит, 18 бит, 16 бит адреса.
А использовать его должны устройства, которые вставляются в разъёмы XS1 и XS2.
Еще бы сообразить как это сделать.. я не познал еще дзен в СТМках.. тут надо такты считать.. а найти толковую информацию по АРМ (о тактах) я пока не смог.
Попробую паузы увеличить..
Паузы сделаны так:
Скрытый текст
"mov r1,#9 \n"
"delay_addr: \n" //wait 9 cycle
"sub r1,#1 \n"
"cmp r1,#0x0 \n"
"bhi delay_addr \n"
[свернуть]
Я тут попробовал те регистры, что вы давали:
Скрытый текст
Input address
Address: 177062:FE32 Read data=13400:1700
Input address
Address: 177064:FE34 Read data=173400:F700
Input address
Address: 177066:FE36 Read data=0:0000
Input address
Address: 177070:FE38 Read data=0:0000
Input address
Address: 177072:FE3A Read data=0:0000
Input address
Address: 177074:FE3C Read data=0:0000
Input address
Address: 177076:FE3E Read data=14000:1800
Input address
Address: 177100:FE40 Read data=0:0000
Input address
Address: 177101:FE41 Read data=0:0000
Input address
Address: 177102:FE42 Read data=0:0000
Input address
Address: 177103:FE43 Read data=0:0000
[свернуть]
177060, 177062, 177064 - регистры приёмников каналов К0, К1, К2. Всякий мусор после включения питания.
177066 - регистр статуса приёмников. Стоит ноль, не установлены биты готовности и разрешения прерывания.
177070, 177072, 177074 - регистры источников каналов К0, К1. 177074 - резерв. Считывается всегда ноль.
177076 - регистр статуса источников. Значение 0x18, восьмеричное 030. Стоит готовность каналов К0 и К1.
177100, 177101, 177102, 177103 - регистры параллельного порта.
Запаял я 031 - не отвечает, вообще. Запаяна хорошо, проверил.
Ну если запись будет, то основа для тетстера Qbus будет готова!
Увы, времени на "левые" операции там просто не остается, в некоторых местах думаешь какие инструкции на ассемблере лучше использовать, чтоб быстрее ответить в шину (правда это касается эмулятора, а не "тестера")
Честно говоря, все эти игрища с эмуляторами или тестерами надо делать на Verilog-е, но их 5-вольтовых практически не осталось (я не имею ввиду остатки от старых выпусков).
- - - Добавлено - - -
Принцип такой же как и у чтения? ADDR->SYNC->WE->DATA->REPLY->WE+SYNC?
Выставляем адрес, небольшая пауза, устанавливаем SYNC, небольшая пауза.
Выставляем данные на шину, небольшая пауза.
При байтовой записи выставляем WTBT, выставляем DOUT.
Ждём прихода RPLY.
Если RPLY не пришёл, то запись не прошла.
Снимаем DOUT, устройство должно снять RPLY, снимаем SYNC.
Если производилась байтовая запись, то для чётных адресов записываемый байт расположен в младшем байте, для нечётных - в старшем. Неиспользуемый байт у ВМ2 содержит нули.
http://www.kpxx.ru/dnepr/MICB/V0.0/
Название не сильно видно, придётся поверить на слово - EP2C8AQ208
Вполне себе работает в стандартной 5-ти вольтовой QBus
F3 - имеется,
в высоком, при нажатии Ресет сбрасываются в 0 и восстанавливаются до высокого
SYNC - есть, DIN - есть, RPLY - есть, но это не обязательно от 031, кстати, я его отпаивал и подключал ногу к осциллографу, сигнала от него не было (ножка была подтянута к 5В через 3КОм резистор).
- - - Добавлено - - -
А разве Cyclone II еще выпускают?
- - - Добавлено - - -
Эх.. какая красота!!!
Когда я допилю Ethernet - станет ещё красивей.
Честно говоря - не знаю (хотя китайцы вполне себе продают), но я про другое - этот кристалл - 3.3 В
Вот ещё пример, только уже 4-ого циклона:
http://www.kpxx.ru/dnepr/MS1201/V3.0/
Если речь идет о Cortex'ах младших моделей - M0, M3 и даже M4, то число тактов высчитывается весьма несложно.
Кроме того, всегда можно посчитать, сколько тактов занял тот или иной фрагмент кода, замерив значение счетчика тактов перед фрагментом и после.
Если речь идет о недостаточной задержке, то ставим лишние nop'ы, пока задержка не станет достаточной, и не паримся)
По поводу байтовой записи - устройство должно её поддерживать. ОЗУ поддерживает, вопросов нет. А вот внешние устройства на странице ввода-вывода могут и не поддерживать. Когда поддержки нет, то устройство записывает целое слово (все 16 бит), процессор ВМ2 в неиспользуемом байте выставляет нули. А если выставить целое слово, то оно и запишется.
Блин, стоимость и производительность этих чипов такая, что на них можно современными Core I9 рулить, например делать мосты. Та СТМка, на которой делаю тестер, с легкостью эмулирует Z80 и всю логику Спектрума, вплоть до АТМ Турбо..
- - - Добавлено - - -
я почти так и сделал, только циклом. :)
- - - Добавлено - - -
Для старой "советской" логики 3.3В достаточно. Тут главное не пожечь современный чип.
- - - Добавлено - - -
Вот вырасту большой, тоже смогу так делать!!! :) :) :)
- - - Добавлено - - -
А точно такой порядок? Может DOUT а потом данные?
На ali именно этот кристалл - что то около 2500
Да, практически на ошибся
https://aliexpress.ru/item/32914254661.html
Что 1801ВМ3 легко заменить на синтезированный аналог с 100 МГц тактовой
Я не ориентируюсь на старую советскую логику - качество, да и частенько количество сильно страдает.
Как уже писал - "современный FPGA заменяет вам мешок микросхем и паяльник". Контроллер для CF карт для своего Кванта я бы рисовал и делал бы (с моими текущими знаниями электроники и самое главное - ассортимента микросхем).. ну с полгода как минимум. И постоянно гадал - ошибка на плате или в драйвере. Не совсем с нуля (хотя сейчас могу и с нуля) - но контроллер из схемного варианта в VHDL переделал и допилил до почти рабочего состояния (как оказалось, был ещё один косячок, вычислен (без осциллографа и ЛА) и пофиксен примерно месяца через полтора) недели за две.
Ну а качество современной электроники такое, что я забуду про ремонт этих плат, скорее всего - до конца жизни :) Меня вовсе не улыбает включить Квант и каждый раз думать - включится или нет.
- - - Добавлено - - -
Такое я не сделаю, если только специально не переключусь на электронику, но как бы не совсем интересно. Но если мне дадут такую игрушку, то сделать прошивку для FPGA я уже смогу. И не прошло и двух лет, как мне в руки попала dev плата с пятым циклоном. Правда, существенный рывок произошёл это осенью, до этого больше был метод научного тыка. Но теперь у меня циклон уже не вещь в себе, а вполне себе работает с чем то, что было выпущено задолго до него. Например - в корзине стандартный Квант-овксий контроллер флопов MY
Забыл ещё в описании, что при снятии DOUT, WTBT, также надо снять и данные.
Alex_K, Xolod
00000,0x55AA
Address: 0:0000 Read data=125125:AA55
AA55 0800 8B0C 0800 850C 0800 850C 0800
:)
- - - Добавлено - - -
Попробовал записать 0x55AA в 177716 - не ответил.
Есть предложение как это сделать по взрослому. ;-)
Берем за основу замечательный проект https://github.com/hoglet67/AtomBusMon/
Это In-Circuit Emulation CPU Z80, 6502 и 6809 на Veriloge. Добавляем туда реверс 1801ВМ2 уважаемога Vslav https://github.com/1801BM1/cpu11/tree/master/vm2
Делаем дизасемблер PDP-11 на Arv.
И ремонтруем УКНЦ, КЦНД, 1201.02
Попытался записать блок памяти с 0 адреса данными 0х55АА вот что прочиталось потом:
Скрытый текст
AA55 AA55 AA55 8A15 AA55 AA55 AA55 AA55
AA55 8A15 AA55 AA55 AA55 AA55 AA55 AA55
AA55 AA55 AA55 8A55 AA55 AA55 AA55 AA55
AA55 AA55 AA55 AA55 AA55 AA55 8A15 AA55
AA55 AA55 AA55 AA55 8A15 AA55 AA55 AA55
AA55 AA55 8A15 AA55 AA55 AA55 8A15 AA55
AA55 AA55 AA55 AA55 8A15 AA55 AA55 AA55
AA55 AA55 AA55 AA55 AA55 AA55 AA55 AA55
AA55 AA55 AA55 AA55 AA55 AA55 AA55 AA55
AA55 AA55 AA55 AA55 AA55 AA55 AA55 8A15
AA55 AA55 AA55 AA55 AA55 AA55 AA55 AA55
AA55 AA55 AA55 AA55 AA55 AA55 AA55 8A15
AA55 AA55 AA55 AA55 AA55 AA55 AA55 AA55
AA55 AA55 AA55 AA55 AA55 AA55 AA55 AA55
AA55 8A15 AA55 AA55 AA55 AA55 0015 AA55
AA55 0215 AA55 AA55 AA55 8A15 AA55 AA55
[свернуть]
и экран почему то изменился..
- - - Добавлено - - -
Это конечно по взрослому.. но.. (хотел написать из анекдота про красную полосу) зачем тогда ремонтировать УКНЦ? Добавляем ХДМАй и все.. УКНЦ готова!
- - - Добавлено - - -
А когда снимать данные с шины?
Как только с шины прилетит RPLY