Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:carnivore2:specification [2021-08-30 08:47] brawaga [PosSiz] |
msx:carnivore2:specification [2024-02-27 08:52] (текущий) GreyWolf |
||
---|---|---|---|
Строка 5: | Строка 5: | ||
**Примечания:** | **Примечания:** | ||
* Шестнадцатеричные числа могут быть указаны как ''#90'', ''90h'' или ''0x90'' | * Шестнадцатеричные числа могут быть указаны как ''#90'', ''90h'' или ''0x90'' | ||
- | * FlashROM память далее именуется как ''флэш'' | + | * FlashROM память далее именуется как ''флеш'' |
**Основные функциональные блоки и возможности:** | **Основные функциональные блоки и возможности:** | ||
Строка 12: | Строка 12: | ||
* Поддерживаются адаптеры [[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 | ||
Строка 35: | Строка 35: | ||
* Настройка громкости для всех эмулируемых звуковых устройств | * Настройка громкости для всех эмулируемых звуковых устройств | ||
* PSG и PPI можно отключить в пользовательском интерфейсе | * PSG и PPI можно отключить в пользовательском интерфейсе | ||
- | * Дополнительные 128 байт для хранения параметров конфигурации в конфигурационном ППЗУ (M93C46MN1), работает в 8-битном режиме | + | * Дополнительные 128 байт для хранения параметров конфигурации в конфигурационном ППЗУ (M93C46MN1), работает в 8–битном режиме |
* Задаваемая пользователем громкость SCC и FMPAC (8 позиций), сохраняется в конфигурационном ППЗУ | * Задаваемая пользователем громкость SCC и FMPAC (8 позиций), сохраняется в конфигурационном ППЗУ | ||
* Задаваемая пользователем громкость PSG и Clicker (8 позиций), сохраняется в конфигурационном ППЗУ | * Задаваемая пользователем громкость PSG и Clicker (8 позиций), сохраняется в конфигурационном ППЗУ | ||
Строка 51: | Строка 51: | ||
Расположение стартового меню, каталога и BIOS в чипе FlashROM описано ниже. Существуют логические и физические блоки, они имеют разную нумерацию. | Расположение стартового меню, каталога и BIOS в чипе FlashROM описано ниже. Существуют логические и физические блоки, они имеют разную нумерацию. | ||
- | ====== Расположение блоков в микросхеме флэш-памяти ====== | + | ====== Расположение блоков в микросхеме флеш памяти ====== |
- | Микросхема FlashROM, используемая в Carnivore2 имеет в начале 8 логических блоков (в первом физическом 64-кбайтном блоке), а затем следуют монолитные 64-кбайные блоки. В логических блоках расположены стартовое меню и каталог. Далее следуют ПЗУ (BIOS) встроенных устройств. Ниже приведено их расположение по блокам. | + | Микросхема FlashROM, используемая в Carnivore2 имеет в начале 8 логических блоков (в первом физическом 64 Кбайтном блоке), а затем следуют монолитные 64 Кбайные блоки. В логических блоках расположены стартовое меню и каталог. Далее следуют ПЗУ (BIOS) встроенных устройств. Ниже приведено их расположение по блокам. |
- | ===== 8-килобайтные блоки ===== | + | ===== 8–килобайтные блоки ===== |
- | Первые 8 логических блоков флэш соответствуют нулевому физическому блоку, задаваемому регистром AddrFR. Логические блоки 0, 1, 6 и 7 содержат код и данные стартового меню. Блоки 2 и 3 содержат записи директории. Следующие 2 блока зарезервированы для использования в будущем. | + | Первые 8 логических блоков флэш соответствуют нулевому физическому блоку, задаваемому регистром AddrFR. Логическте блоки 0, 1, 6 и 7 содержат код и данные стартового меню. Блоки 2 и 3 содержат записи директории. Следующие 2 блока зарезервированы для использования в будущем. |
^ Диапазон адресов ^ № блока ^ Описание ^ | ^ Диапазон адресов ^ № блока ^ Описание ^ | ||
- | |''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 |:::| | ||
Строка 69: | Строка 69: | ||
|''00E000h–00FFFFh''| 7 |используется для «экранных» данных стартового меню, подключается при необходимости вручную| | |''00E000h–00FFFFh''| 7 |используется для «экранных» данных стартового меню, подключается при необходимости вручную| | ||
- | ===== 64-килобайтные блоки ===== | + | ===== 64–килобайтные блоки ===== |
- | После первых восьми логических 8 Кбайтных блоков начинаются 64-кбайтные физические блоки флэш. | + | После первых восьми логических 8 Кбайтных блоков начинаются 64 Кбайтные физические блоки флеш. |
^ Диапазон адресов ^ № физического блока ^ № логического блока ^ Описание ^ | ^ Диапазон адресов ^ № физического блока ^ № логического блока ^ Описание ^ | ||
Строка 134: | Строка 134: | ||
[[http://www.atmel.com/Images/doc5140.pdf|Спецификация]] | [[http://www.atmel.com/Images/doc5140.pdf|Спецификация]] | ||
- | Внимание! ППЗУ используется в 8-битном режиме! | + | Внимание! ППЗУ используется в 8–битном режиме! |
Это ППЗУ используется для хранения данных конфигурации картриджа, чтобы избежать их потери после выключения питания. В таблице ниже приведены адреса для хранения данных в ППЗУ, а также информация по самим данным. | Это ППЗУ используется для хранения данных конфигурации картриджа, чтобы избежать их потери после выключения питания. В таблице ниже приведены адреса для хранения данных в ППЗУ, а также информация по самим данным. | ||
- | ^ Адрес ^ Описание ^ | + | ^ Адрес ^ Описание ^ |
- | |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|Последняя запущенная запись| | + | | 1A | Последняя запущенная запись | |
- | |1B|Флаг проигрывания музыки| | + | | 1B | Флаг проигрывания музыки | |
- | |1C|Номер записи директории для автостарта| | + | | 1C | Номер записи директории для автостарта | |
- | |1D|Флаг бегущей строки помощи| | + | | 1D | Флаг бегущей строки помощи | |
+ | | 1E | Статус Dual-PSG | | ||
+ | | 1F | Задержка при автостарте | | ||
+ | | 20 | Флаг разрешения работы в слоте 3 | | ||
+ | | 21 | Номер порта для идентификации и контроля картриджа | | ||
Запись в ППЗУ осуществляется с помощью регистра CardMDR+#23. Команды для ППЗУ записываются в этот регистр по очереди, как указано в спецификации на чип. Используются только команды разрешения записи, чтения и записи данных. | Запись в ППЗУ осуществляется с помощью регистра CardMDR+#23. Команды для ППЗУ записываются в этот регистр по очереди, как указано в спецификации на чип. Используются только команды разрешения записи, чтения и записи данных. | ||
Строка 173: | Строка 177: | ||
====== Регистры конфигурации ====== | ====== Регистры конфигурации ====== | ||
- | Регистры конфигурации и управления начинаются с адреса 0F80h или 4F80h или 8F80h или СF80h. Видимость регистров зависит от того, что записано в "нулевом" управляющем регистре после включения питания, этот регистр расположен по адресу 4F80h. Все регистры доступны только для записи за исключением псевдорегистра для прямого доступа к FlashROM или к конфигурационному ППЗУ. | + | Регистры конфигурации и управления начинаются с адреса 0F80h или 4F80h или 8F80h или СF80h. Видимость регистров зависит от того, что записано в "нулевом" управляющем регистре после включения питания, этот регистр расположен по адресу 4F80h. Все регистры доступны только для записи за исключением псевдорегистра для прямого доступа к FlashROM или к конфигурационному ППЗУ, а также 3 байта версии прошивки ПЛИС - FPGA_ver. |
В таблице ниже дана информация о регистрах конфигурации. Таблица содержит информацию о битовых значениях байтов конфигурации картриджа. | В таблице ниже дана информация о регистрах конфигурации. Таблица содержит информацию о битовых значениях байтов конфигурации картриджа. | ||
- | ^ № регистра, название ^ Назначение, номер бита ^ Значение бита ^ Описание ^ | + | ^ № регистра, название ^ Назначение, номер бита ^ Значение бита ^ Описание ^ |
- | |00 [[#CardMDR]]|регистр управления конфигурацией картриджа||| | + | | 00 [[#CardMDR]] | регистр управления конфигурацией картриджа ||| |
- | |01 AddrM0|младший регистр адреса (7…0) для обращения к FlashROM||| | + | | 01 AddrM0 | младший регистр адреса (7…0) для обращения к FlashROM ||| |
- | |02 AddrM1|средний регистр адреса (15…8) для обращения к FlashROM||| | + | | 02 AddrM1 | средний регистр адреса (15…8) для обращения к FlashROM ||| |
- | |03 AddrM2|старший регистр адреса (22…16) для обращения к FlashROM||| | + | | 03 AddrM2 | старший регистр адреса (22…16) для обращения к FlashROM ||| |
- | |04 DatM0|псевдорегистр для передачи данных FlashRОM||| | + | | 04 DatM0 | псевдорегистр для передачи данных FlashRОM ||| |
- | |05 AddrFR|регистр номера блока FlashROM с которого будут читаться данные для эмуляции ROM (размер блока 64 Кбайт) начальная конфигурация 00h||| | + | | 05 AddrFR | регистр номера блока FlashROM с которого будут читаться данные для эмуляции ROM (размер блока 64 Кбайт) начальная конфигурация 00h ||| |
- | |06 R1Mask|[[#bank_config_registers|Регистры конфигурации банка]] 1||| | + | | 06 R1Mask | [[#bank_config_registers|Регистры конфигурации банка]] 1 ||| |
- | |07 R1Addr|:::||| | + | | 07 R1Addr | ::: | ::: | ::: | |
- | |08 R1Reg|:::||| | + | | 08 R1Reg | ::: | ::: | ::: | |
- | |09 R1Mult|:::||| | + | | 09 R1Mult | ::: | ::: | ::: | |
- | |0A B1MaskR|:::||| | + | | 0A B1MaskR | ::: | ::: | ::: | |
- | |0B B1AdrD|:::||| | + | | 0B B1AdrD | ::: | ::: | ::: | |
- | |0C R2Mask|[[#bank_config_registers|Регистры конфигурации банка]] 2||| | + | | 0C R2Mask | [[#bank_config_registers|Регистры конфигурации банка]] 2 ||| |
- | |0D R2Addr|:::||| | + | | 0D R2Addr | ::: | ::: | ::: | |
- | |0E R2Reg|:::||| | + | | 0E R2Reg | ::: | ::: | ::: | |
- | |0F R2Mult|:::||| | + | | 0F R2Mult | ::: | ::: | ::: | |
- | |10 B2MaskR|:::||| | + | | 10 B2MaskR | ::: | ::: | ::: | |
- | |11 B2AdrD|:::||| | + | | 11 B2AdrD | ::: | ::: | ::: | |
- | |12 R3Mask|[[#bank_config_registers|Регистры конфигурации банка]] 3||| | + | | 12 R3Mask | [[#bank_config_registers|Регистры конфигурации банка]] 3 ||| |
- | |13 R3Addr|:::||| | + | | 13 R3Addr | ::: | ::: | ::: | |
- | |14 R3Reg|:::||| | + | | 14 R3Reg | ::: | ::: | ::: | |
- | |15 R3Mult|:::||| | + | | 15 R3Mult | ::: | ::: | ::: | |
- | |16 B3MaskR|:::||| | + | | 16 B3MaskR | ::: | ::: | ::: | |
- | |17 B3AdrD|:::||| | + | | 17 B3AdrD | ::: | ::: | ::: | |
- | |18 R4Mask|[[#bank_config_registers|Регистры конфигурации банка]] 4||| | + | | 18 R4Mask | [[#bank_config_registers|Регистры конфигурации банка]] 4 ||| |
- | |19 R4Addr|:::||| | + | | 19 R4Addr | ::: | ::: | ::: | |
- | |1A R4Reg|:::||| | + | | 1A R4Reg | ::: | ::: | ::: | |
- | |1B R4Mult|:::||| | + | | 1B R4Mult | ::: | ::: | ::: | |
- | |1C B4MaskR|:::||| | + | | 1C B4MaskR | ::: | ::: | ::: | |
- | |1D B4AdrD|:::||| | + | | 1D B4AdrD | ::: | ::: | ::: | |
- | |1E [[#Mconf]]|Конфигурация мультикартриджа, расширенный слот||| | + | | 1E [[#Mconf]] | Конфигурация мультикартриджа, расширенный слот ||| |
- | |1F CMDRCpy|дубль регистра управления CardMDR (для использования команды LDIR)||| | + | | 1F CMDRCpy | дубль регистра управления CardMDR (для использования команды LDIR) ||| |
- | |20 ConfFl|регистр конфигурации чипа FlashROM \\ начальная конфигурация — 010b||| | + | | 20 ConfFl | регистр конфигурации чипа FlashROM \\ начальная конфигурация — 010b ||| |
- | | | 2 | 0 |для 8 разрядной шины данных| | + | | | 2 | 0 | для 8 разрядной шины данных | |
- | |:::|:::| 1 |для 16 разрядной шины данных| | + | | ::: | ::: | 1 | для 16 разрядной шины данных | |
- | |:::| 1 |Reset/protect flag|| | + | | ::: | 1 | Reset/protect flag || |
- | |:::| 0 | 1 |подать 12 вольт для режима скоростной записи| | + | | ::: | 0 | 1 | подать 12 вольт для режима скоростной записи | |
- | |:::|:::| 0 |запретить +12в | | + | | ::: | ::: | 0 | запретить +12в | |
- | |21 NSReg|служебный регистр \\ начальная конфигурация — #00, не меняйте его!||| | + | | 21 NSReg | служебный регистр \\ начальная конфигурация — #00, не меняйте его! ||| |
- | |22 SndLVL|регистр уровня громкости для FMPAC и SCC \\ начальная конфигурация — 1Bh (00011011b) по включению питания; аппаратный рестарт не влияет||| | + | | 22 SndLVL | регистр уровня громкости для FMPAC и SCC \\ начальная конфигурация — 1Bh (00011011b) по включению питания; аппаратный рестарт не влияет ||| |
- | | | 7, 6 |10 = FMPAC моно, \\ 00 = FMPAC стерео|| | + | | | 7, 6 | 10 = FMPAC моно, \\ 00 = FMPAC стерео || |
- | |:::| 5, 4, 3 |уровень звука с FMPAK модуля (0–7)|| | + | | ::: | 5, 4, 3 | уровень звука с FMPAK модуля (0–7) || |
- | |:::| 2, 1, 0 |уровень звука с SCC(SCC+) модуля (0–7)|| | + | | ::: | 2, 1, 0 | уровень звука с SCC(SCC+) модуля (0–7) || |
- | |23 CfgEEPR|управление конфигурационным ППЗУ 93С46 (чтение и запись байтов конфигурации)||| | + | | 23 CfgEEPR | управление конфигурационным ППЗУ 93С46 (чтение и запись байтов конфигурации) ||| |
- | | | 7, 6, 5, 4 |не используется|| | + | | | 7, 6, 5, 4 | не используется || |
- | |:::| 3 |EECS сигнал Chip Select EEPROM|| | + | | ::: | 3 | EECS сигнал Chip Select EEPROM || |
- | |:::| 2 |EECK сигнал CLK (синхро)|| | + | | ::: | 2 | EECK сигнал CLK (синхро) || |
- | |:::| 1 |EEDI сигнал Data Input (данные подаваемые на EEPROM)|| | + | | ::: | 1 | EEDI сигнал Data Input (данные подаваемые на EEPROM) || |
- | |:::| 0 |EEDO сигнал Data Output (данные выдаваемые с EEPROM); только чтение|| | + | | ::: | 0 | EEDO сигнал Data Output (данные выдаваемые с EEPROM); только чтение || |
- | |24 PSGCtrl|регистр управления встроенным PSG \\ начальная конфигурация — 1Bh (00011011b) по включению питания; аппаратный рестарт не влияет||| | + | | 24 PSGCtrl | регистр управления встроенным PSG \\ начальная конфигурация — 1Bh (00011011b) по включению питания; аппаратный рестарт не влияет ||| |
- | | | 7 |включение/выключение PSG|| | + | | | 7 | включение/выключение PSG || |
- | |:::| 6 |включение/выключение PPI Clicker|| | + | | ::: | 6 | включение/выключение PPI Clicker || |
- | |:::| 5, 4, 3 |уровень звука с PSG модуля (0–7)|| | + | | ::: | 5, 4, 3 | уровень звука с PSG модуля (0–7) || |
- | |:::| 2, 1, 0 |уровень звука с PPI Clicker (0–7)|| | + | | ::: | 2, 1, 0 | уровень звука с PPI Clicker (0–7) || |
- | |25 V_AR_L|младшие 8 бит адреса кода перехватчика||| | + | | 25 | зарезервировано для использования в будущем ||| |
- | |26 V_AR_H|старшие 8 бит адреса кода перехватчика||| | + | | 26 | зарезервировано для использования в будущем ||| |
- | |27 aV_hunt|конфигурация перехватчика для режима отложенной конфигурации||| | + | | 27 | зарезервировано для использования в будущем ||| |
- | | | 0 |включение перехватчика по рестарту системы или по чтению с адреса #4000|| | + | | | 0 | включение перехватчика по рестарту системы или по чтению с адреса #4000 || |
- | |:::|:::| 1 |включён| | + | | ::: | ::: | 1 | включён | |
- | |:::| 1 |расположение перехватчика|| | + | | ::: | 1 | расположение перехватчика || |
- | |:::|:::| 0 |блок загрузчика в FlashRОM| | + | | ::: | ::: | 0 | блок загрузчика в FlashRОM | |
- | |:::|:::| 1 |нулевой блок скрытого ОЗУ| | + | | ::: | ::: | 1 | нулевой блок скрытого ОЗУ | |
- | |28 SLM_cfg|назначение подслота для устройства (главный слот)||| | + | | 28 SLM_cfg | назначение подслота для устройства (главный слот) ||| |
- | | | 7 |номер подслота FMPAC|| | + | | | 7 | номер подслота FMPAC || |
- | |:::| 6 |:::|| | + | | ::: | 6 | ::: | ::: | |
- | |:::| 5 |номер подслота RAM (Mapper MMM)|| | + | | ::: | 5 | номер подслота RAM (Mapper MMM) || |
- | |:::| 4 |:::|| | + | | ::: | 4 | ::: | ::: | |
- | |:::| 3 |номер подслота IDE (CF)|| | + | | ::: | 3 | номер подслота IDE (CF) || |
- | |:::| 2 |:::|| | + | | ::: | 2 | ::: | ::: | |
- | |:::| 1 |номер подслота FlashROM/SC|| | + | | ::: | 1 | номер подслота FlashROM/SC || |
- | |:::| 0 |:::|| | + | | ::: | 0 | ::: | ::: | |
- | |29 SCART_cfg|регистр управления эмулируемым слотом||| | + | | 29 SCART_cfg | регистр управления эмулируемым слотом ||| |
- | | | 7 | 1 |эмулируемый слот включён| | + | | | 7 | 1 | эмулируемый слот включён | |
- | |:::|:::| 0 |эмулируемый слот отключён| | + | | ::: | ::: | 0 | эмулируемый слот отключён | |
- | |:::| 6 | 1 |расположение эмулируемого слота назначено пользователем| | + | | ::: | 6 | 1 | расположение эмулируемого слота назначено пользователем | |
- | |:::|:::| 0 |эмулируемый слот назначен подслотом главного слота| | + | | ::: | ::: | 0 | эмулируемый слот назначен подслотом главного слота | |
- | |:::| 5 | 1 |эмулируемый слот расширен (если не используется как подслот главного слота)| | + | | ::: | 5 | 1 | эмулируемый слот расширен (если не используется как подслот главного слота) | |
- | |:::|:::| 0 |эмулируемый слот не расширен (если не используется как подслот главного слота)| | + | | ::: | ::: | 0 | эмулируемый слот не расширен (если не используется как подслот главного слота) | |
- | |:::| 4 | 1 |расположение главного слота назначено пользователем| | + | | ::: | 4 | 1 | расположение главного слота назначено пользователем | |
- | |:::|:::| 0 |главный слот расположен в физическом слоте (там же, гже картридж)| | + | | ::: | ::: | 0 | главный слот расположен в физическом слоте (там же, гже картридж) | |
- | |:::| 3 | 1 |не используется| | + | | ::: | 3 | 1 | не используется | |
- | |:::|:::| 0 |:::| | + | | ::: | ::: | 0 | ::: | |
- | |:::| 2 | 1 |разрешить чтение регистра эмулированного слота FFFF (используется только для 1 и 2 слотов)| | + | | ::: | 2 | 1 | разрешить чтение регистра эмулированного слота FFFF (используется только для 1 и 2 слотов) | |
- | |:::|:::| 0 |запретить чтение (будут читаться существующие регистры нормальных слотов)| | + | | ::: | ::: | 0 | запретить чтение (будут читаться существующие регистры нормальных слотов) | |
- | |2A SCART_SLT|конфигурация слота/подслота при включении||| | + | | 2A SCART_SLT | конфигурация слота/подслота при включении ||| |
- | | | 7, 6 |00 = мини ROM до 32 Кбайт без маппера \\ 01 = маппер K4 \\ 10 = маппер K5 без SCC \\ 11 = маппер K5 + SCC|| | + | | | 7, 6 | 00 = мини ROM до 32 Кбайт без маппера \\ 01 = маппер K4 \\ 10 = маппер K5 без SCC \\ 11 = маппер K5 + SCC || |
- | |:::| 5, 4 |номер главного слота|| | + | | ::: | 5, 4 | номер главного слота || |
- | |:::| 3, 2 |номер расширенного подслота для эмулируемого слота|| | + | | ::: | 3, 2 | номер расширенного подслота для эмулируемого слота || |
- | |:::| 1, 0 |номер эмулируемого слота|| | + | | ::: | 1, 0 | номер эмулируемого слота || |
- | |2B SCART_StBl|Назначение 64 Кбайтного блока эмулируемого слота в FlashROM||| | + | | 2B SCART_StBl | Назначение 64 Кбайтного блока эмулируемого слота в FlashROM ||| |
- | |2C, 2D, 2E FPGA_ver|версия прошивки FPGA (3 байта ASCII)||| | + | | 2C, 2D, 2E FPGA_ver | версия прошивки FPGA (3 байта ASCII) ||| |
- | |2F|MROM_offs = сдвиг мини ROM в 64 Кбайтном блоке (в 8 Кбайтных единицах)||| | + | | 2F MROM_offs | сдвиг мини ROM в 64 Кбайтном блоке (в 8 Кбайтных единицах) ||| |
+ | | 30 PSGAlt | конфигурация портов PSG ||| | ||
+ | | | 1 | зарезервировано | | | ||
+ | | ::: | 0 | 1 | альтернативные порты: #10-#11 | | ||
+ | | ::: | ::: | 0 | порты по-умолчанию: #A0-#A1 | | ||
+ | | 35 PFXN | Номер порта для идентификации и конфигурирования картриджа ||| | ||
{{anchor:bank_config_registers}} | {{anchor:bank_config_registers}} | ||
Строка 323: | Строка 332: | ||
==== BnMaskR ==== | ==== BnMaskR ==== | ||
- | Маска для адресации банка в блок FlashROM (размер эмулируемой ROM или количество страничек, например для 128 кбайт ROM нужно 16 страничек по 8 кбайт, значит выбираем маску = 0Fh или 00001111b) | + | Маска для адресации банка в блок FlashROM (размер эмулируемой ROM или количество страничек, например для 128 Кбайт ROM нужно 16 страничек по 8 Кбайт, значит выбираем маску = 0Fh или 00001111b) |
Начальная конфигурация — 03h | Начальная конфигурация — 03h | ||
Строка 375: | Строка 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 байта) и имеет следующий формат: | ||
Строка 381: | Строка 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 байт)|| | ||
Строка 412: | Строка 421: | ||
|#3B|[[#Mconf]]|регистр конфигурации расширенного слота|| | |#3B|[[#Mconf]]|регистр конфигурации расширенного слота|| | ||
|#3C|[[#CardMDR]]|регистр основной конфигурации|| | |#3C|[[#CardMDR]]|регистр основной конфигурации|| | ||
- | |#3D|[[#PosSiz]]|размер и позиция mini ROM в 64-кбайтном блоке|| | + | |#3D|[[#PosSiz]]|размер и позиция mini ROM в 64 Кбайтном блоке|| |
|#3E|[[#RstRun]]|параметры сброса и старта|| | |#3E|[[#RstRun]]|параметры сброса и старта|| | ||
|#3F|Resrv|Зарезервировано|| | |#3F|Resrv|Зарезервировано|| | ||
Строка 418: | Строка 427: | ||
===== PosSiz ===== | ===== PosSiz ===== | ||
- | PosSiz — размер и позиция mini-ROM в 64-кбайтном блоке | + | PosSiz — размер и позиция mini ROM в 64 Кбайтном блоке |
^ Бит ^ Значение/описание ^ | ^ Бит ^ Значение/описание ^ | ||
| 7 |зарезервировано| | | 7 |зарезервировано| | ||
- | | 6, \\ 5, \\ 4 |смещение mini-ROM в 64-кбайтном блоке в зависимости от длины ROM файла: <WRAP> | + | | 6, \\ 5, \\ 4 |смещение mini ROM в 64 Кбайтном блоке в зависимости от длины ROM файла: <WRAP> |
- | | ^ 8 кбайт ^ 16 кбайт ^ 32 кбайт ^ | + | | ^ 8 Кбайт ^ 16 Кбайт ^ 32 Кбайт ^ |
- | |000b| 0 кбайт | 0 кБ | 0 кбайт | | + | |000b| 0 Кбайт | 0 Кб | 0 Кбайт | |
- | |001b| 8 кбайт | 16 кбайт | 32 кбайт | | + | |001b| 8 Кбайт | 16 Кбайт | 32 Кбайт | |
- | |010b| 16 кбайт | 32 кбайт | | | + | |010b| 16 Кбайт | 32 Кбайт | | |
- | |011b| 24 кбайт | 48 кбайт | | | + | |011b| 24 Кбайт | 48 Кбайт | | |
- | |100b| 32 кбайт | | | | + | |100b| 32 Кбайт | | | |
- | |101b| 40 кбайт | | | | + | |101b| 40 Кбайт | | | |
- | |110b| 48 кбайт | | | + | |110b| 48 Кбайт | | |
- | |111b| 56 кбайт | | | + | |111b| 56 Кбайт | | |
</WRAP>| | </WRAP>| | ||
- | | 3 |нестандартный размер образа картриджа:\\ 1 — 49 кбайт \\ 0 — стандартный размер образа картриджа| | + | | 3 |нестандартный размер образа картриджа:\\ 1 — 49 Кбайт \\ 0 — стандартный размер образа картриджа| |
- | | 2,\\ 1, \\ 0 |размер mini ROM: \\ 110b = 32 кбайт \\ 101b = 16 кбайт \\ 100b = 8 кбайт \\ 011b = 4 кбайт \\ 000b = не mini-ROM| | + | | 2,\\ 1, \\ 0 |размер mini ROM: \\ 110b = 32 Кбайт \\ 101b = 16 Кбайт \\ 100b = 8 Кбайт \\ 011b = 4 Кбайт \\ 000b = не mini ROM| |
===== RstRun ===== | ===== RstRun ===== | ||
Строка 477: | Строка 486: | ||
Значения конфигурации по умолчанию: | Значения конфигурации по умолчанию: | ||
|#F8|#60|#00|#84|#FF|#40^банк 1| | |#F8|#60|#00|#84|#FF|#40^банк 1| | ||
- | |#F8|#68|#01|#84|#FF|#60^банк 2| | + | |#F8|#68|#00|#84|#FF|#60^банк 2| |
- | |#F8|#70|#02|#84|#FF|#80^банк 3| | + | |#F8|#70|#00|#84|#FF|#80^банк 3| |
- | |#F8|#78|#03|#84|#FF|#A0^банк 4| | + | |#F8|#78|#00|#84|#FF|#A0^банк 4| |
|#FF|#AC|#00|#02|#FF| ^регистры конфигурации| | |#FF|#AC|#00|#02|#FF| ^регистры конфигурации| | ||
Строка 488: | Строка 497: | ||
Значения конфигурации по умолчанию: | Значения конфигурации по умолчанию: | ||
|#F8|#60|#00|#85|#FF|#40^банк 1| | |#F8|#60|#00|#85|#FF|#40^банк 1| | ||
- | |#F8|#70|#01|#85|#FF|#80^банк 2| | + | |#F8|#70|#00|#85|#FF|#80^банк 2| |
- | |#F8|#70|#02|#08|#3F|#80^банк 3| | + | |#F8|#60|#00|#85|#FF|#C0^банк 3| |
- | |#F8|#78|#03|#08|#3F|#A0^банк 4| | + | |#F8|#70|#00|#85|#FF|#00^банк 4| |
|#FF|#8C|#00|#01|#FF| ^регистры конфигурации| | |#FF|#8C|#00|#01|#FF| ^регистры конфигурации| | ||
Строка 562: | Строка 571: | ||
====== Формат файла RCP ====== | ====== Формат файла RCP ====== | ||
- | Описание формата файла RCP. | + | Описание формата файла RCP (Register Configuration Preset) — набор настроек регистров. |
^ Адрес (байт) ^ Описание ^^ | ^ Адрес (байт) ^ Описание ^^ | ||
Строка 595: | Строка 604: | ||
|#1C|[[#RstRun]]|параметры перезагрузки и старта ROM| | |#1C|[[#RstRun]]|параметры перезагрузки и старта ROM| | ||
|#1D|Не используется, всегда FF|| | |#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" в порт, картридж будет переведён в мультифункциональный режим работы (активны все устройства) | ||
====== Ссылки ====== | ====== Ссылки ====== |