Spectrum-совместимые компьютеры «Байт»,«Байт-01» и прочие раритеты

2 / 2 130

Карта портов компьютера "Байт-01"

Биты Адрес Описание
76543210
10001110 #8E (142dec)0-й канал синтезатора звука
10101110 #AE (174dec)1-й канал синтезатора звука
11001110 #CE (206dec)2-й канал синтезатора звука
11101110 #EE (238dec)Управляющий регистр синтезатора звука
00011111 #1F (31dec)(чтение) kempston-джойстик
11111110 #FE (254dec)(чтение) клавиатура/чтение с ленты
(запись) цвет бордюра/запись на ленту/звук
??00?1?1-(запись) порт управления экраном
Порты адаптера
11110000#F0 (240dec)(запись) регистр конфигурации
Порты КВУ
Порты контроллера дисковода
00001000#08 (8dec)(запись) регистр команд ВГ93
(чтение) регистр состояния ВГ93
00101000#28 (40dec)(чтение/запись) регистр дорожки ВГ93
01001000#48 (72dec)(чтение/запись) регистр сектора ВГ93
01101000#68 (104dec)(чтение/запись) регистр данных ВГ93
0??01001-(запись) системный регистр
Порты блока интерфейсов (параллельный, последовательный порт, сеть)
Параллельный интерфейс (КР580ВВ55)
00010000 #10 (16dec) (Чтение)
A0-A3 - адрес абонента в локальной сети;
A4 - 0-й канал таймера;
A5 - 1-й канал таймера;
A6 - 2-й канал таймера;
A7 - сигнал ЗАН (занято) от принтера
00110000 #30 (48dec) (Передача)
B0-B7 - данные на принтер
01010000 #50 (80dec) (Передача)
C1 - сигнал СТРОБ на принтер;
C3 - выдача данных на принтер в прямом или инверсном виде (ИРПР-М, ИРПР);
C4 - разрешение работы 2-го канала таймера;
C5 - разрешение работы 1-го канала таймера
01110000 #70 (112dec) Регистр управления. При инициализации CP/M в него заносится #90
Микросхема таймера (КР580ВИ53)
00010001 #11 (17dec) Задание коэффициента деления счётчика 0-го канала
00110001 #31 (49dec) Задание коэффициента деления счётчика 1-го канала
01010001 #51 (81dec) Задание коэффициента деления счётчика 0-го канала
01110001 #71 (113dec) Регистр управления таймером
Микросхема последовательного интерфейса DD11 (КР580ВВ51)
00010010 #12 (18dec) Регистр данных последовательного интерфейса
00110010 #32 (50dec) Регистр управления последовательного интерфейса
Микросхема локальной сети DD12 (КР580ВВ51)
00010011 #13 (19dec) Регистр данных локальной сети
00110011 #33 (51dec) Регистр управления локальной сети

В дешифрации адреса порта участвуют только те биты, которые отмечены жирным шрифтом.
Знаком "?" отмечены биты, точное значение которых не определено. Но эти биты не влияют на дешифрацию порта, поэтому могут принимать значение 0 или 1 - порт при этом всё равно будет выбран правильно.

Порты синтезатора:
В управляющий регистр синтезатора звука (#EE) вносится константа, которая определяет, в какой из каналов в дальнейшем будет посылаться нота. Для канала 0 заносится константа 54dec, для канала 1 - 118dec, для канала 2 - 182dec.
Затем в порт, соответствующий выбранному каналу, посылается один за одним два байта значения высоты ноты.

Порт управления экраном:
Переключает графические режимы экрана. Переключение осуществляется битом 7:
bit7=0 - обычный спектрумовский экран
bit7=1 - графический режим 512*192 точки
биты 0-6 задают цвет экрана в режиме 512*192 точки.
По сбросу порт управления экраном устанавливается в 0, т.е. включается обычный спектрумовский экран.

Структура экрана в режиме 512 точек в строке такова:
По адресам #4000-#57FF расположены чётные столбцы экрана (0-62), а по адресам #6000-#77FF - нечётные (1-63). Область атрибутов (#5800-#5AFF) обычного спектрумовского экрана незадействована. Экран закрашивается одним атрибутом, код которого задаётся битами 0-6 порта управления экраном.
Структура экрана одинакова с описанной тут, или тут, или тут.

Порты контроллера дисковода:
Системный регистр (в контроллере дисковода Байт-01 он доступен только для записи):
bit0=1 - плотность записи FM
bit0=0 - плотность записи MFM
bit1 - /MOTOR
bit2 - SIDE
bit3=0 - выбор привода A
bit3=1 - выбор привода B
биты 4-7 незадействованы.

Регистр конфигурации:
Используется для управления банками данных ОЗУ. В Байт-01 имеется 128К ОЗУ и 16К ПЗУ, которые можно разделить на банки объёмом 16 килобайт:

По сбросу регистр конфигурации сбрасывается в 0, что соответствует следующей конфигурации памяти компьютера:

Значение битов регистра конфигурации:

Бит 0 - при значении 1 происходит отключение ПЗУ и включение на его место ОЗУ. Например:

Бит 1 предназначен для переназначения областей экранного ОЗУ. Например:

Бит 2 используется для эмуляции ПЗУ при включении экранного ОЗУ на место ПЗУ. При нулевом значении разрешена запись в область #0000-#3FFF, при единичном - запрещена.

Бит 3 предназначен для включения по всему адресному пространству основного ОЗУ. Используется при работе в CP/M. Например:

Бит 4 используется для переключения областей основного ОЗУ. Например:

Бит5=0 - разрешить NMI, бит5=1 - запретить NMI.

Бит 6 при установке в 1 включает следующую конфигурацию памяти:

Бит 7 используется для перехода в режим TR-DOS (сигнал УПР TRDOS на системном разъёме).

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