Добавить в корзинуПозвонить
Найти в Дзене

Орион-128. Мегапорт.

Всех приветствую! Как известно, на Орионе есть порт для подключения внешних устройств. Он занимает адрес /F600 и расчитан на управление 24-мя сигналами ввода/вывода. И этого в большинстве случаев достаточно для проектирования различных программаторов, тестеров микросхем, коммутирующих устройств и т.д. Но недавно просочилась информация, что кто-то из пользователей Ориона сделал (или делает) макет железной дороги и нужен своего рода контроллер для управления ею. И это требует очень много управляющих и принимающих сигналов. Причем программное управление должно быть очень простым. В результате родилась универсальная схема как раз для управления такими устройствами и получила название МЕГАПОРТ. Состоит мегапорт из четырёх портов ввода/вывода КР580ВВ55 и занимает пул адресов /F770h../F77Fh. Доступ к каналам производится через дешифраторы D1 и D2 К555ИД7. Данная схема собирается на вот такой печатной плате: На фото ниже представлен неполный набор комплектующих: Собранное устройство выглядит т

Всех приветствую!

Как известно, на Орионе есть порт для подключения внешних устройств. Он занимает адрес /F600 и расчитан на управление 24-мя сигналами ввода/вывода. И этого в большинстве случаев достаточно для проектирования различных программаторов, тестеров микросхем, коммутирующих устройств и т.д. Но недавно просочилась информация, что кто-то из пользователей Ориона сделал (или делает) макет железной дороги и нужен своего рода контроллер для управления ею. И это требует очень много управляющих и принимающих сигналов. Причем программное управление должно быть очень простым. В результате родилась универсальная схема как раз для управления такими устройствами и получила название МЕГАПОРТ.

Состоит мегапорт из четырёх портов ввода/вывода КР580ВВ55 и занимает пул адресов /F770h../F77Fh. Доступ к каналам производится через дешифраторы D1 и D2 К555ИД7.

Данная схема собирается на вот такой печатной плате:

-2

На фото ниже представлен неполный набор комплектующих:

-3

Собранное устройство выглядит так:

-4

За неимением у меня некоторых комплектующих устройство выглядит недособранным, но тем не менее работоспособность его можно проверить.

Программная составляющая.

Для управления мегапортом нужна всего лишь небольшая подпрограмма:

MGPORT:
PUSH H
LXI H,0F770H
MOV A,B
ANI 0FH
ADD L
MOV L,A
MOV A,B
RAL
JC WMG
MOV C,M
POP H
RET
WMG:
MOV M,C
POP H
RET

В регистр [B] заносится команда, а в регистр [C] заносятся данные, которые будут записаны в один из портов. Либо регистр [C] остаётся без изменений, если производится чтение из какого либо порта.

Состояния бит команды для регистра [B] следующие:
D7: 1-запись, 0-чтение
D6,D5,D4: любое
D3,D2: 00..11 - номер ВВ55
D1,D0: 00..11 - канал А,В,С или РУС (регистр управляющего слова)

Пример работы.
Запись в канал B порта 3, данные 1Ch.
LXI B, 8E1Ch; [B]=1 000 11 10 ,[C]=1Ch
CALL MGPORT
Чтение из канала А порта 0.
MVI B,0 ; [B]=0 000 00 00
CALL MGPORT; в регистре [C] появятся данные из требуемого канала

Для полной проверки мегапорта можно воспользоваться утилитой PORT$ из пакета ОС DSDOS v3.96

Материалы здесь https://disk.yandex.ru/d/v60uRh4ejQqNGw

До новых встреч!