Содержание

MSX — Порты ввода/вывода

FIXME

Микропроцессор Z80 позволяет подключить к шинам адресов до 256 портов ввода/вывода.

Порты — это устройства сопряжения, при помощи которых микропроцессор Z80 может обмениваться информацией с другими микропроцессорами или устройствами.

Порт хранит восьмиразрядное значение (байт) и может использоваться для чтения информации, её записи, или и того и другого.

Порты хранят восьмибитное значение. Ниже приводится список портов.

Порт Режим
(чтение/запись)
Назначение Устройство
00 Ч/З Чтение/запись из/в порт данных (8251) RS 232C
01 Ч/З Порт команд/состояния (8251)
02 Ч Номер компьютера, таймер
З Запись в регистр маски прерываний
03
04 Ч/З Счетчик 0 (8253)
05 Ч/З Счетчик 1 (8253)
06 Ч/З Счетчик 2 (8253)
07 З Запись в регистр вида(mode) (8253)
08 З Запись в регистр режимов
09 З Команда MSX 2
0A
0B
0C
0D
0E
0F
10
11
12 Ч Состояние
13
14 Ч/З Данные
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D Ч Версия ПЗУ. MSX 1 = 0, MSX 2 × 0 DELETEME
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40 З/Ч Регистр номера ID устройства
41 З Поддержка защелки адреса ОЗУ S1985 (YM3814)
42 Ч/З Поддержка READ/WRITE данных ОЗУ
46 З Бит — отображающая функция
47 Ч Код цвета
З Бит — шаблон/ FG,BG код цвета
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
80 Данные для 8251 RS 232C
81 Статус/команда для 8251
82 Статус чтения/ маска прерывания
83 Не используется
84 8253
85 8253
86 8253
87 8253
88 Порты I/O для адаптера Yamaha V9938 (VDP) на MSX 1 VDP
89
8A
8B
8C Порты для модема Модем
8D
8E
8F
90 З Строб OUT (b0) длиной OUT (вывод) Принтер
Ч Статус IN (b1) 1=BUSY (занято)
91 З Вывод символа на принтер
90
91
92
93
94
95
96
97
98 З Запись данных в память VRAM VDP
Ч Чтение данных из памяти VRAM
99 З Установка команды, адреса
Ч Чтение статуса
9A З Установка палитры цветов
9B З Косвенная запись во внутр. регистр
9C
9D
9E
9F
A0 З Длина адреса, номер регистра PSG
A1 З Запись данных в регистр
A2 Ч Чтение данных из портов 14 и 15
A3
A4
A5
A6
A7
A8 З/Ч Запись/чтение PPI порт A PPI
A9 З/Ч Запись/чтение PPI порт B
AA З/Ч Запись/чтение PPI порт C
AB З/Ч Запись/чтение регистр режима PPI
AC Двигатель (мотор) MSX
(1chipMSX I/O)
AD
AE
AF
B0 Порт A, адрес (А0..А7)Расширение памяти PPI 8255
(SONY X8255)
B1 Порт B, адрес, управление, R/W
B2 Порт C, адрес (A11..A12), данные
B3 Установка вида
B4 З Календарь,часы. Защелка адреса Календарь
B5 Ч Данные
З Данные
B6
B7
B8 Ч/З Управление световым пером (SANYO)
B9 Ч/З
BA Ч/З
BB З
BC Порт А Управление VHD (JVCX8255)
BD Порт B
BE Порт C
BF Установка режима
C0 MSX-AUDIO
C1
C2
C3
C4
C5
C6
C7
C8 FIXME
MSX Interface. (Asynchronous Serial Interface) UART ?
C9
CA
CB
CC
CD
CE
CF
D0 Контроллер флоппи-диска (FDC)
D1
D2
D3
D4
D5
D6
D7
D8 З b5-b0 младшие биты адреса Kanji ROM (TOSHIBA)
D9 З b5-b0 старшие биты адреса
Ч b7-b0 данные
DA Для будущих расширений Kanji
DB
DC
DD
DE
DF
E0
E1
E2
E3
E4
E5
E6
E7
E8
E9
EA
EB
EC
ED
EE
EF
F0
F1
F2
F3
F4 Используется в MSX 2 +
F5 З b0 Kanji ROM Контроль системы
З b1 резерв для kanji
З b2 MSX-Audio
З b3 superimpose
З b4 интерфейс MSX
З b5 RS-232C
З b6 световое перо
З b7 CLOCK-IC, часы (только MSX-2)
F6 Шина ввода/вывода цвета CB
F7 З b0 Включение смешивания Audio R Управление A/V
З b1 Выключение смешивания Audio L
З b2 Выбор видеовхода (21p RGB)
Ч b3 Детекция видеовхода
З b4 Управление A/V (TV)
З b5 Управление Ym
З b6 Инверсия бита 4 VDP–регистра 9
З b7 Инверсия бита 5 VDP–регистра 9
F8
F9
FA
FB
FC З/Ч Управление физическими страницами ОЗУ Маппер
FD З/Ч
FE З/Ч
FF З/Ч

Карта портов ввода / вывода

Замечания о назначении адресов ввода/вывода

FIXME

Адреса ввода/вывода от 40h до FFh используются системой. Свободные (не связанные с устройствами) порты в этом диапазоне считаются зарезервированными для будущего расширения системы. Подробнее см. «Карта ввода/вывода» в конце данного руководства.

Программное обеспечение, которое напрямую обращается к портам ввода/вывода, может вызвать проблемы совместимости с некоторыми типами аппаратных платформ. Следовательно, все устройства ввода/вывода всегда должны быть доступны через различные функции BIOS для создания аппаратно-независимого программного обеспечения.

Для выполнения критичных по быстродействию операций по управлению видеопроцессором допускается напрямую использовать порты ввода/вывода. Однако в этом случае необходимо уточнить адреса портов видеопроцессора для чтения и записи, проверив значения по адресам 0006h и 0007h в MAIN ROM. Для получения дополнительной информации см. «Раздел 4. VDP».

Порты ввода/вывода от 00h до 3Fh доступны для пользователя, но в первую очередь используйте возможность отображения регистров устройств в адресное пространство, чтобы избежать подключения нескольких периферийных устройств к одному и тому же порту.

Контроллер гибких дисков (FDC) может использовать порты ввода/вывода, но в этом случае схема должна иметь возможность отключения дополнительным внешним сигналом. Если контроллер будет занимать порты ввода/вывода только при необходимости обращении к нему, это позволяет системе одновременно использовать несколько различных контроллеров гибких дисков.

Если адрес ввода/вывода необходимо использовать в предлагаемом к продаже устройстве, он должен быть назначен ASCII System Division, Inc. Пожалуйста, свяжитесь с нами перед разработкой устройства, чтобы получить назначенные адреса портов ввода/вывода.

Добавление портов ввода/вывода

При добавлении нового устройства может возникнуть проблема: как назначать номера портов ввода/вывода, если это устройство не является стандартным и для него не назначены порты в какой-либо спецификации. Адреса портов ввода/вывода от 40h до FFh зарезервированы для стандартного оборудования системы MSX и не могут быть использованы, если данное оборудование не является стандартным оборудованием.

Адреса портов ввода/вывода от 00H до 3FH не используются в архитектуре MSX и могут быть использованы для пользовательских аппаратных решений, однако следует учитывать то, что несколько однотипных устройств или устройств, разработанных по несогласованным спецификациям, могут конфликтовать и приводить к неработоспособности системы.

Чтобы избежать этого, используйте отображение регистров устройств в адресное пространство.

Ссылки

MSX Datapack

Portar MSX Tech Doc — I/O Port Summary

MSX I/O ports overview

Expanded I/O ports (a.k.a. switched I/O)

MSX Expansion I/O Port Manual

Архитектура и устройства микрокомпьютеров стандарта MSX-2 — Порты ввода/вывода

I/O Ports List