64ce6339eb
- docs/new/ — сводные справочники (архитектура, BIOS, DSS, память, графика, акселератор, IRQ, порты, ввод, звук, известные баги); - docs/Original/ — первоисточники, из которых они собраны (BIOS, Estex DSS, мануалы, описание акселератора), + Форум.doc/.docx в reference; - libbgi/common/gfx_scroll_h.c — обход бага скролла при ширине >256 (правка автора: шаг банды 255 и продвижение указателей на cw; старый вариант с 256 оставлен закомментированным с TODO); - удалён applications/PoP/roomtest/hang_variants.png — рабочая раскладка из разбора позы виса, в репозитории ей не место. Большие архивы (docs/extra ~568 МБ, docs/sources с вложенными git-репо ~68 МБ) в коммит НЕ включены — см. обсуждение. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
104 lines
4.7 KiB
Markdown
104 lines
4.7 KiB
Markdown
# 11. Карта портов
|
||
|
||
## 11.1 Системные порты Z84C15 (внутренние)
|
||
|
||
Эти адреса изменить невозможно — находятся вне ППЛМ [IvanMak.txt:869–870].
|
||
|
||
| Порт | Назначение | Доступ |
|
||
|------|-----------|--------|
|
||
| `#10` | SIO A data / CTC channel 0 | R/W |
|
||
| `#11` | SIO A control / CTC channel 1 | R/W |
|
||
| `#12` | SIO B data / CTC channel 2 | R/W |
|
||
| `#13` | SIO B control / CTC channel 3 | R/W |
|
||
| `#14` | PIO A data | R/W |
|
||
| `#15` | PIO A control | R/W |
|
||
| `#16` | PIO B data | R/W |
|
||
| `#17` | PIO B control | R/W |
|
||
| `#18` | SIO data channel A (клавиатура) | R/W |
|
||
| `#19` | SIO control channel A (статус клавиатуры) | R/W |
|
||
| `#1A` | SIO data channel B (мышь) | R/W |
|
||
| `#1B` | SIO control channel B (мышь) | R/W |
|
||
| `#1E` | PIO B бит 0 — IRQ от ISA | R |
|
||
| `#1F` | PIO B + джойстик (Kempston) | R/W |
|
||
| `#EE` | CTC channel 2 (альтернативный) | R/W |
|
||
| `#EF` | CTC channel 3 (альтернативный) | R/W |
|
||
| `#F0` | CTC channel 0 (альтернативный) | R/W |
|
||
| `#F1` | CTC channel 1 (альтернативный) | R/W |
|
||
| `#F4` | CTC — альтернативный доступ | |
|
||
|
||
## 11.2 Управление памятью
|
||
|
||
| Порт | Назначение | Источник |
|
||
|------|-----------|----------|
|
||
| `#7FFD` | Основной: W3 page (0–2), RAM/ROM select, lock | IvanMak.txt:1343 |
|
||
| `#1FFD` | Расширенный: W0 page (0–2), turbo, extended RAM, VRAM segment | IvanMak.txt:1345 |
|
||
| `#DFFD` | W1 page select (Pentagon-512) | IvanMak.txt:1346 |
|
||
| `#EFF7` | W2 page select (Pentagon-512) | IvanMak.txt:1346 |
|
||
| `#82` | W0 page (PAGE0) — всегда доступен | IvanMak.txt:1348 |
|
||
| `#A2` | W1 page (PAGE1) — всегда доступен | IvanMak.txt:1348 |
|
||
| `#C2` | W2 page (PAGE2) — всегда доступен | IvanMak.txt:1348 |
|
||
| `#E2` | W3 page (PAGE3) — всегда доступен | IvanMak.txt:1348 |
|
||
|
||
## 11.3 Видео
|
||
|
||
| Порт | Назначение | Источник |
|
||
|------|-----------|----------|
|
||
| `#89` | RGADR (PORT_Y) — номер строки/блока видео-ОЗУ | IvanMak.txt:1349 |
|
||
| `#C9` | RGMOD — страница режима экрана (бит 0: 0/1) | IvanMak.txt:1350 |
|
||
|
||
## 11.4 Управление конфигурацией/прошивкой
|
||
|
||
| Порт | Назначение | Источник |
|
||
|------|-----------|----------|
|
||
| `#FB` | Включение КЭШ-ОЗУ (IN), COVOX data | IvanMak.txt:1351 |
|
||
| `#7B` | Выключение КЭШ-ОЗУ (IN) | Parinov.txt:598 |
|
||
|
||
## 11.5 Дисковая подсистема
|
||
|
||
| Порт | Назначение | Источник |
|
||
|------|-----------|----------|
|
||
| `#0F` | ВГ93 Command/Status (после ремапинга #1F → #0F) | IvanMak.txt:1270 |
|
||
| `#1F` | ВГ93 Command/Status (оригинал, ремапится) | IvanMak.txt:1344 |
|
||
| `#3F` | ВГ93 Track register | IvanMak.txt:1271 |
|
||
| `#5F` | ВГ93 Sector register | IvanMak.txt:1272 |
|
||
| `#7F` | ВГ93 Data register | IvanMak.txt:1273 |
|
||
| `#FF` | ВГ93 Drive Control (write); IRQ/джойстик (read) | IvanMak.txt:1274 |
|
||
| `#BD` | Переключение режима FDD (720K/1.44M) | IvanMak.txt:1347 |
|
||
| `xx50` | IDE Data | Parinov.txt:958 |
|
||
| `xx51` | IDE Error/Features | Parinov.txt:958 |
|
||
| `xx52` | IDE Sector Count | Parinov.txt:958 |
|
||
| `xx53` | IDE Sector Number | Parinov.txt:958 |
|
||
| `xx54` | IDE Cylinder Low | Parinov.txt:958 |
|
||
| `xx55` | IDE Cylinder High | Parinov.txt:958 |
|
||
| `4052h` (R) / `4152h` (W) | IDE Device/Head | Parinov.txt:959 |
|
||
| `4053h` (R) / `4153h` (W) | IDE Status/Command | Parinov.txt:959 |
|
||
| `FFBD` | CMOS data read | BIOS_v3.txt:308 |
|
||
| `BFBD` | CMOS data write | BIOS_v3.txt:308 |
|
||
| `DFBD` | CMOS address write | BIOS_v3.txt:308 |
|
||
|
||
## 11.6 Звук
|
||
|
||
| Порт | Назначение | Источник |
|
||
|------|-----------|----------|
|
||
| `#FB` | COVOX data (also КЭШ-ОЗУ enable) | IvanMak.txt:642 |
|
||
| `#4F` | COVOX/CBL data | IvanMak.txt:642 |
|
||
| `#4E` | CBL control (8/16-bit — см. `10-sound.md §9.4.2`) | IvanMak.txt:662, Parinov.txt:692 |
|
||
|
||
## 11.7 Джойстик и системные
|
||
|
||
| Порт | Назначение | Источник |
|
||
|------|-----------|----------|
|
||
| `#FE` | ZX-клавиатурная матрица, бипер, CBL статус | IvanMak.txt:1344 |
|
||
| `#1F` | Джойстик (Kempston) / PIO B | IvanMak.txt:1344 |
|
||
|
||
## 11.8 Кросс-ссылки
|
||
|
||
- BIOS-функции: `02-bios.md`
|
||
- DSS-функции: `03-dss.md`
|
||
- Управление памятью: `04-memory.md`
|
||
- Звук (AY, COVOX, CBL): `10-sound.md`
|
||
- Видео/палитра: `05-graphics.md`
|
||
- Прерывания: `07-irq.md`
|
||
- Детали I/O: `08-io.md`
|
||
- Баги: `12-bugs.md`
|