Инструменты пользователя

Инструменты сайта


msx:carnivore2:specification

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
msx:carnivore2:specification [2020-03-21 21:49]
Wierzbowsky [MiniROM]
msx:carnivore2:specification [2024-02-27 08:52] (текущий)
GreyWolf
Строка 1: Строка 1:
 ====== Техническая документация на Carnivore2 ====== ====== Техническая документация на Carnivore2 ======
  
-Ниже представлена подробная техническая документация ​на на многофункциональный картридж [[carnivore2|Carnivore2]].+Ниже представлена подробная техническая документация на многофункциональный картридж [[carnivore2|Carnivore2]].
  
 **Примечания:​** **Примечания:​**
Строка 9: Строка 9:
 **Основные функциональные блоки и возможности:​** **Основные функциональные блоки и возможности:​**
   * Внешний накопитель:​ карта памяти [[compactflash:​compactflash|]]   * Внешний накопитель:​ карта памяти [[compactflash:​compactflash|]]
-    * В качестве ДОС используется [[msx:​nextor:​nextor|]] (встроенная поддержка FAT12/16, максимальный размер раздела:​ 4 Гб).+    * В качестве ДОС используется [[msx:​nextor:​nextor|]] (встроенная поддержка FAT12/16, максимальный размер раздела:​ 4 Гбайт).
     * Поддерживаются адаптеры [[sd_card:​sd_card|SD и MicroSD]] карт     * Поддерживаются адаптеры [[sd_card:​sd_card|SD и MicroSD]] карт
     * [[msx:​nextor:​nextor|]] поддерживает эмуляцию образов дискет     * [[msx:​nextor:​nextor|]] поддерживает эмуляцию образов дискет
-    * Утилиты совместимы с [[msx:​dos|]] версий 1 и 2+    * Утилиты совместимы с [[msx:dos:|]] версий 1 и 2
     * Картридж можно настроить как расширение ОЗУ, IDE диск, звуковая карта FMPAC, звуковые карты SCC/SCC+ или любую их комбинацию     * Картридж можно настроить как расширение ОЗУ, IDE диск, звуковая карта FMPAC, звуковые карты SCC/SCC+ или любую их комбинацию
-  * ОЗУ: 2048 Кб (2 Мб)+  * ОЗУ: 2048 Кбайт ​(2 Мбайт)
     * Состав:​     * Состав:​
-      * 1024 Кб основное ОЗУ с маппером +      * 1024 Кбайт ​основное ОЗУ с маппером 
-      * 256 Кб для копий ПЗУ при апгрейде +      * 256 Кбайт ​для копий ПЗУ при апгрейде 
-      * 720 Кб дополнительное ОЗУ с маппером,​ используемое по принципу [[#​MegaRAM]] +      * 720 Кбайт ​дополнительное ОЗУ с маппером,​ используемое по принципу [[#​MegaRAM]] 
-      * 4 Кб (в последнем 64 Кб–ном блоке) для ​ОЗУ FMPAC (для сохранения данных после отключения питания нужна батарея)  +      * 4 Кбайт ​ОЗУ FMPAC (для сохранения данных после отключения питания нужна батарея)  
-  * Флэш память (FlashROM): объём 8 Мб, скорость 64 Мбит/​с +  * Флэш память (FlashROM): объём 8 Мбайт, скорость 64 Мбит/​с 
-    * Первые 256 Кб используются для служебной информации и ПЗУ эмулируемых устройств+    * Первые 256 Кбайт ​используются для служебной информации и ПЗУ эмулируемых устройств
     * Эмуляция мапперов:​     * Эмуляция мапперов:​
-      * образы картриджей до 64 Кб (планарный режим)+      * образы картриджей до 64 Кбайт ​(планарный режим)
       * ASCII8       * ASCII8
       * ASCII16       * ASCII16
Строка 32: Строка 32:
     * Эмуляция PPI и PSG (порты ввода/​вывода:​ 10h–12h)     * Эмуляция PPI и PSG (порты ввода/​вывода:​ 10h–12h)
     * Эмуляция Konami SCC и SCC+     * Эмуляция Konami SCC и SCC+
-    * Эмуляция OPLL (YM2413, [[msx:​music|MSX–Music]]), переведённое на английский язык ПЗУ+    * Эмуляция OPLL (YM2413, [[msx:music:|]]), переведённое на английский язык ПЗУ
     * Настройка громкости для всех эмулируемых звуковых устройств     * Настройка громкости для всех эмулируемых звуковых устройств
     * PSG и PPI можно отключить в пользовательском интерфейсе  ​     * PSG и PPI можно отключить в пользовательском интерфейсе  ​
Строка 44: Строка 44:
  
 ^  Файл ​            ​^ ​ Подслот ​ ^  Описание ​        ^ ^  Файл ​            ​^ ​ Подслот ​ ^  Описание ​        ^
-| ''​BOOTCMFC.ROM'' ​ |  0        | Загрузочное меню ​ +| ''​BOOTCMFC.BIN'' ​ |  0        | Стартовое меню ​   
-| ''​BIDECMFC.ROM'' ​ |  1        | ПЗУ IDE           | +| ''​BIDECMFC.BIN'' ​ |  1        | ПЗУ IDE           | 
-|                   ​| ​ 2        | 1 Мб ОЗУ ​         | +|                   ​| ​ 2        | 1 Мбайт ​ОЗУ ​         | 
-| ''​FMPCCMFC.ROM'' ​ |  3        | ПЗУ FMPAC         |+| ''​FMPCCMFC.BIN'' ​ |  3        | ПЗУ FMPAC         |
  
-Расположение ​загрузочного меню, каталога и BIOS в чипе FlashROM описано ниже. Существуют логические и физические блоки, они имеют разную нумерацию.+Расположение ​стартового меню, каталога и BIOS в чипе FlashROM описано ниже. Существуют логические и физические блоки, они имеют разную нумерацию.
  
 ====== Расположение блоков в микросхеме флеш памяти ====== ====== Расположение блоков в микросхеме флеш памяти ======
  
-Микросхема FlashROM, используемая в Carnivore2 имеет в начале 8 логических блоков (в первом физическом 64кб блоке),​ а затем следуют монолитные 64кб блоки. В логических блоках расположены ​загрузочное меню и каталог. Далее следуют ПЗУ (BIOS) встроенных устройств. Ниже приведено их расположение по блокам. +Микросхема FlashROM, используемая в Carnivore2 имеет в начале 8 логических блоков (в первом физическом 64 Кбайтном ​блоке),​ а затем следуют монолитные 64 Кбайные ​блоки. В логических блоках расположены ​стартовое меню и каталог. Далее следуют ПЗУ (BIOS) встроенных устройств. Ниже приведено их расположение по блокам.
  
 ===== 8–килобайтные блоки ===== ===== 8–килобайтные блоки =====
  
-Первые 8 логических блоков флэш соответствуют нулевому физическому блоку, задаваемому регистром AddrFR. Логическте блоки 0 и 1 содержат код ​загрузочного меню. ​Далее следуют блоки директории, а также блоки данных ​загрузочного меню.+Первые 8 логических блоков флэш соответствуют нулевому физическому блоку, задаваемому регистром AddrFR. Логическте блоки 01, 6 и 7 содержат код ​и данные стартового меню. ​Блоки 2 и 3 содержат записи директории. Следующие блока зарезервированы для использования в будущем.
  
 ^  Диапазон адресов ​ ^  № блока ​ ^  Описание ​ ^ ^  Диапазон адресов ​ ^  № блока ​ ^  Описание ​ ^
 |''​000000h–001FFFh''​| ​ 0  |после включения питания (AddrFR=#​00,​ R1Mult="​10000101"​ B1AdrD = #4000) отображается в Subslot 0 по адресу #​4000–#​5FFF и содержит блок загрузчика (заголовок ROM картриджа "​AB"​ + адреса старта)| |''​000000h–001FFFh''​| ​ 0  |после включения питания (AddrFR=#​00,​ R1Mult="​10000101"​ B1AdrD = #4000) отображается в Subslot 0 по адресу #​4000–#​5FFF и содержит блок загрузчика (заголовок ROM картриджа "​AB"​ + адреса старта)|
-|''​002000h–003FFFh''​| ​ 1  |после включения питание отображается в Subslot 0 по адресу #​6000–#​7FFF (биты 2–0 регистра R1Mult = "​101"​ означают размер отображаемого блока (картриджа) 16 Кб и состоят из двух физических 8 Кб блоков|+|''​002000h–003FFFh''​| ​ 1  |после включения питание отображается в Subslot 0 по адресу #​6000–#​7FFF (биты 2–0 регистра R1Mult = "​101"​ означают размер отображаемого блока (картриджа) 16 Кбайт ​и состоят из двух физических 8 Кбайтных ​блоков|
 |''​004000h–005FFFh''​| ​ 2  |записи каталога| |''​004000h–005FFFh''​| ​ 2  |записи каталога|
 |''​006000h–007FFFh''​| ​ 3  |:::| |''​006000h–007FFFh''​| ​ 3  |:::|
-|''​008000h–009FFFh''​| ​ 4  |содержит таблицу "​Autostart";​ чтобы ​не записывать переменную автостарта по одному физическому байту, она ​последовательно перемещается ​по всему блоку+|''​008000h–009FFFh''​| ​ 4  |не используется| 
-|''​00A000h00BFFFh''​|  ​ ​|используется для «экранных» данных меню ​загрузки, переключается при необходимости вручную+|''​00A000h–00BFFFh''​| ​ 5  |не используется| 
-|''​00C000h–00DFFFh''​| ​ 6  |:::+|''​00C000h00DFFFh''​|  ​ ​|используется для «экранных» данных ​стартового ​меню, подключается при необходимости вручную| 
-|''​00E000h–00FFFFh''​| ​ 7  |не используются|+|''​00E000h–00FFFFh''​| ​ 7  |используется для «экранных» данных стартового меню, подключается ​при необходимости вручную|
  
 ===== 64–килобайтные блоки ===== ===== 64–килобайтные блоки =====
-После первых восьми логических 8 Кб блоков начинаются 64 Кб физические блоки флеш.+После первых восьми логических 8 Кбайтных ​блоков начинаются 64 Кбайтные ​физические блоки флеш.
  
 ^  Диапазон адресов ​ ^  № физического блока ​ ^  № логического блока ​ ^  Описание ​ ^ ^  Диапазон адресов ​ ^  № физического блока ​ ^  № логического блока ​ ^  Описание ​ ^
Строка 110: Строка 109:
 FlashROM идентификатор:​ #7E FlashROM идентификатор:​ #7E
  
-  * Блок 0 зарезервирован за загрусочным меню (''​BOOTCMFC.ROM''​) и директорией +  * Блок 0 зарезервирован за стартовым меню (''​BOOTCMFC.BIN''​) и директорией 
-  * Блоки 1–2 зарезервированы за IDE BIOS (''​BIDECMFC.ROM''​) +  * Блоки 1–2 зарезервированы за IDE BIOS (''​BIDECMFC.BIN''​) 
-  * Блок 3 зарезервирован за FMPAC BIOS (''​FMPCCMFC.ROM''​)+  * Блок 3 зарезервирован за FMPAC BIOS (''​FMPCCMFC.BIN''​)
  
 ====== Эмуляция FMPAC ====== ====== Эмуляция FMPAC ======
Строка 118: Строка 117:
 Эмуляция FMPAC поддерживается картриджем через порты #7C–#7D. Эмуляция FMPAC поддерживается картриджем через порты #7C–#7D.
  
-Память FMPAC SRAM эмулируется с использованием 8 Кб в верхней части первого мегабайта ОЗУ (теневое ОЗУ). Этот участок памяти не входит в основное ОЗУ и не управляется маппером. Физическая адресация этого блока памяти в теневом ОЗУ: #​0FE000h–#​0FFFFFh.+Память FMPAC SRAM эмулируется с использованием 8 Кбайт ​в верхней части первого мегабайта ОЗУ (теневое ОЗУ). Этот участок памяти не входит в основное ОЗУ и не управляется маппером. Физическая адресация этого блока памяти в теневом ОЗУ: #​0FE000h–#​0FFFFFh.
  
 Примечание:​ Данные в ОЗУ стираются сразу после выключения питания компьютера если в картридже не установлена батарея для поддержки долгосрочного хранения данных в ОЗУ. Примечание:​ Данные в ОЗУ стираются сразу после выключения питания компьютера если в картридже не установлена батарея для поддержки долгосрочного хранения данных в ОЗУ.
Строка 128: Строка 127:
   * 7FF7h: страница ПЗУ (чтение и запись)   * 7FF7h: страница ПЗУ (чтение и запись)
  
-Для включения 8 Кб SRAM по адресам 4000h–5FFFh,​ запишите 4Dh по адресу 5FFEh и 69h по адресу 5FFFh.+Для включения 8 Кбайт ​SRAM по адресам 4000h–5FFFh,​ запишите 4Dh по адресу 5FFEh и 69h по адресу 5FFFh.
  
 ====== Конфигурационное ППЗУ ====== ====== Конфигурационное ППЗУ ======
Строка 139: Строка 138:
 Это ППЗУ используется для хранения данных конфигурации картриджа,​ чтобы избежать их потери после выключения питания. В таблице ниже приведены адреса для хранения данных в ППЗУ, а также информация по самим данным. Это ППЗУ используется для хранения данных конфигурации картриджа,​ чтобы избежать их потери после выключения питания. В таблице ниже приведены адреса для хранения данных в ППЗУ, а также информация по самим данным.
  
-^  Адрес ​ ^  Описание ​ +^  Адрес ​ ^  Описание ​                                                                                                                                                                                    ​
-|01|громкость FMPAC и SCC. По 3 бита на громкость,​ максимальное значение — 8. Первые 2 бита используются как признак того, что громкость была предварительно записана в ППЗУ| +| 01      | громкость FMPAC и SCC. По 3 бита на громкость,​ максимальное значение — 8. Первые 2 бита используются как признак того, что громкость была предварительно записана в ППЗУ ​                     
-|02|флаг 50 или 60 Гц развёртки для видеопроцессора. Бит 1 в этом байте — сам флаг. Если бит в нуле, то используется 60 Гц| +| 02      | флаг 50 или 60 Гц развёртки для видеопроцессора. Бит 1 в этом байте — сам флаг. Если бит в нуле, то используется 60 Гц                                                                        
-|03|флаги включения/​выключения PSG и PPI Clicker, а также их громкость. По 3 бита на громкость,​ максимальное значение — 8.\\ Первые 2 бита используются для включения и выключения PSG и Clicker| +| 03      | флаги включения/​выключения PSG и PPI Clicker, а также их громкость. По 3 бита на громкость,​ максимальное значение — 8.\\ Первые 2 бита используются для включения и выключения PSG и Clicker ​ 
-|04|Сортировка каталога (0 = не сортировать)| +| 04      | Сортировка каталога (0 = не сортировать) ​                                                                                                                                                     
-|05|Эффекты (0 = выключены)| +| 05      | Эффекты (0 = выключены) ​                                                                                                                                                                      ​
-|06|Скорость клавиатуры/​джойстика| +| 06      | Скорость клавиатуры/​джойстика ​                                                                                                                                                                ​
-|07|Палитра шрифта меню| +| 07      | Палитра шрифта меню ​                                                                                                                                                                          ​
-|08|:::| +| 08      | :::                                                                                                                                                                                           ​
-|09|Палитра фона меню| +| 09      | Палитра фона меню ​                                                                                                                                                                            ​
-|0A|:::| +| 0A      | :::                                                                                                                                                                                           ​
-|0B|Палитра шрифта экрана помощи| +| 0B      | Палитра шрифта экрана помощи ​                                                                                                                                                                 
-|0C|:::| +| 0C      | :::                                                                                                                                                                                           ​
-|0D|Палитра фона экрана помощи| +| 0D      | Палитра фона экрана помощи ​                                                                                                                                                                   
-|0E|:::| +| 0E      | :::                                                                                                                                                                                           ​
-|0F|Палитра шрифта экрана настройки громкости| +| 0F      | Палитра шрифта экрана настройки громкости ​                                                                                                                                                    ​
-|10|:::| +| 10      | :::                                                                                                                                                                                           ​
-|11|Палитра фона экрана настройки громкости| +| 11      | Палитра фона экрана настройки громкости ​                                                                                                                                                      ​
-|12|:::| +| 12      | :::                                                                                                                                                                                           ​
-|13|Палитра шрифта экрана настройки PSG/PPI| +| 13      | Палитра шрифта экрана настройки PSG/​PPI ​                                                                                                                                                      ​
-|14|:::| +| 14      | :::                                                                                                                                                                                           ​
-|15|Палитра фона экрана настройки PSG/PPI| +| 15      | Палитра фона экрана настройки PSG/​PPI ​                                                                                                                                                        ​
-|16|:::| +| 16      | :::                                                                                                                                                                                           ​
-|17|Флаг использования пользовательских настроек интерфейса (должен быть равен #42)| +| 17      | Флаг использования пользовательских настроек интерфейса (должен быть равен #42)                                                                                                               ​
-|18|Двойной сброс (Double reset) при "​холодной загрузке"​ (1=включен)| +| 18      | Двойной сброс (Double reset) при "​холодной загрузке"​ (1=включен) ​                                                                                                                             
-|19|FMPAC моно (1=включен)|+| 19      | FMPAC моно (1=включен) ​                                                                                                                                                                       | 
 +| 1A      | Последняя запущенная запись ​                                                                                                                                                                  | 
 +| 1B      | Флаг проигрывания музыки ​                                                                                                                                                                     | 
 +| 1C      | Номер записи директории для автостарта ​                                                                                                                                                       | 
 +| 1D      | Флаг бегущей строки помощи ​                                                                                                                                                                   | 
 +| 1E      | Статус Dual-PSG ​                                                                                                                                                                              | 
 +| 1F      | Задержка при автостарте ​                                                                                                                                                                      | 
 +| 20      | Флаг разрешения работы в слоте 3                                                                                                                                                              | 
 +| 21      | Номер порта для идентификации и контроля картриджа ​                                                                                                                                           ​|
  
 Запись в ППЗУ осуществляется с помощью регистра CardMDR+#​23. Команды для ППЗУ записываются в этот регистр по очереди,​ как указано в спецификации на чип. Используются только команды разрешения записи,​ чтения и записи данных. Запись в ППЗУ осуществляется с помощью регистра CardMDR+#​23. Команды для ППЗУ записываются в этот регистр по очереди,​ как указано в спецификации на чип. Используются только команды разрешения записи,​ чтения и записи данных.
Строка 170: Строка 177:
 ====== Регистры конфигурации ====== ====== Регистры конфигурации ======
  
-Регистры конфигурации и управления начинаются с адреса 0F80h или 4F80h или 8F80h или СF80h. Видимость регистров зависит от того, что записано в "​нулевом"​ управляющем регистре после включения питания,​ этот регистр расположен по адресу 4F80h. Все регистры доступны только для записи за исключением псевдорегистра для прямого доступа к FlashROM или к конфигурационному ППЗУ.+Регистры конфигурации и управления начинаются с адреса 0F80h или 4F80h или 8F80h или СF80h. Видимость регистров зависит от того, что записано в "​нулевом"​ управляющем регистре после включения питания,​ этот регистр расположен по адресу 4F80h. Все регистры доступны только для записи за исключением псевдорегистра для прямого доступа к FlashROM или к конфигурационному ППЗУ, а также 3 байта версии прошивки ПЛИС - FPGA_ver.
  
 В таблице ниже дана информация о регистрах конфигурации. Таблица содержит информацию о битовых значениях байтов конфигурации картриджа. В таблице ниже дана информация о регистрах конфигурации. Таблица содержит информацию о битовых значениях байтов конфигурации картриджа.
 +^  № регистра,​ название ​ ^  Назначение,​ номер бита ​                                                                                                                 ^  Значение бита ​                                                                                            ​^ ​ Описание ​                                                                                  ^
 +| 00 [[#​CardMDR]] ​       | регистр управления конфигурацией картриджа ​                                                                                                                                                                                                                                                                                                       |||
 +| 01 AddrM0 ​             | младший регистр адреса (7…0) для обращения к FlashROM ​                                                                                                                                                                                                                                                                                            |||
 +| 02 AddrM1 ​             | средний регистр адреса (15…8) для обращения к FlashROM ​                                                                                                                                                                                                                                                                                           |||
 +| 03 AddrM2 ​             | старший регистр адреса (22…16) для обращения к FlashROM ​                                                                                                                                                                                                                                                                                          |||
 +| 04 DatM0               | псевдорегистр для передачи данных FlashRОM ​                                                                                                                                                                                                                                                                                                       |||
 +| 05 AddrFR ​             | регистр номера блока FlashROM с которого будут читаться данные для эмуляции ROM (размер блока 64 Кбайт) начальная конфигурация 00h                                                                                                                                                                                                                |||
 +| 06 R1Mask ​             | [[#​bank_config_registers|Регистры конфигурации банка]] 1                                                                                                                                                                                                                                                                                          |||
 +| 07 R1Addr ​             | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 08 R1Reg               | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 09 R1Mult ​             | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 0A B1MaskR ​            | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 0B B1AdrD ​             | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 0C R2Mask ​             | [[#​bank_config_registers|Регистры конфигурации банка]] 2                                                                                                                                                                                                                                                                                          |||
 +| 0D R2Addr ​             | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 0E R2Reg               | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 0F R2Mult ​             | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 10 B2MaskR ​            | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 11 B2AdrD ​             | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 12 R3Mask ​             | [[#​bank_config_registers|Регистры конфигурации банка]] 3                                                                                                                                                                                                                                                                                          |||
 +| 13 R3Addr ​             | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 14 R3Reg               | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 15 R3Mult ​             | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 16 B3MaskR ​            | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 17 B3AdrD ​             | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 18 R4Mask ​             | [[#​bank_config_registers|Регистры конфигурации банка]] 4                                                                                                                                                                                                                                                                                          |||
 +| 19 R4Addr ​             | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 1A R4Reg               | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 1B R4Mult ​             | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 1C B4MaskR ​            | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 1D B4AdrD ​             | :::                                                                                                                                                                                                                                                                                                                                               | :::                                                                                                        | :::                                                                                         |
 +| 1E [[#​Mconf]] ​         | Конфигурация мультикартриджа,​ расширенный слот ​                                                                                                                                                                                                                                                                                                   |||
 +| 1F CMDRCpy ​            | дубль регистра управления CardMDR (для использования команды LDIR)                                                                                                                                                                                                                                                                                |||
 +| 20 ConfFl ​             | регистр конфигурации чипа FlashROM \\ начальная конфигурация — 010b                                                                                                                                                                                                                                                                               |||
 +|                        |  2                                                                                                                                       ​| ​ 0                                                                                                         | для 8 разрядной шины данных ​                                                                |
 +| :::                    | :::                                                                                                                                      |  1                                                                                                         | для 16 разрядной шины данных ​                                                               |
 +| :::                    |  1                                                                                                                                       | Reset/​protect flag                                                                                                                                                                                      ||
 +| :::                    |  0                                                                                                                                       ​| ​ 1                                                                                                         | подать 12 вольт для режима скоростной записи ​                                               |
 +| :::                    | :::                                                                                                                                      |  0                                                                                                         | запретить +12в                                                                              |
 +| 21 NSReg               | служебный регистр \\ начальная конфигурация — #00, не меняйте его! ​                                                                                                                                                                                                                                                                               |||
 +| 22 SndLVL ​             | регистр уровня громкости для FMPAC и SCC \\ начальная конфигурация — 1Bh (00011011b) по включению питания;​ аппаратный рестарт не влияет ​                                                                                                                                                                                                          |||
 +|                        |  7, 6                                                                                                                                    | 10 = FMPAC моно, \\ 00 = FMPAC стерео ​                                                                                                                                                                  ||
 +| :::                    |  5, 4, 3                                                                                                                                 | уровень звука с FMPAK модуля (0–7) ​                                                                                                                                                                     ||
 +| :::                    |  2, 1, 0                                                                                                                                 | уровень звука с SCC(SCC+) модуля (0–7) ​                                                                                                                                                                 ||
 +| 23 CfgEEPR ​            | управление конфигурационным ППЗУ 93С46 (чтение и запись байтов конфигурации) ​                                                                                                                                                                                                                                                                     |||
 +|                        |  7, 6, 5, 4                                                                                                                              | не используется ​                                                                                                                                                                                        ||
 +| :::                    |  3                                                                                                                                       | EECS сигнал Chip Select EEPROM ​                                                                                                                                                                         ||
 +| :::                    |  2                                                                                                                                       | EECK сигнал CLK (синхро) ​                                                                                                                                                                               ||
 +| :::                    |  1                                                                                                                                       | EEDI сигнал Data Input (данные подаваемые на EEPROM) ​                                                                                                                                                   ||
 +| :::                    |  0                                                                                                                                       | EEDO сигнал Data Output (данные выдаваемые с EEPROM); только чтение ​                                                                                                                                    ||
 +| 24 PSGCtrl ​            | регистр управления встроенным PSG \\ начальная конфигурация — 1Bh (00011011b) по включению питания;​ аппаратный рестарт не влияет ​                                                                                                                                                                                                                 |||
 +|                        |  7                                                                                                                                       | включение/​выключение PSG                                                                                                                                                                                ||
 +| :::                    |  6                                                                                                                                       | включение/​выключение PPI Clicker ​                                                                                                                                                                       ||
 +| :::                    |  5, 4, 3                                                                                                                                 | уровень звука с PSG модуля (0–7) ​                                                                                                                                                                       ||
 +| :::                    |  2, 1, 0                                                                                                                                 | уровень звука с PPI Clicker (0–7) ​                                                                                                                                                                      ||
 +| 25                     | зарезервировано для использования в будущем ​                                                                                                                                                                                                                                                                                                      |||
 +| 26                     | зарезервировано для использования в будущем ​                                                                                                                                                                                                                                                                                                      |||
 +| 27                     | зарезервировано для использования в будущем ​                                                                                                                                                                                                                                                                                                      |||
 +|                        |  0                                                                                                                                       | включение перехватчика по рестарту системы или по чтению с адреса #4000                                                                                                                                 ||
 +| :::                    | :::                                                                                                                                      |  1                                                                                                         | включён ​                                                                                    |
 +| :::                    |  1                                                                                                                                       | расположение перехватчика ​                                                                                                                                                                              ||
 +| :::                    | :::                                                                                                                                      |  0                                                                                                         | блок загрузчика в FlashRОM ​                                                                 |
 +| :::                    | :::                                                                                                                                      |  1                                                                                                         | нулевой блок скрытого ОЗУ ​                                                                  |
 +| 28 SLM_cfg ​            | назначение подслота для устройства (главный слот) ​                                                                                                                                                                                                                                                                                                |||
 +|                        |  7                                                                                                                                       | номер подслота FMPAC                                                                                                                                                                                    ||
 +| :::                    |  6                                                                                                                                       | :::                                                                                                                                                                                                     | :::                                                                                         |
 +| :::                    |  5                                                                                                                                       | номер подслота RAM (Mapper MMM)                                                                                                                                                                         ||
 +| :::                    |  4                                                                                                                                       | :::                                                                                                                                                                                                     | :::                                                                                         |
 +| :::                    |  3                                                                                                                                       | номер подслота IDE (CF)                                                                                                                                                                                 ||
 +| :::                    |  2                                                                                                                                       | :::                                                                                                                                                                                                     | :::                                                                                         |
 +| :::                    |  1                                                                                                                                       | номер подслота FlashROM/​SC ​                                                                                                                                                                             ||
 +| :::                    |  0                                                                                                                                       | :::                                                                                                                                                                                                     | :::                                                                                         |
 +| 29 SCART_cfg ​          | регистр управления эмулируемым слотом ​                                                                                                                                                                                                                                                                                                            |||
 +|                        |  7                                                                                                                                       ​| ​ 1                                                                                                         | эмулируемый слот включён ​                                                                   |
 +| :::                    | :::                                                                                                                                      |  0                                                                                                         | эмулируемый слот отключён ​                                                                  |
 +| :::                    |  6                                                                                                                                       ​| ​ 1                                                                                                         | расположение эмулируемого слота назначено пользователем ​                                    |
 +| :::                    | :::                                                                                                                                      |  0                                                                                                         | эмулируемый слот назначен подслотом главного слота ​                                         |
 +| :::                    |  5                                                                                                                                       ​| ​ 1                                                                                                         | эмулируемый слот расширен (если не используется как подслот главного слота) ​                |
 +| :::                    | :::                                                                                                                                      |  0                                                                                                         | эмулируемый слот не расширен (если не используется как подслот главного слота) ​             |
 +| :::                    |  4                                                                                                                                       ​| ​ 1                                                                                                         | расположение главного слота назначено пользователем ​                                        |
 +| :::                    | :::                                                                                                                                      |  0                                                                                                         | главный слот расположен в физическом слоте (там же, гже картридж) ​                          |
 +| :::                    |  3                                                                                                                                       ​| ​ 1                                                                                                         | не используется ​                                                                            |
 +| :::                    | :::                                                                                                                                      |  0                                                                                                         | :::                                                                                         |
 +| :::                    |  2                                                                                                                                       ​| ​ 1                                                                                                         | разрешить чтение регистра эмулированного слота FFFF (используется только для 1 и 2 слотов) ​ |
 +| :::                    | :::                                                                                                                                      |  0                                                                                                         | запретить чтение (будут читаться существующие регистры нормальных слотов) ​                  |
 +| 2A SCART_SLT ​          | конфигурация слота/​подслота при включении ​                                                                                                                                                                                                                                                                                                        |||
 +|                        |  7, 6                                                                                                                                    | 00 = мини ROM до 32 Кбайт без маппера \\ 01 = маппер K4 \\ 10 = маппер K5 без SCC \\ 11 = маппер K5 + SCC                                                                                               ||
 +| :::                    |  5, 4                                                                                                                                    | номер главного слота ​                                                                                                                                                                                   ||
 +| :::                    |  3, 2                                                                                                                                    | номер расширенного подслота для эмулируемого слота ​                                                                                                                                                     ||
 +| :::                    |  1, 0                                                                                                                                    | номер эмулируемого слота ​                                                                                                                                                                               ||
 +| 2B SCART_StBl ​         | Назначение 64 Кбайтного блока эмулируемого слота в FlashROM ​                                                                                                                                                                                                                                                                                      |||
 +| 2C, 2D, 2E FPGA_ver ​   | версия прошивки FPGA (3 байта ASCII) ​                                                                                                                                                                                                                                                                                                             |||
 +| 2F MROM_offs ​          | сдвиг мини ROM в 64 Кбайтном блоке (в 8 Кбайтных единицах) ​                                                                                                                                                                                                                                                                                       |||
 +| 30 PSGAlt ​             | конфигурация портов PSG                                                                                                                                                                                                                                                                                                                           |||
 +|                        |  1                                                                                                                                       | зарезервировано ​                                                                                           |                                                                                             |
 +| :::                    |  0                                                                                                                                       ​| ​ 1                                                                                                         | альтернативные порты: #​10-#​11 ​                                                              |
 +| :::                    | :::                                                                                                                                      |  0                                                                                                         | порты по-умолчанию:​ #​A0-#​A1 ​                                                                |
 +| 35 PFXN                | Номер порта для идентификации и конфигурирования картриджа ​                                                                                                                                                                                                                                                                                       |||
 +
 +{{anchor:​bank_config_registers}}
 +===== Регистры конфигурации банка =====
 +
 +Существует шесть регистров конфигурации банка:
 +  - [[#RnMask]]
 +  - [[#RnAddr]]
 +  - [[#RnReg]]
 +  - [[#RnMult]]
 +  - [[#​BnMaskR]]
 +  - [[#BnAdrD]]
 +
 +n — это номер банка
 +==== RnMask ====
 +
 +Маска для адреса регистра страницы банка (этот регистр как правило дублируется на несколько адресов,​ например для картриджа Konami 5 (SCC) эти адреса для первого банка ​ 5000h–57FFh,​ здесь задаётся маска только старшего байта — 11111000b или F8h 
 +
 +Начальная конфигурация F8h
 +
 +==== RnAddr ====
 +
 +Адрес регистра страницы банка, старший байт для адреса 5000h это 50h 
 +
 +Начальная конфигурация 50h
 +
 +==== RnReg ====
 +
 +Содержимое регистра страницы банка, здесь задаётся начальное значение страницы перед запуском содержимого ROM как правило = 00h
 +
 +Начальная конфигурация 00h
 +
 +
 +==== RnMult ====
 +
 +RnMult — регистр режима банка и его размера
 +
 +^  Бит ​ ^  Значение ​ ^  Описание ​ ^
 +|  7  |  1  |разрешение регистра страницы банка|
 +|:::|  0  |управление страницей банка выключено|
 +|  6  |  1  |зеркалирование выключено|
 +|:::|  0  |включено|
 +|  5  |выбор в качестве источника||
 +|:::|  0  |FlashROM|
 +|:::|  1  |RAM|
 +|  4  |  1  |разрешение записи в банк|
 +|:::|  0  |запрет записи в банк|
 +|  3  |  0  |банк включён|
 +|:::|  1  |банк выключен|
 +|  2, \\ 1, \\ 0  |размер банка \\ 111b = 64 Кбайт, \\ 110b = 32 Кбайт, \\ 101b = 16 Кбайт, \\ 100b = 8 Кбайт, \\ 011b = 4 Кбайт \\ остальные значения — банк выключен \\ начальная конфигурация — 85h||
 +
 +Начальное значение — 00h, банк выключен.
 +
 +==== BnMaskR ====
 +
 +Маска для адресации банка в блок FlashROM (размер эмулируемой ROM или количество страничек,​ например для 128 Кбайт ROM нужно 16 страничек по 8 Кбайт, значит выбираем маску = 0Fh или 00001111b)
 +
 +Начальная конфигурация — 03h
 +
 +==== BnAdrD ====
 +
 +Адрес банка, только старший байт, для 4000h = 40h
 +
 +Начальная конфигурация — 40h
 +===== CardMDR =====
 +
 +00 CardMDR — регистр управления конфигурацией картриджа
 +
 +^  Бит ​ ^  Значение ​ ^  Описание ​ ^
 +|  7  |1|запрет отображения регистров|
 +|:::​|0|регистры отображаются|
 +|  6  |0/​1/​2/​3|регистры отображаются начиная с адреса 0F80h/​4F80h/​8F80h/​CF80h|
 +|  5  |:::|:::|
 +|  4  |1|разрешение "​чипа"​ SCC|
 +|:::​|0|запрет "​чипа"​ SCC|
 +|  3  |1|режим отложенной конфигурации|
 +|:::​|0|конфигурация меняется сразу после изменения управляющих регистров|
 +|  2  |0|при отложенной конфигурации изменения вступают в силу после выполнения процессором команды с адреса 0000h|
 +|:::​|1|изменения вступают в силу после выполнения чтения с адреса 4000h отложенная конфигурация регистров действует только для AddrFR и регистров управления банками|
 +|  1  |данные для чтения BIOS встроенных устройств||
 +|:::​|0|данные системных ROM образов (меню загрузки,​ IDE контроллер,​ FMPAС) читаются из флеш|
 +|:::​|1|данные системных ROM образов (меню загрузки,​ IDE контроллер,​ FMPAС) читаются из RAM картриджа (внимание! предварительно данные нужно перезаписать из флеш в RAM)|
 +|  0  |управление чтением служебных регистров||
 +|:::​|0|все служебные регистры читаются по соответствующим адресам памяти согласно битам 6,5 в 0F80h/​4F80h/​8F80h/​CF80h|
 +|:::​|1|служебные регистры не читаются,​ отображается только 1 байт данных флеш блока согласно установленным значениям регистров банка|
 +
 +===== Mconf =====
 +
 +1E Mconf — регистр конфигурации мультикартриджа,​ расширенный слот
 +
 +^  Байт ​ ^  Значение ​ ^  Описание ​ ^
 +|  7  |  1  |разрешение расширенного слота|
 +|:::|  0  |один слот|
 +|  6  |  1  |разрешение чтения портов МММ–маппера FC,​FD,​FE,​FF|
 +|  5  |  1  |разрешение YM2413 (FM Pack Synt. 7Ch,7Dh)|
 +|  4  |  1  |разрешение 3С порта (МММ–маппера)|
 +|  3  |  1  |разрешение -3 Subslot FM Pack bios ROM|
 +|  2  |  1  |разрешение -2 Subslot 1 Mb RAM с маппером (MMM стандарт)|
 +|  1  |  1  |разрешение -1 Subslot CF card интерфейс|
 +|  0  |  1  |разрешение -0 Subslot MSCC (и данного регистра)|
  
-^  № регистра,​ название ​ ^  Назначение,​ номер бита ​ ^  Значение бита ​ ^  Описание ​ ^ 
-|00 CardMDR|регистр управления конфигурацией картриджа||| 
-| |  7  |1|запрет отображения регистров| 
-|:::​|:::​|0|регистры отображаются| 
-|:::|  6  |0/​1/​2/​3|регистры отображаются начиная с адреса 0F80h/​4F80h/​8F80h/​CF80h| 
-|:::|  5  |:::|:::| 
-|:::|  4  |1|разрешение "​чипа"​ SCC| 
-|:::​|:::​|0|запрет "​чипа"​ SCC| 
-|:::|  3  |1|режим отложенной конфигурации| 
-|:::​|:::​|0|конфигурация меняется сразу после изменения управляющих регистров| 
-|:::|  2  |0|при отложенной конфигурации изменения вступают в силу после выполнения процессором команды с адреса 0000h| 
-|:::​|:::​|1|изменения вступают в силу после выполнения чтения с адреса 4000h отложенная конфигурация регистров действует только для AddrFR и регистров управления банками| 
-|:::|  1  |данные для чтения BIOS встроенных устройств|| 
-|:::​|:::​|0|данные системных ROM образов (меню загрузки,​ IDE контроллер,​ FMPAС) читаются из флеш| 
-|:::​|:::​|1|данные системных ROM образов (меню загрузки,​ IDE контроллер,​ FMPAС) читаются из RAM картриджа (внимание! предварительно данные нужно перезаписать из флеш в RAM)| 
-|:::|  0  |управление чтением служебных регистров|| 
-|:::​|:::​|0|все служебные регистры читаются по соответствующим адресам памяти согласно битам 6,5 в 0F80h/​4F80h/​8F80h/​CF80h| 
-|:::​|:::​|1|служебные регистры не читаются,​ отображается только 1 байт данных флеш блока согласно установленным значениям регистров банка| 
-|01 AddrM0|младший регистр адреса (7…0) для обращения к FlashROM||| 
-|02 AddrM1|средний регистр адреса (15…8) для обращения к FlashROM||| 
-|03 AddrM2|старший регистр адреса (22…16) для обращения к FlashROM||| 
-|04 DatM0|псевдорегистр для передачи данных FlashRОM||| 
-|05 AddrFR|регистр номера блока FlashROM с которого будут читаться данные для эмуляции ROM (размер блока 64кб) начальная конфигурация 00h||| 
-^Регистры конфигурации первого банка|||| 
-|06 R1Mask|маска для адреса регистра страницы банка (этот регистр как правило дублируется на несколько адресов,​ \\ например для картриджа Konami 5 (SCC) эти адреса для первого банка ​ 5000h–57FFh,​ здесь задаётся маска только старшего байта — 11111000b или F8h \\ начальная конфигурация F8h||| 
-|07 R1Addr|адрес регистра страницы банка, старший байт для адреса 5000h это 50h \\ начальная конфигурация 50h||| 
-|08 R1Reg|содержимое регистра страницы банка, здесь задаётся начальное значение страницы перед запуском \\ содержимого ROM как правило = 00h \\ начальная конфигурация 00h||| 
-|09 R1Mult|регистр режима банка и его размера||| 
-| |  7  |  1  |разрешение регистра страницы банка| 
-|:::​|:::​| ​ 0  |управление страницей банка выключено| 
-|:::|  6  |  1  |зеркалирование выключено| 
-|:::​|:::​| ​ 0  |включено| 
-|:::|  5  |выбор в качестве источника|| 
-|:::​|:::​| ​ 0  |FlashROM| 
-|:::​|:::​| ​ 1  |RAM| 
-|:::|  4  |  1  |разрешение записи в банк| 
-|:::​|:::​| ​ 0  |запрет записи в банк| 
-|:::|  3  |  0  |банк включён| 
-|:::​|:::​| ​ 1  |банк выключен| 
-|:::|  2, \\ 1, \\ 0  |размер банка \\ 111b = 64 Кбайт, \\ 110b = 32 Кбайт, \\ 101b = 16 Кбайт, \\ 100b = 8 Кбайт, \\ 011b = 4 Кбайт \\ остальные значения — банк выключен \\ начальная конфигурация — 85h|| 
-|0A B1MaskR|Маска для адресации банка в блок FlashROM (размер эмулируемой ROM или количество страничек,​ например \\ для 128 Кб ROM нужно 16 страничек по 8 Кб, значит выбираем маску = 0Fh или 00001111b) \\ начальная конфигурация — 03h||| 
-|0B B1AdrD|Адрес банка, только старший байт.. для 4000h = 40h \\ начальная конфигурация — 40h||| 
-^Регистры конфигурации второго банка|||| 
-|0C R2Mask|аналогично R1Mask||| 
-|0D R2Addr|аналогично R1Addr||| 
-|0E R2Reg|аналогично R1Reg||| 
-|0F R2Mult|аналогично R1Mult, начальное значение — 00h, банк выключен||| 
-|10 B2MaskR|аналогично B1MaskR||| 
-|11 B2AdrD|аналогично B1AdrD||| 
-^Регистры конфигурации третьего банка|||| 
-|12 R3Mask|аналогично R1Mask||| 
-|13 R3Addr|аналогично R1Addr||| 
-|14 R3Reg|аналогично R1Reg||| 
-|15 R3Mult|аналогично R1Mult, начальное значение — 00h, банк выключен||| 
-|16 B3MaskR|аналогично B1MaskR||| 
-|17 B3AdrD|аналогично B1AdrD||| 
-^Регистры конфигурации четвёртого банка|||| 
-|18 R4Mask|аналогично R1Mask||| 
-|19 R4Addr|аналогично R1Addr||| 
-|1A R4Reg|аналогично R1Reg||| 
-|1B R4Mult|аналогично R1Mult, начальное значение — 00h, банк выключен||| 
-|1C B4MaskR|аналогично B1MaskR||| 
-|1D B4AdrD|аналогично B1AdrD||| 
-|1E Mconf|мультикартридж конфигурация,​ расширенный слот||| 
-| |  7  |  1  |разрешение расширенного слота| 
-|:::​|:::​| ​ 0  |один слот| 
-|:::|  6  |  1  |разрешение чтения портов МММ–маппера FC,​FD,​FE,​FF| 
-|:::|  5  |  1  |разрешение YM2413 (FM Pack Synt. 7Ch,7Dh)| 
-|:::|  4  |  1  |разрешение 3С порта (МММ–маппера)| 
-|:::|  3  |  1  |разрешение -3 Subslot FM Pack bios ROM| 
-|:::|  2  |  1  |разрешение -2 Subslot 1 Mb RAM с маппером (MMM стандарт)| 
-|:::|  1  |  1  |разрешение -1 Subslot CF card интерфейс| 
-|:::|  0  |  1  |разрешение -0 Subslot MSCC (и данного регистра)| 
-|1F CMDRCpy|дубль регистра управления CardMDR (для использования команды LDIR)||| 
-|20 ConfFl|регистр конфигурации чипа FlashROM \\ начальная конфигурация — 010b||| 
-| |  2  |  0  |для 8 разрядной шины данных| 
-|:::​|:::​| ​ 1  |для 16 разрядной шины данных| 
-|:::|  1  |Reset/​protect flag|| 
-|:::|  0  |  1  |подать 12 вольт для режима скоростной записи| 
-|:::​|:::​| ​ 0  |запретить +12в | 
-|21 NSReg|служебный регистр \\ начальная конфигурация — #00, не меняйте его!||| 
-|22 SndLVL|регистр уровня громкости для FMPAC и SCC \\ начальная конфигурация — 1Bh (00011011b) по включению питания;​ аппаратный рестарт не влияет||| 
-| |  7, \\ 6  |10 = FMPAC моно, \\ 00 = FMPAC стерео|| 
-|:::|  5, \\ 4, \\ 3  |уровень аудио с FMPAK модуля (0–7)|| 
-|:::|  2, \\ 1, \\ 0  |уровень аудио с SCC(SCC+) модуля (0–7)|| 
-|23 CfgEEPR|управление конфигурационным ППЗУ 93С46 (чтение и запись байтов конфигурации)||| 
-| |  7, \\ 6, \\ 5, \\ 4  |не используется|| 
-|:::|  3  |EECS сигнал Chip Select EEPROM|| 
-|:::|  2  |EECK сигнал CLK (синхро)|| 
-|:::|  1  |EEDI сигнал Data Input (данные подаваемые на EEPROM)|| 
-|:::|  0  |EEDO сигнал Data Output (данные выдаваемые с EEPROM); только чтение|| 
-|24 PSGCtrl|регистр управления встроенным PSG \\ начальная конфигурация — 1Bh (00011011b) по включению питания;​ аппаратный рестарт не влияет||| 
-| |  7  |включение/​выключение PSG|| 
-|:::|  6  |включение/​выключение PPI Clicker|| 
-|:::|  5, \\ 4, \\ 3  |уровень аудио с PSG модуля (0–7)|| 
-|:::|  2, \\ 1, \\ 0  |уровень аудио с PPI Clicker (0–7)|| 
-|25 V_AR_L|младшие 8 бит адреса кода перехватчика||| 
-|26 V_AR_H|старшие 8 бит адреса кода перехватчика||| 
-|27 aV_hunt|конфигурация перехватчика для режима отложенной конфигурации||| 
-| |  0  |включение перехватчика по рестарту системы или по чтению с адреса #4000|| 
-|:::​|:::​| ​ 1  |включён| 
-|:::|  1  |расположение перехватчика|| 
-|:::​|:::​| ​ 0  |блок загрузчика в FlashRОM| 
-|:::​|:::​| ​ 1  |нулевой блок скрытого ОЗУ| 
-|28 SLM_cfg|назначение подслота для устройства (главный слот)||| 
-| |  7  |номер подслота FMPAC|| 
-|:::|  6  |:::|| 
-|:::|  5  |номер подслота RAM (Mapper MMM)|| 
-|:::|  4  |:::|| 
-|:::|  3  |номер подслота IDE (CF)|| 
-|:::|  2  |:::|| 
-|:::|  1  |номер подслота FlashROM/​SC|| 
-|:::|  0  |:::|| 
-|29 SCART_cfg|регистр управления подчинённым слотом||| 
-| |  7  |  1  |подчинённый слот включён| 
-|:::​|:::​| ​ 0  |подчинённый слот отключён| 
-|:::|  6  |  1  |расположение слота подчинённого назначено пользователем| 
-|:::​|:::​| ​ 0  |починенный слот назначен подслотом главного слота| 
-|:::|  5  |  1  |подчинённый слот расширен (если не используется как подслот главного слота)| 
-|:::​|:::​| ​ 0  |подчинённый слот не расширен (если не используется как подслот главного слота)| 
-|:::|  4  |  1  |расположение главного слота назначено пользователем| 
-|:::​|:::​| ​ 0  |главный слот, расположен в физическом слоте| 
-|:::|  3  |  1  |не используется| 
-|:::​|:::​| ​ 0  |:::| 
-|2A SCART_SLT|конфигурация слота/​послота при включении||| 
-| |  7, \\ 6  |00 = мини ROM до 32 Кб без маппера,​ \\ 01 = маппер K4, \\ 10 = маппер K5+SCC, \\ 11 = маппер K5 без SCC|| 
-|:::|  5, \\ 4  |номер главного слота|| 
-|:::|  3, \\ 2  |номер расширенного слота|| 
-|:::|  1, \\ 0  |номер подчинённого слота|| 
-|2B SCART_StBl|Назначение 64 Кб блока подчинённого слота в FlashROM||| 
-|2C, 2D, 2E FPGA_ver|версия прошивки FPGA (3 байта ASCII)||| 
-|2F|MROM_offs = сдвиг мини ROM в 64 Кб блоке (в 8 Кб единицах)||| 
  
 {{anchor:​directoryentryformat}} {{anchor:​directoryentryformat}}
Строка 312: Строка 384:
 В картридже доступно 253 контролируемых пользователем записей каталога. Первая запись каталога не может быть отредактирована или удалена,​ потому что она устанавливает конфигурацию картриджа по умолчанию — "​всё включено"​. В картридже доступно 253 контролируемых пользователем записей каталога. Первая запись каталога не может быть отредактирована или удалена,​ потому что она устанавливает конфигурацию картриджа по умолчанию — "​всё включено"​.
  
-Каталог содержит 2 блока по 8 Кб и физически расположен в 2 и 3 логических блоках микросхемы FlashROM (диапазон адресов 004000h–005FFFh (блок 2) и 006000h–007FFFh (блок 3). Номер физического блока, адресуемый регистром AddrFr, равен нулю.+Каталог содержит 2 блока по 8 Кбайт ​и физически расположен в 2 и 3 логических блоках микросхемы FlashROM (диапазон адресов 004000h–005FFFh (блок 2) и 006000h–007FFFh (блок 3). Номер физического блока, адресуемый регистром AddrFr, равен нулю.
  
 Каждая запись каталога занимает 40h (64 байта) и имеет следующий формат:​ Каждая запись каталога занимает 40h (64 байта) и имеет следующий формат:​
Строка 318: Строка 390:
 |#​00|NUM|Номер записи (последняя запись — FF игнорируется)|| |#​00|NUM|Номер записи (последняя запись — FF игнорируется)||
 |#​01|ACT|Флаг активной/​пустой записи (#FF — активная запись)|| |#​01|ACT|Флаг активной/​пустой записи (#FF — активная запись)||
-|#​02|STB|Стартовый блок данных 64 Кб|| +|#​02|STB|Стартовый блок данных 64 Кбайт|| 
-|#​03|LNB|Размер данных в 64 Кб блоках||+|#​03|LNB|Размер данных в 64 Кбайтных ​блоках||
 |#​04|MAP|Символ типа маппера|| |#​04|MAP|Символ типа маппера||
-|#​05|NAM|Имя ​начала ​записи (30 байт)|| +|#​05|NAM|Имя записи (30 байт)|| 
-|#22|NAM|Имя конца записи|| +|#22|NAM|:::|| 
-|#​23|R1Mask|6 байт конфигурации ​первого ​банка||+|#​23|R1Mask|[[#​bank_config_registers|Регистры конфигурации банка]] 1||
 |#​24|R1Addr|:::​|| |#​24|R1Addr|:::​||
 |#​25|R1Reg|:::​|| |#​25|R1Reg|:::​||
Строка 329: Строка 401:
 |#​27|B1MaskR|:::​|| |#​27|B1MaskR|:::​||
 |#​28|B1AdrD|:::​|| |#​28|B1AdrD|:::​||
-|#​29|R2Mask|6 байт конфигурации ​второго ​банка||+|#​29|R2Mask|[[#​bank_config_registers|Регистры конфигурации банка]] 2||
 |#​2A|R2Addr|:::​|| |#​2A|R2Addr|:::​||
 |#​2B|R2Reg|:::​|| |#​2B|R2Reg|:::​||
Строка 335: Строка 407:
 |#​2D|B2MaskR|:::​|| |#​2D|B2MaskR|:::​||
 |#​2E|B2AdrD|:::​|| |#​2E|B2AdrD|:::​||
-|#​2F|R3Mask|6 байт конфигурации ​третьего ​банка||+|#​2F|R3Mask|[[#​bank_config_registers|Регистры конфигурации банка]] 3||
 |#​30|R3Addr|:::​|| |#​30|R3Addr|:::​||
 |#​31|R3Reg|:::​|| |#​31|R3Reg|:::​||
Строка 341: Строка 413:
 |#​33|B3MaskR|:::​|| |#​33|B3MaskR|:::​||
 |#​34|B3AdrD|:::​|| |#​34|B3AdrD|:::​||
-|#​35|R4Mask|6 байт конфигурации ​четвёртого ​банка||+|#​35|R4Mask|[[#​bank_config_registers|Регистры конфигурации банка]] 4||
 |#​36|R4Addr|:::​|| |#​36|R4Addr|:::​||
 |#​37|R4Reg|:::​|| |#​37|R4Reg|:::​||
Строка 347: Строка 419:
 |#​39|B4MaskR|:::​|| |#​39|B4MaskR|:::​||
 |#​3A|B4AdrD|:::​|| |#​3A|B4AdrD|:::​||
-|#​3B|Mconf|регистр конфигурации расширенного слота|| +|#3B|[[#Mconf]]|регистр конфигурации расширенного слота|| 
-|#​3C|CardMDR|регистр основной конфигурации|| +|#3C|[[#CardMDR]]|регистр основной конфигурации|| 
-|#​3D|PosSiz|размер и позиция mini ROM в 64 Кб блоке|| +|#3D|[[#PosSiz]]|размер и позиция mini ROM в 64 Кбайтном блоке|| 
-| | |  7  |зарезервировано+|#3E|[[#RstRun]]|параметры сброса и старта||
-|:::​|:::​| ​ 6, \\ 5, \\ 4  |смещение mini ROM в 64 Кб блоке ​в зависимости от длины ROM файла: <​WRAP>​ +
-^  8 Кб  ^  16 Кб  ^  32 Кб  ^ +
-|000b| ​ 0 Кб|  0 Кб  |  0 Кб  | +
-|001b| ​ 8 Кб|  16 Кб  |  32 Кб  | +
-|010b| ​ 16 Кб  |  32 Кб  | | +
-|011b| ​ 24 Кб  |  48 Кб  | | +
-|100b| ​ 32 Кб  | | | +
-|101b| ​ 40 Кб  | | | +
-|110b| ​ 48 Кб  | | +
-|111b| ​ 56 Кб  | | +
-</​WRAP>​| +
-| | |  3  |нестандартный размер образа картриджа:​\\ 1 — 49 Кб \\ 0 — стандартный размер образа картриджа| +
-| | |  2,\\ 1, \\ 0  |размер mini ROM: \\ 110b = 32 Кб \\ 101b = 16 Кб \\ 100b = 8 Кб \\ 011b = 4 Кб \\ 000b = не mini ROM+
-|#​3E|RstRun|параметры сброса и старта|+
-| | |  3  |начальный адрес образа картриджа:​\\ 0 — использовать 2–ой бит этого регистра \\ 1 — использовать стартовый адрес 0002h| +
-| | |  2  |начальный адрес образа картриджа:​\\ 0 — использовать стартовый адрес 4002h \\ 1 — использовать стартовый адрес 8002h| +
-| | |  1  |контроль выполнения:​ \\ 0 — не запускать образа картриджа \\ 1 — запустить образа картриджа используя адрес инициализации образа картриджа (биты 3,2)| +
-| | |  0  |флаг сброса:​ \\ 0 — не выполнять сброс MSX \\ 1 — сброс MSX|+
 |#​3F|Resrv|Зарезервировано|| |#​3F|Resrv|Зарезервировано||
 +
 +===== PosSiz =====
 +
 +PosSiz — размер и позиция mini ROM в 64 Кбайтном блоке
 +
 +^  Бит ​ ^  Значение/​описание ​ ^
 +|  7  |зарезервировано|
 +|  6, \\ 5, \\ 4  |смещение mini ROM в 64 Кбайтном блоке в зависимости от длины ROM файла: <​WRAP>​
 +| ^  8 Кбайт ​ ^  16 Кбайт ​ ^  32 Кбайт ​ ^
 +|000b| ​ 0 Кбайт ​ |  0 Кб  |  0 Кбайт ​ |
 +|001b| ​ 8 Кбайт ​ |  16 Кбайт ​ |  32 Кбайт ​ |
 +|010b| ​ 16 Кбайт ​ |  32 Кбайт ​ | |
 +|011b| ​ 24 Кбайт ​ |  48 Кбайт ​ | |
 +|100b| ​ 32 Кбайт ​ | | |
 +|101b| ​ 40 Кбайт ​ | | |
 +|110b| ​ 48 Кбайт ​ | |
 +|111b| ​ 56 Кбайт ​ | |
 +</​WRAP>​|
 +|  3  |нестандартный размер образа картриджа:​\\ 1 — 49 Кбайт \\ 0 — стандартный размер образа картриджа|
 +|  2,\\ 1, \\ 0  |размер mini ROM: \\ 110b = 32 Кбайт \\ 101b = 16 Кбайт \\ 100b = 8 Кбайт \\ 011b = 4 Кбайт \\ 000b = не mini ROM|
 +
 +===== RstRun =====
 +
 +RstRun — параметры перезагрузки и старта
 +
 +^  Бит ​ ^  Значение ​ ^  Описание ​ ^
 +|  3  |начальный адрес образа картриджа||
 +|:::​|0|использовать 2–ой бит этого регистра |
 +|:::​|1|использовать стартовый адрес из 0002h|
 +|  2  |начальный адрес образа картриджа||
 +|:::​|0|использовать стартовый адрес из 4002h|
 +|:::​|1|использовать стартовый адрес из 8002h|
 +|  1  |контроль запуска||
 +|:::|0|не запускать образ картриджа|
 +|:::​|1|запустить образ картриджа используя стартовый адрес (биты 3,2)|
 +|  0  |флаг перезагрузки||
 +|:::|0|не выполнять перезагрузку MSX|
 +|:::​|1|перезагрузка MSX|
 +
  
 ====== Мапперы ====== ====== Мапперы ======
  
 Картридж поддерживает несколько широко распространённых мапперов,​ а также планарный режим. Физические адреса ОЗУ, выделенные для работы мапперов,​ находятся в диапазоне 100000h–1FFFFFh,​ что означает,​ что для этого используется вторая (основная) часть чипа ОЗУ. Картридж поддерживает несколько широко распространённых мапперов,​ а также планарный режим. Физические адреса ОЗУ, выделенные для работы мапперов,​ находятся в диапазоне 100000h–1FFFFFh,​ что означает,​ что для этого используется вторая (основная) часть чипа ОЗУ.
 +
 +{{anchor:​mapper_type}}
 +Таблица значений типов мапперов:​
 +^  Символ ​ ^  Значение ​ ^
 +|''​K''​|маппер [[#​Konami5|Konami 5 SCC]]|
 +|''​k''​|маппер [[#​Konami4]]|
 +|''​a''​|маппер [[#​ASCII8]]|
 +|''​A''​|маппер [[#​ASCII16]]|
 +|''​M''​|[[#​minirom|мини ROM (до 64 Кбайт)]]|
 +|''​C''​|конфигурационная запись|
 +|''​U''​|неизвестный маппер|
 +|''​%%-%%''​|для остальных случаев|
 +
 ===== ASCII8 ===== ===== ASCII8 =====
  
Строка 379: Строка 485:
  
 Значения конфигурации по умолчанию:​ Значения конфигурации по умолчанию:​
-|#​F8|#​60|#​00|#​84|#​FF|#​40^банк ​0+|#​F8|#​60|#​00|#​84|#​FF|#​40^банк ​1
-|#F8|#68|#01|#​84|#​FF|#​60^банк ​1+|#F8|#68|#00|#​84|#​FF|#​60^банк ​2
-|#F8|#70|#02|#​84|#​FF|#​80^банк ​2+|#F8|#70|#00|#​84|#​FF|#​80^банк ​3
-|#F8|#78|#03|#​84|#​FF|#​A0^банк ​3|+|#F8|#78|#00|#​84|#​FF|#​A0^банк ​4|
 |#​FF|#​AC|#​00|#​02|#​FF| ^регистры конфигурации| |#​FF|#​AC|#​00|#​02|#​FF| ^регистры конфигурации|
  
Строка 390: Строка 496:
  
 Значения конфигурации по умолчанию:​ Значения конфигурации по умолчанию:​
-|#​F8|#​60|#​00|#​85|#​FF|#​40^банк ​0+|#​F8|#​60|#​00|#​85|#​FF|#​40^банк ​1
-|#F8|#70|#01|#​85|#​FF|#​80^банк ​1+|#F8|#70|#00|#​85|#​FF|#​80^банк ​2
-|#F8|#70|#02|#08|#3F|#80^банк ​2+|#F8|#60|#00|#85|#FF|#C0^банк ​3
-|#F8|#78|#03|#08|#3F|#A0^банк ​3|+|#F8|#70|#00|#85|#FF|#00^банк ​4|
 |#​FF|#​8C|#​00|#​01|#​FF| ^регистры конфигурации| |#​FF|#​8C|#​00|#​01|#​FF| ^регистры конфигурации|
  
Строка 401: Строка 507:
  
 Значения конфигурации по умолчанию:​ Значения конфигурации по умолчанию:​
-|#​E8|#​50|#​00|#​04|#​FF|#​40^банк ​0+|#​E8|#​50|#​00|#​04|#​FF|#​40^банк ​1
-|#​E8|#​60|#​01|#​84|#​FF|#​60^банк ​1+|#​E8|#​60|#​01|#​84|#​FF|#​60^банк ​2
-|#​E8|#​80|#​02|#​84|#​FF|#​80^банк ​2+|#​E8|#​80|#​02|#​84|#​FF|#​80^банк ​3
-|#​E8|#​A0|#​03|#​84|#​FF|#​A0^банк ​3|+|#​E8|#​A0|#​03|#​84|#​FF|#​A0^банк ​4|
 |#​FF|#​AC|#​00|#​02|#​FF| ^регистры конфигурации| |#​FF|#​AC|#​00|#​02|#​FF| ^регистры конфигурации|
  
Строка 412: Строка 518:
  
 Значения конфигурации по умолчанию:​ Значения конфигурации по умолчанию:​
-|#​F8|#​50|#​00|#​84|#​FF|#​40^банк ​0+|#​F8|#​50|#​00|#​84|#​FF|#​40^банк ​1
-|#​F8|#​70|#​01|#​84|#​FF|#​60^банк ​1+|#​F8|#​70|#​01|#​84|#​FF|#​60^банк ​2
-|#​F8|#​90|#​02|#​84|#​FF|#​80^банк ​2+|#​F8|#​90|#​02|#​84|#​FF|#​80^банк ​3
-|#​F8|#​B0|#​03|#​84|#​FF|#​A0^банк ​3|+|#​F8|#​B0|#​03|#​84|#​FF|#​A0^банк ​4|
 |#​FF|#​BC|#​00|#​02|#​FF| ^регистры конфигурации| |#​FF|#​BC|#​00|#​02|#​FF| ^регистры конфигурации|
  
 {{anchor:​minirom}} {{anchor:​minirom}}
- 
 ===== MiniROM ===== ===== MiniROM =====
  
-Картридж поддерживает MiniROM (образы ROM до 49 Кб) без маппера.+Картридж поддерживает MiniROM (образы ROM до 49 Кбайт) без маппера.
  
 Значения конфигурации по умолчанию:​ Значения конфигурации по умолчанию:​
-|#​F8|#​60|#​00|#​06|#​7F|#​40^банк ​0+|#​F8|#​60|#​00|#​06|#​7F|#​40^банк ​1
-|#​F8|#​70|#​01|#​08|#​7F|#​80^банк ​1+|#​F8|#​70|#​01|#​08|#​7F|#​80^банк ​2
-|#​F8|#​70|#​02|#​08|#​3F|#​С0^банк ​2+|#​F8|#​70|#​02|#​08|#​3F|#​С0^банк ​3
-|#​F8|#​78|#​03|#​08|#​3F|#​A0^банк ​3|+|#​F8|#​78|#​03|#​08|#​3F|#​A0^банк ​4|
 |#​FF|#​8C|#​07|#​01|#​FF| ^регистры конфигурации| |#​FF|#​8C|#​07|#​01|#​FF| ^регистры конфигурации|
  
 {{anchor:​linear64}} {{anchor:​linear64}}
 +===== Планарный режим 64 Кбайт =====
  
-===== Планарный режим 64 Кб ===== +Картридж поддерживает планарный режим, когда первые 64 Кбайт ​образа ROM видны в адресном пространстве.
- +
-Картридж поддерживает планарный режим, когда первые 64 Кб образа ROM видны в адресном пространстве.+
  
 Значения конфигурации по–умолчанию для MiniROM: Значения конфигурации по–умолчанию для MiniROM:
-|#​F8|#​60|#​00|#​06|#​7F|#​40^банк ​0+|#​F8|#​60|#​00|#​06|#​7F|#​40^банк ​1
-|#​F8|#​70|#​01|#​08|#​7F|#​80^банк ​1+|#​F8|#​70|#​01|#​08|#​7F|#​80^банк ​2
-|#​F8|#​70|#​02|#​08|#​3F|#​C0^банк ​2+|#​F8|#​70|#​02|#​08|#​3F|#​C0^банк ​3
-|#​F8|#​78|#​03|#​08|#​3F|#​A0^банк ​3|+|#​F8|#​78|#​03|#​08|#​3F|#​A0^банк ​4|
 |#​FF|#​8C|#​07|#​01|#​FF| ^регистры конфигурации| |#​FF|#​8C|#​07|#​01|#​FF| ^регистры конфигурации|
  
 Диапазоны адресов:​ Диапазоны адресов:​
-|#​0000–#​3FFF^банк ​0+|#​0000–#​3FFF^банк ​1
-|#​4000–#​7FFF^банк ​1+|#​4000–#​7FFF^банк ​2
-|#​8000–#​BFFF^банк ​2+|#​8000–#​BFFF^банк ​3
-|#​C000–#​FFFF^банк ​3|+|#​C000–#​FFFF^банк ​4|
  
 {{anchor:​defaultvalues}} {{anchor:​defaultvalues}}
Строка 464: Строка 568:
 |ConfFl|CardMDR+#​20|02h| |ConfFl|CardMDR+#​20|02h|
  
-====== ​Ссылки ======+{{anchor:​rcp_file_format}} 
 +====== ​Формат файла RCP ======
  
-[[https://​sysadminmosaic.ru/​msx/​carnivore2/​carnivore2|Инструкция по эксплуатации]]+Описание формата файла RCP (Register Configuration Preset) — набор настроек регистров. 
 + 
 +^  Адрес (байт) ​ ^  Описание ​ ^^ 
 +|#00|[[#​mapper_type|Тип маппера]]|| 
 +|#​01|R1Mask|[[#​bank_config_registers|Регистры конфигурации банка]] 1| 
 +|#​02|R1Addr|::​:| 
 +|#​03|R1Reg|:::​| 
 +|#​04|R1Mult|:::​| 
 +|#​05|B1MaskR|:::​| 
 +|#​06|B1AdrD|:::​| 
 +|#​07|R2Mask|[[#​bank_config_registers|Регистры конфигурации банка]] 2| 
 +|#​08|R2Addr|:::​| 
 +|#​09|R2Reg|:::​| 
 +|#​0A|R2Mult|:::​| 
 +|#​0B|B2MaskR|:::​| 
 +|#​0C|B2AdrD|:::​| 
 +|#​0D|R3Mask|[[#​bank_config_registers|Регистры конфигурации банка]] 3| 
 +|#​0E|R3Addr|:::​| 
 +|#​0F|R3Reg|:::​| 
 +|#​10|R3Mult|:::​| 
 +|#​11|B3MaskR|:::​| 
 +|#​12|B3AdrD|:::​| 
 +|#​13|R4Mask|[[#​bank_config_registers|Регистры конфигурации банка]] 4| 
 +|#​14|R4Addr|:::​| 
 +|#​15|R4Reg|:::​| 
 +|#​16|R4Mult|:::​| 
 +|#​17|B4MaskR|:::​| 
 +|#​18|B4AdrD|:::​| 
 +|#​19|[[#​Mconf]]|регистр конфигурации расширенного слота| 
 +|#​1A|[[#​CardMDR]]|регистр основной конфигурации| 
 +|#​1B|[[#​PosSiz]]|размер и позиция ​mini ROM в 64 Кбайтном блоке| 
 +|#​1C|[[#​RstRun]]|параметры перезагрузки и старта ROM| 
 +|#1D|Не используется,​ всегда FF|| 
 + 
 +====== Порт для идентификации и контроля ====== 
 + 
 +Карнивор может быть найден и может управляться ​с помощью специального порта-ввода вывода,​ который можно выбрать в конфигурационном меню. Номер порта может быть установлен в диапазоне #F0-F2. Поддерживаются следующие операции
 + 
 +  - Детектирование картриджа 
 +    * Запишите "​C"​ в порт и прочитайте оттуда значение в байт. Карнивор ответит номером версии "​2"​ (в ASCII формате) 
 +  - Определение слота, в котором находится Карнивор 
 +    * Запишите "​S"​ в порт и прочитайте оттуда значение в байт. Карнивор ответит номером слота, в котором он находится,​ например "​1"​ (в ASCII формате) 
 +  - Спрятать регистры конфигурации 
 +    * Запишите "​H"​ в порт, регистры конфигурации будут спрятаны 
 +  - Показать регистры конфигурации 
 +    * Запишите "​R"​ в порт, регистры конфигурации будут показаны по выбранному (смотрите информацию ниже) или дефолтному адресу #4F80 
 +  - Управление местоположением регистров конфигурации в памяти 
 +    * Запишите "​0"​ в порт, регистры конфигурации будут показаны по адресу #0F80 
 +    * Запишите "​1"​ в порт, регистры конфигурации будут показаны по адресу #4F80 
 +    * Запишите "​2"​ в порт, регистры конфигурации будут показаны по адресу #8F80 
 +    * Запишите "​3"​ в порт, регистры конфигурации будут показаны по адресу #CF80 
 +  - Управление режимом работы картриджа (ВНИМАНИЕ! После изменения нужна программная перезагрузка по JP 0) 
 +    * Запишите "​A"​ в порт, картридж будет переведён в монофункциональный режим работы (активно только одно устройство) 
 +    * Запишите "​M"​ в порт, картридж будет переведён в мультифункциональный режим работы (активны все устройства) 
 + 
 +====== Ссылки ======
  
 +[[carnivore2|]]
  
 +{{tag>​MSX RBSC}}
msx/carnivore2/specification.1584816549.txt.gz · Последние изменения: 2020-03-21 21:49 — Wierzbowsky