256x192 — различия между версиями
Zxdn (обсуждение | вклад) |
GriV (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | '''256x192''' - условное название стандартного видеорежима [[ZX Spectrum]]. Разрешение в этом видеорежиме - 256 на 192 точек. Изображение в памяти хранится как монохромное, но возможно задание двух цветов (фона и изображения) для каждого из блоков 8x8 точек. | + | '''256x192''' - условное название стандартного видеорежима [[ZX Spectrum]]. Разрешение в этом видеорежиме - 256 на 192 точек. Изображение в памяти хранится как монохромное, но возможно задание двух цветов (фона и изображения) для каждого из блоков 8x8 точек. |
+ | Блок 8x8 точек принято называть знакоместом, в связи с тем, что обычно такая область связана с одним из символов. По ширине в экран умещается 32 знакоместа, по высоте - 24 (в Бэйсике - только 22). Отсчёт принято проводить сверхну вниз, слева направо: самое верхнее левое знакоместо имеет адрес (x=0; y=0), самое верхнее правое - адрес (x=31; y=0), самое нижнее левое - адрес (x=0; y=24). | ||
+ | Каждая точка экрана описывается 1 битом в экранной области. 8 таких бит образуют 1 байт. Старший бит в байте соответствует левой точке знакоместа, младший бит - правой. Одна полная пиксельная линия (256 точек) использует 32 байта экранной области. Таким образом суммарно монохромная часть занимает 6144 байт. | ||
− | Экран занимает не весь телевизионный растр, только центральную его часть. Остальная часть называется [[бордюр]]ом, возможно изменение его цвета. | + | Атрибутная часть содержит 768 байт. Каждый байт атрибутов содержит в себе следующую информацию (побитово): |
+ | FBPPPIII | ||
+ | |||
+ | - III - три бита цвета чернил (INK). Возможны следующие значения: 000 - чёрный, 001 - синий, 010 - красный, 011 - бордовый, 100 - зелёный, 101 - бирюзовый, 110 - жёлтый, 111 - белый | ||
+ | |||
+ | - PPP - три бита цвета фона (PAPER). Варианты аналогично INK. | ||
+ | |||
+ | - B - бит яркости. При включении этого бита добавляется яркость к каждому из цветов, кроме чёрного. | ||
+ | |||
+ | - Старший бит F - бит мерцания (flash). При его включении с периодичностью раз в секунду атрибуты выводятся в инвертированном виде - вместо INK выводится PAPER и вместо PAPER выводится INK. | ||
+ | Бит F экранной области используется очень редко. | ||
+ | |||
+ | Использования бита яркости вместе с битами цветности INK и PAPER позволяет организовать на экране палитру из 15 цветов. | ||
+ | |||
+ | В памяти экран начинается с адреса #4000 (16384 десятичное) | ||
+ | |||
+ | Экранная область памяти нелинейна - она описывается черезполосно по третям. | ||
+ | Первые 32 байта (адреса #4000-#401F) описывают верхние 256 точек экрана - вехние части знакомест (x=0..31; y=0). | ||
+ | Следующие 32 байт (адреса #4020-#403F) описывает верхние 256 точек знакомест (x=0..31; y=1) | ||
+ | Адреса #40E0-#40FF описывают верхние 256 точек знакомест (x=0..31; y=7). | ||
+ | Следующие адреса (#4100-41FF)описывают вторые сверху линии точек знакомест (x=0..31; y=0..7) | ||
+ | Полностью верхняя треть экрана описывается в указанном порядке адресами #4000-#47FF (знакоместа x=0..31; y=0..7) | ||
+ | |||
+ | Вторая (#4800-#4FFF)и третья (#5000-#57FF) треть экрана описываются таким же способом. | ||
+ | Экран занимает не весь телевизионный растр, только центральную его часть. Остальная часть называется [[бордюр]]ом, возможно изменение его цвета, по схемам аналогичным INK и PAPER, только без указания яркости. | ||
+ | |||
+ | Следом идёт атрибутная область (#5800-#5AFF) - она имеет линейную структуру - слева направо и сверху вниз. | ||
+ | |||
+ | Вывод картинки на экран монитора/телевизора происходит с частотой в 50 Герц генератором видеоизображения. | ||
+ | Вывод происходит последовательно, по ходу луча - слева направо, сверху вниз. | ||
+ | Каждое знакоместо луч трассирует 8 раз - сверху вниз по пиксельной линии. При этом читается содержимое атрибутной и монохромной части, сливаясь они выводятся образуя пиксельную линию экрана телевизора/монитора. | ||
+ | После первого прохода луча по знакоместу, содержимое атрибутной части может быть изменено. Это приведёт к тому, что при повторном проходе луча будет выведена полоска точек 1x8 другого, нежели в предыдущий раз, цвета. Таким образом, быстро меняя содержимое атрибутной области, можно получить знакоместо, в котором атрибутами будут задаваться цвета отдельной полоски точек 1x8. | ||
+ | Это эффект получил название [[Multicolor]], и часто используется в самых различных программах, например в [[Demo]], в играх и т.д. | ||
[[Категория:Видеорежимы]] | [[Категория:Видеорежимы]] |
Версия 18:36, 8 октября 2007
256x192 - условное название стандартного видеорежима ZX Spectrum. Разрешение в этом видеорежиме - 256 на 192 точек. Изображение в памяти хранится как монохромное, но возможно задание двух цветов (фона и изображения) для каждого из блоков 8x8 точек. Блок 8x8 точек принято называть знакоместом, в связи с тем, что обычно такая область связана с одним из символов. По ширине в экран умещается 32 знакоместа, по высоте - 24 (в Бэйсике - только 22). Отсчёт принято проводить сверхну вниз, слева направо: самое верхнее левое знакоместо имеет адрес (x=0; y=0), самое верхнее правое - адрес (x=31; y=0), самое нижнее левое - адрес (x=0; y=24). Каждая точка экрана описывается 1 битом в экранной области. 8 таких бит образуют 1 байт. Старший бит в байте соответствует левой точке знакоместа, младший бит - правой. Одна полная пиксельная линия (256 точек) использует 32 байта экранной области. Таким образом суммарно монохромная часть занимает 6144 байт.
Атрибутная часть содержит 768 байт. Каждый байт атрибутов содержит в себе следующую информацию (побитово): FBPPPIII
- III - три бита цвета чернил (INK). Возможны следующие значения: 000 - чёрный, 001 - синий, 010 - красный, 011 - бордовый, 100 - зелёный, 101 - бирюзовый, 110 - жёлтый, 111 - белый
- PPP - три бита цвета фона (PAPER). Варианты аналогично INK.
- B - бит яркости. При включении этого бита добавляется яркость к каждому из цветов, кроме чёрного.
- Старший бит F - бит мерцания (flash). При его включении с периодичностью раз в секунду атрибуты выводятся в инвертированном виде - вместо INK выводится PAPER и вместо PAPER выводится INK. Бит F экранной области используется очень редко.
Использования бита яркости вместе с битами цветности INK и PAPER позволяет организовать на экране палитру из 15 цветов.
В памяти экран начинается с адреса #4000 (16384 десятичное)
Экранная область памяти нелинейна - она описывается черезполосно по третям. Первые 32 байта (адреса #4000-#401F) описывают верхние 256 точек экрана - вехние части знакомест (x=0..31; y=0). Следующие 32 байт (адреса #4020-#403F) описывает верхние 256 точек знакомест (x=0..31; y=1) Адреса #40E0-#40FF описывают верхние 256 точек знакомест (x=0..31; y=7). Следующие адреса (#4100-41FF)описывают вторые сверху линии точек знакомест (x=0..31; y=0..7) Полностью верхняя треть экрана описывается в указанном порядке адресами #4000-#47FF (знакоместа x=0..31; y=0..7)
Вторая (#4800-#4FFF)и третья (#5000-#57FF) треть экрана описываются таким же способом. Экран занимает не весь телевизионный растр, только центральную его часть. Остальная часть называется бордюром, возможно изменение его цвета, по схемам аналогичным INK и PAPER, только без указания яркости.
Следом идёт атрибутная область (#5800-#5AFF) - она имеет линейную структуру - слева направо и сверху вниз.
Вывод картинки на экран монитора/телевизора происходит с частотой в 50 Герц генератором видеоизображения. Вывод происходит последовательно, по ходу луча - слева направо, сверху вниз. Каждое знакоместо луч трассирует 8 раз - сверху вниз по пиксельной линии. При этом читается содержимое атрибутной и монохромной части, сливаясь они выводятся образуя пиксельную линию экрана телевизора/монитора. После первого прохода луча по знакоместу, содержимое атрибутной части может быть изменено. Это приведёт к тому, что при повторном проходе луча будет выведена полоска точек 1x8 другого, нежели в предыдущий раз, цвета. Таким образом, быстро меняя содержимое атрибутной области, можно получить знакоместо, в котором атрибутами будут задаваться цвета отдельной полоски точек 1x8. Это эффект получил название Multicolor, и часто используется в самых различных программах, например в Demo, в играх и т.д.