Доработка Орион-128, физическое устранение конфликтов драйверов LPT, VBOX и других

Сдвиг адресного пространства для работы драйверов без конфликта.

Продаю платы и наборы микросхем, куплю микросхемы Платы и комплектующие на ПК Орион-128

Публиковалось в журнале Радиолюбитель №4 - 1998 год

А. ВЛАСОВ 399102, Липецкая обл.. Липецкий р-н. с.Студеные Выселки, ул.Октябрьская. 1. тел.(072-2) 41-09-89. E-mail:root@onega.ufps.lipetsk.su

ДОРАБОТКА "ОРИОН  128"

10/11/2023 Александр Дзержинск прислал схемку

Схема устранения конфликтов драйверов доработка Орион 128 и доработка Орион 256

1. Порез 6DD16.4 (ЛА3) и 2DD27 (ИД4)

2. Порез 6DD55 и CS 6DD55 (ВВ55)

Реализовано в версии Орион Восточный Экспресс 512 - S004Y

Сейчас думаем на какой разьем Х2 вывести  F604 -F6FF

Предлагаемая вашему вниманию доработка совершенно "прозрачна" для существующего программного обеспечения и не требует ничего в нем менять. В то же время, она позволяет вдохнуть в ОРИОН" новую жизнь.

Коллектив авторов, работавший над созданием компьютера "Орион-128" и программного обеспечения к нему, задумал и реализовал очень хорошую идею работы компьютера под управлением операционной системы OR DOS. Но она не имеет возможности управлять распределением памяти между загруженными программами и драйверами. Авторы также не до конца продумали правила размещения загружаемых драйверов общего использования (типа LPT, VBOX и др.) для исключения конфликтов между ними. То, что конфликты имеют место, можете проверить сами. Для этого нужно сделать следующее с пакетом AVITEX:

- загрузите драйвер KEYALT$ (адрес посадки - А800Н);

- загрузите редактор АVI (адрес-посадки - 0000Н);

- загрузите какой-либо текст и попытайтесь его распечатать.

При этом возможны два варианта поведения компьютера:

а) после печати он "зависает" (это значит, что у вас нормальный драйвер LPT с адресом посадки в область драйверов А800Н и АVI. После его загрузки оказалась затертой часть драйвера KEYALT$, что нарушило нормальную работу программы);

б) ваш компьютер продолжает работать, но это тоже не повод для ликования, а означает лишь, что с вашим драйвером некорректно работает интерпретатор языка BASIC (если адрес посадки "авторский" - BA00H). или у вас два драйвера LPT, и вы не всегда правильно можете выбрать один из них.

Конечно, можно поступиться удобством работы с единым драйвером ради возможности работать вообще, но лучше выбрать удобства в работе.

Мое предложение не снимает полностью данную проблему, но предоставляет дополнительные возможности ее решения. Суть его заключена в следующем.

Рассмотрев карту распределения памяти, я обнаружил, что порты клавиатуры. ROM-диска и пользовательский, "отраженные" на оперативную память, занимают неоправданно много места. Для них отведен участок адресов F400H...F6FFH, хотя фактически они занимают всего по четыре ячейки с адресами F400H...F403H, F500H...F503H и F600H...F603H. и практически все программы обращаются к ним по этим адресам. С помощью несложной доработки можно остальную память в этой области получить в свое распоряжение и разместить там например драйвер LPT или другие небольшие программы-резиденты.

Для этого нужно собрать простенькую схемку (рис.1) и впаять ее в компьютер, перерезав всего одну дорожку на печатной плате.

Схема устранения конфликтов драйверов доработка Орион 128 и доработка Орион 256

Работает схема следующим образом. Выбор дешифратора портов (DD27) осуществляется подачей низкого уровня с вывода 6 элемента DDI6.4 на вывод 2 DD27 [1]. Элементы DD1.2 и DD1.3 на плате доработки являются управляемым ключом для данного сигнала. Ключ управляется дополнительным дешифратором на диодах VD1...VD6. Если обращение происходит к портам клавиатуры, ROM-диска или к пользовательскому порту, то на всех входах А2...А7 - низкие уровни, и на входе 2 элемента DD1.1 устанавливается уровень логического "0". На выходе этого элемента появляется логическая "1", которая открывает управляемый ключ, и сигнал выбора дешифратора портов через ключ поступает на вывод 2 дешифратора DD27, что приводит к выбору соответствующего порта. Если происходит обращение к участку памяти, расположенному между адресами F404H...F4FFH, F504H...F5FFH или F604H...F6FFH, то на соответствующих адресных шинах А2...А7 появляются логические "1". На входе 2 DD1.1 и на выходе 11 элемента DD1.4 - также логическая "1". Эти сигналы переключают выход элемента DD1.1 в нулевое состояние, на выходе ключа устанавливается логическая "1" и он перестает реагировать на сигнал выбора портов, т.е. указанные участки становятся доступными для записи и чтения. Так как блок адресов F700H...F7FFH должен полностью принадлежать области портов, для его выделения специально введен элемент DD1.4. Пока хотя бы на одном из его входов присутствует низкий уровень, он не оказывает никакого влияния на работу дополнительного дешифратора. Но как только появляется обращение к портам расширения, на его входах устанавливаются логические "1". Логический "0" с выхода этого элемента устанавливает на выходе элемента DD1.1. логическую "1" которая приводит к безусловному открыванию ключа, независимо от состояния дешифратора на диодах VD1...VD6.

Конструкция и налаживание

Схема доработки выполнена на печатной плате из одностороннего стеклотекстолита толщиной 1...1,5 мм (рис.2). При желании можно использовать монтаж соединительными проводниками. В отверстия, залитые на рисунке краской, впаиваются обрезки монтажного луженого провода диаметром 0.8 мм и длиной 15 мм.

Схема устранения конфликтов драйверов доработка Орион 128 и доработка Орион 256

 Они будут проводниками питания и одновременно монтажными стойками. Плату лучше всего расположить над мультиплексорами DD23, DD24, DD25 (2), припаяв монтажные стойки непосредственно к выводам питания этих микросхем. Входы А2...А9 платы дополнительного дешифратора нужно соединить тонким многожильным проводом с соответствующими входами мультиплексоров. Печатный проводник между выводом 6 DD16.4 (ЛА3) и выводом 2 DD27 (ИД7) нужно отрезать от этих выводов (в статье "Радиолюбитель" ошибка вместо 6 DD16.4  указано 6 DD6.4) , чтобы он не стал приемником помех. Соединение DD16.4 и DD27 с платой дополнительного дешифратора также выполняется тонким многожильным проводом.

Если применены исправные детали. Устройство наладки не требует и начинает работать сразу.

Для контроля работоспособности надо сначала тщательно проверить монтаж и убедиться, что нигде нет коротких замыканий и обрывов. После этого - включить компьютер и запустить программу М256$ или М128$, затем ее директивой TRANSFER переместить участок программы с адресами B004H...B0FFH в область адресов F604H...F6FFH. (TRANSFER В004, B0FF, F604). Теперь сравните эти два блока (COMPAIR В004, B0FF, F604). Если вы увидели сообщение ОК!, значит все работает правильно, иначе надо еще раз проверить монтаж и исправность деталей.

Подобную проверку надо сделать и для других выделенных участков памяти. Данные, записанные подобным способом в область портов расширения, должны совпадать с источником данных.

Микросхему К155ЛA3 можно заменить на подобную микросхему серий К555, К133, К1533.

Диоды VD1...VD6 могут быть любые импульсные, резистор R1 - с сопротивлением в пределах 330...430 Ом
и мощностью 0.125...0,5 Вт.

Область памяти, выделенная данным способом, обладает еще одним замечательным свойством - она доступна из любой страницы ОЗУ без каких-либо переключений. Поэтому се можно использовать в качестве своеобразного "окна" обмена или перехода для сверхбольших программ, не помещающихся в основной памяти.

Но гораздо более вероятный вариант использования ее как "окна" переходов в подпрограммы - для драйверов, которые работают в других страницах ОЗУ, или в качестве таблицы векторов прерываний для контролера прерываний, программы обслуживания которых можно разместить в защищенной от затирания области квазидиска "В" путем переустановки его верхней границы.

Эти маленькие (всего по 252 байта) окна дают много возможностей для экспериментов с ними.

Я предлагаю область с адресами F604H...F6FFH зарезервировать для таблицы векторов прерываний контроллера ВН59

Напоминаем: Стандарты распределения адресного пространства Орион-128

Литература

1. Сугоняко В., Сафронов В., Коненков К. Персональный радиолюбительский компьютер "Орион-128". - Радио, 1990, № l.c.37.

2. Сугоняко В., Сафронов В. "ПРК ОРИОН-128" - топология печатной платы. - Радио, 1990, №4, с.44.

 

Купить платы, наборы микросхем на Орион-128, КР565РУ5В, КР565ру7В, к565ру5г AU, к565ру7г Au в позолоте, куплю микросхемы

 

Полезные и интересные статьи

На предыдущую страницу  На главную страницу  На следующую страницу