Думаю, просто решили не изобретать что-то новое и взяли тот же код...
Например, чтобы не перекрыться потом с другой платой от DEC, если какую-нибудь новую придётся копировать. Кто ж знал, что процесс так неожиданно закончится
Думаю, просто решили не изобретать что-то новое и взяли тот же код...
Например, чтобы не перекрыться потом с другой платой от DEC, если какую-нибудь новую придётся копировать. Кто ж знал, что процесс так неожиданно закончится
Коллекционирую вычислительную технику серии ДВК: ПЭВМ в сборе и комплектующие
Во вложении немного додокоментировал исходники TEST MC1702 на .с для RT-11.
А Micko вот взял и запустил bios от MC-1702 в своём эмуляторе MESS...
Последний раз редактировалось anasana; 21.03.2010 в 02:48.
LodeDome: http://lodedome.no-ip.com/lodedome.php - Lode Runner 2010 Game Archive. KryoFlux, FluxEngine, Gotek boards
Ищу пересылкой любые (неисправные/дефективные/некомплектные) платы и узлы корпуса Электроники-85 (МС-0585); дискеты 5,25".
По_трошки: Поиск, УКНЦ, БК0010, МС1502, П-н 128, Вектор 06Ц, C64, MAC LC475, Львов ПК-01, ДВК-3Ш (ВМ2, ВМ3, MX, MY, КСМ, КЦГД, КТлК, MY4)
Контакты: скайп: ana-sana, почта: [email protected], email: [email protected], TG: https://t.me/adesodesa
KALDYH, а можете более подробно рассказать как подключали МС7004 к DEC Pro-350 и желательно со схемами?
У меня тоже вопросик - есть такое понятие как 'BREAK' и 'LONG BREAK'. Небольшая справка:
Обычно, сигнал приема или посылки данных находится в состоянии уровня 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 стоповых битов, если приемное устройство не успевает разделять символы):
И ещё, - какая длительность удержания передачи принята стандартной для 'BREAK', а какая уже считается 'LONG BREAK'?Один из возможных алгоритмов работы приемника:
1. Ожидать уровня "0" (START) сигнала приема (RXD в случае хоста, TXD в случае устройства). Сигнальная линия может находится в двух состояниях: включена и выключена. Линия в состоянии ожидания всегда включена. Когда устройство или компьютер хотят передать данные, они переводят линию в состояние выключено - это установка Старт бита. Биты сразу после Старт бита являются битами данных.
2. Отсчитать половину длительности бита и проверить, что уровень сигнала все еще "0"
3. Отсчитать полную длительность бита и текущий уровень сигнала записать в младший бит данных (бит 0)
4. Повторить предыдущий пункт для всех остальных битов данных
5. Отсчитать полную длительность бита и текущий уровень сигнала использовать для проверки правильности приема с помощью контроля четности
6. Отсчитать полную длительность бита и убедиться, что текущий уровень сигнала "1" (длина стоп-бита может составлять одну, полторы или две длительности бита)
7. Вернуться к ожиданию начала следующего байта данных (шаг 1)
(и это самый главный вопрос этого поста хотя так может не показаться, но мне для эмулятора очень бы надо)
Последний раз редактировалось anasana; 26.03.2010 в 04:21.
LodeDome: http://lodedome.no-ip.com/lodedome.php - Lode Runner 2010 Game Archive. KryoFlux, FluxEngine, Gotek boards
Ищу пересылкой любые (неисправные/дефективные/некомплектные) платы и узлы корпуса Электроники-85 (МС-0585); дискеты 5,25".
По_трошки: Поиск, УКНЦ, БК0010, МС1502, П-н 128, Вектор 06Ц, C64, MAC LC475, Львов ПК-01, ДВК-3Ш (ВМ2, ВМ3, MX, MY, КСМ, КЦГД, КТлК, MY4)
Контакты: скайп: ana-sana, почта: [email protected], email: [email protected], TG: https://t.me/adesodesa
Нащупал в эмуляторе любопытный адрес (регистр) 17776010 (по чтению), опрашиваемый при загрузках и ПРОС и P/OS. Если он "отвечает", то начинают последовательно перебираться (так же по чтению) адреса:
17777232:
17777234:
17777236:
17777240:
17777242:
17777244:
17777246:
17777250:
17777252:
17777254:
17777256:
ну и т.д.
Интересно какой там девайс ожидается
LodeDome: http://lodedome.no-ip.com/lodedome.php - Lode Runner 2010 Game Archive. KryoFlux, FluxEngine, Gotek boards
Ищу пересылкой любые (неисправные/дефективные/некомплектные) платы и узлы корпуса Электроники-85 (МС-0585); дискеты 5,25".
По_трошки: Поиск, УКНЦ, БК0010, МС1502, П-н 128, Вектор 06Ц, C64, MAC LC475, Львов ПК-01, ДВК-3Ш (ВМ2, ВМ3, MX, MY, КСМ, КЦГД, КТлК, MY4)
Контакты: скайп: ana-sana, почта: [email protected], email: [email protected], TG: https://t.me/adesodesa
В ходе ремонта раскурил "таблицу конфигурации ПВК", которая генерируется автотестом. В ходе выполнения автотеста в нее заносятся идентификаторы устройств и соответствующие им коды ошибок. Если на монитор ничего не выводится (как у меня), то, считывая значения из этой таблицы, можно получить представление о неисправностях. Код ошибки при нормальной работе = 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 Кб памяти (ну уж один мегабайт-то точно).
А вот как её правильно на мегабайт перемычками отконфигурировать если все оба банка РУ7 заполнить?
В эмуляторе по умолчанию задан размер ОЗУ 1 Мб. Хотя мне почему-то всегда казалось что для платы модуля памяти 512К это максимум (помнится, в доке варианты значений на каждый банк прописаны были только: "пусто", "128" или "256").
Последний раз редактировалось anasana; 05.04.2010 в 01:38.
LodeDome: http://lodedome.no-ip.com/lodedome.php - Lode Runner 2010 Game Archive. KryoFlux, FluxEngine, Gotek boards
Ищу пересылкой любые (неисправные/дефективные/некомплектные) платы и узлы корпуса Электроники-85 (МС-0585); дискеты 5,25".
По_трошки: Поиск, УКНЦ, БК0010, МС1502, П-н 128, Вектор 06Ц, C64, MAC LC475, Львов ПК-01, ДВК-3Ш (ВМ2, ВМ3, MX, MY, КСМ, КЦГД, КТлК, MY4)
Контакты: скайп: ana-sana, почта: [email protected], email: [email protected], TG: https://t.me/adesodesa
anasana, а если впаять РУ7 в оставшиеся пустыми места то все заработает и с такой прорвой памяти?
---------- Post added at 00:27 ---------- Previous post was at 00:26 ----------
Повпаивали бы кроваток и сделали опыт. Если не пошло, просто с кроваток ОЗУ-шки посдёргивать и все как прежде.
А точно, таки проканает... У нашей Электроники по 512 на каждый блок! Система при каждой загрузке распознает "заселённость" (емкость) банков памяти платы по инфе, которая аппаратно задается группой перемычек на этой же плате (между разъёмами). Только вот есть ли реальная потребность в таком объёме?
Последний раз редактировалось anasana; 05.04.2010 в 03:24.
LodeDome: http://lodedome.no-ip.com/lodedome.php - Lode Runner 2010 Game Archive. KryoFlux, FluxEngine, Gotek boards
Ищу пересылкой любые (неисправные/дефективные/некомплектные) платы и узлы корпуса Электроники-85 (МС-0585); дискеты 5,25".
По_трошки: Поиск, УКНЦ, БК0010, МС1502, П-н 128, Вектор 06Ц, C64, MAC LC475, Львов ПК-01, ДВК-3Ш (ВМ2, ВМ3, MX, MY, КСМ, КЦГД, КТлК, MY4)
Контакты: скайп: ana-sana, почта: [email protected], email: [email protected], TG: https://t.me/adesodesa
Эту тему просматривают: 5 (пользователей: 0 , гостей: 5)