# 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`