Система - Персональный компьютер АТМ-ТURBO 2+ : Техническое описание и руководство программиста: Системный порт, Мультиплексор страниц.
╔══════════════════════════════════════════════════════════════╗
│ СИСТЕМА │
╚══════════════════════════════════════════════════════════════╝
(C) MicroArt
(C) MaxSoft 1995
Персональный компьютер TURBO 2+
Платы версии 7.00-7.10
Техническое описание и руководство программиста.
Структура памяти и портов ввода вывода.
1. Системный порт
Адрес доступа: #77
Выборка:A0=1,A1=1,A2=1,A3=0,A4=1,A7=0,WR=0
Обращение к этому порту осуществляется в режиме dosen=on или
из режима CP/M.
D0 - RG0 \
D1 - RG1 - код видеорежима
D2 - RG2 /
D3 - TUR Частота процессора 1-7MHz 0-3.5MHz
D4 - Z_M зарезервировано - необходимо устанавливать в 0
D5 - Z_I прерывания от HSYNC (50 гц) 1-разрешены 0- запрещены
D6 - VE1 1-запрет функционирования 8031 (все запросы идут к zx
клавиатуре)
D7 - VE0 в плате 7.10 не используется (по умолчанию необходимо
устанавливать в 1)
A8 - PEN 0 - откл. диспетчера памяти (системное пзу включается
во все окна), 1 - вкл. диспетчера памяти.
A9 - CPM 0 - включение dosen разрешение записи в порт
страниц,SYS ets. 1 - блокировка dosen (запись в порты
sys,pgwr,fdd,hdd только из TR-DOS)
A14- PEN2 0 - разрешение записи палитры,1 -запрет записи палитры
; Видеорежимы экрана RG2&RG1&RG0
;Sinclair 3
;640x200 GRAPH 2
;320x200 GRAPH 0
;640x200 Text 6
Программистам необходимо помнить, что при переключении из
режима Sinclair экрана и экранов высокого разрешения, перепуты-
вается адресное пространство озу а именно A5,A6,A7 и A8,A9,A10
соответственно т.е. если вы хотите переключить режим экрана -
программа переключения должна занимать не более 32 байт и распо-
лагаться по адресу с одинаковыми A5,A6,A7 и A8,A9,A10 соответ-
ственно, иначе ваша программа зависнет!
2. Мультиплексор страниц
Адрес доступа: #F7
Выборка:A0=1,A1=1,A2=1,A3=0,A4=1,A7=1,WR=0
Обращение к этому порту осуществляется в режиме dosen-active
или из режима CPM. Применение диспетчера позволило адресовать в
компьютере до 1024кб RAM и 1024кб ROM. При этом есть возмож-
ность включить _ЛЮБУЮ_ страницу памяти (16кб) в _ЛЮБОЕ_ из четы-
рех окон памяти (с адреса: #0000,#4000,#8000,#C000) по 16кб.
Диспетчер разделен на две части по 4 байта каждая. Эти части со-
держат карту страниц при ROM2=0 и при ROM2=1.
D0 - RAM&ROM invert PAGE 0\
D1 - RAM&ROM invert PAGE 1 \
D2 - RAM&ROM invert PAGE 2 \инверсный номер страницы
D3 - RAM&ROM invert PAGE 3 /
D4 - RAM&ROM invert PAGE 4 /
D5 - RAM&ROM invert PAGE 5/
D6 - RAM/ROM 1-разрешение RAM,0-ROM
D7 - MX_A 1-разрешить подачу сигналов (PAGE0-PAGE2) от порта
#7FFD
A14 - window sel 0\ выборка окна 0-#0000 1-#4000 2-#8000
A15 - window sel 1/ 3-#C000
Cтандартная карта распределения памяти в различных режимах
работы компьютера:
┌─────┬────────────┬───────────┬────────┬──────────┬─────────┐
│mode │Spectrum-128│Spectrum-48│ TR-DOS │CPM-system│CPM-users│
│roms │ ROM2=1 │ ROM2=0 │ ROM2=x │ ROM2=1 │ ROM2=0 │
├─────┼────────────┼───────────┼────────┼──────────┼─────────┤
│#0000│ ROM-#3E │ ROM-#3C │ ROM-#3D│ ROM-#3F │ RAM-0 │
│#4000│ RAM-5 │ RAM-5 │ RAM-5 │ RAM-5 │ RAM-4 │
│#8000│ RAM-2 │ RAM-2 │ RAM-2 │ RAM-2 │ RAM-2 │
│#C000│ см. состояние порта #7FFD │RAM-1или 3│ RAM-3 │
└─────┴────────────┴───────────┴────────┴──────────┴─────────┘
В режиме ZX-SPECTRUM в окне с адреса #C000 может быть включена
любая страница с 0 по 7 (это зависит от cостояния порта #7FFD)
CPM-system -режим когда активно пзу с монитором (работа с экра-
ном стандартные процедуры ввода/вывода с дисков,оп-
рос клавиатуры, прерывания)
CPM-users -режим когда активна программа пользователя
(в окне 0 - страница 0 озу)
Примечание для любителей использовать все 1024к оперативки в
SPECTRUM режиме.
Ниже приводится стандартная процедура переключения страниц 1024
к для SPECTRUM.
При вызове в A номер страницы 0-3FH (необходимо помнить что
стек и вызывающая программа не должны находится в адресах выше
#C000)
SET_PAGE:
PUSH AF
AND 7 ;выделяем младшие 3 бита
OR #10 ;по усмотрению можно выбрать пзу и экран.
LD BC,#7FFD
OUT (C),A
POP AF
AND #38 ;маскируем все биты кроме 3х старших
CPL ;инверсия данных
;(бит выборки озу взводится)
LD BC,#2A53 ;в TR-DOS - OUT (C),A RET
PUSH BC
LD BC,#FFF7
JP #3D2F ;переход в TR-DOS
После любой подобной команды порт #7FFD отключается.
Если вы хотите корректно вернутся в SPECTRUM режим - выполните:
EXIT_1024:
LD A,#FF
LD BC,#2A53
PUSH BC
LD BC,#FFF7
JP #3D2F
дальнейшее управление страницами как обычно по порту #7FFD
────────────────────────────────
И это еще далеко не все... Продолжение в следующих номерах.
Другие статьи номера:
|
|
|
|
|
|
|
|
|
|
|
|
Система - Персональный компьютер АТМ-ТURBO 2+ : Техническое описание и руководство программиста: Системный порт, Мультиплексор страниц.
|