Графический режим

Материал из C64 WIKI по русски.
Перейти к: навигация, поиск

C64 может использовать Bit-Mapping. В противоположность текстовому режиму можно непосредственно обращаться к каждому экранному пикселю. Поэтому круги, треугольники, прямоугольники, диаграммы или даже сложные картины можно создавать в разрешении 320x200 пикселей.

Обращение с графическим режимом происходит с помощью программ, написанных в основном на ассемблере. Имеется также специальное расширение языка BASIC для графических целей, например, Simons' Basic. В стандартном BASIC V2 основная работа происходит с помощью POKE.

Включение графического режима

Для этого бит 5 в управляющем регистре VIC-II по адресу 53265=$D011 должен быть включен. Из BASIC это делается следующей командой:

POKE 53265,PEEK(53265) OR 32

Если бит 5 регистра VIC II установлен в 0, то включен текстовый режим.

POKE 53265,PEEK(53265) AND 223

Компьютер узнает расположение Bitmap, экранной памяти и информацию о цвете с помощью регистра VIC-II 53272 ($D018).

  • Биты 1-3 определяют стартовый адрес Bitmap. Так как Bitmap имеет объем 8 Кбайт, то располагаться может или с начала памяти VIC-II 0 или с 8192 ($2000), поэтому только бит 3 важен в этом режиме. Если бит 3 содержит 0, то смещение 0, если 1, то смещение 8192 (8 Kбайт). В BASIC стартовый адрес Bitmap ставится в пределах адресной области VIC например,как указано в примере на $2000:
POKE 53272,PEEK(53272) OR 8
  • Бит 4-7 определяют стартовый адрес экранной памяти, как это описано в соответствующей статье.


Биты 0-1 CIA 2 Port A регистра 56576 = $DD00 определяют положение адресной области VIC-II.

Экранные режимы или режимы для графики высокого разрешения

Стандартный режим

Их можно использовать из BASIC:

  • HiRes (стандартный графический режим; 320*200 пикселей)
  • Multicolor (Графический режим с бОльшим количеством цветов в знакоместе, однако с более низким разрешением; 160*200 пикселей)

Определяемые пользователем режимы

Наряду со стандартными режимами был разработан ряд особых форматов, которые повышают либо разрешение, либо количество одновременно изображаемых цветов. Так как C64 может отображать только 16 цветов, используют различные трюки, например, показывать быстро по очереди перекрывающиеся половины картинки (Interlace), чтобы имитировать большее количество цветов для человеческого глаза.


Эти особые форматы можно использовать только из ассемблера:

  • Продвинутый Hires (большее количество цветов Interlace)
  • MCI (Multicolor Interlace, более высокое разрешение)
  • FLI (Flexible Line Interpretation, большее количество цветов на знакоместо)
  • AFLI (Advanced FLI, FLI при Hires-разрешении)
  • IFLI (Interlaced FLI, большее количество цветов - до 136 - и большее разрешение)


Если используются спрайты для повышения графических возможностей, то ассортимент расширяется вокруг следующего графического "режима":

  • OSCAR или ESCOS (Multicolor со спрайтами на бордюре)
  • SHF (Super Hires)
  • SHIF (Interlaced Super Hires)
  • UFLI (FLI с Sprite-Underlay)
  • UIFLI (также это в Interlace)
  • NUFLI


Имеется еще несколько режимов, которые однако, не нашли большого распространения. Группа Crest занималась многочисленными экспериментами, чтобы получить новые графические режимы VIC.

Графические режимы для графики высокого расширения для C128

VDC-FLI

Определяемые пользователем режимы

  • VDC-FLI
  • VDC-IHFLI

Ссылки

Информация о различных графических режимах

Crest Demos, которые используют новые X-FLI- / XFLI-графические режимы

Следующая информация о различных C64/C128 графических режимах

Оригинал статьи на С64-WIKI.DE