Вернуться на ГЛАВНУЮ страницу

Порты компьютеров Кворум.

Я, конечно, не уверен до конца, так как ни одного Кворума вживую не видел. Но по имеющейся информации разлчия между Кворум 64, 128 и 128+ следующие:

Кворум-64 - это обычный ZX-48, плюс теневые 16К ОЗУ, плюс контроллер дисковода, что все вместе позволяет работать, кроме TR-DOS еще и в CP/M.

Кворум-128 - совместим с ZX-128, но позволяющий включать вместо ПЗУ 0-ую страницу ОЗУ и перемещать в другое место экранную область. Однако не имеет музпроцессора.

Кворум-128+ - тоже, что и Кворум-128, но добавлен музпроцессор и расширенные экранные режимы.


Далее собственно порты:

Хотя при адресации портов используется неполная дешифрация адреса, рекомендуется использовать указанные ниже адреса устройств при разработке своих программ.

Порт управления памятью.

Адрес = 00H (A7,A4,A0,/IORQ = 0)
Назначение разрядов порта (только запись):
D0 - F_RAM
управление фоновой страницей ОЗУ
0 - включено ПЗУ
1 - включена 0-ая страница ОЗУ
D1 - UP_S (только для Кворум 64 с дисководом)
переключатель страниц видео-ОЗУ
0 - нижняя страница ( 4000H.. 5AFFH)
1 - верхняя страница (0C000H..0DAFFH)
D2 - EX_ROM (только для Кворум 128, в '128+' нет)
управление расширенным ПЗУ (до 32 Кбайт)
0 - включено основное ПЗУ
1 - включено дополнительное ПЗУ
D3 - резерв
D4 - резерв
D5 - B_ROM (в Кворум 64 не используется)
разрешение BASIC-страницы ПЗУ
0 - включена дополнительная страница ПЗУ
1 - включена BASIC-страница ПЗУ
D6 - BLK_WR (для Кворум 64 требуется доработка)
блокировка записи в фоновое ОЗУ
0 - запись в адреса с 0000..3FFFH разрешена
1 - запись заблокирована, только чтение
D7 - TR_DOS
разрешение работы TRDOS из ПЗУ
0 - TRDOS работает из фонового ОЗУ
1 - разрешена работа из ПЗУ

Порт Sрectrum 128.

Адрес 7FFDH (A15,A1,/IORQ = 0; A3,A4 = 1)
Назначение разрядов порта (только запись):
D0 - \ NP_RAM
D1 - - номер страницы ОЗУ, отображаемой на адреса
D2 - / с 0C000H до 0FFFFH
D3 - SCR_P (для Кворум 128, 128+ в режиме BASIC)
переключатель страниц видео-ОЗУ
0 - нижняя страница (4000H.. в ОЗУ-5)
1 - верхняя страница (0C000H.. в ОЗУ-7)
D4 - B_PAG
управление страницами BASIC-ПЗУ
0 - BASIC-128
1 - BASIC-48
D5 - BLK_P
блокировка записи в порт SP_128
0 - запись разрешена
1 - запись заблокирована (снятие по сбросу)
D6 - EX_RAM (только для Кворум 256)
0 - основное ОЗУ
1 - дополнительный блок на 128 Кбайт
D7 - E2_RAM (только для Кворум 512)

Порт CP/M.

Адрес 80FDH (A13,A1,/IORQ = 0; A15,A4,A3 = 1)
Этот порт реализован в ULA, используемом в
Кворум 128 и Кворум 128+. Запись в него разрешена
только в случае первого обращения к нему после
начального сброса.
Назначение разрядов порта (только запись):
D0 - \ NP_SCR
D1 - - переключатель адреса начала видео-ОЗУ
D2 - / (только в Кворум 128, 128+ в режиме CP/M)
000 - 4000H
001 - 6000H
010 - 8000H
011 - 0A000H
100 - 0C000H
101 - 0E000H
110 - 0000H
111 - 2000H
D3 - \
D4 - \
D5 - - не используются
D6 - /
D7 - EN_RAM
разрешение работы с фоновым ОЗУ
0 - запрет работы с фоновым ОЗУ
1 - в фоновое ОЗУ разрешена запись

Порты клавиатуры.

Основной порт:
Адрес 0FEH (A0,/IORQ = 0; A7,A4,A3 = 1)
Назначение разрядов порта (чтение):
D0 - \
D1 - \
D2 - - разряды сканирования клавиатуры
D3 - /
D4 - /
D5 - не используется (всегда 1)
D6 - разряд чтения с магнитофона
D7 - не используется (всегда 1)
Назначение разрядов порта (запись):
D0 - \
D1 - - код цвета бордюра
D2 - /
D3 - разряд записи на магнитофон
D4 - разряд управления звуком
D5 - не используется
D6 - не используется
D7 - не используется

Дополнительный порт:
Адрес 7EH (A7,A0,/IORQ = 0; A4,A3 = 1)
Назначение разрядов порта (чтение):
D0 - \
D1 - \
D2 - - разряды сканирования клавиатуры
D3 - /
D4 - /
D5 - /
D6 - не используется (всегда 1)
D7 - не используется (всегда 1)

Порты контроллера дисковода.

Порт состояния/команд ВГ93:
Адрес 80H (A4,A3,A2,A1,A0,/IORQ = 0; A7 = 1)

Порт номера текущей дорожки ВГ93:
Адрес 81H (A4,A3,A2,A1,/IORQ = 0; A7,A0 = 1)

Порт номера сектора ВГ93:
Адрес 82H (A4,A3,A2,A0,/IORQ = 0; A7,A1 = 1)

Порт данных ВГ93:
Адрес 83H (A4,A3,A2,/IORQ = 0; A7,A1,A0 = 1)

Порт управления дисководом:
Адрес 85H (A4,A3,/IORQ = 0; A7,A2 = 1)
Назначение разрядов порта:
D0 - SEL_0
1 - выборка устройства A:
D1 - SEL_1
1 - выборка устройства B:
D2 - резерв SEL_2
1 - выборка устройства C:
D3 - резерв SEL_3
1 - выборка устройства D:
D4 - SIDE
0 - верхняя головка дисковода
1 - нижняя головка дисковода
D5 - MOTOR
1 - включить привод дисковода
D6 - резерв
D7 - резерв

Порт Кэмпстон-джойстика.

Адрес 1FH (A7,/IORQ = 0; A4,A3,A0 = 1)
Назначение разрядов порта (только чтение):
D0..D4 - разряды джойстика
(при не подключенном джойстике всегда = 0)
D5 - не используется (всегда 0)
D6 - не используется (всегда 0)
D7 - разряд готовности принтера
(при не подключенном принтере всегда = 0)

Порты принтера.

Порт данных:
Адрес 0FBH (A2,/IORQ = 0; A7,A4,A3,A0 = 1)
Запись в этот порт устанавливает линию 'Строб' в 1.
Назначение разрядов (только на запись):
D0..D7 - байт данных, пересылаемый в принтер

Порт формирователя строба:
Адрес 7BH (A7,A2,/IORQ = 0; A4,A3,A0 = 1)
Запись в этот порт устанавливает линию 'Строб' в 0.

Порт готовности принтера:
Адрес 1BH (A7,/IORQ = 0; A4,A3,A0 = 1)
Назначение разрядов (только чтение):
D0..D6 - не используются (всегда 0)
D7 - линия готовности принтера
0 - принтер готов
1 - принтер занят

Порты музыкального сопроцессора.

Порт адресации регистров AY-3-8910/12:
Адрес 0FFFDH (A1,/IORQ =0; A15,A14,A13,A4,/M1 =1)

Порт данных:
Адрес 0BFFDH (A14,A1,/IORQ =0; A15,A13,A4,/M1 =1)