Картридж содержит немного улучшенный вариант микросхемы звукогенератора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. Первые две цифры означают год, следующие две — номер недели в году. Буквы являются кодовым обозначением завода-производителя и партии.
4 окна по 16 КБ в адресном пространстве процессора
Звук генерируется полностью цифровой схемой, и выдаётся в виде параллельного 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.