Описание портов компьютера
Sinclair Profi (Profi +)
(C) Penetrator (VFHB)
В последнее время появилось много
качественных программных продуктов, ко-
торые во всю используют верхнюю память,
но не многие из них полностью бспользуют
верхнюю память компьютеров типа Profi.
Поэтому предлагаю вашему вниманию полное
описание портов данного "монстра".
Основная переферия
в длинной адресации
ВНИМАНИЕ!!! Длинная адресация действительна во всех режимах
работы компьютера.
w - Означает, что порт доступен только для записи.
r - Означает, что порт доступен только для чтения.
╔════════════════════════════════════╗
║ CPM=0/1 '& ROM 14=0/1 ║
╠══════╗═══╗═════════════════════════╣
║ DFFD ║ w ║ порт конфигурации ║
║ BFFD ║ ║ муз.сопроцессор ║
║ FFFD ║ ║ муз.сопроцессор ║
║ **** ║ ║ свободные адреса А8-А12 ║
║ 7FFD ║ w ║ стандартный порт конфи- ║
║ ║ ║ гурации ║
║ ---- ║ ║ по остальным адресам об-║
║ ║ ║ ращения запрещены ║
╚══════╩═══╩═════════════════════════╝
Основная адресация
для режима SINCLAIR
╔════════════════════════════════════╗
║ CPM=0 '& ROM 14=0 ║
╠══════╗═══╗═════════════════════════╣
║ FF ║ r ║ порт <FF> ║
║ FE ║ r ║ D0 - D4 (D5) клавиатура ║
║ ║ w ║ D3 запись на магнитофон ║
║ ║ r ║ D6 чтение с магнитофона ║
║ ║ w ║ D0 - D2 border ║
║ ║ w ║ D4 beep ║
║ FD ║ ║ см.регистры муз.проц. ║
║ FB ║ ║ свободно ║
║ F7 ║ ║ свободно ║
║ 7F ║ ║ если TRDOS=1, то ВГ93 ║
║ 5F ║ ║ иначе, TR DOS=0, ║
║ 3F ║ ║ обращение к ║
║ 1F ║ ║ ВВ55 ║
║ FF ║ w ║ ** RQ ВГ93 (TRDOS=1) ║
║ ║ ║ см. порт <FF> (TRDOS=0) ║
║ -- ║ - ║ по остальным адресам ║
║ ║ ║ обращения запрещены ║
╚══════╩═══╩═════════════════════════╝
Основная переферия
в короткой адресации
╔════════════════════════════════════╗
║ CPM=1 '& ROM 14=0 ║
╠══════╗═══╗═════════════════════════╣
║ FF ║ r ║ порт <FF> ║
║ FE ║ r ║ D0 - D4 (D5) клавиатура ║
║ ║ w ║ D3 запись на магнитофон ║
║ ║ r ║ D6 чтение с магнитофона ║
║ ║ w ║ D0 - D2 border ║
║ ║ w ║ D4 beep ║
║ FD ║ ║ см.регистры муз.проц. ║
║ FB ║ ║ свободно ║
║ F7 ║ ║ свободно ║
║ 7F ║ ║ если TRDOS=1, то ВГ93 ║
║ 5F ║ ║ иначе, TR DOS=0, ║
║ 3F ║ ║ обращение к ║
║ 1F ║ ║ ВВ55 ║
║ BF ║ w ║ ** RQ ВГ93 (TRDOS=1) ║
║ ║ ║ см.порт <FF> (TRDOS=0) ║
║ -- ║ - ║ по остальным адресам ║
║ ║ ║ обащения запрещены ║
╚══════╩═══╩═════════════════════════╝
Расширенная перефирия в короткой адресации для компьютера
Profi 2+, Profi 3+ и только для контроллера версий 4.0 и вы-
ше.
в/а - внешняя адресация
COM 1 - данный адрес относится к комуникационному порту
╔════════════════════════════════════╗
║ CPM=0 '& ROM 14=1 ║
╠══════╗═══╗═════════════════════════╣
║ FF ║ r ║ порт <FF> ║
║ FE ║ r ║ D0 - D4 (D5) клавиатура ║
║ ║ w ║ D3 запись на магнитофон ║
║ ║ r ║ D6 чтение с магнитофона ║
║ ║ w ║ D0 - D2 border ║
║ ║ w ║ D4 beep ║
║ FD ║ ║ см.регистры муз.проц. ║
║ FB ║ ║ модем "Condor" (в/а) ║
║ F7 ║ ║ таймер ВИ53/2 (в/а) ║
║ F3 ║ ║ порт ВВ51 (COM 1) ║
║ EF ║ ║ порт ВИ53/1 (COM 1) ║
║ EB ║ ║ порт IDE ║
║ E7 ║ ║ порт ВВ55 ║
║ E3 ║ ║ регистр ВГ93 ║
║ DF ║ w ║ часы <AS> ║
║ DB ║ ║ Модем "Condor" (в/а) ║
║ D7 ║ ║ таймер ВИ53/2 (в/а) ║
║ D3 ║ ║ порт ВВ51 (COM 1) ║
║ CF ║ ║ порт ВИ53/1 (COM 1) ║
║ CB ║ ║ порт IDE ║
║ C7 ║ ║ порт ВВ55 ║
║ C3 ║ ║ регистр ВГ93 ║
║ BF ║ ║ часы <DS> ║
║ BB ║ ║ Модем "Condor" (в/а) ║
║ B3 ║ ║ регистр управления ║
║ AF ║ ║ порт ВИ53/1 (COM 1) ║
║ AB ║ ║ порт IDE ║
║ A7 ║ ║ порт ВВ55 ║
║ A3 ║ ║ регистр ВГ93 ║
║ 9F ║ ║ часы <AS> ║
║ 9B ║ ║ Модем "Condor" (в/а) ║
║ 97 ║ ║ таймер ВИ53/2 (в/а) ║
║ 93 ║ ║ регистр управления ║
║ 8F ║ ║ порт ВИ53/1 (COM 1) ║
║ 8B ║ ║ порт IDE ║
║ 87 ║ ║ порт ВВ55 ║
║ 83 ║ ║ регистр ВГ93 ║
║ 7F ║ ║ свободно ║
║ 7B ║ ║ свободно ║
║ 77 ║ ║ свободно ║
║ 6F ║ ║ свободно ║
║ 5F ║ ║ свободно ║
║ 3F ║ ║ регистр ВГ93 ║
║ -- ║ - ║ по остальным адресам ║
║ ║ ║ обащения запрещены ║
╚══════╩═══╩═════════════════════════╝
Значения порта CMR1
╔═════╦═══════╦════════════════════════╗
║ D0 ║ SEGA3 ║ номер проецируемой ║
║ D1 ║ SEGA4 ║ страницы памяти ║
║ D2 ║ SEGA5 ║ (строка) ║
╠═════╬═══════╬════════════════════════╣
║ D3 ║ SCO ║ выбор положения окна ║
║ ║ ║ проецирования сегментов║
║ ║ ║ CPU: ║
║ ║ ║ "0"-окно #1 (C000-FFFF)║
║ ║ ║ "1"-окно #2 (4000-7FFF)║
╠═════╬═══════╬════════════════════════╣
║ D4 ║ NOROM ║ "1"-отключает блокиров-║
║ ║ ║ ку порта CMR0 и выклю-║
║ ║ ║ чает ПЗУ помещая на его║
║ ║ ║ место ОЗУ из SEG00 ║
╠═════╬═══════╬════════════════════════╣
║ D5 ║ CP/M ║ "1"-блокирует работу ║
║ ║ ║ контроллера из ПЗУ ║
║ ║ ║ TR-DOS и включает порты║
║ ║ ║ контроллера на доступ ║
║ ║ ║ из ОЗУ (при ROM14=0). ║
║ ║ ║ при ROM14=1-модифициру-║
║ ║ ║ ется доступ к расширен-║
║ ║ ║ ной памяти ║
╠═════╬═══════╬════════════════════════╣
║ D6 ║ SCR ║ проецирует дополнитель-║
║ ║ ║ ный экран SEG06 в карту║
║ ║ ║ памяти процессора на ║
║ ║ ║ место SEG02 при этом║
║ ║ ║ бит D3 порта CMR0 дол-║
║ ║ ║ жен быть в "1" ║
║ ║ ║ (8000-BFFF) ║
╠═════╬═══════╬════════════════════════╣
║ *D7 ║ 80DS ║ "0"-<SPECTRUM> растр ║
║ ║ ║ (видеоконтроллер разво-║
║ ║ ║ рачивает SEG05) ║
║ ║ ║ "1"-расширенный растр ║
║ ║ ║ (SEG06 и SEG3A) ║
╚═════╩═══════╩════════════════════════╝
Значение разрядов порта CMR0
╔═════╦═══════╦════════════════════════╗
║ D0 ║ SEGA3 ║ номер проецируемой ║
║ D1 ║ SEGA4 ║ страницы памяти ║
║ D2 ║ SEGA5 ║ (столбец) ║
╠═════╬═══════╬════════════════════════╣
║ D3 ║ PLEKR ║ выбор положения растра ║
║ ║ ║ экрана <SPECTRUM> ║
║ ║ ║ "0"-SEG05 ║
║ ║ ║ "1"-SEG07(при 80DS=0) ║
║ ║ ║ выбор положения растра ║
║ ║ ║ экрана CP/M ║
║ ║ ║ "0"-экран точек SEG04 ║
║ ║ ║ атрибуты SEG38 ║
║ ║ ║ "1"-экран точек SEG06 ║
║ ║ ║ атрибуты SEG3A ║
╠═════╬═══════╬════════════════════════╣
║ D4 ║ ROM14 ║ переключает страницы ║
║ ║ ║ ПЗУ <SPECTRUM> ║
║ ║ ║ "0"-SPECTRUM 128 ║
║ ║ ║ "1"-SPECTRUM 48(CP/M=0)║
║ ║ ║ модификатор внешних ║
║ ║ ║ устройств (CP/M=1) ║
╠═════╬═══════╬════════════════════════╣
║ *D5 ║ BLOCK ║ блокирует работу порта ║
║ ║ ║ CMR0 (OROM=0) ║
╠═════╬═══════╬════════════════════════╣
║ D6 ║ ----- ║ не используется ║
║ D7 ║ ----- ║ не используется ║
╚═════╩═══════╩════════════════════════╝
* В режиме CP/M одновременно выставленные сигналы 80DS=1 и
BLOCK разрешают доступ к регистрам палитры расположенным
по адресам 0FEH.
Карта адресации процессора
╔════════════════════════════════╗
║Окно проецирования 1 (C000-FFFF)║
║Сегмент 02 (8000-BFFF)║
║Окно проецирования 2 (4000-7FFF)║
║Сегмент 00 (0000-3FFF)║
╚════════════════════════════════╝
Карта адресации ОЗУ
╔════╦═══════════╦════╦═════════════╗
║ 00 ║ сегмент ║ 08 ║ сегмент доп.║
║ ║ программ ║ ║ памяти ║
╠════╬═══════════╬════╬═════════════╣
║ 01 ║ сегмент ║ 09 ║ сегмент доп.║
║ ║ программ ║ ║ памяти ║
╠════╬═══════════╬════╬═════════════╣
║ 02 ║ сегмент ║ 0A ║ сегмент доп.║
║ ║ программ ║ ║ памяти ║
╠════╬═══════════╬════╬═════════════╣
║ 03 ║ сегмент ║ -- ║ сегмент доп.║
║ ║ драйверов ║ ║ памяти ║
╠════╬═══════════╬════╬═════════════╣
║ 04 ║ сегмент ║ 3A ║сигмент экра-║
║ ║ драйверов ║ ║ на атрибутов║
║ ║ ║ ║точек 512х240║
╠════╬═══════════╬════╬═════════════╣
║ 05 ║ сегмент ║ -- ║ сегмент доп.║
║ ║ драйверов ║ ║ памяти ║
╠════╬═══════════╬════╬═════════════╣
║ 06 ║ сегмент ║ 3E ║ сегмент доп.║
║ ║ экрана ║ ║ памяти ║
║ ║ 512 х 240 ║ ║ ║
╠════╬═══════════╬════╬═════════════╣
║ 07 ║ сегмент ║ 3F ║ сегмент доп.║
║ 07 ║ SP DOS ║ ║ памяти ║
╚════╩═══════════╩════╩═════════════╝
И напоследок... У кого есть,
что нибудь интересненькое
(необычненькое), плиз врайт на
адрес редакции.
to be continued..