Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Регистры VDP






 

VDP имеет для записи регистры от #0 до #23 и для чтения все 25 регистров. Есть 2 режима для установок регистров. Один режим 4 (IV) и один режим 5 (V). Здесь пойдет речь о режиме 5, о режиме 4 смотрите секцию “MARK”. Если менять режим во время кадра, то можно получить разные эффекты.

 

РЕГИСТР РЕЖИМА №1

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №0       IE1     M3  

 

IE1 1: Включает Строчное прерывание (уровень 4 для 68000)

0: Отключает Строчное прерывание (см. регистр №10)

M3 1: Останов счетчика координат (X/Y).

0: Включает счетчик координат (X/Y)

 

РЕГИСТР РЕЖИМА №2

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №1   DISP IE0 M1 M2      

 

DISP 1: Включает отображение (картинка на экране)

0: Отключает отображение (экран черный)

IE0 1: Включает Кадровое прерывание (уровень 6 для 68000)

0: Отключает Кадровое прерывание

M1 1: DMA включен

0: DMA выключен

M2 1: Размер по вертикали 30 символов (режим PAL)

0: Размер по вертикали 28 символов (режим PAL, в режиме NTSC всегда 0)

 

БАЗОВЫЙ АДРЕС ПЛОСКОСТИ A

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №2     SA15 SA14 SA13      

 

VRAM АДРЕС $XXX0_0000_0000_0000

 

БАЗОВЫЙ АДРЕС ДЛЯ ОКНА

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №3     WD15 WD14 WD13 WD12 WD11  

 

WD11 должен быть 0 в режиме 40 символов по горизонтали

VRAM АДРЕС $XXXX_X000_0000_0000 (режим 32 символов по горизонтали)

VRAM АДРЕС $XXXX_0000_0000_0000 (режим 40 символов по горизонтали)


БАЗОВЫЙ АДРЕС ПЛОСКОСТИ B

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №4           SB15 SB14 SB13

 

VRAM АДРЕС $XXX0_0000_0000_0000

 

БАЗОВЫЙ АДРЕС АТРИБУТОВ СПРАЙТОВ

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №5   AT15 AT14 AT13 AT12 AT11 AT10 AT9

 

AT9 должен быть 0 при режиме 40 символов в строке

VRAM АДРЕС $XXXX_XXX0_0000_0000 (32 символа в строке)

VRAM АДРЕС $XXXX_XX00_0000_0000 (40 символов в строке)

 

РЕГИСТР НЕ ИСПОЛЬЗУЕТСЯ

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №6                

 

ФОНОВЫЙ ЦВЕТ

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №7     CPT1 CPT0 COL3 COL2 COL1 COL0

 

CPT1, 0: ПАЛИТРА ЦВЕТА

COL3~0: КОД ЦВЕТА

 

РЕГИСТР НЕ ИСПОЛЬЗУЕТСЯ

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №8                

 

РЕГИСТР НЕ ИСПОЛЬЗУЕТСЯ

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №9                

 

РЕГИСТР СТРОЧНОГО ПРЕРЫВАНИЯ

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №10 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0

 

Этот регистр используется для указания периода Строчного прерывания (с шагом в 1 строку)

Строчное прерывание разрешается битом IE=1 (в регистре режима №1)

 

От переводчика:

• Регистр задает количество пропущенных строк до следующего прерывания (0 – каждая строка,

1 – каждая вторая и т.д.).


РЕГИСТР РЕЖИМА №3

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №11         IE2 VSCR HSCR LSCR

 

IE2 1: Разрешает Внешнее прерывание (уровень 2 для 68000)

0: Запрещает Внешнее прерывание

* Смотрите Прерывания и системные порты ввода/вывода

VSCR: режим вертикальной прокрутки HSCR, LSCR: режим горизонтальной прокрутки

VSCR ФУНКЦИЯ   HSCR LSCR ФУНКЦИЯ
  ПОЛНАЯ ПРОКРУТКА       ПОЛНАЯ ПРОКРУТКА
  КАЖДЫЕ 2 СИМВОЛА       ЗАПРЕЩЕНО
          КАЖДЫЙ СИМВОЛ
          КАЖДУЮ СТРОКУ ТОЧЕК

 

* ДЛЯ ОБОИХ ПЛОСКОСТЕЙ A И B

 

РЕГИСТР РЕЖИМА №4

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №12 RS0       S/TE LSM1 LSM0 RS1

 

RS0 0: Режим 32 символа в строке

1: Режим 40 символов в строке

RS1 0: Режим 32 символа в строке

1: Режим 40 символов в строке

* RS0 и RS1 должны иметь одинаковые значения.

32 символа 0000_XXX0

40 символа 1000_XXX1

S/TE 1: Разрешает SHADOW (тень) и HIGHLIGHT (подсветку).

0: Запрещает SHADOW (тень) и HIGHLIGHT (подсветку).

LSM1, LSM0: установка чересстрочного режима

 

LSM1 LSM0 ФУНКЦИЯ
    НЕ ЧЕРЕЗСТРОЧНЫЙ
    ЧЕРЕЗСТРОЧНЫЙ
    ЗАПРЕЩЕНО
    ЧЕРЕЗСТРОЧНЫЙ (2x разрешение)

 

БАЗОВЫЙ АДРЕС ТАБЛИЦЫ ГОРИЗОНТАЛЬОЙ ПРОКРУТКИ

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №13     HS15 HS14 HS13 HS12 HS11 HS10

 

VRAM АДРЕС $XXXX_XX00_0000_0000

 

РЕГИСТР НЕ ИСПОЛЬЗУЕТСЯ

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №14                

 


АВТОМАТИЧЕСКОЕ УВЕЛИЧЕНИЕ АДРЕСА

Этот регистр настраивает автоматическое увеличение адреса при доступе к ОЗУ.

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №15 INC7 INC6 INC5 INC4 INC3 INC2 INC1 INC0

 

INC7~0: Число увеличения (0~$FF)

На это число увеличится счетчик адреса при каждом обращении к ОЗУ.

 

От переводчика:

• Регистр задает число, на которое увеличится счетчик адреса. Если число равно 0, то счетчик адреса

не изменится. Для последовательного обращения необходимо занести число 1. Но при заполнении

знакогенератора удобнее пользоваться словами (WORD), потому, что символы хранятся в ПЗУ (ROM)

картриджа, а архитектура приставки не позволяет обращаться к ПЗУ (ROM) побайтно. Поэтому можно

перебрасывать информацию из ПЗУ (ROM) в VRAM (Видеобуфер) словами (WORD). Число регистра

автоматического увеличения адреса при этом должно быть равно 2.

• Регистр действует на все типы ОЗУ: VRAM (видеобуфер), CRAM (ОЗУ цвета), VSRAM (ОЗУ прокрутки) и т.д.

РАЗМЕР ПРОКРУТКИ

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №16     VSZ1 VSZ0     HSZ1 HSZ0

 

VSZ1 VSZ0 ФУНКЦИЯ   HSZ1 HSZ0 ФУНКЦИЯ
    32 символа в высоту       32 символа в ширину
    64 символа в высоту       64 символа в ширину
    ЗАПРЕЩЕНО       ЗАПРЕЩЕНО
    128 символов в высоту       128символов в ширину

 

* ДЛЯ ОБОИХ ПЛОСКОСТЕЙ A И B

 

ПОЗИЦИЯ ОКНА ПО ГОРИЗОНТАЛИ

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №17 RIGHT     WHP5 WHP4 WHP3 WHP2 WHP1

 

RIGHT 0: Окно с левой стороны от базовой точки.

1: Окно с правой стороны от базовой точки.

WHP5 ~ 1 Базовая точка по горизонтали 0=Слева;

1=1 символ вправо;

2=2 символа вправо; и т.д.

 

ПОЗИЦИЯ ОКНА ПО ВЕРТИКАЛИ

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №18 DOWN     WVP4 WVP3 WVP2 WVP1 WVP0

DOWN 0: Окно сверху от базовой точки.

1: Окно снизу от базовой точки.

WVP4 ~ 0 Базовая точка по вертикали 0=Вверху;

1=1 символ вниз;

2=2 символа вниз; и т.д.


МЛАДШИЙ БАЙТ СЧЕТЧИКА DMA

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №19 LG7 LG6 LG5 LG4 LG3 LG2 LG1 LG0

 

СТАРШИЙ БАЙТ СЧЕТЧИКА DMA

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №20 LG15 LG14 LG13 LG12 LG11 LG10 LG9 LG8

 

LG15~0: СЧЕТЧИК DMA

 

От переводчика:

• Счетчик DMA задает размер пересылаемой (копируемой) области памяти.

• Значение LG0 – LG15 указывает на количество слов (WORD), т.е. если надо переместить с помощью DMA 256 байт,

число LG должно быть равно 128.

 

МЛАДШИЙ БАЙТ АДРЕСА ОРИГИНАЛА DMA

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №21 SA8 SA7 SA6 SA5 SA4 SA3 SA2 SA1

 

СРЕДНИЙ БАЙТ АДРЕСА ОРИГИНАЛА DMA

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №22 SA16 SA15 SA14 SA13 SA12 SA11 SA10 SA9

 

СТАРШИЙ БАЙТ АДРЕСА ОРИГИНАЛА DMA

 

  D7 D6 D5 D4 D3 D2 D1 D0
Регистр №23 DMD1 DMD0 SA22 SA21 SA20 SA19 SA18 SA17

 

SA22~1: Адрес оригинала DMA

DMD1, 0: Режим DMA

 

DMD1 DMD0 ФУНКЦИЯ
  SA23 ИЗ ПАМЯТИ В VRAM
    ЗАПОЛНЕНИЕ VRAM
    КОПИРОВАНИЕ VRAM

 

От переводчика:

• При инициализации сервиса DMA, необходимо задать размер копируемой/заполняемой области в словах (WORD).

Затем записывается адрес источника и режим. ВАЖНО! Запись адреса начинается с младшего адреса (Регистр №21),

затем записывается средний байт адреса (Регистр №22) а последним записывается старший байт адреса и

режим работы (Регистр №23). Последним записывается адрес приемника. DMA начинает работу сразу после

записи адреса приемника. Кроме того, команда записи в регистр № 23 и адреса приемника должны находится во

внутреннем ОЗУ приставки (Адреса $FF0000 - $FFFFFF). Более подробно о сервисе DMA смотрите ниже.

• Как показала практика, иногда программа инициализации DMA работает и в ПЗУ. Видимо дело в выравнивании команд

процессора М68000 по четным и кратным адресам. Это связано с тем, что из-за особенностей схемы приставки

М68000 может читать из ПЗУ только словами (WORD).

 







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.