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

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


msx:carnivore2:specification

Техническая документация на Carnivore2

Ниже представлена подробная техническая документация на многофункциональный картридж Carnivore2.

Примечания:

  • Шестнадцатеричные числа могут быть указаны как #90, 90h или 0x90
  • FlashROM память далее именуется как флеш

Основные функциональные блоки и возможности:

  • Внешний накопитель: карта памяти CompactFlash (CF)
    • В качестве ДОС используется Nextor (встроенная поддержка FAT12/16, максимальный размер раздела: 4 Гбайт).
    • Поддерживаются адаптеры SD и MicroSD карт
    • Nextor поддерживает эмуляцию образов дискет
    • Утилиты совместимы с MSX-DOS версий 1 и 2
    • Картридж можно настроить как расширение ОЗУ, IDE диск, звуковая карта FMPAC, звуковые карты SCC/SCC+ или любую их комбинацию
  • ОЗУ: 2048 Кбайт (2 Мбайт)
    • Состав:
      • 1024 Кбайт основное ОЗУ с маппером
      • 256 Кбайт для копий ПЗУ при апгрейде
      • 720 Кбайт дополнительное ОЗУ с маппером, используемое по принципу MegaRAM
      • 4 Кбайт ОЗУ FMPAC (для сохранения данных после отключения питания нужна батарея)
  • Флэш память (FlashROM): объём 8 Мбайт, скорость 64 Мбит/с
    • Первые 256 Кбайт используются для служебной информации и ПЗУ эмулируемых устройств
    • Эмуляция мапперов:
      • образы картриджей до 64 Кбайт (планарный режим)
      • ASCII8
      • ASCII16
      • Konami4
      • Konami5 (SCC/SCC+)
      • Настраиваемый маппер
  • Звук
    • Эмуляция PPI и PSG (порты ввода/вывода: 10h–12h)
    • Эмуляция Konami SCC и SCC+
    • Эмуляция OPLL (YM2413, MSX Music), переведённое на английский язык ПЗУ
    • Настройка громкости для всех эмулируемых звуковых устройств
    • PSG и PPI можно отключить в пользовательском интерфейсе
  • Дополнительные 128 байт для хранения параметров конфигурации в конфигурационном ППЗУ (M93C46MN1), работает в 8–битном режиме
  • Задаваемая пользователем громкость SCC и FMPAC (8 позиций), сохраняется в конфигурационном ППЗУ
  • Задаваемая пользователем громкость PSG и Clicker (8 позиций), сохраняется в конфигурационном ППЗУ
  • Доступное пользователю включение/выключение устройств PSG и Clicker
  • Задаваемая пользователем частота VDP (50/60 Гц), сохраняется в конфигурационном ППЗУ

Встроенные ПЗУ (BIOS) и модули:

Файл Подслот Описание
BOOTCMFC.BIN 0 Стартовое меню
BIDECMFC.BIN 1 ПЗУ IDE
2 1 Мбайт ОЗУ
FMPCCMFC.BIN 3 ПЗУ FMPAC

Расположение стартового меню, каталога и BIOS в чипе FlashROM описано ниже. Существуют логические и физические блоки, они имеют разную нумерацию.

Расположение блоков в микросхеме флеш памяти

Микросхема FlashROM, используемая в Carnivore2 имеет в начале 8 логических блоков (в первом физическом 64 Кбайтном блоке), а затем следуют монолитные 64 Кбайные блоки. В логических блоках расположены стартовое меню и каталог. Далее следуют ПЗУ (BIOS) встроенных устройств. Ниже приведено их расположение по блокам.

8–килобайтные блоки

Первые 8 логических блоков флэш соответствуют нулевому физическому блоку, задаваемому регистром AddrFR. Логическте блоки 0, 1, 6 и 7 содержат код и данные стартового меню. Блоки 2 и 3 содержат записи директории. Следующие 2 блока зарезервированы для использования в будущем.

Диапазон адресов № блока Описание
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 Кбайтных блоков
004000h–005FFFh 2 записи каталога
006000h–007FFFh 3
008000h–009FFFh 4 не используется
00A000h–00BFFFh 5 не используется
00C000h–00DFFFh 6 используется для «экранных» данных стартового меню, подключается при необходимости вручную
00E000h–00FFFFh 7 используется для «экранных» данных стартового меню, подключается при необходимости вручную

64–килобайтные блоки

После первых восьми логических 8 Кбайтных блоков начинаются 64 Кбайтные физические блоки флеш.

Диапазон адресов № физического блока № логического блока Описание
010000h–01FFFFh81, AddrFR=#01содержат BIOS контроллера IDE
020000h–02FFFFh92, AddrFR=#02
030000h–03FFFFh103, AddrFR=#03содержит FMPAC BIOS
040000h–04FFFFh114, AddrFR=#03Блоки данных — блоки отданы для загрузки пользовательских ROM образов (игр).
050000h–05FFFFh125, AddrFR=#03
7F0000h–7FFFFFh134127, AddrFR=#7F

Микросхема FlashROM

Тип: Numonix M29W640GB TSOP48
Спецификация

Расположение блоков:

#000008K
#020008K
#040008K
#060008K
#080008K
#0A0008K
#0C0008K
#0E0008K
#1000064K x 127

Адреса управления: #4555 и #5AAA

Команды управления:

AUTOSELECT#90
WRITE#A0
CHIP_ERASE#10
BLOCK_ERASE#30
RESET#F0

FlashROM идентификатор: #7E

  • Блок 0 зарезервирован за стартовым меню (BOOTCMFC.BIN) и директорией
  • Блоки 1–2 зарезервированы за IDE BIOS (BIDECMFC.BIN)
  • Блок 3 зарезервирован за FMPAC BIOS (FMPCCMFC.BIN)

Эмуляция FMPAC

Эмуляция FMPAC поддерживается картриджем через порты #7C–#7D.

Память FMPAC SRAM эмулируется с использованием 8 Кбайт в верхней части первого мегабайта ОЗУ (теневое ОЗУ). Этот участок памяти не входит в основное ОЗУ и не управляется маппером. Физическая адресация этого блока памяти в теневом ОЗУ: #0FE000h–#0FFFFFh.

Примечание: Данные в ОЗУ стираются сразу после выключения питания компьютера если в картридже не установлена батарея для поддержки долгосрочного хранения данных в ОЗУ.

Регистры управления FMPAC:

  • 7FF4h: запись в YM-2413 порт регистров (только запись)
  • 7FF5h: запись в YM-2413 порт данных (только запись)
  • 7FF6h: активация портов ввода–вывода OPLL (чтение и запись)
  • 7FF7h: страница ПЗУ (чтение и запись)

Для включения 8 Кбайт SRAM по адресам 4000h–5FFFh, запишите 4Dh по адресу 5FFEh и 69h по адресу 5FFFh.

Конфигурационное ППЗУ

Тип: M93C46MN1 (128 bytes/1 kbit)
Спецификация

Внимание! ППЗУ используется в 8–битном режиме!

Это ППЗУ используется для хранения данных конфигурации картриджа, чтобы избежать их потери после выключения питания. В таблице ниже приведены адреса для хранения данных в ППЗУ, а также информация по самим данным.

Адрес Описание
01 громкость FMPAC и SCC. По 3 бита на громкость, максимальное значение — 8. Первые 2 бита используются как признак того, что громкость была предварительно записана в ППЗУ
02 флаг 50 или 60 Гц развёртки для видеопроцессора. Бит 1 в этом байте — сам флаг. Если бит в нуле, то используется 60 Гц
03 флаги включения/выключения PSG и PPI Clicker, а также их громкость. По 3 бита на громкость, максимальное значение — 8.
Первые 2 бита используются для включения и выключения PSG и Clicker
04 Сортировка каталога (0 = не сортировать)
05 Эффекты (0 = выключены)
06 Скорость клавиатуры/джойстика
07 Палитра шрифта меню
08
09 Палитра фона меню
0A
0B Палитра шрифта экрана помощи
0C
0D Палитра фона экрана помощи
0E
0F Палитра шрифта экрана настройки громкости
10
11 Палитра фона экрана настройки громкости
12
13 Палитра шрифта экрана настройки PSG/PPI
14
15 Палитра фона экрана настройки PSG/PPI
16
17 Флаг использования пользовательских настроек интерфейса (должен быть равен #42)
18 Двойной сброс (Double reset) при «холодной загрузке» (1=включен)
19 FMPAC моно (1=включен)
1A Последняя запущенная запись
1B Флаг проигрывания музыки
1C Номер записи директории для автостарта
1D Флаг бегущей строки помощи
1E Статус Dual-PSG
1F Задержка при автостарте
20 Флаг разрешения работы в слоте 3
21 Номер порта для идентификации и контроля картриджа

Запись в ППЗУ осуществляется с помощью регистра CardMDR+#23. Команды для ППЗУ записываются в этот регистр по очереди, как указано в спецификации на чип. Используются только команды разрешения записи, чтения и записи данных.

Регистры конфигурации

Регистры конфигурации и управления начинаются с адреса 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 Регистры конфигурации банка 1
07 R1Addr
08 R1Reg
09 R1Mult
0A B1MaskR
0B B1AdrD
0C R2Mask Регистры конфигурации банка 2
0D R2Addr
0E R2Reg
0F R2Mult
10 B2MaskR
11 B2AdrD
12 R3Mask Регистры конфигурации банка 3
13 R3Addr
14 R3Reg
15 R3Mult
16 B3MaskR
17 B3AdrD
18 R4Mask Регистры конфигурации банка 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 Номер порта для идентификации и конфигурирования картриджа

Регистры конфигурации банка

Существует шесть регистров конфигурации банка:

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 (и данного регистра)

Формат записи каталога

В картридже доступно 253 контролируемых пользователем записей каталога. Первая запись каталога не может быть отредактирована или удалена, потому что она устанавливает конфигурацию картриджа по умолчанию — «всё включено».

Каталог содержит 2 блока по 8 Кбайт и физически расположен в 2 и 3 логических блоках микросхемы FlashROM (диапазон адресов 004000h–005FFFh (блок 2) и 006000h–007FFFh (блок 3). Номер физического блока, адресуемый регистром AddrFr, равен нулю.

Каждая запись каталога занимает 40h (64 байта) и имеет следующий формат:

Адрес Название Назначение, номер бита Значение бита, описание
#00NUMНомер записи (последняя запись — FF игнорируется)
#01ACTФлаг активной/пустой записи (#FF — активная запись)
#02STBСтартовый блок данных 64 Кбайт
#03LNBРазмер данных в 64 Кбайтных блоках
#04MAPСимвол типа маппера
#05NAMИмя записи (30 байт)
#22NAM
#23R1MaskРегистры конфигурации банка 1
#24R1Addr
#25R1Reg
#26R1Mult
#27B1MaskR
#28B1AdrD
#29R2MaskРегистры конфигурации банка 2
#2AR2Addr
#2BR2Reg
#2CR2Mult
#2DB2MaskR
#2EB2AdrD
#2FR3MaskРегистры конфигурации банка 3
#30R3Addr
#31R3Reg
#32R3Mult
#33B3MaskR
#34B3AdrD
#35R4MaskРегистры конфигурации банка 4
#36R4Addr
#37R4Reg
#38R4Mult
#39B4MaskR
#3AB4AdrD
#3BMconfрегистр конфигурации расширенного слота
#3CCardMDRрегистр основной конфигурации
#3DPosSizразмер и позиция mini ROM в 64 Кбайтном блоке
#3ERstRunпараметры сброса и старта
#3FResrvЗарезервировано

PosSiz

PosSiz — размер и позиция mini ROM в 64 Кбайтном блоке

Бит Значение/описание
7 зарезервировано
6,
5,
4
смещение mini ROM в 64 Кбайтном блоке в зависимости от длины ROM файла:
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 Кбайт
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, что означает, что для этого используется вторая (основная) часть чипа ОЗУ.

Таблица значений типов мапперов:

Символ Значение
Kмаппер Konami 5 SCC
kмаппер Konami4
aмаппер ASCII8
Aмаппер ASCII16
Mмини ROM (до 64 Кбайт)
Cконфигурационная запись
Uнеизвестный маппер
-для остальных случаев

ASCII8

Картридж поддерживает стандартный маппер ASCII8.

Значения конфигурации по умолчанию:

#F8#60#00#84#FF#40банк 1
#F8#68#00#84#FF#60банк 2
#F8#70#00#84#FF#80банк 3
#F8#78#00#84#FF#A0банк 4
#FF#AC#00#02#FF регистры конфигурации

ASCII16

Картридж поддерживает стандартный маппер ASCII16.

Значения конфигурации по умолчанию:

#F8#60#00#85#FF#40банк 1
#F8#70#00#85#FF#80банк 2
#F8#60#00#85#FF#C0банк 3
#F8#70#00#85#FF#00банк 4
#FF#8C#00#01#FF регистры конфигурации

Konami4

Картридж поддерживает стандартный маппер Konami4.

Значения конфигурации по умолчанию:

#E8#50#00#04#FF#40банк 1
#E8#60#01#84#FF#60банк 2
#E8#80#02#84#FF#80банк 3
#E8#A0#03#84#FF#A0банк 4
#FF#AC#00#02#FF регистры конфигурации

Konami5

Картридж поддерживает стандартный маппер Konami5 (SCC).

Значения конфигурации по умолчанию:

#F8#50#00#84#FF#40банк 1
#F8#70#01#84#FF#60банк 2
#F8#90#02#84#FF#80банк 3
#F8#B0#03#84#FF#A0банк 4
#FF#BC#00#02#FF регистры конфигурации

MiniROM

Картридж поддерживает MiniROM (образы ROM до 49 Кбайт) без маппера.

Значения конфигурации по умолчанию:

#F8#60#00#06#7F#40банк 1
#F8#70#01#08#7F#80банк 2
#F8#70#02#08#3F#С0банк 3
#F8#78#03#08#3F#A0банк 4
#FF#8C#07#01#FF регистры конфигурации

Планарный режим 64 Кбайт

Картридж поддерживает планарный режим, когда первые 64 Кбайт образа ROM видны в адресном пространстве.

Значения конфигурации по–умолчанию для MiniROM:

#F8#60#00#06#7F#40банк 1
#F8#70#01#08#7F#80банк 2
#F8#70#02#08#3F#C0банк 3
#F8#78#03#08#3F#A0банк 4
#FF#8C#07#01#FF регистры конфигурации

Диапазоны адресов:

#0000–#3FFFбанк 1
#4000–#7FFFбанк 2
#8000–#BFFFбанк 3
#C000–#FFFFбанк 4

Значения по умолчанию

Ниже приведены значения регистров конфигурации по–умолчанию.

CardMDRCardMDR+#0020h (но может отличаться из–за 2 последних бит)
AddrFRCardMDR+#0500h
R1MultCardMDR+#0985h
R2MultCardMDR+#0F00h
R3MultCardMDR+#1500h
R4MultCardMDR+#1B00h
CMDRCpyCardMDR+#1F20h
ConfFlCardMDR+#2002h

Формат файла RCP

Описание формата файла RCP (Register Configuration Preset) — набор настроек регистров.

Адрес (байт) Описание
#00Тип маппера
#01R1MaskРегистры конфигурации банка 1
#02R1Addr
#03R1Reg
#04R1Mult
#05B1MaskR
#06B1AdrD
#07R2MaskРегистры конфигурации банка 2
#08R2Addr
#09R2Reg
#0AR2Mult
#0BB2MaskR
#0CB2AdrD
#0DR3MaskРегистры конфигурации банка 3
#0ER3Addr
#0FR3Reg
#10R3Mult
#11B3MaskR
#12B3AdrD
#13R4MaskРегистры конфигурации банка 4
#14R4Addr
#15R4Reg
#16R4Mult
#17B4MaskR
#18B4AdrD
#19Mconfрегистр конфигурации расширенного слота
#1ACardMDRрегистр основной конфигурации
#1BPosSizразмер и позиция mini ROM в 64 Кбайтном блоке
#1CRstRunпараметры перезагрузки и старта ROM
#1DНе используется, всегда FF

Порт для идентификации и контроля

Карнивор может быть найден и может управляться с помощью специального порта-ввода вывода, который можно выбрать в конфигурационном меню. Номер порта может быть установлен в диапазоне #F0-F2. Поддерживаются следующие операции:

  1. Детектирование картриджа
    • Запишите «C» в порт и прочитайте оттуда значение в байт. Карнивор ответит номером версии «2» (в ASCII формате)
  2. Определение слота, в котором находится Карнивор
    • Запишите «S» в порт и прочитайте оттуда значение в байт. Карнивор ответит номером слота, в котором он находится, например «1» (в ASCII формате)
  3. Спрятать регистры конфигурации
    • Запишите «H» в порт, регистры конфигурации будут спрятаны
  4. Показать регистры конфигурации
    • Запишите «R» в порт, регистры конфигурации будут показаны по выбранному (смотрите информацию ниже) или дефолтному адресу #4F80
  5. Управление местоположением регистров конфигурации в памяти
    • Запишите «0» в порт, регистры конфигурации будут показаны по адресу #0F80
    • Запишите «1» в порт, регистры конфигурации будут показаны по адресу #4F80
    • Запишите «2» в порт, регистры конфигурации будут показаны по адресу #8F80
    • Запишите «3» в порт, регистры конфигурации будут показаны по адресу #CF80
  6. Управление режимом работы картриджа (ВНИМАНИЕ! После изменения нужна программная перезагрузка по JP 0)
    • Запишите «A» в порт, картридж будет переведён в монофункциональный режим работы (активно только одно устройство)
    • Запишите «M» в порт, картридж будет переведён в мультифункциональный режим работы (активны все устройства)

Ссылки

msx/carnivore2/specification.txt · Последние изменения: 2024-02-27 08:52 — GreyWolf