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

§ 6 Доступ к памяти vdp

_ УСТАНОВКИ АДРЕСАЦИИ ОЗУ _

Вы можете получить доступ к VRAM, CRAM и VSRAM после записи длинного слова (32 бита) управления

по адресу $C00004 или $C00006.

Можно использовать два слова (WORD) или одно длинное слово (LONG WORD) при установке адреса.

Если используется длинное слово, то биты D31 - D16 записываются первыми, затем биты D15 - D0.

D7

D6

D5

D4

D3

D2

D1

D0

1 слово

1 байт

CD1

CD0

A13

A12

A11

A10

A9

A8

D15 – D8

$C00004

2 байт

A7

A6

A5

A4

A3

A2

A1

A0

D7 – D0

2 слово

1 байт

0

0

0

0

0

0

0

0

D15 – D8

$C00004

2 байт

CD5

CD4

CD3

CD2

0

0

A15

A14

D7 – D0

CD5~CD0 : Код ID

A15~A0 : Адрес назначения в ОЗУ

CD5

CD4

CD3

CD2

CD1

CD0

ЗАПИСЬ В VRAM

0

0

0

0

0

1

ЗАПИСЬ В CRAM

0

0

0

0

1

1

ЗАПИСЬ В VSRAM

0

0

0

1

0

1

ЧТЕНИЕ ИЗ VRAM

0

0

0

0

0

0

ЧТЕНИЕ ИЗ CRAM

0

0

1

0

0

0

ЧТЕНИЕ ИЗ VSRAM

0

0

0

1

0

0

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

• Для ускорения доступа, можно задать только начальный адрес ОЗУ VDP. А потом можно просто обращаться

к регистру данных VDP, правда, перед этим нужно инициализировать счетчик автоматического увеличения

адреса.

_ ДОСТУП К VRAM (ВИДЕОБУФЕР) _

Объем VRAM всего 64 Кбайт, поэтому адрес занимает 16 бит и имеет состояния от 0 до $FFFF. Доступ

к VRAM можно получить следующим образом:

D7

D6

D5

D4

D3

D2

D1

D0

1 слово

1 байт

0

1

A13

A12

A11

A10

A9

A8

D15 – D8

$C00004

2 байт

A7

A6

A5

A4

A3

A2

A1

A0

D7 – D0

2 слово

1 байт

0

0

0

0

0

0

0

0

D15 – D8

$C00004

2 байт

0

0

0

0

0

0

A15

A14

D7 – D0

Данные

1 байт

DT15

DT14

DT13

DT12

DT11

DT10

DT9

DT8

D15 – D8

$C00000

2 байт

DT7

DT6

DT5

DT4

DT3

DT2

DT1

DT0

D7 – D0

A15~A0 : Адрес VRAM

D15~D0 : Данные VRAM

При использовании длинного слова (LONG WORD) биты D31 ~ D16 записываются первыми, затем D15 ~ D0.

Если используете запись байта, данные D7 ~ D0, и могут быть записаны в $C00000 или $C00001.

Адрес VRAM увеличится на число в регистре № 15 независимо от размера данных (8/16 бит).

Адрес A0 у VRAM используется для расчета увеличения адреса, но игнорируется при декодировании.

Адресация и декодирование адреса VRAM:

адрес VRAM декодируется, используя A15 ~ A1, и A0 определяет формат записи данных. Записываемые данные

не могут перекрыть границу слова (WORD, 16 бит). Младший и старший байты обменяются местами, если A0=1.

При A0=0

Адрес

Байт

Слово

Двойное слово

нечетный

D7 ~ D0

D15 ~ D8

D31 ~ D24

четный

D7 ~ D0

D23 ~ D16

нечетный

D15 ~ D8

четный

D7 ~ D0

При A0=1

Адрес

Байт

Слово

Двойное слово

нечетный

D7 ~ D0

D7 ~ D0

D23 ~ D16

четный

D15 ~ D8

D31 ~ D24

нечетный

D7 ~ D0

четный

D15 ~ D8

(ПРИМЕР)

СТАРТОВЫЙ АДРЕС: 0 Регистр #15=2

Адрес

Байт

Слово

Двойное слово

0

1-ый D7 ~ D0

1-ое D15 ~ D8

1-ое D31 ~ D24

1

D7 ~ D0

D23 ~ D16

2

2-ой D7 ~ D0

2-ое D15 ~ D8

D15 ~ D8

3

D7 ~ D0

D7 ~ D0

4

3-ий D7 ~ D0

3-ее D15 ~ D8

2-ое D31 ~ D24

5

D7 ~ D0

D23 ~ D16

6

4-ый D7 ~ D0

4-ое D15 ~ D8

D15 ~ D8

7

D7 ~ D0

D7 ~ D0

8

5-ый D7 ~ D0

5-ое D15 ~ D8

3-ее D31 ~ D24

9

D7 ~ D0

D23 ~ D16

СТАРТОВЫЙ АДРЕС: 0 Регистр #15=1

Адрес

Байт

Слово

Двойное слово

0

2-ой D7 ~ D0

2-ое D7 ~ D0

1-ое D7 ~ D0

1

1-ый D7 ~ D0

D15 ~ D8

D15 ~ D8

2

4-ый D7 ~ D0

4-ое D7 ~ D0

2-ое D7 ~ D0

3

3-ий D7 ~ D0

D15 ~ D8

D15 ~ D8

4

6-ой D7 ~ D0

6-ое D7 ~ D0

3-ее D7 ~ D0

5

5-ый D7 ~ D0

D15 ~ D8

D15 ~ D8

6

8-ой D7 ~ D0

8-ое D7 ~ D0

4-ое D7 ~ D0

7

7-ой D7 ~ D0

D15 ~ D8

D15 ~ D8

8

10-ый D7 ~ D0

10-ое D7 ~ D0

5-ое D7 ~ D0

9

9-ый D7 ~ D0

D15 ~ D8

D15 ~ D8

СТАРТОВЫЙ АДРЕС: 1 Регистр #15=2

Адрес

Байт

Слово

Двойное слово

0

1-ый D7 ~ D0

1-ое D7 ~ D0

1-ое D23 ~ D16

1

D15 ~ D8

D31 ~ D24

2

2-ой D7 ~ D0

2-ое D7 ~ D0

1-ое D23 ~ D16

3

D15 ~ D8

D31 ~ D24

4

3-ий D7 ~ D0

3-ое D7 ~ D0

2-ое D23 ~ D16

5

D15 ~ D8

D31 ~ D24

6

4-ый D7 ~ D0

4-ое D7 ~ D0

2-ое D23 ~ D16

7

D15 ~ D8

D31 ~ D24

8

5-ый D7 ~ D0

5-ое D7 ~ D0

3-ое D23 ~ D16

9

D15 ~ D8

D31 ~ D24

СТАРТОВЫЙ АДРЕС: 1 Регистр #15=1

Адрес

Байт

Слово

Двойное слово

0

1-ый D7 ~ D0

1-ое D7 ~ D0

1-ое D23 ~ D16

1

D15 ~ D8

D31 ~ D24

2

3-ий D7 ~ D0

3-ее D7 ~ D0

2-ое D23 ~ D16

3

2-ой D7 ~ D0

D15 ~ D8

D31 ~ D24

4

5-ый D7 ~ D0

5-ое D7 ~ D0

3-ое D23 ~ D16

5

4-ый D7 ~ D0

D15 ~ D8

D31 ~ D24

6

7-ой D7 ~ D0

7-ое D7 ~ D0

4-ое D23 ~ D16

7

6-ой D7 ~ D0

D15 ~ D8

D31 ~ D24

8

9-ый D7 ~ D0

9-ое D7 ~ D0

5-ое D23 ~ D16

9

8-ой D7 ~ D0

D15 ~ D8

D31 ~ D24