У меня появилась идея, наверняка, не новая, сделать аппаратный эмулятор ROM-памяти для приставки SEGA Mega Drive / Genesis. Но сделать его не простой микросхемой флеш-памяти, содержащей 1, 2 или 10 игрушек, а сделать сложное устройство, читающее ROM'ы с оптического диска!
Сразу говорю, что знаю о существовании Sega CD, но в то же время хотелось бы попробовать сделать нечто похожее, но проще.
Как я себе это представляю. На диске CD или DVD будут записаны ROM'ы. Насколько я знаю, размер картриджей не превосходит 4MB (32 Mbit), поэтому чтение с диска не должно быть слишком сложным, так как начала ROM'ов можно выровнять по сетке 32Mbit.
Я новичок, поэтому прошу поправить меня, если я что-то пишу неправильно.
Абстрактная схема устройства видится мне примерно такой (пока на словах):
1. Есть привод оптических дисков, скорее всего с интерфейсом SATA, ибо IDE уже не найти.
2. Есть DIP-переключатель или набор таких переключателей, комбинация на которых определяет номер в "сетке", откуда надо прочитать наш заветный ROM размером 32Mbit. Например, если выставлена комбинация 0 (все двоичные разряды равны 0), читаем первый РОМ (с адреса 0МБит), если 1 - второй (с адреса 32Мбит), если 2 - третий РОМ (с адреса 64Мбит) и так далее.
3. Какая-то микросхема (пока даже не представляю какая именно) должна подавать определённые команды оптическому приводу и запрашивать участок памяти, на которую "ссылается" DIP-переключатель.
4. Полученный кусок информации (образ ROM) с диска сохраняем в динамической ОЗУ, объёмом 32Mbit.
5. Далее идёт некая (опять же, пока неизвестная) микросхема, эмулирующая 42-пиновую микросхему MaskROM-памяти на оригинальных картриджах СЕГИ, и соединённая с картриджем-"донором"-эмулятором.
Возможно ли всё это сотворить? Только не спрашивайте, зачем всё это
1. PATA предпочтительней т.к. параллельный интерфейс намного проще. И хотя на логическом уровне они одинаковы(вроде бы), на физическом уровне могут быть проблемы(хотя бы с проектированием и изготовлением платы). К тому же SATА->PATA переходники сейчас найти не большая проблема. 2. Тогда уж полноценную цифровую клавиатуру. На сложности девайса практически не скажется. 3. Эта микросхеа называется микропроцессор или микроконтроллер. Программа должна будет иметь файловую систему. И эту программу придется написать вам. 4,5. ПЛИС типа CPLD для трансляции шины игровой приставки в шину чипа DRAM и регенерации её содержимого. Прошивку CPLD тоже придётся писать самому.
MCF, если предположить, что работа с SD-картами всяко проще, чем с IDE-шным CD-приводом (про SATA вообще молчу), то "изобретаемый" эмулятор будет никак не проще этого :
Боюсь, не по вашим возможностям
--- А вообще, не в обиду здешним форумчанам, но такие вопросы лучше (и с бОльшей вероятностью на успех) надо задавать в других местах, напр. тут или тут
Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России.
На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.
Сделать то можно, но вот под временем и средствах подразумевались 4 года изучения микроконтроллеров и ПЛИС, а под средствами тонна программаторов и тестовых тушек. Так вот просто собрать не получиться, за один вечер...
_________________ I'm on a huge rock, flying through space!
Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO
подробнее>>
MCF
Заголовок сообщения: Re: Эмулятор ROM для приставки SEGA Mega Drive / Genesis
Да, знаю, что с Flash-памятью проще работать и что нужно очень многое изучить, чтобы понять, как работать с IDE/SATA. Но я хочу именно читать с CD/DVD-привода, поскольку хочу сделать сильно упрощённый вариант типа Sega CD.
Я не говорю, что сделаю прямо "здесь и сейчас" Для того мы и живём на этой планете - чтобы учиться
Под параллельный IDE без сомнений разрабатывать проще, чем под последовательный SATA. Буду изучать IDE.
Кстати, один маленький вопрос можно сказать уже решил. Приобрёл адаптер-переходник IDE <-> SATA компании Orient
На картинке - Altera MAX II, а какую бы вы порекоммендовали под такую задачу? Я пока только начинаю это всё изучать, хотелось бы понять в какую сторону копать, чтобы делать меньше ошибок.
Насколько я понимаю, если делать под IDE, то количество пинов ПЛИС должно быть никак не менее чем X = 40 + 2 + 42 + Y + Z, где 40 идут на IDE, 2 на Vcc и GND, 42 идут в картридж СЕГИ, Y - пины в DIP-переключатель, Z - канал DRAM. Наверное ещё что-то нужно, что я не учёл.
Насколько я успел поискать в интернете, у Altera серия MAX V (вроде бы как раз для несложных проектов) нормальная, в частности микросхемки 5M1270Z и 5M2210Z, которые поддерживают не только 1,2...3,3 вольта, но и 5,0 вольт на ножке. Только вот непонятно, что значит "Кол-во цепей разрешения выхода". Это общее количество ножек микросхемы или количество ножек, которые могут быть "выходами" ?
abc писал(а):
Боюсь, не по вашим возможностям
--- А вообще, не в обиду здешним форумчанам, но такие вопросы лучше (и с бОльшей вероятностью на успех) надо задавать в других местах, напр. тут или тут
Да, этот загадочный "SEGA 315-5750 432" очень интересен. Гугл выдаёт по этому названию количество страниц, менее количества пальцев на руке!
Но я не ставлю себе целью сделать полный эмулятор любого картриджа. Я хочу сделать эмулятор микросхемы ROM на простом картридже (для игр без возможности сохранения), которая в большинстве случаев очень похожа и имеет 40 или 42 ножки. Даже на плате сделано 42 дырки под ROM, значит большинство ROM-ов имеет не более 42-ух ног.
На картинке (из предыдущего сообщения) картриджа с игрой "Virtua Racing" - тяжёлый случай. Мало того, что ROM имеет на 2 ноги больше, чем обычно, а именно - 44 ножки, так там ещё есть ОЗУ 128КБ и загадочный "SEGA 315-5750 432". Судя по скриншотам игры "Virtua Racing", в ней используется несложная по современным меркам, но тяжёлая для тогдашней software-only обработки графики на MC68HC000 трёхмерная графика! В этой игре получается, что картридж выполняет роль не только памяти, но и сложной обработки, которая выбивается из общей схемы и известна только разработчикам игры и чипа! Эмулировать такое крайне сложно. Этот случай - для истинных фанатов приставки, у которых полно свободного времени. К сожалению, моё время сильно ограничено, и изучать такие сложные системы я пока не планирую. Проще написать свой чип, чем заниматься обратным инжинирингом имеющихся
Случай нестандартных картриджей откладываю на неопределённое будущее, ведь такие картриджи не съэмулирует даже великий GENS
Кстати, я уже сделал следующий шаг - проштудировал мануалы по ATA-4 и ATA-6 Ужаснулся на механизм LBA 48-бит с двойной записью в регистры. Слава богу, для DVD-привода такие адреса не нужны, там менее 137 ГБ, и стандартного (пряморукого) LBA 28-bit в режимах PIO хватит за глаза.
Теперь, изучаю язык Verilog HDL VHDL мне не понравился своим синтаксисом аля-турбо-поласкаль-дельфи с ":=" вместо "=" и не Сишным стилем (мне ближе Си, старый добрый Си, даже без плюсиков )
Поищите старые проекты mp3-проигрывателей на основе CD-ROMов в начале 2000-х таких было с десяток, на разных микроконтроллерах, со схемами и исходниками. Думаю, всяко проще будет разбираться :) http://www.myplace.nu/mp3/ Внезапно http://g-a-v.pisem.net/cdplr.htm и
Цитата:
Октябрьский номер "Радиохобби" за 2000 год (№5/2000). Выложен целиком к Дню Радио в порядке исключения. В нем типично представлены все рубрики журнала - схемный Дайджест из 20 журналов дальнего зарубежья (один из хитов - автономный MP3-плеер на основе CD-ROM
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 238
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения