Делаем MegaROM картридж.
MegaROM считается картридж, содержащий ПЗУ объёмом не менее 128 КБ. Адресация этой памяти осуществляется через тот же слот MSX путём разделения ПЗУ на сегменты (обычно по 8 или 16 КБ) для переключения между ними на одной или нескольких страницах памяти.
Для этого надо использовать т.н. "мапперы". Функция маппера в картриджах MSX состоит в том, чтобы обеспечить адресацию относительно большой ПЗУ микросхемы объёмом 128кБ и более в ограниченное адресное пространство шины (все адресное пространство которой 64кБ).
Мне попался на глаза простой проект MegaROM картриджа, который поддерживает игры объемом в 128 кБ. При использовании микросхемы 39SF040 (512 кБ) на такой картридж можно разместить до четырех 128 кБ игр.
Вот неполный список поддерживаемых игр:
Скрытый текст
1942 (MSX2 version only)
Arkanoid 2 - Revenge of DOH
Ashguine Story I
Bubble Bobble
Contra (MSX2; CRC32: 4e82660d)
Cyborg Z
Digital Devil Story
Dragon Buster
Dragon Quest 1 (both MSX1, MSX2 versions)
Druid
F1 Spirit
Family Billiards
Fantasy Zone 1
Final Zone Wolf
Ganbare Goemon
Gangjeol Robocop
Genesis - Dawn of a New Day
Hai No Majutsushi
Hinotori
King Kong 2
King's Valley 2 Edit Contest Edition
King's Valley 2 (MSX2 only)
Metal Gear (CRC32: e85c5731)
Mr. Ninja Ashura's Chapter
Nemesis (CRC32: 4dfcc009)
Nemesis 2
Parodius
Pengo
Penguin Adventure
Pennant Race
Return of Jelda
Salamander
Spy vs. Spy II (64kB Konami-mapper version)
Seikima 2 Special - Tetsuji
Street Master
Super Bioman 4
Super Boy 3
Super Runner
Tengoku Yoitoko - Heaven
The Fairyland Story
The Fantasm Soldier Valis
The Maze of Galious: Knightmare 2
Topple Zip MSX2
Treasure of USAS (MSX2)
Vampire Killer (MSX2)
Wonsiin
Young Sherlock: Legacy of Doyle[свернуть]
Статья от автора. Несколько затянута, но есть полезная информация:
https://www.leadedsolder.com/2024/09...m-oyanami.html
Ссылка на гитхаб, тут можно взять герберы для изготовления печатной платы и список деталей:
https://github.com/barbeque/oyanami-msx-megarom
Итак, решение принято. Заказываю платы и детали.
Сборка платы не занимает много времени. Первую плату собрал на "панельках" для экспериментов и тестирования. Монтаж делал методом "шариков", т.е. обратная сторона платы не содержит острых ножек от микросхем.
От себя добавил синий светодиод. Припаял его на место одного из блокировочных конденсаторов. Последовательно установлен резистор на 2.2 кОм.
Теперь надо подготовить прошивку флешки 39SF040. Для этого я подобрал четыре игры и переименовал их, сложив в отдельной папке. Ромы игр брал тут https://download.file-hunter.com/Games
King's Valley 2 (MSX2) - rom1.rom
King's Valley 2 Edit Contest Edition - rom2.rom
The Maze of Galious: Knightmare 2 - rom3.rom
Treasure of USAS (MSX2) - rom4.rom
Далее склеил четыре файла по 128 кБ в один файл 512 кБ. Использовал Total Commander и команду
Код:copy /b rom1.rom+rom2.rom+rom3.rom+rom4.rom rom512.rom
Запрограммировал микросхему 39SF040 с помощью программатора T48:
Установил микросхемы в панельки платы картриджа:
Поставил дип-переключатели SW1 и SW2 в положение OFF:
Установил картридж в слот MSX:
Включаю MSX. Ура! Через несколько секунд загрузилась игра из rom1.rom - King's Valley 2 (MSX2)
Пробую загрузку других игр:
SW1 - ON SW2 - OFF. Загружается игра rom2.rom - King's Valley 2 Edit Contest Edition
SW1 - OFF SW2 - ON. Загружается игра rom3.rom - The Maze of Galious: Knightmare 2
SW1 - ON SW2 - ON. Загружается игра rom4.rom - Treasure of USAS (MSX2)
Все работает отлично.
По идее, для одноигровки можно использовать микросхему флеш емкостью в один мегабит (39SF010), но разница в цене этих чипов минимальна. Поэтому, планирую использовать на одном картридже разные версии одной игры - одна версия оригинальная, вторая - с вечной жизнью.
Аналогично я делал на простых картриджах.
Продолжение следует. Не расходимся...
















Ответить с цитированием