Поздравляю!
Вид для печати
Поздравляю!
Нашелся Micro-ODT.
Он "прячется" таки в микрокоде процессора.
В аттаче так же "до кучи" добавил вариант его реализации на .cpp из одного фришного эмулятора.
KALDYH, А фотку контроллерв флопа НГМД1 можешь сделать ? Нашелся контроллер, не хватает буквально 3-х КМ-ок. "Кочан" и ВГ93 на месте. С.Фролов забил уже.
Или нет ли схемы ?
Остальные контроллеры сильно подраконены, а плата просто сломана пополам.
Фотки контроллера дисководов НГМД1.
Итак, ко мне прибыли рабочие чипы диспетчера памяти 1811ВТ1. Тест памяти теперь проходится. Но машина пока все равно не работает. Если установить НВ1 и НВ2, на экране "шахматное поле". Если установить только НВ1, на экране ничего нет. Копаем дальше.
KALDYH, а может видиоконтроллер сдыхает
AlecV, а вам неь трудно почту почаще читать
извините за болтовню не по теме
В общем, мне нужно изучать программирование диспетчера памяти. Было бы неплохо прогнать в пошаговом режиме программу прверки видеоконтроллера из ПЗУ. Но ПЗУ состоит из двух областей, одна в адресах 17760000...17767776, вторая (в которой и лежит нужная подпрограмма) в области 17730000...17757776 и доступна только с помощью диспетчера памяти.
Снял дамп i8751H-8 из НГМД1 ака "КОЧАН"-vulgaris (неинициализирующий). Внутренняя память: Program 4K X 8 EPROM, Data 128 X 6 RAM.
Размер ПЗУ проставил максимальный - 64К. Данные там повторяются по кругу 16 раз (но сократить их потом завсегда успеем :) ). P.S. Обрезал - в аттаче там где стоит пометка "4K".
Программатор Бинар Турбо v.6 (переходник M, слот 51). Считался легко, шифротаблица не указывалась.
Описание контроллера i8751H-8 в pdf: http://www.datasheetarchive.com/search.php?q=8751.
Идентификатор микросхемы:
30h - код 12h
31h - код 07h
32h - код DDh
60h - код 5Bh
Как узнать вытянуто всё что в ней есть? Использовалась ли шифрация данных (что такое "защита" и как она опознаётся, если есть)? Что такое внешня/внутренняя флеш?
Опция в меню софта программатора "установить бит защиты" активна и её можно нажать. Т.е. неужели всё так легко? Если судить только по этому критерию то иначе бы просто не считалось? (это я к тому что мне вроде как "известно" месторасположение инициализирующего Кочана). И если таким же образом считать и потом записать его, то мы проблему закроем?Цитата:
В модели с УФ-ПЗУ 8751 появилось новшество - бит защиты информации. Установка этого бита приводила к тому, что считать информацию из ПЗУ микро-ЭВМ становилось невозможным. ОДНОКРИСТАЛЬНЫЕ МИКРО-ЭВМ
В i8751 была всем известная ошибка защиты. Обходилась просто. Берёшь делаешь возможность перехода работы внешней и внутренней флэши. Во внешней флэши пишешь прогу вычитывания кода и снимаешь часть прошивки. Потом повторяешь.
В общем, вопрос - что в дампе?
P.S. KALDYH, интересно, прошивка на DEC Pro такая же?
KALDYH,
CodeMaster,
извините , но если мне не изменяет память , у меня на Электронике 85 был видеоадаптер с доп платой и выводилось изображение на чернобелый монитор - и все было нормально - то есть нормальное изображение, когда сделали выход на телек - изображение было неустойчиво
Перебирая регистры, я нашел причину и этого. Видеоконтроллер поддерживает режимы 525 и 625 строк, по умолчанию 525. Если из терминала изменить регистр - мой монитор перестает дрожать.
Вообще, видеоконтроллер там необычно мощный. Аппаратный скроллинг по вертикали, палитра в 4096 цветов, видеорежимы 1024*256*8, 512*256*64, 256*256*4096. Аппаратные векторы, модификация видеоданных по AND/OR/XOR/NOT, отображение видеоконтроллера на любой участок памяти, еще чего-то есть. Надо описание почитать подробнее (и отсканировать, кстати).
Где это ты нашел такое, она вроде максимум 8 цветов выводила
У тебя же в теме описание на НВ1 и НВ2 есть уже или ты новые источники надыбал?
---------- Post added at 20:58 ---------- Previous post was at 20:57 ----------
Ну на ч\б может быть, у меня его нет, а на цветной без НВ2 ничего не выводится
Документация на Видеоконтроллер НВ1 и Расширитель памяти видеоконтроллера НВ2 но без схем (хочется что бы принципиальные схемы кто-то отсканировал вообще идеальным сканером).
P.S. Добавил ссылку на datasheet i8751H-8 в пост про "КОЧАН" выше.
P.S. Сфотайте же, plz, те "шахматки", про которые Вы так увлечённо говорите! :)
Пришло время подвести небольшие итоги в вопросе о мифической плате расширения XT на базе КМ1810BM86 (она же "PC-Bridge", она же "Сопроцессор Электроника МС 1702") для Электроники 85. Так же собрал без спросу в один альбом все фотки какие у меня были от Xailar, CodeMaster и скриншотов из эмулятора.
1. После прекрасно проведённой поисковой операции CodeMaster-а по Воронежу (уж не знаю как ему это удалось) у нас появился живой экземпляр документации (ч/б .tiff и .djvu, 4 Мб) со схемами (пока серый несклееный .tiff, 30 Мб).
По впечатлениям:
- хорошо описана схемотехника устройства, ужасно плохо описано сопряжение с Э-85, т.е. почти вообще никак (но статусный регистр платы описан - уже глоток свежего воздуха для эмулятора);
- так же очень скомкано изложено как процедурно работать с такой платой - видимо это должно быть понятно интуитивно для тех кто запустит её у себя на реальной машине;
- пустые нераспаяные места на печатной плате - готовы принять к себе 3 микрухи? - математический сопроцессор КМ1810BM87 (D11) и вроде видео ОЗУ (D33, D34, - в спецификации тип микросхем вытерт, надо подобрать) на 16Кб (2*8К). Всё штатно не установлено у всех;
- теперь ищу у кого что есть про исходники .c/.cpp попроще с эмуляцией i8086 в виде софт-плат встраиваемых устройств.
2. Кроме этого, и CodeMaster и borisfox оцифровали свои комплекты дискет для работы с сопроцессором.
Пока у нас есть только пакет "ЭЛДОС 2.01" (ДОС для Электроники"). Состоит из дискеты управляющего компонента (инсталлируется и стартует из меню ПРОС, запускает виртуальный ИБМ ПК) и операционного компонента - просто дискет MS-DOS 3.30 записанных в формате DZ (80*10*512), запускаются уже внутри "ИБМ" (виртуальные флоппи-дисководы у меня на PC такие имиджи цепляют и оглавление читают, но в скопированных файлах, естественно, мусор из "левых" секторов).
3. Со своей стороны, я скопировал дампы из всех снимаемых ПЗУх (все поотдельности + БИОС в собранном виде), а прошивки двух PLM-матриц для работы диспетчера памяти приведены в самой документации в виде HEX-таблиц.
Надеюсь, что продолжение в виде всякого разного интересно-полезного следует, т.к. ещё вроде не всё вычитано и опробовано из того что найдено, или может быть найдено...
P.S. Я раньше никак не мог понять почему "скопировав" практически весь DEC наши не тронули их базовую "Z80 interface card", так вот, в доке вырисовался простой ответ - а зачем? Разработчики просто приготовили себе дополнительное блюдо "МОС-86" (совместимое с OS CP/M ПО, ориентированное на работу процессором типа К1810BM86... Хош в DOS'e работай, хош в CP/M... - это как одним зайцем сразу всех убить).
P.P.S. "Операционные системы и прикладные программы, предназначенные для эксплуатации на ПВК, укомплектованном сопроцессором, хранятся в Фондах алгоритмов и программ и могут быть получены потребителем в установленном порядке." - Красивая фраза, правда?
Т.е. есть вариант распаять колодки и должен завестись i8087 на ней?
Охрененно :-) Я вот никак не найду ни одного чела, кто работал на заводе "Процессор" до последнего момента (видимо) уже поумирали все, мне просто интересно они всю тех.документацию по заводу просто в мукулатуру сдали и всёж есть где загашник, там ведь и военные разработки и экземпляры были, может уже можно снять гриф "Совершенно секретно".
anasana, а нельзя ли куда нибудь файлы переложить - с рапиды не качает
---------- Post added at 12:53 ---------- Previous post was at 12:51 ----------
CodeMaster, всёж есть где загашник
экземпляры были, может уже можно снять гриф "Совершенно секретно".
вряд ли гриф такой есть - машинка шла как персональная ЭВМ а не контроллер к ,,,
и потом не знаю как в воронеже , но в Питере эти машинки списывались и сотрудники забирали их домой с доками
Я не про машины, а про производственную документаци, листинги ПЗУ, сырцы софта, всё что должно было быть, но где теперь это искать непонятно. А доки которые шли с машиной у меня все есть.
Но на её базе делали дохрена контроллеров, причём не самопально, а на заводе, на софт для них тоже должа быть документация. Может да военный софт непосредственно на заводе не разрабатовали, но для других применений он был, и думаю в этих доках можно почерпнуть много интересного.
CodeMaster, про производственную документаци, листинги ПЗУ - это надо искать у разработчиков , и не факт что это делалось в Воронеже, там уже было производство Элект 85
а вот где разрабатывалось - вопрос
Да у нас всё и разрабатывалось, пол Левого берега на Электронике, Процессоре и НИИПМ работало. Я общался с дедулей, который в своё время руководил одним из отделов по разработке софта на Процессоре, но ушёл он оттуда давно, до развала, да и сейчас уже маразм даёт о себе знать (хотя как человек он очень приятный), уже ничего и никого не помнит, и связей нет никаких с заводом.
Вот сделал. Скажите потом, когда убрать надо.
Цитата:
1. После прекрасно проведённой поисковой операции CodeMaster-а по Воронежу (уж не знаю как ему это удалось) у нас появился живой экземпляр документации (ч/б .tiff и .djvu, 4 Мб) со схемами (пока серый несклееный .tiff, 30 Мб).
2. Кроме этого, и CodeMaster и borisfox оцифровали свои комплекты дискет для работы с сопроцессором.
3. Со своей стороны, я скопировал дампы из всех снимаемых ПЗУх (все поотдельности + БИОС в собранном виде), а прошивки двух PLM-матриц для работы диспетчера памяти приведены в самой документации в виде HEX-таблиц. Находятся во "вложениях".
Rindex, я скачал, для других - я думаю дня 3 - 4 хватит
А печатка у неё многослойная, не помню сколько, но точно как минимум пара сигнальных слоёв внутри есть, так что просветить тяжело...
На молоте сейчас как раз выставили развандаленную 1702, теоретически можно попытаться починить... Хотя печатная плата в этом изделии всегда была слабым местом, а тут её ещё так покоцали.
http://molotok.ru/item960655319_plat...85_ubitye.html
Спасибо, вечером гляну что там на Молотке творится, а то на работе у меня картинки не открываются, а пересылка за город уже сразу +200 р. накручивает :(.
Там всего 8 слоев, но я имел в виду что по схеме ножки сопра подключены параллельно ножкам самого проца, такое должно быть заметно даже сквозь многослойку.Цитата:
А печатка у неё многослойная, не помню сколько, но точно как минимум пара сигнальных слоёв внутри есть, так что просветить тяжело...
Кстати о птичках (из документации в разделе о возможных неисправностях и методах их устранения):
Ошибка которую у меня выдает эмулятор при старте:Цитата:
2. После включения ПВК, на экране монитора появляется изображение системного блока, на котором ярко выделена позиция сопроцессора и обозначение ошибки:
N 0376
000043 или
N 0002
000043,
где N - номер гнезда, в котором установлен сопроцессор.
060376 - (06 - это слот в который я "посадил" плату)
000061 - (61 octal - ID нашей платы а никак уж не 43)
Так вот, собственно 000043 это:
#define PRO_ID_Z80 0000043 /* PC3XS-AA CTI Z80/CPM option PN: 50-15640 Refs: EK-PC100-V2 */
Кстати, я не обратил внимание сразу: оригинальная P/OS 3.02 при загрузке сама пишет "PC-Bridge option" на бутроме скопированном с платы МС-1702, а когда я в этом же бутроме подменил ID с 61 на 43, то P/OS уже пишет "CP/M option" значит видимо всё же это тоже не наша разработка раз её ID жестко прописан с описанием в коде DEC?
Опознавательно-тестирующий бут-ром хранится в D5 К573РФ5 ("БА1").
Думаю, просто решили не изобретать что-то новое и взяли тот же код...
Например, чтобы не перекрыться потом с другой платой от DEC, если какую-нибудь новую придётся копировать. Кто ж знал, что процесс так неожиданно закончится :)
Во вложении немного додокоментировал исходники TEST MC1702 на .с для RT-11.
А Micko вот взял и запустил bios от MC-1702 в своём эмуляторе MESS...
KALDYH, а можете более подробно рассказать как подключали МС7004 к DEC Pro-350 и желательно со схемами?
У меня тоже вопросик - есть такое понятие как 'BREAK' и 'LONG BREAK'. Небольшая справка:
http://cisco.opennet.ru/docs/RUS/serial_guide/async.gif
Обычно, сигнал приема или посылки данных находится в состоянии уровня mark (on) до начала передачи нового символа. Если сигнал переходит в состояние уровня space (off) на длительный период времени, обычно от 1/4 до 1/2 секунды, то говорят о возникновении условия break.
Логические уровни передатчика: "0" – от +5 до +15 Вольт, "1" – от -5 до -15 Вольт.
Логические уровни приемника: "0" – от +3 до +25 Вольт, "1" – от -5 до -25 Вольт.
Используется отрицательная логика для увеличения помехоустойчивости: (Х - сигналы данных, управляющие сигналы) передаются в инверсном коде - логической единице соответствует низкий уровень (1 - Mark, On), логическому нулю - высокий уровень (0 - Space, Off).
Например, если Линух то: int tcsendbreak(int fildes, int duration); /* tcsendbreak() shall cause transmission of a continuous stream of zero-valued bits for a specific duration. If duration is 0, it shall cause transmission of zero-valued bits for at least 0.25 seconds, and not more than 0.5 seconds. (Т.е. допустимый диапазон от 1/4 до 1/2 с.) */
А в Винде SetCommBreak() пpиостанавливает пеpедачу символов пеpеводом линии пеpедачи устpойства в pазоpванное состояние и мы можем удерживать её в таком виде сколько хотим до тех пор пока не отправим команду ClearCommBreak().
Вопрос возник после прочтения темы с отчего-то единственным аппаратным решением
Вот тут я не пойму, откуда возникла проблема? Почему BREAK они мостят в фрейм байта? Ведь, как я себе понимаю BREAK, - это "непередаваемость" вообще ничего в линию (или передаваемость ожидания начала), она не должна зависеть от скорости обмена, т.е. в аналоговом виде нет начала передачи пакетов некоторое время (а сколько за время этого промежутка туда могло бы попасть бит/байт на текущей скорости обмена неважно?).Цитата:
Решил на базе моста USB->COM соорудить передатчик для DMX512 (cекции Protocol и Timing).
Из особенностей протокола DMX512 следует отметить нестандартную скорость (250Кбит/с) и наличие маркера начала пакета BREAK (импульс низкого уровня t=88мкс).
С нестандартной скоростью проблем не возникло, мой мост (ОTI6858) поддерживает такую скорость.
А вот с передачей маркера BREAK возникла проблемка, длительность передачи байта на скорости 250Кбит/с составляет 44мкс, то есть BREAK так не передать...
Пример передачи двух символов "0" "0" с проверкой на четность EVEN (дополняет передаваемый символ так, чтобы количество единиц в передаваемом символе было четным), с одним стоповым битом (при необходимости можно увеличить этот интервал до 2 стоповых битов, если приемное устройство не успевает разделять символы):
http://www.softelectro.ru/003.gif
И ещё, - какая длительность удержания передачи принята стандартной для 'BREAK', а какая уже считается 'LONG BREAK'?Цитата:
Один из возможных алгоритмов работы приемника:
1. Ожидать уровня "0" (START) сигнала приема (RXD в случае хоста, TXD в случае устройства). Сигнальная линия может находится в двух состояниях: включена и выключена. Линия в состоянии ожидания всегда включена. Когда устройство или компьютер хотят передать данные, они переводят линию в состояние выключено - это установка Старт бита. Биты сразу после Старт бита являются битами данных.
2. Отсчитать половину длительности бита и проверить, что уровень сигнала все еще "0"
3. Отсчитать полную длительность бита и текущий уровень сигнала записать в младший бит данных (бит 0)
4. Повторить предыдущий пункт для всех остальных битов данных
5. Отсчитать полную длительность бита и текущий уровень сигнала использовать для проверки правильности приема с помощью контроля четности
6. Отсчитать полную длительность бита и убедиться, что текущий уровень сигнала "1" (длина стоп-бита может составлять одну, полторы или две длительности бита)
7. Вернуться к ожиданию начала следующего байта данных (шаг 1)
(и это самый главный вопрос этого поста :) хотя так может не показаться, но мне для эмулятора очень бы надо)
Нащупал в эмуляторе любопытный адрес (регистр) 17776010 (по чтению), опрашиваемый при загрузках и ПРОС и P/OS. Если он "отвечает", то начинают последовательно перебираться (так же по чтению) адреса:
17777232:
17777234:
17777236:
17777240:
17777242:
17777244:
17777246:
17777250:
17777252:
17777254:
17777256:
ну и т.д.
Интересно какой там девайс ожидается :)
В ходе ремонта раскурил "таблицу конфигурации ПВК", которая генерируется автотестом. В ходе выполнения автотеста в нее заносятся идентификаторы устройств и соответствующие им коды ошибок. Если на монитор ничего не выводится (как у меня), то, считывая значения из этой таблицы, можно получить представление о неисправностях. Код ошибки при нормальной работе = 0. Перед началом тестов таблица заполняется 0 и 17777. Все значения приведены в восьмеричной системе счисления. Пустое поле описания означает, что значение заносится без каких-либо условий.
Еще интересная новость - читая описание, узнал, что существует документированная возможность заменить чипы РУ5 на РУ7 и получить 2048 Кб памяти (ну уж один мегабайт-то точно).Код:Адрес Описание Значение по умолчанию
_____________________________________________________________________
157776 Не установлено
157774 ID ПЗУ 31
157772 Не установлено
157770 Не установлено
157766 Не установлено
157764 Число позиций сист. магистрали 6
157762 Не установлено
157760 ID модуля 0 401 (КНМД)
157756 Код ошибки 0
157754 ID модуля 1 2004 (КНГМД)
157752 Код ошибки 0
157750 ID модуля 2 1002 (НВ1)
157746 Код ошибки 0
157744 ID модуля 3 1403 (НВ2)
157742 Код ошибки 0
157740 ID модуля 4 0 (пусто)
157736 Код ошибки 177777 (не проверялся)
157734 ID модуля 5 0 (пусто)
157732 Код ошибки 177777 (не проверялся)
157730-157722 Не используются 0, 177777
157720,157716 ID клавиатуры 1,0 (если подключена)
157714 ID процессора 11
157712 0
157710 ID оперативной памяти 33
157706 Объем ОЗУ 10000 (512к)
157704 Версия диагностич. ПЗУ 26
157702 0
157700 Наличие монитора 32 (если подключен)
157676 Не используется 177777
157674 0
157672 Не используется 177777
157670 ID контроллера клавиатуры 14
157666 Код ошибки 0
157664 ID интерфейса принтера 17
157662 Код ошибки 0
157660 ID пультового терминала 27 (если подключен)
157656 0
157654 ID последовательного порта 21
157652 Код ошибки 0
157650 ID таймера (RTC) 23
157646 Код ошибки 0
157644 ID ОЗУ таймера 24
157642 Код ошибки 0
157640 ID математ. сопроцессора 12
157636 Код ошибки 0
157634 ID контроллера прерываний 25
157632 Код ошибки 0
157630 и ниже Не используется 0,177777
157570 Адрес повторного запуска
подпрограмм загрузки 165746
157566-157554 0
Прикольная таблица получается, и наглядная.
Вот как раз моя фотка с 512 Кб реальной оперативы на базе 565РУ7:Цитата:
Еще интересная новость - читая описание, узнал, что существует документированная возможность заменить чипы РУ5 на РУ7 и получить 2048 Кб памяти (ну уж один мегабайт-то точно).
http://img-fotki.yandex.ru/get/3811/...e61d1a04_L.jpg
А вот как её правильно на мегабайт перемычками отконфигурировать если все оба банка РУ7 заполнить?
В эмуляторе по умолчанию задан размер ОЗУ 1 Мб. Хотя мне почему-то всегда казалось что для платы модуля памяти 512К это максимум (помнится, в доке варианты значений на каждый банк прописаны были только: "пусто", "128" или "256").
anasana, а если впаять РУ7 в оставшиеся пустыми места то все заработает и с такой прорвой памяти?
---------- Post added at 00:27 ---------- Previous post was at 00:26 ----------
Повпаивали бы кроваток и сделали опыт. Если не пошло, просто с кроваток ОЗУ-шки посдёргивать и все как прежде.
А точно, таки проканает... У нашей Электроники по 512 на каждый блок! Система при каждой загрузке распознает "заселённость" (емкость) банков памяти платы по инфе, которая аппаратно задается группой перемычек на этой же плате (между разъёмами). Только вот есть ли реальная потребность в таком объёме?