2.8.5. Р е г и с т р ы с т а т у с а и р е г и с т р ы к о м а н д Р е г и с т р с т а т у с а с н о м е р о м 1. ───────────────────────────────────────────────── Номера битов 7 6 5 4 3 2 1 0 ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ │ FL │ LPS │ В е р с и я MSX-VIDEO │ FH │ └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ Кратко расскажем Вам о назначении каждого бита. FL: флаг светового пера (флаг светового пера установлен). Если световым пером определены координаты точки на экране, то этот бит (FL),также как и бит IE2, должен быть установлен для возможности прерывания. Обычно при считывании регистра статуса с номером 1 значение бита FL сбрасывается. Если же второй переключатель "мыши" нажат, то при считыва- нии регистра статуса с номером 1 значение бита FL не сбрасывается; LPS: переключатель светового пера (установка флага светового пера). На- жат переключатель светового пера. В этом случае при считывании регистра статуса с номером 1 значение бита LPS не сбрасывается. Переключатель "мы- ши" 1 (флаг "мыши" установлен). Первый переключатель "мыши" нажат. В этом случае при считывании регистра статуса с номером 1 значение бита LPS не сбрасывается. FH: флаг прерывания от горизонтального сканирования (который устанавлива- ется в регистре с номером 19). Если бит IE1 установлен, то возможно преры- вание. При считывании регистра статуса с номером 1 значение бита FH сбра- сывается. Р е г и с т р с т а т у с а с н о м е р о м 2. ──────────────────────────────────────────────────── Номера битов 7 6 5 4 3 2 1 0 ┌────┬────┬────┬────┬────┬────┬────┬────┐ │ TR │ VR │ HR │ BD │ 1 │ 1 │ EО │ CE │ └────┴────┴────┴────┴────┴────┴────┴────┘ TR: флаг готовности пересылки. Когда центральный процессор посылает ко- манды в видеопамять и другие устройства, он проверяет этот флаг во время передачи данных. Передача может быть осуществлена, если этот флаг установ- лен в 1. VR: флаг синхронизации вертикального сканирования. Во время вертикально- го сканирования этот флаг установлен в 1. HR: флаг синхронизации горизонтального сканирования. Во время горизонта- льного сканирования этот флаг установлен в 1. BD: флаг обнаружения цвета границы. При выполнении команды поиска (одна из команд видеопроцессора) этот флаг определяет, был ли обнаружен цвет границы. ЕО: флаг поля отображения: 0 - отображается первое поле. 1 - отображается второе поле. CE: флаг выполнения команды. Он указывает, что в настоящее время выполня- ется команда видеопроцессора. Р е г и с т р ы с т а т у с а с н о м е р а м и 3, 4, 5, 6. ────────────────────────────────────────────────────────────── Эти регистры предназначены для указания координат столкновения спрай- тов, координат местонахождения светового пера и координат относительного смещения "мыши". Заметим, что при считывании содержимого регистра статуса с номером 5 содержимое регистров статуса с номерами 3,4,5 сбрасывается. Номера битов 7 6 5 4 3 2 1 0 ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Регистр статуса 3 │ X7 │ X6 │ X5 │ X4 │ X3 │ X2 │ X1 │ X0 │ └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Регистр статуса 4 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ X8 │ └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Регистр статуса 5 │ Y7 │ Y6 │ Y5 │ Y4 │ Y3 │ Y2 │ Y1 │ Y0 │ └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Регистр статуса 6 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ Y8 │ └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ Значения, содержащиеся в регистрах состояния с номерами 3,4,5 будут оп- ределять координаты смещения в соответствии с формулами: Х(содержимое регистра статуса 5, содержимое регистра статуса 3) Y(содержимое регистра статуса 5, содержимое регистра статуса 5). Координаты столкновения спрайтов легко находятся по формулам: XC = X/12 , YC = Y/8 Р е г и с т р с т а т у с а н о м е р 7 (регистр цвета). ─────────────────────────────────────────────────────────── Этот регистр используется в том случае, когда выполняется команда ви- деопроцессора POINT или команды видеопроцессора типа "VRAM - to CPU". Данные из VRAM размещаются в этом регистре. Р е г и с т р ы с т а т у с а с н о м е р а м и 8 и 9. ─────────────────────────────────────────────────────────── В эти регистры помещается значение координаты Х в случае,когда выполня- ется команда поиска SRCH (см.Приложение 2,раздел 8.3.10) и обнаружен цвет бордюра. Номера битов 7 6 5 4 3 2 1 0 ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Регистр статуса 8 │ BX7 │ BX6 │ BX5 │ BX4 │ BX3 │ BX2 │ BX1 │ BX0 │ (координата X гра- └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ ницы (младшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Регистр статуса 9 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ BX8 │ (координата X гра- └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ ницы (старшая часть)) Р е г и с т р ы к о м а н д Следующие регистры команд используются при выполнении команд видеопро- цессора. Работа с ними описана в Приложении 2, раздел 8.3 . Номера битов 7 6 5 4 3 2 1 0 ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 32 │ X7 │ X6 │ X5 │ X4 │ X3 │ X2 │ X1 │ X0 │ (регистр исходной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ динаты X (младшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 33 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ SX8 │ (регистр исходной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ динаты X (старшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 34 │ SY7 │ SY6 │ SY5 │ SY4 │ SY3 │ SY2 │ SY1 │ SY0 │ (регистр исходной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ динаты Y (младшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 35 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ SY9 │ SY8 │ (регистр исходной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ динаты Y (старшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 36 │ DX7 │ DX6 │ DX5 │ DX4 │ DX3 │ DX2 │ DX1 │ DX0 │ (регистр конечной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ динаты X (младшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 37 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ DX8 │ (регистр конечной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ динаты X (старшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 38 │ DY7 │ DY6 │ DY5 │ DY4 │ DY3 │ DY2 │ DY1 │ DY0 │ (регистр конечной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ динаты Y (младшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 39 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ DY9 │ DY8 │ (регистр конечной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ динаты Y (старшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 40 │ NX7 │ NX6 │ NX5 │ NX4 │ NX3 │ NX2 │ NX1 │ NX0 │ (количество точек по X └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ координате (младшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 41 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ NX8 │ (количество точек по X └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ координате (старшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 42 │ NY7 │ NY6 │ NY5 │ NY4 │ NY3 │ NY2 │ NY1 │ NY0 │ (количество точек по Y └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ координате (младшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 43 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ NY9 │ NY8 │ (количество точек по Y └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ координате (старшая часть)) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 44 │ CH3 │ CH2 │ CH1 │ CH0 │ CL3 │ CL2 │ CL1 │ CL0 │ (регистр цвета) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 45 │ 0 │ MXC │ MXD │ MXS │ DIY │ DIX │ EQ │ MAJ │ (регистр аргумента) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ Р е г и с т р 46 │ CM3 │ CM2 │ CM1 │ CM0 │ LO3 │ LO2 │ LO1 │ LO0 │ (регистр команды) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘