В добавок к предыдущему посту вариант реализации интерфейса RS-232 (порт COM1, v.2) на микросхеме КР580ВВ51А (или MSM82C51A-2):

альтернативная ссылка на схему
Подробно описывать не буду, ибо, что называется, действующие лица в общем-то те же. Для упрощения схемотехники из оригинальной схемы выкинут таймер КР580ВИ53, вместо него тактирование протокола выполняет синтезатор частот на интегральном генераторе и счётчике-делителе. Схема позволяет устанавливать либо отечественный УСАПП - КР580ВВ51А (скорость обмена 38400 Бод, перемычки J1 и J2 в нижнем положении), либо быструю КМОП-версию UART от OKI - MSM82C51A-2 (скорость обмена 115200 Бод, перемычки J1 и J2 в верхнем положении).
Программно данный порт полностью совместим с оригинальным (из ж. РАДИО), всё ранее написанное ПО (LINK$, VDISK) с ним совместимо (скорость обмена аппаратно зафиксирована, программная настройка игнорируется).
Информация по программированию порта COM1:
Код:
; BIOS (2/2) для DSDOS v3.81 (Орион-128.2)
; (C) 1998-2016 Соловьев Д.Н. /Санкт-Петербург/
; 18.06.2016
; Порт COM1 (ВВ51А)
PT_TM0:EQU 0F730H
PT_CTM:EQU 0F733H
PT_SP0:EQU 0F740H
PT_SP1:EQU 0F741H
IniCOM:
; Инициализация порта COM1
; Настройка таймера ВИ53
MVI A,36H
STA PT_CTM
LXI H,PT_TM0
MVI A,9; 14400 Бод
MOV M,A
XRA A
MOV M,A
; Настройка УСАПП ВВ51А
LXI H,PT_SP1
MVI A,1
MOV M,A
MOV M,A
MVI A,40H
MOV M,A
MVI A,4EH; настройка протокола (8,N,1)
MOV M,A
MVI A,27H
MOV M,A
DCX H; [HL]=PT_SP0
MOV A,M; очистка порта ввода
RET
SvbCOM:
; Запись байта в порт COM1
; I: [C]-записываемый байт
; O: <C>=0 - [A]=записанный байт,
; <C>=1 - порт не готов
MVI B,0; time-out const = 256
SVB1:
; ожидание готовности
DCR B
JZ LDB1_4
LDA PT_SP1
RRC
JNC SVB1
MOV A,C
STA PT_SP0
CMC
RET
LdbCOM:
; Чтение байта из порта COM1
; O: C=0 - [A]-считанный байт
; C=1 - ошибка (тайм-аут)
; проверка на преждевременную готовность
LDA PT_SP1
ANI 2
JNZ LDB1_2
; ожидание поступления данных
PUSH B
LXI B,33000; time-out const
LDB1_1:
DCX B
MOV A,B
ORA C
JZ LDB1_3
LDA PT_SP1
ANI 2
JZ LDB1_1
POP B
LDB1_2:
LDA PT_SP0
RET
LDB1_3:
POP B
LDB1_4:
STC
RET