Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Sega_Tech_Rus.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

3. Термин: Данные заполнения - байт.

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

(A) = (B) = (C) = Байт * DATA

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

1

№15

INC7

INC6

INC5

INC4

INC3

INC2

INC1

INC0

2

№1

0

DISP

IE0

M1

M2

1

0

0

3

№19

LG7

LG6

LG5

LG4

LG3

LG2

LG1

LG0

4

№20

LG15

LG14

LG13

LG12

LG11

LG10

LG9

LG8

5

№21

SA8

SA7

SA6

SA5

SA4

SA3

SA2

SA1

6

№22

SA16

SA15

SA14

SA13

SA12

SA11

SA10

SA9

7

№23

DMD1

DMD0

SA22

SA21

SA20

SA19

SA18

SA17

8

$C00004

0

0

DA13

DA12

DA11

DA10

DA9

DA8

9

DA7

DA6

DA5

DA4

DA3

DA2

DA1

DA0

10

0

0

0

0

0

0

0

0

11

1

0

0

0

0

0

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)

36

28 символов по вертикали (PAL)

87

30 символов по вертикали (PAL)

71