Konami Sound Cartridge (Konami Sound Cartridge)
Konami Sound Cartridge — специальный картридж расширения для бытовых компьютеров стандарта MSX, поставлявшийся в комплекте с играми Snatcher и Super Deform Snatcher (сами игры поставлялись на трёх дискетах формата 3,5 дюйма) фирмы Konami.
Описание
[править | править код]Картридж содержит немного улучшенный вариант микросхемы звукогенератора Konami SCC, имеющий официальное обозначение SCC-I, но обычно неофициально называемый SCC+, и 64 КБ оперативной памяти. Вероятно, дополнительная память была включена в состав картриджа по причине наличия у большинства MSX-совместимых компьютеров в Японии (на момент выхода упомянутых игр) небольшого объёма основной оперативной памяти (обычно 64 КБ).
Микросхема SCC+, использующаяся в картридже, отличается от обычной микросхемы SCC наличием памяти для хранения формы сигнала для всех пяти каналов (по 32 байта для каждого). Обычная микросхема SCC имела память только для четырёх каналов, каналы 4 и 5 использовали одну и ту же память.
Картридж, поставлявшийся в комплекте с игрой Snatcher отличается от поставлявшегося с игрой Super Deform Snatcher. Отличия заключаются только в различном распределении памяти. Возможной причиной этих различий является желание разработчика сделать эти картриджи несовместимыми между собой. Некоторые эмуляторы MSX эмулируют этот вариант картриджа (например, эмулятор MAME).
Большинство игр, входящих в сборники Konami Games Collections, могут использовать картридж, поставлявшийся с игрой Snatcher, для воспроизведения более качественного звука. За исключением этих игр, картридж не поддерживается другими программами.
Микросхема SCC+ выполнена в корпусе DIP48. На корпусе каждой микросхемы имеется маркировка KONAMI 052539 SCC-I 2312P001 JAPAN (отличается от маркировки обычных микросхем SCC), после которой следует код даты и места производства, например 8951EAI. Первые две цифры означают год, следующие две — номер недели в году. Буквы являются кодовым обозначением завода-производителя и партии.
Технические характеристики
[править | править код]Звук генерируется полностью цифровой схемой, и выдаётся в виде параллельного 6-разрядного кода, преобразуемого внешним 11-разрядным ЦАП (простейшая цепная R-2R схема) в аналоговый сигнал.
Технические подробности
[править | править код]Увеличение объёма памяти
[править | править код]Существует возможность увеличить объём оперативной памяти картриджа до 128 КБ. На печатной плате предусмотрено два неиспользованных места для установки микросхем памяти типа 4464 (каждая имеет объём 4x64K). Когда дополнительные микросхемы памяти установлены, оба типа картриджей становятся полностью идентичными, и могут работать как с Snatcher, так и с Super Deform Snatcher.
Несколько неожиданным побочным эффектом расширения памяти становится то, что картридж начинает работать в точности как обычный картридж на основе ПЗУ объёмом 128 КБ и микросхемы SCC. При этом становится возможной загрузка в ОЗУ картриджа любых игр, распространявшихся на картриджах подобного типа (например, Gradius 2, F1 Spirit, Quarth, и другие) в ОЗУ картриджа, и они будут работать как оригинальные картриджи. Разумеется, при выключении питания информация, загруженная в ОЗУ, теряется, и требуется повторная загрузка. Возможно, что микросхема SCC+ изначально была разработана для внутренних нужд при разработке и тестировании игр в Konami.
Также возможно сделать картридж совместимым с обеими играми без добавления микросхем ОЗУ. Для этого требуется соединить вывод 16 одной из установленных микросхем ОЗУ с контактной площадкой для того же вывода одной из отсутствующих микросхем. При этом установленное ОЗУ станет отображаться в оба банка по 64 КБ.
Использование памяти
[править | править код]Программирование SCC+ осуществляется через порты ввода-вывода, отображённые в адресное пространство памяти, и в целом очень близко к программированию обычных картриджей с ПЗУ и SCC.
Как и на обычных картриджах с использованием микросхемы SCC, память делится на четыре банка по 8 КБ:
- Банк 1
- 4000h — 5FFFh
- Банк 2
- 6000h — 7FFFh
- Банк 3
- 8000h — 9FFFh
- Банк 4
- A000h — BFFFh
Для изменения раскладки памяти, требуется произвести запись по одному из следующих адресов:
- Банк 1
- 5000h — 57FFh
- Банк 2
- 7000h — 77FFh
- Банк 3
- 9000h — 97FFh
- Банк 4
- B000h — B7FFh
Биты с третьего по седьмой игнорируются. Значения от 0 до 7 выбирают 8-килобайтные страницы в младших 64 КБ ОЗУ картриджа (вариант с игрой Snatcher), значения от 8 до 15 — в старших 64 КБ (как с игрой Super Deform Snatcher).
По умолчанию (после сброса) устанавливается следующее соответствие банков и областей памяти: 1=0, 2=1, 3=2, 4=3. Такое распределение памяти аналогично обычным ПЗУ-картриджам с микросхемой SCC. Если младшие 64 КБ ОЗУ отсутствуют (в случае с Super Deform Snatcher), чтение из соответствующей им области памяти будет возвращать значение FFh, а запись будет игнорироваться.
По умолчанию, содержимое ОЗУ не может быть изменено (запись в него запрещена, режим ПЗУ). Для выбора режима доступа к памяти, а также для выбора режима работы звукогенератора (режим SCC+, в котором каналы 4 и 5 полностью независимы, или режим совместимости с SCC, в котором эти каналы используют общую форму сигнала) существует специальный регистр, называемый регистр режима. Он всегда находится в адресах BFFEh и BFFFh. возможно перевести память в режим ОЗУ, однако в этом режиме нет возможности изменить соответствие банков областям памяти.
- Бит 7
- не используется
- Бит 6
- не используется
- Бит 5
- если установлен, звукогенератор работает в режиме SCC+, иначе в режиме совместимости с SCC
- Бит 4
- если установлен, банки с 1 по 3 находятся в режиме ОЗУ, иначе в режиме выбора области памяти
- Бит 3
- не используется
- Бит 2
- если установлен, и бит 5 сброшен, банк 3 находится в режиме ОЗУ, независимо от значения бита 4
- Бит 1
- если установлен, банк 2 находится в режиме ОЗУ, независимо от значения бита 4
- Бит 0
- если установлен, банк 1 находится в режиме ОЗУ, независимо от значения бита 4
Ячейки памяти BFFEh и BFFFh не могут быть изменены даже в режиме ОЗУ, так как в них всегда отображается регистр режима.
Игры от Konami всегда используют значения 20h и 3Fh для регистра режима, так как они всегда используют режим SCC+. 30h также будет работать для режима ОЗУ.
Использование звукогенератора
[править | править код]Если банк 3 находится в режиме выбора области памяти, и бит 5 регистра режима сброшен, режим SCC может быть активирован записью значения 3Fh в любой адрес в диапазоне 9000h…97FFh. Набор управляющих регистров аналогичен обычным картриджам с SCC, и отличается только адресами регистров и возможность чтения формы сигнала канала 5. Регистры SCC отображаются памяти в диапазоне адресов от 9800h до 9FDFh.
Адрес | Запись/чтение | Назначение |
---|---|---|
9800h — 981Fh | Запись и чтение | Форма сигнала канала 1 |
9820h — 983Fh | Запись и чтение | Форма сигнала канала 2 |
9840h — 985Fh | Запись и чтение | Форма сигнала канала 3 |
9860h — 987Fh | Запись и чтение | Чтение: форма сигнала канала 4 Запись: форма сигнала каналов 4 и 5 |
9880h — 9881h | Только запись | Частота канала 1 |
9882h — 9883h | Только запись | Частота канала 2 |
9884h — 9885h | Только запись | Частота канала 3 |
9886h — 9887h | Только запись | Частота канала 4 |
9888h — 9889h | Только запись | Частота канала 5 |
988Ah | Только запись | Громкость канала 1 |
988Bh | Только запись | Громкость канала 2 |
988Ch | Только запись | Громкость канала 3 |
988Dh | Только запись | Громкость канала 4 |
988Eh | Только запись | Громкость канала 5 |
988Fh | Только запись | Биты включения-выключения каналов 1..5 |
9890h — 989Fh | Только запись | Аналогично адресам 9880h…988Fh |
98A0h — 98BFh | Только запись | Форма сигнала канала 5 |
98C0h — 98DFh | Запись и чтение | Регистр искажения |
98E0h — 98FFh | Не используется |
Если банк 4 в режиме выбора области, и бит 5 регистра режима установлен, режим SCC+ может быть активирован записью любого значения с установленным старшим битом в любой адрес в диапазоне B000h…B7FFh. После этого регистры SCC+ становятся доступными в диапазоне адресов B800h…BFDFh.
Адрес | Запись/чтение | Назначение |
---|---|---|
B800h — B81Fh | Запись и чтение | Форма сигнала канала 1 |
B820h — B83Fh | Запись и чтение | Форма сигнала канала 2 |
B840h — B85Fh | Запись и чтение | Форма сигнала канала 3 |
B860h — B87Fh | Запись и чтение | Форма сигнала канала 4 |
B880h — B89Fh | Запись и чтение | Форма сигнала канала 5 |
B8A0h — B8A1h | Только запись | Частота канала 1 |
B8A2h — B8A3h | Только запись | Частота канала 2 |
B8A4h — B8A5h | Только запись | Частота канала 3 |
B8A6h — B8A7h | Только запись | Частота канала 4 |
B8A8h — B8A9h | Только запись | Частота канала 5 |
B8AAh | Только запись | Громкость канала 1 |
B8ABh | Только запись | Громкость канала 2 |
B8ACh | Только запись | Громкость канала 3 |
B8ADh | Только запись | Громкость канала 4 |
B8AEh | Только запись | Громкость канала 5 |
B8AFh | Только запись | Биты включения-выключения каналов 1..5 |
B8B0h — B8BFh | Только запись | Аналогично адресам B8A0h…B8AFh |
B8C0h — B8DFh | Запись и чтение | Регистр искажения |
B8E0h — B8FFh | Не используется |
См. также
[править | править код]Ссылки
[править | править код]- Konami’s Sound Cartridge (SCC+) for the MSX — подробное описание картриджа, техническая информация, фотографии