![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
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 Адрес оригинала Адрес копии Адрес копии
* ВНИМАНИЕ В случае копирования VRAM, " чтение из VRAM" и " запись в VRAM" повторяются побайтно. Поэтому, когда область оригинала и область копии перекрываются, пересылка может быть некорректной.
Пример программирования дан ниже. Примечание: Регистр #1 содержит другие биты, кроме DMA, поэтому будьте внимательны при программировании.
DMA=1: DMA занят
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 зависит от режима дисплея:
Если бит DISP=0, в Регистре №1, т.е. когда изображение не формируется, производительность DMA за время “ПРИ ОТОБРАЖЕНИИ” такое же, как и при “ПРИ КАДРОВОМ ГАШЕНИИ”. В режиме “Из памяти в видеобуфер”, если приемник CRAM или VSRAM, используется количество слов (WORD) а не байт. При доступе к CRAM или VSRAM хватает одной строки во время Кадрового гашения.
Учитывайте при расчетах, что общая производительность DMA за один кадровый растр (1/60 секунды для NTSC и 1/50 секунды для PAL) зависит от количества строк за время Кадрового гашения (см. Режим Дисплея). В случае с NTSC (видеосигнал) и систем PAL.
|