-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path_ports.txt
413 lines (341 loc) · 17.2 KB
/
_ports.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
========================= ОРИОН - 128 + Z80 Card II ============================
Порт F8 (F800) - Управление цветом. Если в порт записывается байт с
битом D2, равным 0, дисплей работает в монохромном
(двуцветном) режиме. Если бит D1=0, устанавливается
16-цветный режим работы дисплея, а если D1=1 -
дисплей переходит в четырехцветный режим.
Последний триггер DD30 меняет палитру цветов в двух-
(монохромный на цветном дисплее) и четырехцветных режимах.
D7=1 - включить экран 480 точек
Порт F9 (F900) - Упр.страницами для режима "Орион-128".
Порт FA (FA00) - Упр.экранами
"1" D0,D1 - номер экрана (0-3)
D2-D5 - резерв
D6 - выкл.регенерации ОЗУ (чтоб ОЗУ сдохло)
D7 - экран 384/512 точек (по горизонтали)
Порт FB - УПРАВЛЕНИЕ ПРЕРЫВАНИЯМИ И ДИСПЕТЧЕРОМ:
D7 D6 D5 D4 D3 D2 D1 D0
! ! ! ! ! ! ! !
MZ INT XMEM RZRV BS1 BS0 SS1 SS0
! ! ! ! ! ! ! !
! ! ! ! ! ! !______!____ SEGMENT SELECT
! ! ! ! !______!__________________ BANK SELECT
! ! ! !
! ! ! !________ РЕЗЕРВ ДЛЯ BANK SELECT (ВСЕГДА = 0)
! ! !_______________ FULL RAM MEMORY (ПРИ D5=1 0-FFFF - ОЗУ)
! !______________________ INT ENABLE (ПРИ D5=0 ЗАПРЕЩЕНЫ)
!_____________________________ DISPATCHER OFF (ПРИ D7=1 ОТКЛЮЧЕН !)
БИТЫ BS1,BS0 ОПРЕДЕЛЯЮТ НОМЕР БАНКИ ОЗУ, А БИТЫ SS1,SS0 ОПРЕДЕЛЯЮТ КАКОЙ
16-ТИ КИЛОБАЙТОВЫЙ УЧАСТОК ИЗ ЭТОЙ БАНКИ БУДЕТ ДОСТУПЕН ПО АДРЕСАМ 0-3FFF.
ДАННЫЕ, ЗАПИСАННЫЕ В ПОРТ, МОЖНО СЧИТАТЬ С ПОРТА FB (АЛЬТАИР,SUPER-3)
Порт FC - УПРАВЛЕНИЕ ТЕНЕВЫМ ПЗУ. НА ПЛАТАХ "СУПЕР-3" БИТОМ D7 ВКЛ-СЯ ТЕНЕВОЕ ПЗУ
Порт FD - Резерв адреса для двухбайтовых
адресов портов расширений "ZX".
Порт FE - В ЭМУЛЯТОРЕ "СИНКЛЕРА" ЗВУК И КЛАВИАТУРА (ПРОГРАМНЫЙ ЗВУК ПО БИТУ D4)
Порт FF - "ПРОГРАМНЫЙ КЛЮЧ" ДЛЯ ВЫВОДА ЗВУКА (ПЕРЕКЛЮЧАЕТСЯ ПО КАЖДОМУ ОБРАЩЕНИЮ)
Порты 0F8H...0FAH работают только на запись, в режиме "Orion-128" они доступны
также как ячейки памяти 0F800H, 0F900H, 0FA00H.
АДРЕСАЦИЯ ВНЕШНИХ УСТРОЙСТВ
В ОБЛАСТИ ПАМЯТИ (НЕДОСТУПНЫ В РЕЖИМЕ FULL RAM MEMORY):
F400..F403 - ППА КЛАВИАТУРЫ
F500..F503 - ППА ROM-Disk
F600..F603 - ППА Printer
F700/F720 - КОНТРОЛЛЕР ДИСКОВОДА (F720/D3,D6 - ПЛОТНОСТЬ ЗАПИСИ)
F760 - ПДП 1810ВТ37 ИЛИ i8237, ДЛЯ БЛИТТЕРА И РАБОТЫ КНГМД-HD/КНЖМД
F780 - ВНЕШНИЙ ЭЛ.ДИСК (1-16 МБАЙТ)
F7B0 - ЧАСЫ 512ВИ1 (ОРИОНСОФТ), BlackCat: 512ВИ1 на порту F760
=================================== ORION - PRO ================================
Для выбора номера рабочей (текущей) страницы
используется порт с адресом 08H (для режима "Орион-128" -
0F900H). Все страницы равносильны, и нет необходимости работать
именно в нулевой (только для режима Pro). В режиме "Орион-128"
для переключения страниц ОЗУ можно использовать порт с адресом
0F9H.
Распределение сегментов по страницам основного ОЗУ:
Стр.0 Стр.1 Стр.2 Стр.3 Стр.4 Стр.5 Стр.6 Стр.7
FFFFH -------T------T------T------T------T------T------T------¬
¦ 3 ¦ 7 ¦ 11 ¦ 15 ¦ 19 ¦ 23 ¦ 27 ¦ 31 ¦
C000H +------+------+------+------+------+------+------+------+
¦ 2 ¦ 6 ¦ 10 ¦ 14 ¦ 18 ¦ 22 ¦ 26 ¦ 30 ¦
8000H +------+------+------+------+------+------+------+------+
¦ 1 ¦ 5 ¦ 9 ¦ 13 ¦ 17 ¦ 21 ¦ 25 ¦ 29 ¦
4000H +------+------+------+------+------+------+------+------+
¦ 0 ¦ 4 ¦ 8 ¦ 12 ¦ 16 ¦ 20 ¦ 24 ¦ 28 ¦
0000H L------¦------¦------¦------¦------¦------¦------¦-------
Доступ к сегментам ОЗУ осуществляется через три независи-
мых окна, которые можно "открыть" в адресном пространстве про-
цессора в пределах рабочей страницы ОЗУ:
Окно ОЗУ "RAM2" - 8000-BFFFH
Окно ОЗУ "RAM1" - 4000-7FFFH
Окно ОЗУ "RAM0" - 0000-3FFFH
Назначение разрядов порта 0AH следующее:
D0 - 1 = включить окно ОЗУ "RAM0"
D1 - 1 = включить окно ОЗУ "RAM1"
D2 - 1 = включить окно ОЗУ "RAM2"
D3 - включить окно ПЗУ "ROM2-BIOS"
D4 - включить окно ПЗУ "ROM1-BIOS"
D5 - включить тактовую частоту процессора 2.5 МГц
D6 - отключить переключение ОЗУ 0F000H..0FFFFH (в режиме
"Orion-128" игнорируется)
D7 - включить режим "Orion-128" (область 0F000H..0FFFFH
недоступна для записи).
Для выбора сегментов в каждом из окон "RAM0", "RAM1",
"RAM2" в компьютере предусмотрены три порта с адресами соот-
ветственно 04H, 05H, 06H, в которые могут быть записаны номера
сегментов ОЗУ. Порты диспетчера 04H, 05H, 06H, 08H, 0AH доступны
как для записи, так и для чтения.
Область памяти 0F000H..0FFFFH в режиме "Orion-Pro" (разряд
D7 порта 0AH установлен в 0) доступна как для чтения, так и для записи.
Кроме того, программно можно установить режим, при котором указанная область
или переключается вместе с переключением страниц (D6=0), или не переключается
(D6=1) и проецирует "верхние" 4к сегмента 31 (1Fh).
В режиме "Orion-128" (разряд D7 порта 0AH установлен в 1)
указанная область памяти является не переключаемой независимо
от значения разряда D6, к тому же ячейки с адресами
0F400H..0FA00H доступны как порты (причем порты 0F800H..0FA00H
доступны только на запись, так как при чтении по адресам
0F800H..0FFFFH включается ОЗУ).
Постоянная память, расположенная на основной плате, состоит
из двух частей:
"ROM1-BIOS" - стартовое ПЗУ объемом 8 Кбайт;
"ROM2-BIOS" - ПЗУ пользователя объемом 8-64 Кбайт.
Для доступа к постоянной памяти в адресном пространстве
процессора предусмотрено включение соответственно двух ROM-окон
ПЗУ.
Окно для "ROM1-BIOS" включается по адресам 0000H..1FFFH
при аппаратном сбросе компьютера, тем самым обеспечивая доступ
к стартовым и другим подпрограммам.
Для управления включением и выключением окна "ROM1-BIOS"
предназначен бит D4 порта диспетчера 0AH.
Включением окна "ROM2-BIOS" по адресам 2000H..3FFFH управ-
ляет бит D3 порта 0AH (независимо от окна "ROM1-BIOS"), причем
доступ к ПЗУ в этом окне осуществляется по сегментам размером
8Кбайт (отсюда и минимальный размер ПЗУ). Номер сегмента
"ROM2-BIOS" записывается в специальный порт с адресом 09H,
допускающий как запись, так и чтение информации.
Окна ПЗУ имеют самый высокий приоритет: если окно
"ROM1-BIOS" и/или "ROM2-BIOS" включено, то доступ к нему обес-
печивается из любой текущей страницы, в том числе при "откры-
том" окне ОЗУ "RAM0".
3. ПОРТЫ ВВОДА-ВЫВОДА
---------------------
В режиме "Orion-128" (бит D7 порта 0AH установлен в 1)
разрешен доступ к портам 0F400H..0FA00H, адресуемым через об-
ласть памяти, и к портам 10H..14H, 18H..1BH, 0F8H..0FFH, а так-
же портам периферии - с помощью команд процессора IN, OUT.
В режиме "Orion-Pro" (бит D7 порта 0AH установлен в 0)
доступ к портам как к ячейкам ОЗУ запрещен.
Назначение портов:
00H - состояние DIP-переключателей (SW), определяющих
конфигурацию системы;
01H - данные принтера "Centronics";
02H - сигналы управления принтером;
03H - регистр настройки портов 00H..02H;
04H - регистр сегментов для окна "RAM0";
05H - регистр сегментов для окна "RAM1";
06H - регистр сегментов для окна "RAM2";
07H - регистр настройки портов 04H..06H;
08H - регистр страниц ОЗУ;
09H - регистр сегментов "ROM2-BIOS";
0AH - диспетчер управления конфигурацией памяти;
0BH - регистр настройки портов 08H..0AH;
0CH..0FH - системный резерв;
10H..13H - порты контроллера дисковода КР1818ВГ93 (в режи-
ме "Orion-128" доступны также через ячейки па-
мяти 0F700H..0F703H, 0F710H..0F714H, 0F720H):
10H - регистр команд;
11H - регистр дорожек;
12H - регистр секторов;
13H - регистр данных;
14H - регистр управления контроллером дисковода;
в режиме "Orion-128" доступен также через ячей-
ки 0F704H, 0F714H, 0F720H;
18H..1BH - универсальный порт, используемый как порт кла-
виатуры; в режиме "Orion-128" может быть перек-
лючен (параллельно с обращением 18-1BH) на ад-
реса одного из портов 0F4XXH, 0F5XXH, 0F6XXH по
выбору пользователя;
0F8H - регистр управления цветовым режимом дисплея;
в режиме "Orion-128" доступен также как ячейка
0F800H;
0F9H - регистр страниц; для режима "Orion-128" досту-
пен также как ячейка 0F900H;
0FAH - регистр номера и размера экрана; в режиме
"Orion-128" доступен также как ячейка 0FA00H;
0FBH - регистр включения прерываний от таймера (D6);
0FCH - регистр цвета для псевдоцветного режима;
0FFH - порт звука.
========================================================================
ОРГАНИЗАЦИЯ ЭКРАННОЙ ПАМЯТИ Orion-PRO, Ориона-128
-------------------------------------------------
Экранная память располагается в 0 и 1 страницах ОЗУ, при-
чем количество экранов и распределение сегментов в них зависит
от текущего цветового режима, задаваемого разрядами порта 0F8H:
D4 D3 D2 D1 D0
------------------
0 x 0 0 0 - монохромный, палитра 1
0 x 0 0 1 - монохромный, палитра 2
0 x 0 1 x - запрет видеосигнала
0 x 1 0 0 - 2-битный (4-цветный), палитра 1
0 x 1 0 1 - 2-битный (4-цветный), палитра 2
0 x 1 1 x - 16-цветный с групповым кодированием
0 1 1 1 x - псевдоцветной (цвет - в порт 0FCH)
1 x 0 x x - 3-битный (8-цветный RGB)
1 x 1 x x - 4-битный (16-цветный RGBI)
Для Ориона-128 то же, но только D0..D2. Режимы от D3,D4 недоступны
В монохромном режиме палитре 1 соответствует комбинация
цветов - (черный, зеленый), палитре 2 - (белый, зеленый). В
4-цветном (2-х битовом) режиме палитре 1 соответствуют цвета -
(черный, синий, зеленый, красный), палитре 2 - (белый, синий,
зеленый, красный).
Код палитры для псевдоцветного режима записывается в порт
с адресом 0FCH.
Выбор на отображение одного из 4-х экранов выполняется пу-
тем записи номера экрана в порт 0FAH:
D0 \ номер экрана
D1 /
D6 - выключение регенерации ОЗУ
D7 - включение широкого экрана
Разряды D2-D5 являются резервными.
Если разряд D7 установлен в единицу, то ширина экрана сос-
тавляет 512 точек (64 байта), что при высоте 256 байт соответс-
твует объему памяти 16 Кбайт. В противном случае экранная плос-
кость ОЗУ имеет ширину 384 точки (48 байт) и занимает объем 12
Кбайт.
В 3-х битном и 4-х битном (EGA-режим) цветовых режимах до-
пускается использование только двух экранов, поэтому разряд D0
порта 0FAH игнорируется.
Рассмотрим распределение сегментов экранного ОЗУ в различ-
ных цветовых режимах.
1.2.3 МОНОХРОМНЫЙ И ПСЕВДОЦВЕТНОЙ РЕЖИМЫ
----------------------------------------
В монохромном и псевдоцветном режимах возможно использова-
ние до 4-х экранов, занимающих только сегменты 0-й страницы
ОЗУ:
Стр.0 Экран 12 К Экран 16 К
--------¬ ------------ ------------
Экран 0 ->¦ 3 ¦ C000H..EFFFH C000H..FFFFH
¦=======¦
Экран 1 ->¦ 2 ¦ 8000H..AFFFH 8000H..BFFFH
¦=======¦
Экран 2 ->¦ 1 ¦ 4000H..6FFFH 4000H..7FFFH
¦=======¦
Экран 3 ->¦ 0 ¦ 0000H..2FFFH 0000H..3FFFH
L--------
В монохромном режиме единичному значению некоторого бита
экранного сегмента ОЗУ соответствует засветка изображаемой точ-
ки, нулевому - гашение.
В псевдоцветном режиме цвет отображаемых точек зависит от
кода палитры, записанного в порт 0FCH. Старшие 4 бита значения
этого порта определяют один из 16 цветов фона (для погашенных
точек), младшие 4 бита - один из 16 цветов переднего плана (для
засвеченных точек).
Заметим, что при широком экране-0 область 0F000H..0FFFFH
экрана (не путать с системной областью 0F000H..0FFFFH) доступна
только через окно. Прямой доступ к экрану возможен только по
адресам 0C000-0EFFFH. Это относится ко всем цветовым режимам.
1.2.4. 4-ЦВЕТНЫЙ РЕЖИМ
-----------------------
В 4-цветном (2-битном) режиме цвет каждой отображаемой
точки зависит от соответствующих битов двух экранных плоскостей
(сегментов), находящихся в страницах 0 и 1 ОЗУ:
Стр.0 Стр.1
--------T-------¬
Экран 0 ->¦ 3 ¦ 7 ¦
¦=======+=======¦
Экран 1 ->¦ 2 ¦ 6 ¦
¦=======+=======¦
Экран 2 ->¦ 1 ¦ 5 ¦
¦=======+=======¦
Экран 3 ->¦ 0 ¦ 4 ¦
L-------+--------
L--¬ ----
0 0 -> черный (белый)
0 1 -> красный
1 0 -> зеленый
1 1 -> синий
1.2.5. 8-ЦВЕТНЫЙ и 16-ЦВЕТНЫЙ РЕЖИМЫ ОРИОН-ПРО
-----------------------------------------------
Это новый графический режим. Функционально он тождествен
EGA режиму на IBM PC AT (был широко распространен на 286 моде-
лях). В 8-цветном (3-битном) и 16-цветном (4-битном) режимах
для формирования отображаемой точки в каждом из двух экранов
используются соответственно 3 и 4 плоскости экранного ОЗУ:
Стр.0 Стр.1
--------T-------¬
¦ 3 (G)¦ 7 (I)¦
Экран 0 ->+-------+-------+
¦ 2 (R)¦ 6 (B)¦
¦=======+=======¦
¦ 1 (G)¦ 5 (I)¦
Экран 1 ->+-------+-------+
¦ 0 (R)¦ 4 (B)¦
L-------+--------
Сегментам 3 и 1 соответствует зеленый цвет (G), 2 и 0 -
красный (R), 6 и 4 - синий (B), 7 и 5 (в 3-битном режиме не ис-
пользуются) - управление яркостью (I).
Путем записи комбинации битов в соответствующие сегменты
экрана можно получить точку заданного цвета.
1.2.6. РЕЖИМ С ГРУППОВЫМ КОДИРОВАНИЕМ ЦВЕТА
-------------------------------------------
В 16-цветном режиме с групповым кодированием каждый из 4-х
экранов формируется из содержимого двух сегментов памяти: из
плоскости изображения (0 страница ОЗУ) и плоскости цветовых ат-
рибутов (1 страница ОЗУ), причем восьми соседним точкам плос-
кости изображения, расположенным в пределах одного байта, соот-
ветствует один байт из плоскости цветовых атрибутов.
Старшие 4 бита в байте цветового атрибута определяют цвет
фона (для погашенных точек), младшие 4 бита - цвет переднего
плана (для засвеченных точек) в пределах одного экранного бай-
та.
Стр.0 Стр.1
(изобр) (цвет)
--------T-------¬
Экран 0 ->¦ 3 ¦ 7 ¦
¦=======+=======¦
Экран 1 ->¦ 2 ¦ 6 ¦
¦=======+=======¦
Экран 2 ->¦ 1 ¦ 5 ¦
¦=======+=======¦
Экран 3 ->¦ 0 ¦ 4 ¦
L-------+--------
Для всех цветовых режимов действует ограничение на исполь-
зование широкого экрана с номером 0, описанное в П.1.2.3.
Следует помнить, что экраны аппаратно привязаны к конкрет-
ным сегментам ОЗУ, а не к окнам, т.е. отображение информации
экрана не зависит от рабочей страницы ОЗУ и включения / выклю-
чения окон.
Периферия
---------
по портам RS-232 и AY:
30H - регистр данных ВВ51 "COM1" (DD7)
31H - регистр управления ВВ51 "COM1" (DD7)
34H - регистр данных ВВ51 "COM2" (DD8)
35H - регистр управления ВВ51 "COM2" (DD8)
38H - счетчик 1 ВИ53 (DD6)
39H - счетчик 2 ВИ53 (DD6)
3AH - счетчик 3 ВИ53 (DD6)
3BH - регистр управления ВИ53 (DD6)
3EH - запись данных музыкального процессора (DD9)
3FH - чтение данных музыкального процессора (DD9)
3FH - запись номера регистра музыкального процессора (DD9)
по HDD-RTC:
50H ; dannye CMOS
51H ; adres CMOS
56H ; alxt.registr sostoqniq
56H ; registr uprawleniq
57H ; st.bajt registra dannyh
58H ; ml.bajt registra dannyh
59H ; registr o{ibok
59H ; registr swojstw
5AH ; s~et~ik seektorow
5BH ; registr sektora
5CH ; ml.bajt nom.cilindra
5DH ; st.bajt nom.cilindra
5EH ; registr golowki i ustrojstwa
5FH ; registr sostoqniq
5FH ; registr komand
70..77h - порт COM3 (БИС 16C550), коммуникация с "внешним миром";
78..7Fh - порт COM4 (БИС 16C550), резерв "для чего-нибудь ещё";
80..84h - RAM-диск 1 Мб (СОЗУ 2х512 Кб);
88..8Fh - SDHC (на МК).