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

Звуковая система genesis руководство программиста содержание

I. Окружение Z80

(1) Карта памяти Z80

(2) Прерывания

II. Контроль 68K за Z80

(1) Инициализация/старт Z80

(2) Обмен с Z80

III. Управление чипом FM

(1) Доступ к чипу от 68K

(2) Доступ к чипу от Z80

IV. Управление PSG

V. Управление D/A

Здесь рассматривается распределение памяти и пути доступа к ресурсам.

Чип генератора FM и PSG объяснены в других документах.

I. Окружение Z80

(2) Карта памяти Z80

Память показана справа.

Порты I/O содержатся в карте памяти.

1) Место программы

Программа для Z80 хранится по адресам от 0 до 1FFFH, это S-RAM, т.е. статическая.

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

• Адреса с $2000 по $3FFF – фантом S-RAM, т.е. обращение к 2000H эквивалентно обращению к 0H.

• Скорее всего можно увеличить память Z80 вдвое (установить микросхему на 16Кб).

2) Банк доступа к ресурсам 68К

По адресам 8000H - FFFFH можно получить доступ к любым ресурсам 68K.

Процессор Z80 получает доступ ко ВСЕЙ области памяти 68K банками по 32Кб. Номер банка дополняет

младшие адреса Z80 до полного адреса 68К. Номер банка использует адреса с A15 до A23. Необходимо

записать эти 9 бит по одному в адрес 6000H последовательно, байтами.

3)I/O

4000H FM1 выбор регистра (Каналы 1-3)

4001H FM1 Данные

4002H FM2 выбор регистра (Каналы 4-6)

4003H FM2 Данные

Адрес PSG = 7F11H.

(2) Прерывание

У Z80 происходит только 1 прерывание – по кадровому гашению.

Прерывание с периодом 16ms (60Hz) для NTSC и 20ms (50Hz) для PAL. Длинна - 64mks (1 строка).

II Управление z80-м со стороны 68k

(1) Инициализация и запуск Z80

Последовательность запуска Z80.

(1) Запросить шины Z80 (BUS REQ ON)

(2) Снять сигнал сброса Z80 (BUS RESET OFF)

(3) Копировать программу для Z80 программой 68K в ОЗУ Z80

(4) Установить сброс Z80 (BUS RESET ON)

(5) Освободить шины Z80 (BUS REQ OFF)

(6) Снять сигнал сброса Z80 (BUS RESET OFF)

Захват шин Z80

Захватить шины (BUS REQ ON)

Данные 0100H (WORD) -> $A111O0

Освободить шины (BUS REQ OFF)

Данные 0000H (WORD) -> $A111O0

Сброс Z80

• Включить сброс (RESET ON)

Данные 0000H (Word) -> $A11200

• Выключить сброс (RESET OFF)

Данные 0100H (Word) -> $A11200

Период сброса не менее 26ms.

FM инициализируется тоже.

Подтверждение освобождения шин Z80

Информация из адреса $A11100 бит 0

0 - Z80 работает, шины не доступны

1 - 68K можно обращаться к шинам Z80

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

• На самом деле можно считывать данные даже тогда, когда Z80 не освободил шины, просто результат не гарантирован.

(2) Подтверждение Z80

При доступе по адресам A00000H - A07FFFH надо обязательно использовать захват шин Z80.

Доступ 68K к памяти Z80 происходит по байтам.