Студопедия

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

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

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






B. Адрес V-RAM нечетный.






 

(D) = (E) = (F) = Байт * DATA

 


_ КОПИРОВАНИЕ VRAM _

 

Эта функция копирует байты из источника в место назначения несколько байт.

 

Установки DMA

 

(A) M1 (Рег. №1) = 1: Включить DMA

(B) Количество копируемых байт в регистры №19. №20

(C) Адрес оригинала и режим DMA в регистр №21, №22 и №23.

(D) Установить адрес копии.

(E) *DMA стартует

(F) После подтверждения окончания пересылки DMA

: M1=O: DMA выключен

 

DMA стартует после (D). Использовать M1=1 только при использовании DMA. В других случаях, если M1=1 установлен, нет гарантии того, что функция будет работать правильно. Во время пересылки DMA, адрес копии увеличивается на значение в регистре #15. Во время пересылки с DMA не требует освобождения шин CPU, для CPU недоступен VDP кроме: PSG, счетчик строк/кадров и регистр статуса. Окончание пересылки с DMA следует ждать по биту DMA в регистре статуса.

 

Пример: Количество байт=3

 

Рег. #15=1 Рег. #15=2

Адрес оригинала Адрес копии Адрес копии

DATA 1   DATA 1   DATA 1
DATA 2   DATA 2    
DATA 3   DATA 3   DATA 2
DATA 4   DATA4    
DATA 5       DATA 3
DATA 6        
DATA 7       DATA4
         

 

* ВНИМАНИЕ

В случае копирования VRAM, " чтение из VRAM" и " запись в VRAM" повторяются побайтно. Поэтому, когда область оригинала и область копии перекрываются, пересылка может быть некорректной.

 


Пример программирования дан ниже.

Примечание: Регистр #1 содержит другие биты, кроме DMA, поэтому будьте внимательны при программировании.

 

    D7 D6 D5 D4 D3 D2 D1 D0  
$C00004 1 байт * * * * * * EMPTY FULL D15 – D8
2 байт F SOVR C ODD VB HB DMA PAL D7 – D0

 

DMA=1: DMA занят

 

Шаг Регистр D7 D6 D5 D4 D3 D2 D1 D0
  №15 INC7 INC6 INC5 INC4 INC3 INC2 INC1 INC0
  №1   DISP IE0 M1 M2      
  №19 LG7 LG6 LG5 LG4 LG3 LG2 LG1 LG0
  №20 LG15 LG14 LG13 LG12 LG11 LG10 LG9 LG8
  №21 SA8 SA7 SA6 SA5 SA4 SA3 SA2 SA1
  №22 SA16 SA15 SA14 SA13 SA12 SA11 SA10 SA9
  №23 DMD1 DMD0 SA22 SA21 SA20 SA19 SA18 SA17
  $C00004     DA13 DA12 DA11 DA10 DA9 DA8
  DA7 DA6 DA5 DA4 DA3 DA2 DA1 DA0
                 
              DA15 DA14

 

INC7~INC0: Шаг увеличения адреса.

LG15~LG0: Количество копируемых байт.

SA23~SA1: Адрес оригинала.

DA15~DAO: Адрес копии.

 

При использовании записи в регистр $C00004 двойным словом, порядок записи битов будет следующий: 1 - D31-D24,

2 - D23-D16, 3 – D15-D8, 4 – D7-D0.

 

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

Внимание! Бит D7, установленный в 1 на 11-ом шаге обозначен как CD5. Этот бит используется в VDP при

инициализации и запуска сервиса DMA. При этом дополнительной информации обо всех вариантах кода ID нет.

Будьте внимательны, в примерах указаны нормальные значения.


_ ПРОИЗВОДИТЕЛЬНОСТЬ ПЕРЕДАЧИ DMA _

 

Производительность передачи данных сервисом DMA зависит от режима дисплея:

 

РЕЖИМ DMA РЕЖИМ ДИСПЛЕЯ ХОД ЛУЧА ПЕРЕСЫЛКА БАЙТ ЗА 1 СТРОКУ
ИЗ ПАМЯТИ 32 СИМВОЛА ПРИ ОТОБРАЖЕНИИ ПРИ КАДРОВОМ ОБРАТНОМ ХОДЕ 16 байт 167 байт
В ВИДЕОБУФЕР 40 СИМВОЛОВ ПРИ ОТОБРАЖЕНИИ ПРИ КАДРОВОМ ОБРАТНОМ ХОДЕ 18 байт 205 байт
ЗАПОЛНЕНИЕ 32 СИМВОЛА ПРИ ОТОБРАЖЕНИИ ПРИ КАДРОВОМ ОБРАТНОМ ХОДЕ 15 байт 166 байт
ВИДЕОБУФЕРА 40 СИМВОЛОВ ПРИ ОТОБРАЖЕНИИ ПРИ КАДРОВОМ ОБРАТНОМ ХОДЕ 17 байт 204 байта
КОПИРОВАНИЕ 32 СИМВОЛА ПРИ ОТОБРАЖЕНИИ ПРИ КАДРОВОМ ОБРАТНОМ ХОДЕ 8 байт 83 байта
ВИДЕОБУФЕРА 40 СИМВОЛОВ ПРИ ОТОБРАЖЕНИИ ПРИ КАДРОВОМ ОБРАТНОМ ХОДЕ 9 байт 102 байта

 

Если бит DISP=0, в Регистре №1, т.е. когда изображение не формируется, производительность DMA за время “ПРИ ОТОБРАЖЕНИИ” такое же, как и при “ПРИ КАДРОВОМ ГАШЕНИИ”.

В режиме “Из памяти в видеобуфер”, если приемник CRAM или VSRAM, используется количество слов (WORD) а не байт.

При доступе к CRAM или VSRAM хватает одной строки во время Кадрового гашения.

 

Учитывайте при расчетах, что общая производительность DMA за один кадровый растр (1/60 секунды для NTSC и 1/50 секунды для PAL) зависит от количества строк за время Кадрового гашения (см. Режим Дисплея). В случае с NTSC (видеосигнал) и систем PAL.

 

Режим Дисплея Количество строк
28 символов по вертикали (NTSC)  
28 символов по вертикали (PAL)  
30 символов по вертикали (PAL)  

 

 


 






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