- •Технический обзор sega genesis конфиденциально собственность sega
- •******* Содержание *******
- •§ 1 Спецификация экрана
- •§2 Внутреннее строение vdp
- •§ 3 Прерывания
- •§ 4 Порты vdp
- •§ 4 Регистры vdp
- •§ 6 Доступ к памяти vdp
- •Чтение из vram (Видеобуфера)
- •§ 7 Пересылка с помощю dma
- •3. Термин: Данные заполнения - байт.
- •§8 Прокрутка экрана (Скроллинг)
- •§ 11 Приоритет
- •3. Режим обратной совместимости
- •4. Системные порты ввода/вывода
- •§ 1 Номер версии
- •§ 2 Порт ввода/вывода
- •§ 4 Управление сопроцессором z80
- •§5 Ресурсы z80
- •5. Распределение vram
- •1 32 Символа по горизонтали
- •2 40 Символов по горизонтали
- •Заголовок картриджа пзу (rom) для mega drive
- •Звуковая система genesis руководство программиста содержание
- •II Управление z80-м со стороны 68k
- •III. Управление чипом fm
- •IV. Управление psg
- •Немножко о “Операторах”
- •Обзор регистров
- •Спецификация огибающей
- •Обзор регистров: Регистр 22h - lfo
- •Регистры 24h и 25h – Таймер a
- •Регистр 26h – Таймер b
- •Регистр 27h
- •Регистр 28h – Включение/выключение ноты
- •Регистры 2ah/2bh – 8 битный цап
- •Тестовая программа
- •Программируемый генератор звука (psg)
- •Частота тонального генератора
- •Управление генератором шума
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
