Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:basic_dialogue_programming_language:208 [2023-02-19 19:58] GreyWolf [2.8.3.10. Команда SRCH] |
msx:basic_dialogue_programming_language:208 [2023-02-19 21:22] (текущий) GreyWolf |
||
---|---|---|---|
Строка 1830: | Строка 1830: | ||
</code>(базовая координата Y для поиска (старшая часть))| | </code>(базовая координата Y для поиска (старшая часть))| | ||
</WRAP> | </WRAP> | ||
- | * <WRAP>γ) CLR: данные о к о д е ц в е т а г р а н и ц ы для поиска. | + | * <WRAP>γ) CLR: данные о //коде цвета границы// для поиска. |
- | Р е ж и м ы SCREEN 5 и SCREEN 7 | + | |//Режимы// SCREEN 5 и SCREEN 7|| |
- | Номера битов 7 6 5 4 3 2 1 0 | + | |//Регистр// 44|<code> |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | Номера битов |
- | Р е г и с т р 44 │ 0 │ 0 │ 0 │ 0 │ C3 │ C2 │ C1 │ C0 │ | + | 7 6 5 4 3 2 1 0 |
- | (регистр цвета) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | Р е ж и м SCREEN 6 | + | │ 0 │ 0 │ 0 │ 0 │ C3 │ C2 │ C1 │ C0 │ |
- | Номера битов 7 6 5 4 3 2 1 0 | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | </code>(регистр цвета)| |
- | Р е г и с т р 44 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ C1 │ C0 │ | + | |//Режим// SCREEN 6|| |
- | (регистр цвета) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |//Регистр// 44|<code> |
- | Р е ж и м SCREEN 8 | + | Номера битов |
- | Номера битов 7 6 5 4 3 2 1 0 | + | 7 6 5 4 3 2 1 0 |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | Р е г и с т р 44 │ C7 │ C6 │ C5 │ C4 │ C3 │ C2 │ C1 │ C0 │ | + | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ C1 │ C0 │ |
- | (регистр цвета) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
+ | </code>(регистр цвета)| | ||
+ | |//Режим// SCREEN 8|| | ||
+ | |//Регистр// 44|<code> | ||
+ | Номера битов | ||
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ C7 │ C6 │ C5 │ C4 │ C3 │ C2 │ C1 │ C0 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(регистр цвета)| | ||
</WRAP> | </WRAP> | ||
- <WRAP>2. Выполнение команды осуществляется помещением кода 01100000b в регистр | - <WRAP>2. Выполнение команды осуществляется помещением кода 01100000b в регистр | ||
команд с номером 46. | команд с номером 46. | ||
- | Номера битов 7 6 5 4 3 2 1 0 | + | |//Регистр// 46|<code> |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | |
- | Р е г и с т р 46 │ 0 │ 1 │ 1 │ 0 │ 0 │ 0 │ 0 │ 0 │ | + | Номера битов |
- | (регистр команды) └──▲──┴──▲──┴──▲──┴──▲──┴─────┴─────┴─────┴─────┘ | + | 7 6 5 4 3 2 1 0 |
- | └─────┴─────┴─────┘ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | Код команды SRCH | + | │ 0 │ 1 │ 1 │ 0 │ 0 │ 0 │ 0 │ 0 │ |
+ | └──▲──┴──▲──┴──▲──┴──▲──┴─────┴─────┴─────┴─────┘ | ||
+ | └─────┴─────┴─────┘ | ||
+ | Код команды SRCH | ||
+ | </code>(регистр команды)| | ||
</WRAP> | </WRAP> | ||
- <WRAP>3. При выполнении команды СЕ-бит регистра состояния с номером 2 будет | - <WRAP>3. При выполнении команды СЕ-бит регистра состояния с номером 2 будет | ||
установлен в 1, а после выполнения - в 0. Кроме того, местоположение най- | установлен в 1, а после выполнения - в 0. Кроме того, местоположение най- | ||
денного цвета границы (X-координата) окажется в регистрах статуса 8 и 9. | денного цвета границы (X-координата) окажется в регистрах статуса 8 и 9. | ||
- | Номера битов 7 6 5 4 3 2 1 0 | ||
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
- | Регистр с т а т у с а 2 │ │ │ │ BD │ │ │ │ CE │ | ||
- | └─────┴─────┴─────┴──▲──┴─────┴─────┴─────┴──▲──┘ | ||
- | Устанавливается в 1, ─────────┘ │ | ||
- | если н а й д е н цвет границы │ | ||
- | Устанавливается в 0 по окончании команды SRCH ─────────────────┘ | ||
- | |||
- | Номера битов 7 6 5 4 3 2 1 0 | ||
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
- | Регистр с т а т у с а 8 │ BX7 │ BX6 │ BX5 │ BX4 │ BX3 │ BX2 │ BX1 │ BX0 │ | ||
- | (местоположение найден- └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
- | ного цвета границы (младшая часть X-координаты)) | ||
- | |||
+ | |Регистр //статуса// 2|<code> | ||
- | Номера битов 7 6 5 4 3 2 1 0 | + | Номера битов |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | 7 6 5 4 3 2 1 0 |
- | Регистр с т а т у с а 9 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ BX9 │ BX8 │ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | │ │ │ │ BD │ │ │ │ CE │ |
- | (местоположение найденного цвета границы (старшая часть X-координаты)) | + | └─────┴─────┴─────┴──▲──┴─────┴─────┴─────┴──▲──┘ |
+ | │ │ | ||
+ | │ Устанавливается в 0 по окончании команды SRCH | ||
+ | └─── Устанавливается в 1, если н а й д е н цвет границы | ||
+ | </code>| | ||
+ | |Регистр //статуса// 8|<code> | ||
+ | Номера битов | ||
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ BX7 │ BX6 │ BX5 │ BX4 │ BX3 │ BX2 │ BX1 │ BX0 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(местоположение найденного цвета границы (младшая часть X-координаты))| | ||
+ | |Регистр //статуса// 9|<code> | ||
+ | Номера битов | ||
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ BX9 │ BX8 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(местоположение найденного цвета границы (старшая часть X-координаты))| | ||
</WRAP> | </WRAP> | ||
Строка 1961: | Строка 1979: | ||
│ · │ | │ · │ | ||
└─────────────────────────┘ | └─────────────────────────┘ | ||
- | А теперь мы расскажем Вам об установке регистров и порядке выполнения | + | </code> |
- | команды PSET. | + | А теперь мы расскажем Вам об установке регистров и порядке выполнения команды PSET. |
- | 1. Сначала устанавливаются необходимые параметры в регистры команд VDP, | + | |
- | а именно: | + | |
- | α) MXD: выбор области памяти | + | |
- | (0: видеопамять (VRAM); 1: расширенная память). | + | |
- | Номера битов 7 6 5 4 3 2 1 0 | + | |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | |
- | Р е г и с т р 45 │ │ │ MXD │ │ │ │ │ │ | + | |
- | (регистр аргумента) └─────┴─────┴──▲──┴─────┴─────┴─────┴─────┴─────┘ | + | |
- | └───────── Выбор области памяти | + | |
- | β) DX: X-координата точки (от 0 до 511); | + | - <WRAP>Сначала устанавливаются необходимые параметры в регистры команд VDP, а именно: |
- | DY: Y-координата точки (от 0 до 1023). | + | * <WRAP>α) MXD: выбор области памяти \\ (0: видеопамять (VRAM); 1: расширенная память). |
- | Номера битов 7 6 5 4 3 2 1 0 | + | |//Регистр// 45|<code> |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | Номера битов |
- | Р е г и с т р 36 │ DX7 │ DX6 │ DX5 │ DX4 │ DX3 │ DX2 │ DX1 │ DX0 │ | + | 7 6 5 4 3 2 1 0 |
- | (базовая координата X └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | точки (младшая часть)) | + | │ │ │ MXD │ │ │ │ │ │ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | └─────┴─────┴──▲──┴─────┴─────┴─────┴─────┴─────┘ |
- | Р е г и с т р 37 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ DX8 │ | + | └───────── Выбор области памяти |
- | (базовая координата X └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | </code>(регистр аргумента)| |
- | точки (старшая часть)) | + | </WRAP> |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | </WRAP> |
- | Р е г и с т р 38 │ DY7 │ DY6 │ DY5 │ DY4 │ DY3 │ DY2 │ DY1 │ DY0 │ | + | * <WRAP>β) |
- | (базовая координата Y └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | * DX: X-координата точки (от 0 до 511); |
- | точки (младшая часть)) | + | * DY: Y-координата точки (от 0 до 1023). |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | |
- | Р е г и с т р 39 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ DY9 │ DY8 │ | + | |
- | (базовая координата Y └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |
- | точки (старшая часть)) | + | |
- | γ) CLR: данные о к о д е ц в е т а т о ч к и. | + | |//Регистр// 36|<code> |
- | Р е ж и м ы SCREEN 5 и SCREEN 7 | + | Номера битов |
- | Номера битов 7 6 5 4 3 2 1 0 | + | 7 6 5 4 3 2 1 0 |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | Р е г и с т р 44 │ 0 │ 0 │ 0 │ 0 │ C3 │ C2 │ C1 │ C0 │ | + | │ DX7 │ DX6 │ DX5 │ DX4 │ DX3 │ DX2 │ DX1 │ DX0 │ |
- | (регистр цвета) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | + | </code>(базовая координата X точки (младшая часть))| | |
- | + | |//Регистр// 37|<code> | |
- | Р е ж и м SCREEN 6 | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | Номера битов 7 6 5 4 3 2 1 0 | + | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ DX8 │ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | Р е г и с т р 44 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ C1 │ C0 │ | + | </code>(базовая координата X точки (старшая часть))| |
- | (регистр цвета) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |//Регистр// 38|<code> |
- | Р е ж и м SCREEN 8 | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | Номера битов 7 6 5 4 3 2 1 0 | + | │ DY7 │ DY6 │ DY5 │ DY4 │ DY3 │ DY2 │ DY1 │ DY0 │ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | Р е г и с т р 44 │ C7 │ C6 │ C5 │ C4 │ C3 │ C2 │ C1 │ C0 │ | + | </code>(базовая координата Y точки (младшая часть))| |
- | (регистр цвета) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |//Регистр// 39|<code> |
- | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | |
- | 2. Выполнение команды осуществляется заданием числа 0101b в четырех | + | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ DY9 │ DY8 │ |
- | с т а р ш и х битах и кода логической операции в четырех м л а д ш и х | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | битах регистра команд с номером 46. | + | </code>(базовая координата Y точки (старшая часть))| |
- | Номера битов 7 6 5 4 3 2 1 0 | + | </WRAP> |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | * <WRAP>γ) CLR: данные о //коде цвета точки//. |
- | Р е г и с т р 46 │ 0 │ 1 │ 0 │ 1 │ LO3 │ LO2 │ LO1 │ LO0 │ | + | |
- | (регистр команды) └──▲──┴──▲──┴──▲──┴──▲──┴──▲──┴──▲──┴──▲──┴──▲──┘ | + | |
- | └─────┴─────┴─────┘ └─────┴─────┴─────┘ | + | |
- | Код команды PSET Код логической операции | + | |
- | 3. При выполнении команды PSET СЕ-бит регистра состояния с номером 2 | + | |
- | устанавливается в 1, а после выполнения - в 0. | + | |
- | </code> | + | |
+ | |//Режимы// SCREEN 5 и SCREEN 7| | ||
+ | |//Регистр// 44|<code> | ||
+ | Номера битов | ||
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ 0 │ 0 │ 0 │ 0 │ C3 │ C2 │ C1 │ C0 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(регистр цвета)| | ||
+ | |//Режимы// SCREEN 6| | ||
+ | |//Регистр// 44|<code> | ||
+ | Номера битов | ||
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ C1 │ C0 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(регистр цвета)| | ||
+ | |//Режимы// SCREEN 8| | ||
+ | |//Регистр// 44|<code> | ||
+ | Номера битов | ||
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ C7 │ C6 │ C5 │ C4 │ C3 │ C2 │ C1 │ C0 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(регистр цвета)| | ||
+ | </WRAP> | ||
+ | - <WRAP>Выполнение команды осуществляется заданием числа 0101b в четырех //старших// битах и кода логической операции в четырех //младших// битах регистра команд с номером 46. | ||
+ | |//Регистр// 46|<code> | ||
+ | Номера битов | ||
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ 0 │ 1 │ 0 │ 1 │ LO3 │ LO2 │ LO1 │ LO0 │ | ||
+ | └──▲──┴──▲──┴──▲──┴──▲──┴──▲──┴──▲──┴──▲──┴──▲──┘ | ||
+ | └─────┴─────┴─────┘ └─────┴─────┴─────┘ | ||
+ | Код команды PSET Код логической операции | ||
+ | </code>(регистр команды)| | ||
+ | </WRAP> | ||
+ | - При выполнении команды PSET СЕ-бит регистра состояния с номером 2 устанавливается в 1, а после выполнения - в 0. | ||
FIXME | FIXME | ||
Строка 2086: | Строка 2121: | ||
│ · │ | │ · │ | ||
└────────────────────────┘ | └────────────────────────┘ | ||
+ | </code> | ||
А теперь мы расскажем Вам об установке регистров и порядке выполнения команды POINT. | А теперь мы расскажем Вам об установке регистров и порядке выполнения команды POINT. | ||
- | 1. Вначале устанавливаются необходимые параметры в регистр команд VDP, | + | - <WRAP>Вначале устанавливаются необходимые параметры в регистр команд VDP, а именно: |
- | а именно: | + | * <WRAP>α) MXD: выбор области памяти (0: видеопамять (VRAM); 1: расширенная память). |
- | α) MXD: выбор области памяти | + | |
- | (0: видеопамять (VRAM); 1: расширенная память). | + | |
- | Номера битов 7 6 5 4 3 2 1 0 | + | |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | |
- | Р е г и с т р 45 │ │ │ MXS │ │ │ │ │ │ | + | |
- | (регистр аргумента) └─────┴─────┴──▲──┴─────┴─────┴─────┴─────┴─────┘ | + | |
- | └───────── Выбор области памяти | + | |
- | β) SX: X-координата точки (от 0 до 511); | + | |//Регистр// 45|<code> |
- | SY: Y-координата точки (от 0 до 1023). | + | Номера битов |
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ │ │ MXS │ │ │ │ │ │ | ||
+ | └─────┴─────┴──▲──┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | └───────── Выбор области памяти | ||
+ | </code>(регистр аргумента)| | ||
+ | </WRAP> | ||
+ | * <WRAP>β) | ||
+ | * SX: X-координата точки (от 0 до 511); | ||
+ | * SY: Y-координата точки (от 0 до 1023). | ||
- | Номера битов 7 6 5 4 3 2 1 0 | + | |//Регистр// 32|<code> |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | Номера битов |
- | Р е г и с т р 32 │ SX7 │ SX6 │ SX5 │ SX4 │ SX3 │ SX2 │ SX1 │ SX0 │ | + | 7 6 5 4 3 2 1 0 |
- | (базовая координата X └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | точки (младшая часть)) | + | │ SX7 │ SX6 │ SX5 │ SX4 │ SX3 │ SX2 │ SX1 │ SX0 │ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | Р е г и с т р 33 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ SX8 │ | + | </code>(базовая координата X точки (младшая часть))| |
- | (базовая координата X └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |//Регистр// 33|<code> |
- | точки (старшая часть)) | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ SX8 │ |
- | Р е г и с т р 34 │ SY3 │ SY2 │ SY1 │ SY0 │ SY3 │ SY2 │ SY1 │ SY0 │ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | (базовая координата Y └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | </code>(базовая координата X точки (старшая часть))| |
- | точки (младшая часть)) | + | |//Регистр// 34|<code> |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | Р е г и с т р 35 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ SY9 │ SY8 │ | + | │ SY3 │ SY2 │ SY1 │ SY0 │ SY3 │ SY2 │ SY1 │ SY0 │ |
- | (базовая координата Y └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | точки (старшая часть)) | + | </code>(базовая координата Y точки (младшая часть))| |
+ | |//Регистр// 35|<code> | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ SY9 │ SY8 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(базовая координата Y точки (старшая часть))| | ||
+ | </WRAP> | ||
+ | </WRAP> | ||
+ | - <WRAP>Выполнение команды осуществляется заданием кода 01000000b в регистре с номером 46. | ||
- | 2. Выполнение команды осуществляется заданием кода 01000000b в регистре | + | |//Регистр// 46|<code> |
- | с номером 46. | + | Номера битов |
- | Номера битов 7 6 5 4 3 2 1 0 | + | 7 6 5 4 3 2 1 0 |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | Р е г и с т р 46 │ 0 │ 1 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ | + | │ 0 │ 1 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ |
- | (регистр команды) └──▲──┴──▲──┴──▲──┴──▲──┴─────┴─────┴─────┴─────┘ | + | └──▲──┴──▲──┴──▲──┴──▲──┴─────┴─────┴─────┴─────┘ |
- | └─────┴─────┴─────┘ | + | └─────┴─────┴─────┘ |
- | Код команды PSET | + | Код команды PSET |
+ | </code>(регистр команды)| | ||
+ | </WRAP> | ||
+ | - <WRAP>При выполнении видеопроцессором команды POINT СЕ-бит регистра состояния с номером 2 устанавливается в 1, а после выполнения - в 0. | ||
- | 3. При выполнении видеопроцессором команды POINT СЕ-бит регистра состо- | + | Кроме того, найденный цветовой код помещается в регистр статуса 7. |
- | яния с номером 2 устанавливается в 1, а после выполнения - в 0. | + | |Регистр //статуса// 2 |<code> |
- | Кроме того, найденный цветовой код помещается в регистр статуса 7. | + | Номера битов |
- | Номера битов 7 6 5 4 3 2 1 0 | + | 7 6 5 4 3 2 1 0 |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | Регистр с т а т у с а 2 │ │ │ │ │ │ │ │ CE │ | + | │ │ │ │ │ │ │ │ CE │ |
- | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴──▲──┘ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴──▲──┘ |
- | Устанавливается в 0 по окончанию команды SRCH ──────┘ | + | │ |
- | + | Устанавливается в 0 по окончанию команды SRCH | |
- | Р е ж и м ы SCREEN 5 и SCREEN 7 | + | </code>| |
- | Номера битов 7 6 5 4 3 2 1 0 | + | |//Режимы// SCREEN 5 и SCREEN 7|| |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | |Регистр //статуса// 7|<code> |
- | Регистр с т а т у с а 7 │ 0 │ 0 │ 0 │ 0 │ C3 │ C2 │ C1 │ C0 │ | + | Номера битов |
- | (цветовой код) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | 7 6 5 4 3 2 1 0 |
- | Р е ж и м SCREEN 6 | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | Номера битов 7 6 5 4 3 2 1 0 | + | │ 0 │ 0 │ 0 │ 0 │ C3 │ C2 │ C1 │ C0 │ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | Регистр с т а т у с а 7 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ C1 │ C0 │ | + | </code>(цветовой код)| |
- | (цветовой код) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |//Режимы// SCREEN 6|| |
- | Р е ж и м SCREEN 8 | + | |Регистр //статуса// 7|<code> |
- | Номера битов 7 6 5 4 3 2 1 0 | + | Номера битов |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | 7 6 5 4 3 2 1 0 |
- | Регистр с т а т у с а 7 │ C7 │ C6 │ C5 │ C4 │ C3 │ C2 │ C1 │ C0 │ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | (цветовой код) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ C1 │ C0 │ |
- | </code> | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
+ | </code>(цветовой код)| | ||
+ | |//Режимы// SCREEN 8|| | ||
+ | |Регистр //статуса// 7|<code> | ||
+ | Номера битов | ||
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ C7 │ C6 │ C5 │ C4 │ C3 │ C2 │ C1 │ C0 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(цветовой код)| | ||
+ | </WRAP> | ||
FIXME | FIXME | ||
Строка 2357: | Строка 2417: | ||
{{anchor:n284}} | {{anchor:n284}} | ||
===== 2.8.4. Работа с "мышью" и световым пером ===== | ===== 2.8.4. Работа с "мышью" и световым пером ===== | ||
- | |||
- | <code> | ||
"Мышь" | "Мышь" | ||
- | Ниже мы объясним функции "мыши" видеопроцессора. Так как "мышь" исполь- | + | Ниже мы объясним функции "мыши" видеопроцессора. Так как "мышь" использует цветовую шину видеопроцессора, то при работе с мышью //нельзя// воспользоваться цветовой шиной видеопроцессора с любой другой целью! |
- | зует цветовую шину видеопроцессора, то при работе с мышью н е л ь з я | + | |
- | воспользоваться цветовой шиной видеопроцессора с любой другой целью! | + | |
- | Напомним Вам, что для использования "мыши" следует установить бит 7 ре- | + | |
- | гистра с номером 8 в 1, а бит 6 в 0. | + | |
- | Номера битов 7 6 5 4 3 2 1 0 | + | Напомним Вам, что для использования "мыши" следует установить бит 7 регистра с номером 8 в 1, а бит 6 в 0. |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | |
- | Р е г и с т р 8 │ MS │ LP │ TP │ CB │ VR │ 0 │ SP │ BW │ | + | |
- | └──▲──┴──▲──┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |
- | │ └────── 0: световое перо о т к л ю ч е н о | + | |
- | └──────────── 1: "мышь" в к л ю ч е н а | + | |
- | Когда бит 7 регистра с номером 8 установлен в 1, то направление цвето- | + | |//Регистр// 8|<code> |
- | вой шины автоматически устанавливается на ввод. Можно узнать, нажата ли | + | Номера битов |
- | кнопка "мыши", читая регистр состояния с номером 1. | + | 7 6 5 4 3 2 1 0 |
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ MS │ LP │ TP │ CB │ VR │ 0 │ SP │ BW │ | ||
+ | └──▲──┴──▲──┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | │ └────── 0: световое перо о т к л ю ч е н о | ||
+ | └──────────── 1: "мышь" в к л ю ч е н а | ||
+ | </code>| | ||
+ | Когда бит 7 регистра с номером 8 установлен в 1, то направление цветовой шины автоматически устанавливается на ввод. Можно узнать, нажата ли кнопка "мыши", читая регистр состояния с номером 1. | ||
- | Номера битов 7 6 5 4 3 2 1 0 | + | |//Регистр// статуса номер 1|<code> |
- | Р е г и с т р ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | Номера битов |
- | статуса номер 1 │ FL │ LPS │ Идентификация │ F11 │ SX8 │ | + | 7 6 5 4 3 2 1 0 |
- | └──▲──┴──▲──┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | │ └─ 1: луч развертки обнаружен; | + | │ FL │ LPS │ Идентификация │ F11 │ SX8 │ |
- | │ 0: луч развертки не обнаружен; | + | └──▲──┴──▲──┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | └─────── 1: переключатель 2 нажат; | + | │ └─ 1: луч развертки обнаружен; |
- | 0: переключатель 2 не нажат; | + | │ 0: луч развертки не обнаружен; |
+ | └─────── 1: переключатель 2 нажат; | ||
+ | 0: переключатель 2 не нажат; | ||
+ | </code>| | ||
+ | Относительные координаты движения "мыши" устанавливаются в двоичном дополнительном коде в регистрах состояния с номерами 3 и 5. | ||
+ | |//Регистр// статуса номер 3|<code> | ||
+ | Номера битов | ||
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ X7 │ X6 │ X5 │ X4 │ X3 │ X2 │ X1 │ X0 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(регистр столбца)| | ||
+ | |//Регистр// статуса номер 5|<code> | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ Y7 │ Y6 │ Y5 │ Y4 │ Y3 │ Y2 │ Y1 │ Y0 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(регистр строки)| | ||
- | Относительные координаты движения "мыши" устанавливаются в двоичном до- | + | Когда в регистре с номером 15 устанавливаются 3 или 5, то отсчет "мыши" не происходит. Когда читаются регистры состояния с номерами 3 и 5 или когда отсчет начинается, содержимое регистра с номером 15 должно быть изменено. |
- | полнительном коде в регистрах состояния с номерами 3 и 5. | + | |
- | Номера битов 7 6 5 4 3 2 1 0 | ||
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
- | Р е г и с т р 3 │ X7 │ X6 │ X5 │ X4 │ X3 │ X2 │ X1 │ X0 │ | ||
- | (регистр столбца) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
- | Р е г и с т р 5 │ Y7 │ Y6 │ Y5 │ Y4 │ Y3 │ Y2 │ Y1 │ Y0 │ | ||
- | (регистр строки) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
- | Когда в регистре с номером 15 устанавливаются 3 или 5, то отсчет "мыши" | + | //Световое перо// |
- | не происходит. Когда читаются регистры состояния с номерами 3 и 5 или ког- | + | |
- | да отсчет начинается, содержимое регистра с номером 15 должнo быть измене- | + | |
- | но. | + | |
+ | Для работы со световым пером следует установить бит 7 регистра с номером 8 в 0 и бит 6 в 1. | ||
+ | |//Регистр// 8|<code> | ||
+ | Номера битов | ||
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ MS │ LP │ TP │ CB │ VR │ 0 │ SP │ BW │ | ||
+ | └──▲──┴──▲──┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | │ └────── 1: световое перо в к л ю ч е н о | ||
+ | └──────────── 0: "мышь" о т к л ю ч е н а | ||
+ | </code>| | ||
+ | Для получения прерывания во время работы светового пера следует установить бит 5 регистра с номером 0 в 1. Прерывание сбрасывается, если прочитан регистр состояния с номером 1. | ||
- | С в е т о в о е п е р о | + | |//Регистр// статуса номер 1|<code> |
+ | Номера битов | ||
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ FL │ LPS │ Идентификация │ F11 │ SX8 │ | ||
+ | └──▲──┴──▲──┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | │ └─ 1: переключатель н а ж а т; | ||
+ | │ 0: переключатель н е н а ж а т; | ||
+ | └─────── 1: луч развертки о б н а р у ж е н; | ||
+ | 0: луч развертки н е о б н а р у ж е н; | ||
+ | </code>| | ||
+ | Координаты, при которых световое перо обнаружило луч развертки, фиксируются в регистрах состояния с номерами 3,4,5,6. Данные, установленные в этих регистрах, верны до тех пор, пока не считывается регистр состояния с номером 5. | ||
- | Для работы со световым пером следует установить бит 7 регистра с номе- | + | |//Регистр// 3|<code> |
- | ром 8 в 0 и бит 6 в 1. | + | Номера битов |
- | + | 7 6 5 4 3 2 1 0 | |
- | Номера битов 7 6 5 4 3 2 1 0 | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | │ X7 │ X6 │ X5 │ X4 │ X3 │ X2 │ X1 │ X0 │ |
- | Р е г и с т р 8 │ MS │ LP │ TP │ CB │ VR │ 0 │ SP │ BW │ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | └──▲──┴──▲──┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | </code>(регистр столбца (младшие биты))| |
- | │ └────── 1: световое перо в к л ю ч е н о | + | |//Регистр// 4|<code> |
- | └──────────── 0: "мышь" о т к л ю ч е н а | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | + | │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ X8 │ | |
- | Для получения прерывания во время работы светового пера следует устано- | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | вить бит 5 регистра с номером 0 в 1. Прерывание сбрасывается, если прочи- | + | </code>(регистр столбца (старшие биты))| |
- | тан регистр состояния с номером 1. | + | |//Регистр// 5|<code> |
- | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | |
- | Номера битов 7 6 5 4 3 2 1 0 | + | │ Y7 │ Y6 │ Y5 │ Y4 │ Y3 │ Y2 │ Y1 │ Y0 │ |
- | Р е г и с т р ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | статуса номер 1 │ FL │ LPS │ Идентификация │ F11 │ SX8 │ | + | </code>(регистр строки (младшие биты))| |
- | └──▲──┴──▲──┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |//Регистр// 6|<code> |
- | │ └─ 1: переключатель н а ж а т; | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | │ 0: переключатель н е н а ж а т; | + | │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ Y9 │ Y8 │ |
- | └─────── 1: луч развертки о б н а р у ж е н; | + | └─────┴─────┴─────┴─────┴─────┴─────┴──▲──┴─────┘ |
- | 0: луч развертки н е о б н а р у ж е н; | + | │ |
- | + | ||
- | Координаты, при которых световое перо обнаружило луч развертки, фикси- | + | |
- | руются в регистрах состояния с номерами 3,4,5,6. Данные, установленные в | + | |
- | этих регистрах, верны до тех пор, пока не считывается регистр состояния с | + | |
- | номером 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 │ Y9 │ Y8 │ | + | |
- | (регистр строки └─────┴─────┴─────┴─────┴─────┴─────┴──▲──┴─────┘ | + | |
- | (старшие биты)) │ | + | |
Этот бит указывает номер поля | Этот бит указывает номер поля | ||
при чтении: 0: 1-е поле; | при чтении: 0: 1-е поле; | ||
1: 2-е поле | 1: 2-е поле | ||
- | Приведем блок-схему использования светового пера: | + | </code>(регистр строки (старшие биты))| |
- | ┌─────────────────┐ ┌──────────────────────────────────────────┐ | + | |
- | │ Световое перо │────▶ В к л ю ч е н и е светового пера │ | + | |
- | └─────────────────┘ │ (в регистре с номером 8: бит7=0, бит6=1) │ | + | |
- | └────────────────────┬─────────────────────┘ | + | |
- | ┌──────────────────────▶ │ Обнаружение вспышки | + | |
- | │ ┌─────────────────▼───────────────────┐ | + | |
- | │ │Чтение регистра состояния с номером 1│ | + | |
- | │ └─────────────────┬───────────────────┘ | + | |
- | │ нет (FL=0) ┌─────────▼─────────┐ | + | |
- | └──────────────│Вспышка обнаружена?│ | + | |
- | └─────────┬─────────┘ | + | |
- | │ да (FL=1) | + | |
- | ┌───────────────────────────────────────▼────────────────────────┐ | + | |
- | │ Последовательное чтение регистров состояния с номерами 3,4,6,5 │ | + | |
- | └───────────────────────────────────────┬────────────────────────┘ | + | |
- | ┌────▼──────┐ | + | |
- | │ К о н е ц │ | + | |
- | └───────────┘ | + | |
+ | Приведем блок-схему использования светового пера: | ||
+ | <code> | ||
+ | ┌─────────────────┐ ┌──────────────────────────────────────────┐ | ||
+ | │ Световое перо │────▶ В к л ю ч е н и е светового пера │ | ||
+ | └─────────────────┘ │ (в регистре с номером 8: бит7=0, бит6=1) │ | ||
+ | └────────────────────┬─────────────────────┘ | ||
+ | ┌──────────────────────▶ │ Обнаружение вспышки | ||
+ | │ ┌─────────────────▼───────────────────┐ | ||
+ | │ │Чтение регистра состояния с номером 1│ | ||
+ | │ └─────────────────┬───────────────────┘ | ||
+ | │ нет (FL=0) ┌─────────▼─────────┐ | ||
+ | └──────────────│Вспышка обнаружена?│ | ||
+ | └─────────┬─────────┘ | ||
+ | │ да (FL=1) | ||
+ | ┌───────────────────────────────────────▼────────────────────────┐ | ||
+ | │ Последовательное чтение регистров состояния с номерами 3,4,6,5 │ | ||
+ | └───────────────────────────────────────┬────────────────────────┘ | ||
+ | ┌────▼──────┐ | ||
+ | │ К о н е ц │ | ||
+ | └───────────┘ | ||
</code> | </code> | ||
Строка 2478: | Строка 2542: | ||
===== 2.8.5. Регистры статуса и регистры команд ===== | ===== 2.8.5. Регистры статуса и регистры команд ===== | ||
+ | __//Регистр статуса с номером 1.//__ | ||
<code> | <code> | ||
- | Р е г и с т р с т а т у с а с н о м е р о м 1. | + | Номера битов |
- | ───────────────────────────────────────────────── | + | 7 6 5 4 3 2 1 0 |
- | Номера битов 7 6 5 4 3 2 1 0 | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | │ FL │ LPS │ В е р с и я MSX-VIDEO │ FH │ |
- | │ FL │ LPS │ В е р с и я MSX-VIDEO │ FH │ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | </code> |
- | Кратко расскажем Вам о назначении каждого бита. | + | Кратко расскажем Вам о назначении каждого бита. |
- | FL: флаг светового пера (флаг светового пера установлен). Если световым | + | |
+ | * <WRAP>FL: флаг светового пера (флаг светового пера установлен). Если световым | ||
пером определены координаты точки на экране, то этот бит (FL),также как и | пером определены координаты точки на экране, то этот бит (FL),также как и | ||
бит IE2, должен быть установлен для возможности прерывания. | бит IE2, должен быть установлен для возможности прерывания. | ||
- | Обычно при считывании регистра статуса с номером 1 значение бита FL | ||
- | сбрасывается. Если же второй переключатель "мыши" нажат, то при считыва- | ||
- | нии регистра статуса с номером 1 значение бита FL не сбрасывается; | ||
- | LPS: переключатель светового пера (установка флага светового пера). На- | + | Обычно при считывании регистра статуса с номером 1 значение бита FL сбрасывается. Если же второй переключатель "мыши" нажат, то при считывании регистра статуса с номером 1 значение бита FL не сбрасывается; |
- | жат переключатель светового пера. В этом случае при считывании регистра | + | </WRAP> |
- | статуса с номером 1 значение бита LPS не сбрасывается. Переключатель "мы- | + | * LPS: переключатель светового пера (установка флага светового пера). Нажат переключатель светового пера. В этом случае при считывании регистра статуса с номером 1 значение бита LPS не сбрасывается. Переключатель "мыши" 1 (флаг "мыши" установлен). Первый переключатель "мыши" нажат. В этом случае при считывании регистра статуса с номером 1 значение бита LPS не сбрасывается. |
- | ши" 1 (флаг "мыши" установлен). Первый переключатель "мыши" нажат. В этом | + | * FH: флаг прерывания от горизонтального сканирования (который устанавливается в регистре с номером 19). Если бит IE1 установлен, то возможно прерывание. При считывании регистра статуса с номером 1 значение бита FH сбрасывается. |
- | случае при считывании регистра статуса с номером 1 значение бита LPS не | + | |
- | сбрасывается. | + | |
- | FH: флаг прерывания от горизонтального сканирования (который устанавлива- | + | __//Регистр статуса с номером 2.//__ |
- | ется в регистре с номером 19). Если бит IE1 установлен, то возможно преры- | + | <code> |
- | вание. При считывании регистра статуса с номером 1 значение бита FH сбра- | + | 7 6 5 4 3 2 1 0 Номера битов |
- | сывается. | + | ┌────┬────┬────┬────┬────┬────┬────┬────┐ |
+ | │ TR │ VR │ HR │ BD │ 1 │ 1 │ EО │ CE │ | ||
+ | └────┴────┴────┴────┴────┴────┴────┴────┘ | ||
+ | </code> | ||
+ | * TR: флаг готовности пересылки. Когда центральный процессор посылает команды в видеопамять и другие устройства, он проверяет этот флаг во время передачи данных. Передача может быть осуществлена, если этот флаг установлен в 1. | ||
+ | * VR: флаг синхронизации вертикального сканирования. Во время вертикального сканирования этот флаг установлен в 1. | ||
+ | * HR: флаг синхронизации горизонтального сканирования. Во время горизонтального сканирования этот флаг установлен в 1. | ||
+ | * BD: флаг обнаружения цвета границы. При выполнении команды поиска (одна из команд видеопроцессора) этот флаг определяет, был ли обнаружен цвет границы. | ||
+ | * ЕО: флаг поля отображения: | ||
+ | * 0 - отображается первое поле. | ||
+ | * 1 - отображается второе поле. | ||
+ | * CE: флаг выполнения команды. Он указывает, что в настоящее время выполняется команда видеопроцессора. | ||
- | Р е г и с т р с т а т у с а с н о м е р о м 2. | + | __//Регистры статуса с номерами// 3, 4, 5, 6.__ |
- | ──────────────────────────────────────────────────── | + | |
- | Номера битов 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 | + | Заметим, что при считывании содержимого регистра статуса с номером 5 содержимое регистров статуса с номерами 3,4,5 сбрасывается. |
- | содержимое регистров статуса с номерами 3,4,5 сбрасывается. | + | |
- | Номера битов 7 6 5 4 3 2 1 0 | + | |Регистр статуса 3|<code> |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | Номера битов |
- | Регистр статуса 3 │ X7 │ X6 │ X5 │ X4 │ X3 │ X2 │ X1 │ X0 │ | + | 7 6 5 4 3 2 1 0 |
- | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | │ X7 │ X6 │ X5 │ X4 │ X3 │ X2 │ X1 │ X0 │ |
- | Регистр статуса 4 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ X8 │ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | </code>| |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | |Регистр статуса 4|<code> |
- | Регистр статуса 5 │ Y7 │ Y6 │ Y5 │ Y4 │ Y3 │ Y2 │ Y1 │ Y0 │ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ X8 │ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | Регистр статуса 6 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ Y8 │ | + | </code>| |
- | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |Регистр статуса 5|<code> |
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ Y7 │ Y6 │ Y5 │ Y4 │ Y3 │ Y2 │ Y1 │ Y0 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>| | ||
+ | |Регистр статуса 6|<code> | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ Y8 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>| | ||
+ | Значения, содержащиеся в регистрах состояния с номерами 3,4,5 будут определять координаты смещения в соответствии с формулами: | ||
+ | * Х(содержимое регистра статуса 5, содержимое регистра статуса 3) | ||
+ | * Y(содержимое регистра статуса 5, содержимое регистра статуса 5). | ||
- | Значения, содержащиеся в регистрах состояния с номерами 3,4,5 будут оп- | + | Координаты столкновения спрайтов легко находятся по формулам: |
- | ределять координаты смещения в соответствии с формулами: | + | <code> |
- | Х(содержимое регистра статуса 5, содержимое регистра статуса 3) | + | XC = X/12 , YC = Y/8 |
- | Y(содержимое регистра статуса 5, содержимое регистра статуса 5). | + | </code> |
- | Координаты столкновения спрайтов легко находятся по формулам: | + | |
- | XC = X/12 , YC = Y/8 | + | __//Регистр статуса номер// 7 (регистр цвета).__ |
- | Р е г и с т р с т а т у с а н о м е р 7 (регистр цвета). | + | Этот регистр используется в том случае, когда выполняется команда видеопроцессора POINT или команды видеопроцессора типа "VRAM - to CPU". |
- | ─────────────────────────────────────────────────────────── | + | |
- | Этот регистр используется в том случае, когда выполняется команда ви- | + | |
- | деопроцессора POINT или команды видеопроцессора типа "VRAM - to CPU". | + | |
Данные из VRAM размещаются в этом регистре. | Данные из VRAM размещаются в этом регистре. | ||
- | Р е г и с т р ы с т а т у с а с н о м е р а м и 8 и 9. | + | __//Регистры статуса с номерами 8 и 9.//__ |
- | ─────────────────────────────────────────────────────────── | + | |
- | В эти регистры помещается значение координаты Х в случае,когда выполня- | + | |
- | ется команда поиска SRCH (см.Приложение 2,раздел 8.3.10) и обнаружен цвет | + | |
- | бордюра. | + | |
- | Номера битов 7 6 5 4 3 2 1 0 | + | В эти регистры помещается значение координаты Х в случае,когда выполняется команда поиска SRCH (см. [[#n28310|Приложение 2, раздел 8.3.10]]) и обнаружен цвет бордюра. |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | |
- | Регистр статуса 8 │ BX7 │ BX6 │ BX5 │ BX4 │ BX3 │ BX2 │ BX1 │ BX0 │ | + | |
- | (координата X гра- └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |
- | ницы (младшая часть)) | + | |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | |
- | Регистр статуса 9 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ BX8 │ | + | |
- | (координата X гра- └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |
- | ницы (старшая часть)) | + | |
+ | |Регистр статуса 8|<code> | ||
+ | Номера битов | ||
+ | 7 6 5 4 3 2 1 0 | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ BX7 │ BX6 │ BX5 │ BX4 │ BX3 │ BX2 │ BX1 │ BX0 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(координата X границы (младшая часть))| | ||
+ | |Регистр статуса 9|<code> | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │ BX8 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(координата X границы (старшая часть))| | ||
- | Р е г и с т р ы к о м а н д | + | //Регистры команд// |
- | Следующие регистры команд используются при выполнении команд видеопро- | + | Следующие регистры команд используются при выполнении команд видеопроцессора. Работа с ними описана в Приложении 2, раздел 8.3 . |
- | цессора. Работа с ними описана в Приложении 2, раздел 8.3 . | + | |
- | Номера битов 7 6 5 4 3 2 1 0 | + | |//Регистр// 32|<code> |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | Номера битов |
- | Р е г и с т р 32 │ X7 │ X6 │ X5 │ X4 │ X3 │ X2 │ X1 │ X0 │ | + | 7 6 5 4 3 2 1 0 |
- | (регистр исходной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | динаты X (младшая часть)) | + | │ X7 │ X6 │ X5 │ X4 │ X3 │ X2 │ X1 │ X0 │ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | Р е г и с т р 33 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ SX8 │ | + | </code>(регистр исходной координаты X (младшая часть))| |
- | (регистр исходной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |//Регистр// 33|<code> |
- | динаты X (старшая часть)) | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | + | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ SX8 │ | |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | Р е г и с т р 34 │ SY7 │ SY6 │ SY5 │ SY4 │ SY3 │ SY2 │ SY1 │ SY0 │ | + | </code>(регистр исходной координаты X (старшая часть))| |
- | (регистр исходной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |//Регистр// 34|<code> |
- | динаты Y (младшая часть)) | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | │ SY7 │ SY6 │ SY5 │ SY4 │ SY3 │ SY2 │ SY1 │ SY0 │ |
- | Р е г и с т р 35 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ SY9 │ SY8 │ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | (регистр исходной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | </code>(регистр исходной координаты Y (младшая часть))| |
- | динаты Y (старшая часть)) | + | |//Регистр// 35|<code> |
- | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ SY9 │ SY8 │ |
- | Р е г и с т р 36 │ DX7 │ DX6 │ DX5 │ DX4 │ DX3 │ DX2 │ DX1 │ DX0 │ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | (регистр конечной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | </code>(регистр исходной координаты Y (старшая часть))| |
- | динаты X (младшая часть)) | + | |//Регистр// 36|<code> |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | Р е г и с т р 37 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ DX8 │ | + | │ DX7 │ DX6 │ DX5 │ DX4 │ DX3 │ DX2 │ DX1 │ DX0 │ |
- | (регистр конечной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | динаты X (старшая часть)) | + | </code>(регистр конечной координаты X (младшая часть))| |
- | + | |//Регистр// 37|<code> | |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | Р е г и с т р 38 │ DY7 │ DY6 │ DY5 │ DY4 │ DY3 │ DY2 │ DY1 │ DY0 │ | + | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ DX8 │ |
- | (регистр конечной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | динаты Y (младшая часть)) | + | </code>(регистр конечной координаты X (старшая часть))| |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | |//Регистр// 38|<code> |
- | Р е г и с т р 39 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ DY9 │ DY8 │ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | (регистр конечной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | │ DY7 │ DY6 │ DY5 │ DY4 │ DY3 │ DY2 │ DY1 │ DY0 │ |
- | динаты Y (старшая часть)) | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | + | </code>(регистр конечной координаты Y (младшая часть))| | |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | |//Регистр// 39|<code> |
- | Р е г и с т р 40 │ NX7 │ NX6 │ NX5 │ NX4 │ NX3 │ NX2 │ NX1 │ NX0 │ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | (количество точек по X └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ DY9 │ DY8 │ |
- | координате (младшая часть)) | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | </code>(регистр конечной координаты Y (старшая часть))| |
- | Р е г и с т р 41 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ NX8 │ | + | |//Регистр// 40|<code> |
- | (количество точек по X └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | координате (старшая часть)) | + | │ NX7 │ NX6 │ NX5 │ NX4 │ NX3 │ NX2 │ NX1 │ NX0 │ |
- | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | </code>(количество точек по X координате (младшая часть))| |
- | Р е г и с т р 42 │ NY7 │ NY6 │ NY5 │ NY4 │ NY3 │ NY2 │ NY1 │ NY0 │ | + | |//Регистр// 41|<code> |
- | (количество точек по Y └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | координате (младшая часть)) | + | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ NX8 │ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | Р е г и с т р 43 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ NY9 │ NY8 │ | + | </code>(количество точек по X координате (старшая часть))| |
- | (количество точек по Y └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |//Регистр// 42|<code> |
- | координате (старшая часть)) | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | │ NY7 │ NY6 │ NY5 │ NY4 │ NY3 │ NY2 │ NY1 │ NY0 │ |
- | Р е г и с т р 44 │ CH3 │ CH2 │ CH1 │ CH0 │ CL3 │ CL2 │ CL1 │ CL0 │ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | (регистр цвета) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | </code>(количество точек по Y координате (младшая часть))| |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | |//Регистр// 43|<code> |
- | Р е г и с т р 45 │ 0 │ MXC │ MXD │ MXS │ DIY │ DIX │ EQ │ MAJ │ | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
- | (регистр аргумента) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ NY9 │ NY8 │ |
- | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | + | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
- | Р е г и с т р 46 │ CM3 │ CM2 │ CM1 │ CM0 │ LO3 │ LO2 │ LO1 │ LO0 │ | + | </code>(количество точек по Y координате (старшая часть))| |
- | (регистр команды) └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | + | |//Регистр// 44|<code> |
- | + | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | |
- | </code> | + | │ CH3 │ CH2 │ CH1 │ CH0 │ CL3 │ CL2 │ CL1 │ CL0 │ |
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(регистр цвета)| | ||
+ | |//Регистр// 45|<code> | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ 0 │ MXC │ MXD │ MXS │ DIY │ DIX │ EQ │ MAJ │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(регистр аргумента)| | ||
+ | |//Регистр// 46|<code> | ||
+ | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ | ||
+ | │ CM3 │ CM2 │ CM1 │ CM0 │ LO3 │ LO2 │ LO1 │ LO0 │ | ||
+ | └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ | ||
+ | </code>(регистр команды)| | ||