Карта портов ZX Spectrum
Материал из SpeccyWiki
Ниже даны "официальные" адреса портов. Однако, из-за упрощённой дешифрации адресов, применявшейся в большинстве устройств, их порты могут быть доступны и по другим адресам, и в ряде случаев конфликтовать между собой.
Содержание
Порты стандартного ZX Spectrum
- #FE - клавиатура, цвет бордюра, бипер, магнитофон
- #7FFE - полуряд Space...B
- #BFFE - полуряд Enter...H
- #DFFE - полуряд P...Y
- #EFFE - полуряд 0...6
- #F7FE - полуряд 1...5
- #FBFE - полуряд Q...T
- #FDFE - полуряд A...G
- #FEFE - полуряд CS...V
- #FF - порт атрибутов
Порты ZX Spectrum 128K
- #1FFD - управление конфигурацией компьютера для моделей +2A/+3
- #7FFD - управление конфигурацией компьютера для любых 128K моделей
- #FFFD - регистр адреса AY-3-8910
- #BFFD - регистр данных AY-3-8910
Зарубежная периферия
- #07 - порт синтезатора речи Cheetah Sweet Talker
- #1F - порт Kempston-джойстика
- #3F - Fuller Box, регистр AY-3-8912
- #5F - Fuller Box, данные AY-3-8912
- #7F - Fuller Box, порт джойстика
- #7B - интерфейс для подключения принтера ZX Lprint III
- #DF - данные для ЦАП ударной машины Cheetah SpecDrum
- #FADF - Kempston mouse, состояние кнопок
- #FBDF - Kempston mouse, X-координата
- #FFDF - Kempston mouse, Y-координата
- #E7 - ZX Interface 1, данные для микродрайва
- #EF - ZX Interface 1, управление RS232 и сеть
- #F7 - ZX Interface 1, управление RS232 и сеть
- #FB - интерфейс для подключения принтера ZX Lprint III
Зарубежные доработки
Beta Disk Interface
Все порты - теневые, доступны только из ПЗУ TR-DOS.
- #1F - регистр команд КР1818ВГ93
- #3F - регистр дорожки КР1818ВГ93
- #5F - регистр сектора КР1818ВГ93
- #7F - регистр данных КР1818ВГ93
- #FF - системный порт BDI
Дисковый интерфейс PlusD
Port In Out Notes --------------------------------------------------------------------------- E3h FDC status FDC command See also section 13 EBh track register track F3h sector regist. sector register FBh data register data register EFh b0/b1 -- drive select b2 -- -- b3 -- -- b4 -- -- b5 -- ext. select (?) b6 -- printer STROBE b7 -- side select E7h mem. page in memory page out (***) F7h b0/b6 -- printer data (8 bits) b7 PRN BUSY
Дисковый интерфейс D40/80
0081 FDCCR equ 81h ;register pre prikazy radica 0083 FDCTR equ 83h ;register stopy 0085 FDCSR equ 85h ;register status - flagy operacii 0087 FDCDR equ 87h ;register pre prenos dat 0089 SELECT equ 89h ;port motorov a LED drivov 0097 DIS55 equ 97h ;Hlavne blokovanie 8255 0099 EN55 equ 99h ;Vseobecne blokovanie 8255 007F CWR55 equ 7fh 005F C55 equ 5fh 0083 MSR EQU 83h ;fdc status 0087 FDD EQU 87h ;fdc data 008F FOR EQU 8fh ;fdc operation register
Дисковый интерфейс DivIDE
xxxx xxxx 1010 0011, 0a3h, 163 - DATA REGISTER (R/W) xxxx xxxx 1010 0111, 0a7h, 167 - ERROR REGISTER (R) / FEATURES REGISTER (W) xxxx xxxx 1010 1011, 0abh, 171 - SECTOR COUNT (R/W) xxxx xxxx 1010 1111, 0afh, 175 - SECTOR NUMBER or LBA bits 0..7 (R/W) xxxx xxxx 1011 0011, 0b3h, 179 - CYLINDER LOW or LBA bits 8..15 (R/W) (пересекается с General Sound) xxxx xxxx 1011 0111, 0b7h, 183 - CYLINDER HIGH or LBA bits 16..23 (R/W) (пересекается с XTR-modem) xxxx xxxx 1011 1011, 0bbh, 187 - DRIVE/HEAD or LBA bits 24..28 (R/W) (пересекается с General Sound) xxxx xxxx 1011 1111, 0bfh, 191 - STATUS REGISTER (R) / COMMAND REGISTER (W) xxxx xxxx 1110 0011, 0e3h, 227 - divIDE Control Register (Write Only)
Дисковый интерфейс MB02
desítkově | šestnáctkově | dekódování | význam |
3 | 03 | 0xx00011 | obvod RTC |
7 | 07 | 0xx00111 | IDE pevný disk |
11 | 0B | 0xx01011 | DMA |
15 | 0F | 00001111 | řadič disketové jednotky WD2797 |
19 | 13 | 0xx10011 | výběr aktivní disketové jednotky, ovládání motorů, stav disketové jednotky |
23 | 17 | 0xx10111 | stránkování paměti |
47 | 2F | 00101111 | řadič disketové jednotky WD2797 |
79 | 4F | 01001111 | řadič disketové jednotky WD2797 |
111 | 6F | 01101111 | řadič disketové jednotky WD2797 |
31 | 1F | 00011111 | první paralelní port 8255 |
63 | 3F | 00111111 | první paralelní port 8255 |
95 | 5F | 01011111 | první paralelní port 8255 |
127 | 7F | 01111111 | první paralelní port 8255 |
27 | 1B | 00011011 | druhý paralelní port 8255 |
59 | 3B | 00111011 | druhý paralelní port 8255 |
91 | 5B | 01011011 | druhý paralelní port 8255 |
123 | 7B | 01111011 | druhý paralelní port 8255 |
При наличии интерфейса ZX-IDE:
desítkově | šestnáctkově | dekódování | význam |
163 | A3 | 00011111 | datový registr |
167 | A7 | 00111111 | registr parametrů |
171 | AB | 01011111 | registr sektorů |
175 | AF | 01111111 | registr prvního sektoru |
179 | B3 | 00011011 | nižší byte registru cylindru |
183 | B7 | 00111011 | vyšší byte registru cylindru |
187 | BB | 01011011 | registr hlavy |
191 | BF | 01111011 | příkazový/stavový registr |
Отечественная периферия
- #0F - SounDrive, канал A
- #1F - SounDrive, канал B
- #4F - SounDrive, канал C
- #5F - SounDrive, канал D
- #3F - один из двух каналов Profi Covox (второй - #5F?)
- #B3 - регистр данных General Sound
- #B7 - XTR-modem
- #BB - регистр команд и статуса General Sound
- #DD - порт Covox на компьютере Scorpion?
- #1FFD - управление конфигурацией компьютера Scorpion
- #7FFD - управление конфигурацией компьютера Pentagon
- #BFF7 - регистр данных часов реального времени
- #DFF7 - регистр адреса часов реального времени
- #DFFD - управление конфигурацией компьютера Profi
- #EFF7 - управление ресурсами Pentagon 1024
- #FDFD - управление конфигурацией компьютера ATM Turbo
- #FB - стандартный порт Covox
Порты Nemo IDE:
+----+---------------------------+----------------------------+ | | in | out | +----+---------------------------+----------------------------+ |#11 | Регистр данных D8-D15 | Регистр данных D8-D15 | |#10 | Регистр данных D0-D7 | Регистр данных D0-D7 | |#30 | Регистр ошибок | Регистр предкомпенсации (*)| |#50 | Регистр счетчика секторов | Регистр счетчика секторов | |#70 | Регистр номера сектора | Регистр номера сектора | |#90 | Регистр номера цилиндра | Регистр номера цилиндра | (конфликтует с GMX[5]) | | (low) | (low) | |#B0 | Регистр номера цилиндра | Регистр номера цилиндра | | | (high) | (high) | |#D0 | Регистр накопителя/головки| Регистр накопителя/головки | |#F0 | Регистр состояния | Регистр команд | +----+---------------------------+----------------------------+ |#C8 | Регистр альтернативного | Управление состоянием нако-| | | состояния | пителя | +----+---------------------------+----------------------------+