Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Другие архитектуры » Агат |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 5 6 7 8 9 10 11 12 | Печать |
Voldemar0
Junior Member
Откуда: Tomsk, Russia Всего сообщений: 102 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 нояб. 2006 |
Угу. Понял. Ну вот, остается всего два варианта: либо екнулись шинные формирователи или их управление на флопаре. Либо ПЗУшка с начальным загрузчиком и/или её управление. Попробуй поглядеть (также, переставляя платы): C090.C0EF Это адресное пространство портов ввода/вывода слотовых устройств. Каждому устройству отводится по 16 адресов. Т.е.: C09x - 1й слот C0Ax - 2й C0Bx - 3й C0Cx - 4й C0Dx - 5й C0Ex - 6й Флоп контроллер 800к должен давать неравномерную картинку в своём пространстве (т.е. разные байты). Вроде бы первый байт у него 10, но не обязательно. Контроллер парпорта будет давать стойкие FF везде, кроме смещения 02 - что будет там - не знаю, если ничего снаружи не включено, может быть тоже FF. Остальные байты (на свободных слотах) должны болтатся вокрух каких-то Cx. -- Даже если флоп не виден в IO, можно попробовать наугад проверить - слушает ли он запись в регистры. Допустим, флоп сидит в пятом слоте. Значит адреса C0Dx. Инициализируем вв55-е: C0D3:92 C0D7:BD Смотрим на всякий случай ещё раз: C0D0.C0DF Включаем моторчик: C0D2:80 Подергаем шаговым двигателем: C0D2:84 C0D9:0 Ещё подвигаем головкой: C0D9:0 C0D9:0 -- Схемы флопконтроллера у меня нет. И я не знаю, где её добыть. Наверное, проще всего срисовать нужный фрагмент - дел на пару часов. Если флоп никак не реагирует на управление, значит нужно проверять прохождение сигналов DevSel, IOSel, R/^W, .. Они собирались на низкосложной россыпухе, вроде к555ла3, к555ли... Если у тебя есть знакомый электрощик, можно с его помощью разобраться с этими цепочками, номера контактов слота я могу поглядеть (или он сам может поглядеть) в мымрине - расфасовка слотов у семерки и девятки в этом вполне совпадает. Там же расписано, какие сигналы когда и когда должны бегать. Если порты не видны и на них нет реакции - смотреть входные цепочки. Если на порты реакция есть, но ромки, как мы видим, нет - значит проблема с генерацией сигнала CS для ROMки. Можно взглянуть в мымрине схему платы ввода/вывода (это где вв55 и вв51) - я думаю, идеология построения интерфейса шины флопконтроллера (у него тоже две таких же микрухи в основе) окажется очень похожей. |
Voldemar0
Junior Member
Откуда: Tomsk, Russia Всего сообщений: 102 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 нояб. 2006 |
PS Чтобы вам не очень долго думать над схемой, немножко конкретики о сигналах шины. Шина проста, как пять копеек. Она напоминает шину XT/ISA и за ней IDE, но чуть попроще и по другому формирует информацию о режиме - чтение или запись. Во первых, в слоты заводится земля, питание, ресет, dma, irq и ещё пара сигналов, о которых можете сразу забыть. Либо они не используются либо и так видно, что они есть. Ну может быть имеет смысл только проверить, не заело ли где нибудь между ресетом (контакт A21) и 35 ножкой вв55-ых. Для этого хватит вольтметра. При нажатом УПР-СБР на 35-й ножке должен быть, видимо "1", а при отпущенной - "0". Но эта проблема в данном случае маловероятна. Во вторых - естесно, на слот заводится адресная шина (Б3..и выше) и шина данных (A3..A10). Шина адреса анализируется только в четырех младших битах, а так же 8-м младших бит должны напрямую заводиться на адресные входы ROM-ки. Два младших бита шины должны также напрямую заводится на входы обеих вв55-х на лапки 8 и 9. Шина данных всегда взаимодействует с устройством через двунаправленные шинные формирователи. И они, кстати, тоже могут дохнуть В третьих - тут самое интересное: существует ещё несколько сигналов, и вот с ними у вас будут особо близкие отношения: ВК В/В - A11 - здесь появляется "0" если владелец шины (а это всегда будет проц) хочет общаться с портами ввода/вывода устройства. Этот сигнал не является параллельным для разных слотов и именно благодаря ему устройства не конфликтуют, даже если имеют полностью совпадающие электрические схемы. ВК ПЗУ - Б2 - ровно аналогичный сигнал, но только для общения с ROM драйвера устройства. Ф1 - A14 - просто меандр 1 МГц. Важно, что его отрицательная и положительная фазы приходятся ровно на фазы выставление адреса и обмена данными. Ф2 - A15 - аналогично, но 2 МГц. 14МГц - A17 - это 14 МГц, обычно использовалось на переферийных контроллерах для формирования небольшых задержек (около 3 периодов этой частоты) между выставлением процем данных на шину и защелкивания этих данных периферийным устройством. R/!W - Б19 - всегда "1" кроме случая, когда проц хочет записать данные в устройство. Никаких больше умных сигналов, вроде остановки процессора на время реакции устройства, в агате нет. Кто не успел, тот опоздал. (судя по мымрину, возможно, их планировали ввести, но не ввели) |
Voldemar0
Junior Member
Откуда: Tomsk, Russia Всего сообщений: 102 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 нояб. 2006 |
ЗЗЫ Если в мымрине обнаружится какая нибудь странность вроде спаралеленных выходов TTL-микросхем - это не гениальное решение инженеров, а специально внесенные ошибки в документацию - чтобы шпиёны не своровали и не наладили производство агатов на враждебном западе ). Ошибки добавляются из расчёта не менее десяти штук на десять страниц, но не более пяти на каждой странице . |
Sergei Frolov
Advanced Member
Коллекционер Откуда: Питер Всего сообщений: 2719 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июля 2003 |
Может быть накрылась микросхема выборки памяти по номеру слота. Либо сама ПЗУ. |
Voldemar0
Junior Member
Откуда: Tomsk, Russia Всего сообщений: 102 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 нояб. 2006 |
Если ты имеешь ввиду декодеры адреса пространства Cx00..CxFF, которые на материнке - то нет, живая она, как Ленин - видно же, что ПЗУшку парпорта она нормально активизирует: Может быть накрылась микросхема выборки памяти по номеру слота *C200.C20F |
Sergei Frolov
Advanced Member
Коллекционер Откуда: Питер Всего сообщений: 2719 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июля 2003 |
Декодер адреса стоит на конкретной плате. |
Voldemar0
Junior Member
Откуда: Tomsk, Russia Всего сообщений: 102 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 нояб. 2006 |
Только на модулях с нестандартным адресным пространством. Вроде модулей доппамяти. Декодер адреса стоит на конкретной плате. Если устройству хватает стандартных 16 адресов IO и 256 адресов ПЗУ - используется декодер адреса материнки. Если ещё точнее: = IO пространство декодируется так: A15..A4 декодируется материнкой (для семерки могу точно сказать конкретные микросхемы), а A3..A0 могут декодироваться устройством по выбору самостоятельно. Т.е. если тебе нужен всего один адрес, можешь вообще не декодировать ADR, просто реагируй на сигнал ВЫБОР В/В, если нужно два адреса - можно декодировать любой из 4х младших бит и т. д. Если на модуле стоят БИС, которые сами имеют несколько адресов, младшие разряды ADR просто заводятся на адреса БИС - так подключаются 580вв55 , 580вв51... = ROM пространство декодируется аналогично, но материнка декодирует разряды A15..A8, а устройство использует или декодирует A7..A0. В случае модулей доппамяти A7..A0 не декодируется, а просто запоминается в регистре управления (при условии R/!W = "0" - программный переключатель "запись любого числа"); если же устройство - флоп или парпорт или суперIO семёрки - там где есть ROM - A7..A0 подключается на адресную шину ROM. = Комбинированный случай: парпорт девятки: там ROM имеет размер 2 кб, поэтому сделано так: есть триггер состояния. Он перебрасывается в "1" записью по адресу IO со смещением 2 и пос ледующим доступом в пространство ROM слота. В "0" - ресетом либо при условии ((генерируется материнкой) "ДОП IO [C800..CFFF]" = 1) & (A10 = A9 = A8 = 1 (генерируется декодером адреса платы парпорта)). В случае обращения по адресам стандартного ROM-пространства слота на старших адресах ROM-ки выставляется "1" (т.е. адрес получается :111 xxxx xxxx). Эта часть ROM содержит начальный код инициализации драйвера. Он может переключить триггер состояния в "1", тогда в пространство (общее для всех устройств !) C800..CEFF отображается остальная часть ROM (адреса :yyy xxxx xxxx). Т.е., с одной стороны - парпорт по полной использует и декодеры материнки, и, в тоже время имеет ещё одну ступень декодера адреса, позволяющую ему использовать общее пространство C800..CEFF (точнее, он отлавливает также обращение CFxx для переброски триггера состояния в "0"). Фактически, эта логика (около 6 м/с низкой степени интеграции) занимает почти половину платы парпорта. -- Полное декодирование адреса на плате периферийных устройств было принятов PC/XT архитектуре и вроде до сих пор остается в силе. У агата - не так. |
UFO |
Продолжение тестирования.... 1) Вставлял контроллер принтера поочередно в разные слоты. Остальные слоты - пустые. Команды вида C200.C20F и т.д. выдают результат с одинаковыми данными: C200 - 18 90 07 38 B8 50 03 2C C208 - 70 C0 48 A5 4B 48 A5 4C 2) Потом проделал тоже самое с контроллером дисковода. Результаты выполнения команд: *C100.C10F C100 - 00 00 00 00 00 00 00 00 C108 - 00 00 00 00 00 00 00 00 *C200.C20F C200 - C2 C2 C2 C2 C2 C2 C2 C2 C208 - C2 C2 C2 C2 C2 C2 C2 C2 *C300.C30F C300 - C3 C3 C3 C3 C3 C3 C3 C3 C308 - C3 C3 C3 C3 C3 C3 C3 C3 *C400.C40F C400 - C0 C0 C0 C0 C0 C0 C0 C0 C408 - C0 C0 C0 C0 C0 C0 C0 C0 *C500.C50F C500 - C1 C1 C1 C1 C1 C1 C1 C1 C508 - C1 C1 C1 C1 C1 C1 C1 C1 *C600.C60F C600 - C2 C2 C2 C2 C2 C2 C2 C2 C608 - C2 C2 C2 C2 C2 C2 C2 C2 (Сообщение отредактировал UFO 21 нояб. 2007 10:19) |
UFO |
Voldemar0 3) Вставлял контроллер принтера поочередно в разные слоты. Попробуй поглядеть (также, переставляя платы): Остальные слоты - пустые. Результаты выполнения команды (с первого по шестой слот): Слот X1 C090 - FF FF FF FF FF FF FF FF C098 - FF FF FF FF FF FF FF FF C0A0 - C0 C0 C0 C0 C0 C0 C0 C6 C0A8 - C0 C0 C0 C0 C0 C0 C4 C6 C0B0 - C0 C0 C0 C0 C0 C0 C0 C4 C0B8 - D0 C0 C0 C0 C0 C0 C0 FE C0C0 - C0 C0 C0 C0 C0 C0 C4 C4 C0C8 - D0 C0 C0 C0 C0 C0 C0 C0 C0D0 - C0 C0 C0 C0 C0 C0 C0 C4 C0D8 - D0 C0 C0 C0 C0 C0 C0 C0 C0E0 - C0 C0 C0 C0 C0 C0 C6 C6 C0E8 - C0 C0 C0 C0 C0 C0 DE C4 Слот X2 C090 - C0 C0 C0 C0 C0 C0 C0 C0 C098 - C0 C0 C0 C0 C0 C0 C0 C0 C0A0 - FF FF FF FF FF FF FF FF C0A8 - FF FF FF FF FF FF FF FF C0B0 - C0 C0 C0 C0 C0 C0 C0 C0 C0B8 - C0 C0 D0 D0 C0 D0 C0 DE C0C0 - C0 C0 C0 C0 C0 C0 C0 C4 C0C8 - C0 C0 C0 C0 C0 C0 CC C0 C0D0 - C0 C0 C0 C0 C0 C0 C4 C0 C0D8 - C0 C0 C0 C0 C0 C0 C0 C0 C0E0 - C0 C0 C0 C0 C0 C0 C0 C0 C0E8 - C0 C0 C0 C0 C0 C0 C0 C0 Слот X3 C090 - C0 C0 C0 C0 C0 C0 C0 C0 C098 - C0 C0 C0 D0 C4 C0 C0 C0 C0A0 - C0 C0 C0 C0 C0 C0 C4 C6 C0A8 - C0 C0 C0 C0 C0 C0 C0 C0 C0B0 - FF FF FF FF FF FF FF FF C0B8 - FF FF FF FF FF FF FF FF C0C0 - C0 C0 C0 C0 C0 C0 C0 C6 C0C8 - C0 C0 C0 C0 C0 C0 C0 DF C0D0 - C0 C0 C0 C0 C0 C0 C0 D6 C0D8 - C0 C0 C0 C0 C0 C0 FE C0 C0E0 - C0 C0 C0 C0 C0 C4 C4 C6 C0E8 - C0 C0 C0 C0 C0 C0 C0 DF Слот X4 C090 - С0 С0 С0 С0 С0 С0 С0 С4 C098 - С0 С0 С0 С0 С0 С0 С4 С4 C0A0 - C0 C0 C0 C0 C0 C0 C4 C4 C0A8 - C0 C0 C0 C0 C0 C0 FE FE C0B0 - C0 C0 C0 C0 C0 D0 D4 FF C0B8 - C0 C0 C0 C0 C0 C0 C0 C0 C0C0 - FF FF FF FF FF FF FF FF C0C8 - FF FF FF FF FF FF FF FF C0D0 - C0 C0 C0 C0 C0 C0 C0 C0 C0D8 - C0 C0 C0 C0 C0 C0 C0 FF C0E0 - C0 C0 C0 C0 C0 C0 C4 FF C0E8 - C0 C0 C0 C0 C0 C0 DE C4 Слот X5 C090 - C0 C0 C0 C0 C0 C0 C4 C0 C098 - C0 C0 C0 D0 C0 C0 C0 C0 C0A0 - C0 C0 C0 C0 C0 C0 C4 C4 C0A8 - C0 C0 C0 C0 C0 C0 FE FF C0B0 - C0 C0 C0 C0 C0 C0 C4 C6 C0B8 - C0 C0 C0 C0 C0 C0 C0 C0 C0C0 - C0 C0 C0 C0 C0 C0 C4 C0 C0C8 - C0 C0 C0 C2 C0 C0 DE C0 C0D0 - FF FF FF FF FF FF FF FF C0D8 - FF FF FF FF FF FF FF FF C0E0 - C0 C0 C0 C0 C0 C0 C4 C6 C0E8 - C0 C0 C0 C0 C0 C0 FE C4 Слот X6 C090 - C0 C0 C0 C0 C0 C0 C4 C0 C098 - C0 C0 C0 C0 C0 C0 C0 C0 C0A0 - C0 C0 C0 C0 C0 C0 C0 C0 C0A8 - C0 C0 C0 C0 C0 C0 C0 C6 C0B0 - C0 C0 C0 C0 C0 C0 C0 C0 C0B8 - C0 D0 D0 D0 C0 D0 D4 DE C0C0 - C0 C0 C0 C0 C0 C0 C0 C4 C0C8 - C0 C0 C0 C0 C0 C0 C4 C0 C0D0 - C0 C0 C0 C2 C0 C0 C0 C0 C0D8 - C0 C0 C0 C2 C0 C0 C0 C0 C0E0 - FF FF FF FF FF FF FF FF C0E8 - FF FF FF FF FF FF FF FF 4) Сделал тоже самое с контроллером дисковода. В результате выполнения команды - везде C0 (в независимости от того, в каком слоте контроллер). (Сообщение отредактировал UFO 21 нояб. 2007 10:44) |
UFO |
Voldemar0 После ввода этой команды дисковод начинает вращаться. Даже если флоп не виден в IO, можно попробовать наугад проверить - слушает ли он запись в регистры. После этой команды ничего не происходит. C0D7:BD Результат: Смотрим на всякий случай ещё раз: C0D0 - C0 C0 C0 C0 C0 C0 C0 C0 C0D8 - C0 C0 C0 C0 C0 C0 C0 C0 После этой команды ничего не происходит. Включаем моторчик: Ничего не происходит. Подергаем шаговым двигателем: Тоже ничего не происходит. Ещё подвигаем головкой: Начиная с первой команды - C0D3:92 - и во время ввода всех остальных команд дисковод продолжает крутиться. (Сообщение отредактировал UFO 21 нояб. 2007 10:54) |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 5 6 7 8 9 10 11 12 | Печать |
Полигон-2 » Другие архитектуры » Агат |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |