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

§ 4 Порты vdp

Порты VDP находятся в адресном пространстве 68000.

Адрес

Старший байт

Младший байт

$C00000

Порт данных

$C00002

Порт данных

$C00004

Порт управления

$C00006

Порт управления

$C00008

Счетчик координат луча

$C0000A

Запрещено

$C0000C

Запрещено

$C0000E

Запрещено

$C00010

Запрещено

PSG

_ $ C00000 (ПОРТ ДАННЫХ) _

ЧТЕНИЕ/ЗАПИСЬ: VRAM, VSRAM, CRAM

D7

D6

D5

D4

D3

D2

D1

D0

$C00000

1 байт

DT15

DT14

DT13

DT12

DT11

DT10

DT9

DT8

D15 – D8

2 байт

DT7

DT6

DT5

DT4

DT3

DT2

DT1

DT0

D7 – D0

  • Порты $C00000 и $C00002 полностью одинаковы

  • При записи в порт $C0000 слова (WORD), биты DT15-DT0 соответствуют битам записываемых данных.

_ $ C00004 (ПОРТ УПРАВЛЕНИЯ) _

ЧТЕНИЕ: РЕГИСТР СТАТУСА

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

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

* Не используются

EMPTY 1 : Буфер FIFO для записи пуст

0 :

FULL 1 : Буфер FIFO для записи полон

0:

F 1 : Произошло Кадровое прерывание

SOVR 1 : Переполнение спрайтов, слишком много на одну строку (экрана)

Более 17 в режиме 32 символа.

Более 21 в режиме 40 символов.

C 1 : Пересечение пикселей двух спрайтов с цветом не 0.

0 :

ODD 1 : Нечетный кадр изображения в чересстрочном режиме.

0 : Четный кадр изображения в чересстрочном режиме.

VB 1 : Происходит Кадровое гашение

0 :

HB 1 : Происходит Строчное гашение

0 :

DMA 1 : DMA занят

0 :

PAL 1 : Режим PAL

0 : Режим NTSC

ПЕРВЫЙ ВАРИАНТ ЗАПИСИ : УСТАНОВКА РЕГИСТРА

D7

D6

D5

D4

D3

D2

D1

D0

$C00004

1 байт

1

0

0

RS4

RS3

RS2

RS1

RS0

D15 – D8

2 байт

D7

D6

D5

D4

D3

D2

D1

D0

D7 – D0

  • Порты $C00000 и $C00002 полностью одинаковы

  • RS4 ~ RS0 : Номер внутреннего регистра.

  • D7 ~ D0 : Данные для регистра

  • При записи можно использовать запись двух слов (WORD, 16 бит) или 1 запись длинного слова (LONG WORD, 32 бита). При записи длинного слова первыми записываются биты 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

ЗАПИСЬ В VRAME

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

  • Для использования этой возможности нужно использовать либо две записи по 16 бит или одну запись на 32 бита.

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

• При использовании первого варианта использовать только 16 бит (1 слово “WORD”), при использовании второго

варианта использовать только 32 бита (2 слова “WORD” или 1 длинное слово “LONG WORD”). При записи

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

• VDP определяет какой тип записи используется по комбинации битов CD1 и CD0. Если комбинация такая:

CD1=1 и CD0=0 то это первый вариант, при других комбинациях (см. таблицу) применяется второй вариант.

• Внимание! Код ID CD5 используется при инициализации и запуска сервиса DMA. При этом дополнительной

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

_ $ C00008 (СЧЕТЧИК КООРДИНАТ ЛУЧА) _

НЕ ЧЕРЕЗСТРОЧНЫЙ РЕЖИМ

D7

D6

D5

D4

D3

D2

D1

D0

$C00008

1 байт

VC7

VC6

VC5

VC4

VC3

VC2

VC1

VC0

D15 – D8

2 байт

HC8

HC7

HC6

HC5

HC4

HC3

HC2

HC1

D7 – D0

ЧЕРЕЗСТРОЧНЫЙ РЕЖИМ

D7

D6

D5

D4

D3

D2

D1

D0

$C00008

1 байт

VC7

VC6

VC5

VC4

VC3

VC2

VC1

VC8

D15 – D8

2 байт

HC8

HC7

HC6

HC5

HC4

HC3

HC2

HC1

D7 – D0

HC8 ~ HC1 : Счетчик координаты X

VC8 ~ VC0 : Счетчик координаты Y

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

• Счетчик координат возвращает координаты (X/Y) выводимой в данный момент точки экрана (растра).

• В чересстрочном режиме младший бит координаты Y надо брать в регистре статуса (ODD).