Студопедия

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

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

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






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Регистры 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 :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.