Это-то понятно. Вопрос состоит в том, почему сигнал BS с КМД не проходит на МПИ. Или его не формирует КМД, или он не проходит через шинные усилители.
Вид для печати
Alex_K, Я посмотрел осциллографом на 26 ноге ВП1-096 там высокий уровень. При этом запускал TSKMD1.
Alex_K, На обоих 095х высокий уровень.
Alex_K, У осциллографа развертка 25ns.
Написан по мотивам IOSCAN. На этот раз сканирует страницу ввода/вывода материнской платы из "окна" КМД. Естественно работоспособна только на прошивках -092, -093* и -255.
Проверена в эмуляторе ДВК Patron-а.
Alex_K, Показал 172140-172142.
Понятно, что он видит только сам себя.
Вопрос по поводу платы КМД - это та самая плата с выкушенными кондерами и порванными дорожками?
В составе КМД есть две микросхемы 1801-ВП1-095. Одна обслуживает младшую часть адреса/данных D16, вторая - старшую часть D15 (обозначения по схеме с фирмваре -091). Есть вход 39 (BSI) и выход 25 (BSO). У D16 (младшая) вход 39 (BSI) посажен на землю, а выход 25 (BSO) соединяется со входом 39 (BSI) D15 (старшая). Далее выход 25 (BSO) D15 идет на вход 24 (BSP) 1801ВП1-096.
Как там активность на этих входах/выходах во время работы IOSKMD?
А импульс одиночный, или много во время работы IOSKMD?
Всякое возможно. Это в принципе мои догадки по схеме КМД, и по дизассемблированной прошивке -255. Как точно работают эти микросхемы в связке узнаем после того, как Vslav доведет все это до уровня схемы. Оба кристалла у него уже сфотографированы.
А вот это уже интересно. Т.е. получается на 24 ногу ВП1-096 приходит сигнал BSP, а с 26-й ноги BSC ничего не исходит. Сам же сигнал BS для КМД является исходящим.
Откуда? Эта пара ВП-шек сделана исключительно для КМД. Это же не такой ширпотреб, как например 1801ВП1-065. Так что нигде никакого описания нету. Только описание регистров в паспорте на КМД.
Результат работы КМД с 093* прошивкой, ОЗУ К1809РУ1 помечено как Б10.
Код:.IOSKMD
SCAN I/O PAGE from KMD WINDOW ver.1
172140-172142
.TSSEL
TEST 1801VM1 REGS FROM KMD WINDOW ver.1
177700: ****** 000000 000000
177702: ****** 000000 ******
177704: ****** 000000 ******
177706: ****** 000000 ******
177710: ****** 000000 ******
177712: ****** 000000 ******
177714: ****** 000000 ******
177716: ****** 000000 ******
.TSKMD1
TEST KMD WINDOW ver.1
Адрес 177564(WINDOW=3) не присутствует
Адрес 17777564(WINDOW=377) не присутствует
Я на 03й делал, думаю без разницы.
Запустил, только не 093 а 255.
Код:.IOSKMD
SCAN I/O PAGE from KMD WINDOW ver.1
172140-172142
176560-176566
177170-177172
177514-177516
177560-177566
.TSSEL
TEST 1801VM1 REGS FROM KMD WINDOW ver.1
177700: ****** ****** ******
177702: ****** ****** ******
177704: ****** ****** ******
177706: ****** ****** ******
177710: ****** ****** ******
177712: ****** ****** ******
177714: ****** ****** ******
177716: ****** ****** ******
.TSKMD1
TEST KMD WINDOW ver.1
Hello from KMD, WINDOW=3
Hello from KMD, WINDOW=377
Адрес 177564(WINDOW=3) присутствует
Адрес 17777564(WINDOW=377) присутствует
В общем-то да. Хотя есть забавный результат.
То, что помечено зелёным, это естественно память при WINDOW=3. А вот откуда пришел ответ на регистр 17777700 при WINDOW=377, загадка.Код:.TSSEL
TEST 1801VM1 REGS FROM KMD WINDOW ver.1
177700: ****** 000000 000000
177702: ****** 000000 ******
177704: ****** 000000 ******
177706: ****** 000000 ******
177710: ****** 000000 ******
177712: ****** 000000 ******
177714: ****** 000000 ******
177716: ****** 000000 ******
Да, разница видна. Сигнал BS формируется логикой на материнской плате, потому всё и проходит.
Позже посмотрю как на 04й.
Результат работы КМД с 093* ОЗУ К1809РУ1 помечено как Б000.
Код:.IOSKMD
SCAN I/O PAGE from KMD WINDOW ver.1
172140-172142
176560-176566
177170-177172
177514-177516
177560-177566
.TSSEL
TEST 1801VM1 REGS FROM KMD WINDOW ver.1
177700: ****** ****** ******
177702: ****** ****** ******
177704: ****** ****** ******
177706: ****** ****** ******
177710: ****** ****** ******
177712: ****** ****** ******
177714: ****** ****** ******
177716: ****** ****** ******
.TSKMD1
TEST KMD WINDOW ver.1
Hello from KMD, WINDOW=3
Hello from KMD, WINDOW=377
Адрес 177564(WINDOW=3) присутствует
Адрес 17777564(WINDOW=377) присутствует
Да.
Попробовал на 04й - результат такой-же как и на 03й.
---------- Post added at 15:45 ---------- Previous post was at 15:10 ----------
Alex_K, Прогнал тесты на КМД 093* с ОЗУ Б000.
Получилось что на 177700 в четвёртом ряду звёздочки. А там где КМД с ОЗУ Б10 там нули показывает.
Похоже из-за адреса ОЗУ.
Возможно битое СОЗУ. Прошивка КМД при запуске тестирует СОЗУ блоками по 128 байт, начиная с конца. Если найден исправный блок, то он и используется для работы. Соответственно память в начале не тестируется. TSSEL при запуске проверяет, есть ли место в начале памяти, и если есть, то закачивает себя туда, т.к. он использует регистр 177102 для переключения адреса "окна", потому в "окне" исполняться не может. Если же какая-то ячейка битая, то возможно, что-то уже исполняется не так.
---------- Post added at 15:09 ---------- Previous post was at 15:05 ----------
Еще, кстати, с ОЗУ Б10 почему-то не нашло ячейку памяти 177564 при WINDOW=3. Хотя на платах с 1801ВМ3 должна всегда находить, там же всё-таки ОЗУ.
Да они все битые с завода. Пометки карандашом обозначают
без метки = 1к*16бит
А00,А10 = 512*16бит
Б00,Б01,Б10,Б11 = 256*16бит
Подробности - здесь.
Как это отражается в тесте?
Поставил параллельно 2ю ОЗУ которая с Б00, на ТSSEL в четвёртом ряду вместо нулей появились звёздочки.
Alex_K, Перепроверил ещё раз c МC1201-04. Так вот, с Б00 находит окно 177564 а с Б10 нет.
Я думаю что с Б10 не хватает памяти на запуск программы, хотя по емкости теоретически они одинаковы.
---------- Post added at 15:17 ---------- Previous post was at 13:46 ----------
Результат работы КМД с МС1201.02 при ОЗУ Б10
Код:.IOSKMD
SCAN I/O PAGE from KMD WINDOW ver.1
172140-172142
176560-176566
177170-177172
177514-177516
177560-177566
.TSSEL
TEST 1801VM1 REGS FROM KMD WINDOW ver.1
177700: ****** 177130 ******
177702: ****** ****** ******
177704: ****** ****** ******
177706: ****** ****** ******
177710: ****** ****** ******
177712: ****** ****** ******
177714: ****** ****** ******
177716: ****** ****** ******
.TSKMD1
TEST KMD WINDOW ver.1
Hello from KMD, WINDOW=3
Hello from KMD, WINDOW=377
Адрес 177564(WINDOW=3) присутствует
Адрес 17777564(WINDOW=377) присутствует
По ёмкости они одинаковы, просто часть блоков битые, потому и советуют применять только половину или четвертинку, подав на соответствующие адресные входы постоянные уровни, чтобы адресовать хороший блок. Для прошивки -093* емкость 1809РУ1 всегда равна 2 Кбайта, и прошивка тестирует её с конца.
Во всяком случае на контроллере вряд ли выводы A9 и A10 постоянно соединены с нулем или единицей, скорее всего подключены к соответствующим выводам процессора.
Программа тестирования ОЗУ КМД. Осуществляет краткий тест всего ОЗУ КМД, кроме блока памяти, используемого прошивкой. При старте осуществляется определение объема ОЗУ, адреса используемого блока и выводится об этом информация:
MEMORY RANGE=020000-XXXXXX USED BLOCK=XXXXXX-XXXXXX PROBABLY BAD=XXXXXX-XXXXXX
Соответственно MEMORY RANGE - начальные и конечные адреса ОЗУ, USED BLOCK - начальные и конечные адреса используемого блока, и если прошивка определила плохие блоки, то соответственно PROBABLY BAD - адреса плохой памяти, расположенной за используемым блоком и до конца памяти.
Если прошивка определила, что последний блок хороший, то соответственно должно быть:
092: MEMORY RANGE=020000-020777 USED BLOCK=020600-020777
093*: MEMORY RANGE=020000-023777 USED BLOCK=023600-023777
255: MEMORY RANGE=020000-027777 USED BLOCK=027600-027777
Далее проводятся четыре теста неиспользуемой памяти. При каждом тесте ОЗУ заполняется шаблоном, далее небольшая пауза, затем проводится сравнение ячеек памяти с шаблоном. При несовпадении на экран выводится адрес ячейки, значение шаблона, прочитанное значение, и их разница по XOR. В качестве шаблонов используются значения 0, 0177777, 0125252 и 052525.
Если при тесте не обнаружено "битых" ячеек памяти, то выводится сообщение ALL MEMORY GOOD.
Alex_K, Результат ОЗУ Б10
Результат ОЗУ Б00Код:MEMKMD
TEST KMD MEMORY ver.1
MEMORY RANGE=020000-023777 USED BLOCK=023600-023777
020032 000000 000377 000377
023516 000000 000377 000377
023516 177777 177400 000377
023516 125252 125125 000377
020032 052525 052652 000377
023516 052525 052652 000377
Код:.MEMKMD
TEST KMD MEMORY ver.1
MEMORY RANGE=020000-023777 USED BLOCK=023400-023577 PROBABLY BAD=023600-023777
020400 000000 001000 001000
021742 000000 177400 177400
023672 000000 020000 020000
021336 177777 167777 010000
021442 177777 167777 010000
022226 177777 177767 000010
022506 177777 173777 004000
022226 125252 125242 000010
022506 125252 121252 004000
020400 052525 053525 001000
021336 052525 042525 010000
021442 052525 042525 010000
023672 052525 072525 020000
Не знаю в курсе или нет, есть ещё описание.
Скрытый текст
http://pic.pdp-11.ru/images/k.jpg[свернуть]
Скрытый текст
http://pic.pdp-11.ru/images/k1.jpg[свернуть]
Скрытый текст
http://pic.pdp-11.ru/images/k2.jpg[свернуть]
Скрытый текст
http://pic.pdp-11.ru/images/k3.jpg[свернуть]
Скрытый текст
http://pic.pdp-11.ru/images/k4.jpg[свернуть]
Это из паспорта или ТО к ДВК-3, знаком. Только описаны регистра 1801ВП1-128. В паспорте к КМД описано значительно больше, тем более регистры 1801ВП1-095. Правда не всё описано, не сказано, что каждая из 1801ВП1-095 обслуживает только один байт регистра, поэтому их в схеме и две. Ничего не рассказано про "окно" доступа в адресное пространство материнской платы, и как им управлять.
Результат работы КМД c МС1201-04 при ОЗУ Б11
Код:.IOSKMD
SCAN I/O PAGE from KMD WINDOW ver.1
172140-172142
.TSSEL
TEST 1801VM1 REGS FROM KMD WINDOW ver.1
177700: ****** 000000 ******
177702: ****** 000000 ******
177704: ****** 000000 ******
177706: ****** 000000 ******
177710: ****** 000000 ******
177712: ****** 000000 ******
177714: ****** 000000 ******
177716: ****** 000000 ******
.TSKMD1
TEST KMD WINDOW ver.1
Адрес 177564(WINDOW=3) присутствует
Бит 7(ГП) в 177564 не установлен
Адрес 17777564(WINDOW=377) не присутствует
.MEMKMD
TEST KMD MEMORY ver.1
MEMORY RANGE=020000-023777 USED BLOCK=023600-023777
022200 000000 000060 000060
022202 000000 000060 000060
022204 000000 000060 000060
022206 000000 000060 000060
022210 000000 000060 000060
022212 000000 000060 000060
022214 000000 000060 000060
022216 000000 000060 000060
022220 000000 000060 000060
022222 000000 000060 000060
022224 000000 000060 000060
022226 000000 000060 000060
022230 000000 000060 000060
022232 000000 000060 000060
022234 000000 000060 000060
022236 000000 000060 000060
022240 000000 000060 000060
022242 000000 000060 000060
022244 000000 000060 000060
022246 000000 000060 000060
022250 000000 000060 000060
022252 000000 000060 000060
022254 000000 000060 000060
022256 000000 000060 000060
022260 000000 000060 000060
022262 000000 000060 000060
022264 000000 000060 000060
022266 000000 000060 000060
022270 000000 000060 000060
022272 000000 000060 000060
022274 000000 000060 000060
022276 000000 000060 000060
022300 000000 000060 000060
022302 000000 000060 000060
022304 000000 000060 000060
022306 000000 000060 000060
022310 000000 000060 000060
022312 000000 000060 000060
022314 000000 000060 000060
022316 000000 000060 000060
022320 000000 000060 000060
022322 000000 000060 000060
022324 000000 000060 000060
022326 000000 000060 000060
022330 000000 000060 000060
022332 000000 000060 000060
022334 000000 000060 000060
022336 000000 000060 000060
022340 000000 000060 000060
022342 000000 000060 000060
022344 000000 000060 000060
022346 000000 000060 000060
022350 000000 000060 000060
022352 000000 000060 000060
022354 000000 000060 000060
022356 000000 000060 000060
022360 000000 000060 000060
022362 000000 000060 000060
022364 000000 000060 000060
022366 000000 000060 000060
022370 000000 000060 000060
022372 000000 000060 000060
022374 000000 000060 000060
022376 000000 000060 000060
022200 125252 125272 000020
022202 125252 125272 000020
022204 125252 125272 000020
022206 125252 125272 000020
022210 125252 125272 000020
022212 125252 125272 000020
022214 125252 125272 000020
022216 125252 125272 000020
022220 125252 125272 000020
022222 125252 125272 000020
022224 125252 125272 000020
022226 125252 125272 000020
022230 125252 125272 000020
022232 125252 125272 000020
022234 125252 125272 000020
022236 125252 125272 000020
022240 125252 125272 000020
022242 125252 125272 000020
022244 125252 125272 000020
022246 125252 125272 000020
022250 125252 125272 000020
022252 125252 125272 000020
022254 125252 125272 000020
022256 125252 125272 000020
022260 125252 125272 000020
022262 125252 125272 000020
022264 125252 125272 000020
022266 125252 125272 000020
022270 125252 125272 000020
022272 125252 125272 000020
022274 125252 125272 000020
022276 125252 125272 000020
022300 125252 125272 000020
022302 125252 125272 000020
022304 125252 125272 000020
022306 125252 125272 000020
022310 125252 125272 000020
022312 125252 125272 000020
022314 125252 125272 000020
022316 125252 125272 000020
022320 125252 125272 000020
022322 125252 125272 000020
022324 125252 125272 000020
022326 125252 125272 000020
022330 125252 125272 000020
022332 125252 125272 000020
022334 125252 125272 000020
022336 125252 125272 000020
022340 125252 125272 000020
022342 125252 125272 000020
022344 125252 125272 000020
022346 125252 125272 000020
022350 125252 125272 000020
022352 125252 125272 000020
022354 125252 125272 000020
022356 125252 125272 000020
022360 125252 125272 000020
022362 125252 125272 000020
022364 125252 125272 000020
022366 125252 125272 000020
022370 125252 125272 000020
022372 125252 125272 000020
022374 125252 125272 000020
022376 125252 125272 000020
022200 052525 052505 000020
022202 052525 052505 000020
022204 052525 052505 000020
022206 052525 052505 000020
022210 052525 052505 000020
022212 052525 052505 000020
022214 052525 052505 000020
022216 052525 052505 000020
022220 052525 052505 000020
022222 052525 052505 000020
022224 052525 052505 000020
022226 052525 052505 000020
022230 052525 052505 000020
022232 052525 052505 000020
022234 052525 052505 000020
022236 052525 052505 000020
022240 052525 052505 000020
022242 052525 052505 000020
022244 052525 052505 000020
022246 052525 052505 000020
022250 052525 052505 000020
022252 052525 052505 000020
022254 052525 052505 000020
022256 052525 052505 000020
022260 052525 052505 000020
022262 052525 052505 000020
022264 052525 052505 000020
022266 052525 052505 000020
022270 052525 052505 000020
022272 052525 052505 000020
022274 052525 052505 000020
022276 052525 052505 000020
022300 052525 052505 000020
022302 052525 052505 000020
022304 052525 052505 000020
022306 052525 052505 000020
022310 052525 052505 000020
022312 052525 052505 000020
022314 052525 052505 000020
022316 052525 052505 000020
022320 052525 052505 000020
022322 052525 052505 000020
022324 052525 052505 000020
022326 052525 052505 000020
022330 052525 052505 000020
022332 052525 052505 000020
022334 052525 052505 000020
022336 052525 052505 000020
022340 052525 052505 000020
022342 052525 052505 000020
022344 052525 052505 000020
022346 052525 052505 000020
022350 052525 052505 000020
022352 052525 052505 000020
022354 052525 052505 000020
022356 052525 052505 000020
022360 052525 052505 000020
022362 052525 052505 000020
022364 052525 052505 000020
022366 052525 052505 000020
022370 052525 052505 000020
022372 052525 052505 000020
022374 052525 052505 000020
022376 052525 052505 000020
.
Некоторые неясности есть, например с сигналом BSC у 1801ВП1-096, также бит 7 в регистре 172140, очищается он только при записи в 176142, или при чтении тоже.
---------- Post added at 23:44 ---------- Previous post was at 23:42 ----------
А результат MEMKMD с КМД с прошивкой -255, как я понимаю, будет ALL MEMORY GOOD?
Если в том плане, чтобы по секторам, то вроде бы в прошивки -092, -093* и -255 внесены необходимые изменения. -091-я вроде не могла прочесть первый сектор на дорожке. Только все прошивки считают, что в дорожке 10 секторов, так что читать только поблочно и самому переходить на новую дорожку.
Теоретически прочесть данные возможно, прочтется "каша", потом её раскодировать. Но довольно сложно это делать на КМД, проще на БК или УКНЦ. Также в теории можно записать дорожку в формате MX, но это в теории, надо пробовать на практике.
Так не пойдет. Контроллер сам должен понимать что секторов может быть 9/18. Типа читается (грузится) дискета в FAT c файлами RT11.
Эту "кашу" пускай драйвер расхлебывает, а от контроллера требуется передать данные (каша) через адрес 177130-177132. То-есть по сути драйвер МХ видит контроллер КМД как родной, а КМД эмулирует МХ.
Да без проблем, протестирую на реале.
Alex_K, если сможете, сделайте прошивку пожалуйста. Это освободит место от контроллера МХ, а с FAT удобнее перетаскивать файлы с ПС на ДВК и обратно.
Спасибо.
Прошивка в контроллере не может знать сколько секторов в дорожке. Обычно это задается в параметрах драйвера, например в MZ для УКНЦ. Но в ПЗУ УКНЦ есть функция установки количества секторов в дорожке. Такой функции в прошивке КМД нет, там количество секторов равно строго 10 при размере сектора 512 байт. Так что легче записать дискету на PC с помощью какого-нибудь 800.COM. Также это не дело контроллера определять какая там файловая система, это дело программы переноса данных, ну или драйвера, в RT-11 такой вроде можно написать, но сложно.
А так существуют программы для RT-11 для переноса данных с дискет формата FAT12, например SPIP, есть даже какой-то коммандер.
---------- Post added at 22:23 ---------- Previous post was at 22:17 ----------
Контроллер не сможет эмулировать MX, т.к. MX-у нужны реальные регистры 177130-177132 на шине материнской платы. К тому же эти регистры у MX и у 1801ВП1-128 очень отличаются.
Далее проблема - чтобы прочесть эту "кашу", 1801ВП1-128 должен находится в режиме чтения данных, т.е. когда он аккуратно формирует каждые 64 мкс данные в своем регистре. После включения или сброса он переходит в режим поиска маркера, и находится в нем до тех пор, пока он этот маркер не найдет. Т.е. загрузились мы с жесткого диска, то сразу эту "кашу" не прочесть. Необходимо сперва прочесть дискету формата MFM, что бы был найден хотя бы один сектор, и 1801ВП1-128 перешла в режим чтения данных.
---------- Post added at 22:28 ---------- Previous post was at 22:23 ----------
Прошивку сделать, то это вряд ли, нужно время, которого нет. Плюс еще теорию надо проверять на практике. Легче сделать образ MX и уже переписать какай-нибудь программой. Может и неудобно, но легче в реализации.
По этому поводу могу сказать, что для БК есть драйвер BX.SYS, но SKcorp. говорит, что он вроде неработоспособен.
Есть! Правда я с ходу сейчас так не вспомню, но несколько схожих утилит
мне попадались и попадаются - одни для УК-НЦ, другие для ДВК (Квант).
УК-НЦешная вроде бы так и называлась IBM.SAV (ну или одна из них).
Я тогда ещё подумал что это не может быть шрифтом ибо весит много больше,
так и вышло. Попадалась утилита для ДВК (назв. не помню) она в виде
файл-менеджера вроде бы была оформлена ???
Так же УК-НЦшный вариант драйвера MZ.SYS который весит 19 блоков поддерживает (ПКМ в теории) имеет настройки FAT для дискет, не помню, но там вроде "только чтение".
В общем я никогда не считал это особо актуальным, поэтому существенно
подзабыл ) И сам никогда не использовал.
В общем (насколько я понимаю) местечковые программы писались под какие-то
местечковые же задачи.