Эмулятор ROM для приставки SEGA Mega Drive / Genesis

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Ответить
MCF
Открыл глаза
Сообщения: 48
Зарегистрирован: Ср янв 29, 2014 23:58:59

Эмулятор ROM для приставки SEGA Mega Drive / Genesis

Сообщение MCF »

У меня появилась идея, наверняка, не новая, сделать аппаратный эмулятор 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-памяти на оригинальных картриджах СЕГИ, и соединённая с картриджем-"донором"-эмулятором.

Возможно ли всё это сотворить?
Только не спрашивайте, зачем всё это :)

Благодарю!
Реклама
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Эмулятор ROM для приставки SEGA Mega Drive / Genesis

Сообщение uk8amk »

Возможно ли всё это сотворить?
Да. Вопрос во времени и средствах.

1. PATA предпочтительней т.к. параллельный интерфейс намного проще. И хотя на логическом уровне они одинаковы(вроде бы), на физическом уровне могут быть проблемы(хотя бы с проектированием и изготовлением платы). К тому же SATА->PATA переходники сейчас найти не большая проблема.
2. Тогда уж полноценную цифровую клавиатуру. На сложности девайса практически не скажется.
3. Эта микросхеа называется микропроцессор или микроконтроллер. Программа должна будет иметь файловую систему. И эту программу придется написать вам.
4,5. ПЛИС типа CPLD для трансляции шины игровой приставки в шину чипа DRAM и регенерации её содержимого. Прошивку CPLD тоже придётся писать самому.
Реклама
Аватара пользователя
rus084
Друг Кота
Сообщения: 3443
Зарегистрирован: Вт июн 28, 2011 12:11:50
Откуда: Россия,Ставропольский край, ст.Бекешевская
Контактная информация:

Re: Эмулятор ROM для приставки SEGA Mega Drive / Genesis

Сообщение rus084 »

зачем дисковод?
проще на флеш карте
Меня зовут Димон .
Изображение
Изображение
Аватара пользователя
abc
Друг Кота
Сообщения: 3685
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Re: Эмулятор ROM для приставки SEGA Mega Drive / Genesis

Сообщение abc »

MCF, если предположить, что работа с SD-картами всяко проще, чем с IDE-шным CD-приводом (про SATA вообще молчу), то "изобретаемый" эмулятор будет никак не проще этого :

Изображение

Боюсь, не по вашим возможностям :cry:

---
А вообще, не в обиду здешним форумчанам, но такие вопросы лучше (и с бОльшей вероятностью на успех) надо задавать в других местах, напр. тут или тут
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Eugene.Negrobov
Мучитель микросхем
Сообщения: 472
Зарегистрирован: Ср фев 15, 2012 09:00:34
Откуда: Киев

Re: Эмулятор ROM для приставки SEGA Mega Drive / Genesis

Сообщение Eugene.Negrobov »

uk8amk писал(а):Да. Вопрос во времени и средствах.
Сделать то можно, но вот под временем и средствах подразумевались 4 года изучения микроконтроллеров и ПЛИС, а под средствами тонна программаторов и тестовых тушек.
Так вот просто собрать не получиться, за один вечер...
I'm on a huge rock, flying through space!
Реклама
MCF
Открыл глаза
Сообщения: 48
Зарегистрирован: Ср янв 29, 2014 23:58:59

Re: Эмулятор ROM для приставки SEGA Mega Drive / Genesis

Сообщение MCF »

Да, знаю, что с 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 писал(а):Боюсь, не по вашим возможностям :cry:

---
А вообще, не в обиду здешним форумчанам, но такие вопросы лучше (и с бОльшей вероятностью на успех) надо задавать в других местах, напр. тут или тут
Буду учиться и расти ! :)
Спасибо за ссылки!
Реклама
Аватара пользователя
Evtomax
Это не хвост, это антенна
Сообщения: 1393
Зарегистрирован: Вт авг 24, 2010 01:18:21
Откуда: Брянск
Контактная информация:

Re: Эмулятор ROM для приставки SEGA Mega Drive / Genesis

Сообщение Evtomax »

На сеговских картриджах есть не только данные. Очень часто там есть всякие вспомогательные чипы. Самый крутой такой чип вот у этой игры: http://emu-russia.net/ru/roms/gen/0-Z/f ... ua-Racing/
Видео с игрой: http://youtu.be/lFY_hkt6H34
Вот так выглядит сам картридж:
СпойлерИзображение
Поэтому всё намного сложнее, чем кажется на первый взгляд.
MCF
Открыл глаза
Сообщения: 48
Зарегистрирован: Ср янв 29, 2014 23:58:59

Re: Эмулятор ROM для приставки SEGA Mega Drive / Genesis

Сообщение MCF »

Evtomax писал(а):На сеговских картриджах есть не только данные. Очень часто там есть всякие вспомогательные чипы. Самый крутой такой чип вот у этой игры: http://emu-russia.net/ru/roms/gen/0-Z/f ... ua-Racing/
Видео с игрой: http://youtu.be/lFY_hkt6H34
Вот так выглядит сам картридж:
СпойлерИзображение
Поэтому всё намного сложнее, чем кажется на первый взгляд.
Да, этот загадочный "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 мне не понравился своим синтаксисом аля-турбо-поласкаль-дельфи с ":=" вместо "=" и не Сишным стилем (мне ближе Си, старый добрый Си, даже без плюсиков :) )
Аватара пользователя
abc
Друг Кота
Сообщения: 3685
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Re: Эмулятор ROM для приставки SEGA Mega Drive / Genesis

Сообщение abc »

Поищите старые проекты mp3-проигрывателей на основе CD-ROMов
в начале 2000-х таких было с десяток, на разных микроконтроллерах, со схемами и исходниками.
Думаю, всяко проще будет разбираться :)
http://www.myplace.nu/mp3/
Внезапно
http://g-a-v.pisem.net/cdplr.htm
и
Октябрьский номер "Радиохобби" за 2000 год (№5/2000). Выложен целиком к Дню Радио в порядке исключения. В нем типично представлены все рубрики журнала - схемный Дайджест из 20 журналов дальнего зарубежья (один из хитов - автономный MP3-плеер на основе CD-ROM
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Wladimir_TS
Друг Кота
Сообщения: 5066
Зарегистрирован: Вс фев 15, 2009 01:04:58
Откуда: Kaluga

Re: Эмулятор ROM для приставки SEGA Mega Drive / Genesis

Сообщение Wladimir_TS »

По минимому там обычная ПЗУ с 16 разрядами данных и N разрядами адреса.
Ответить

Вернуться в «Умные мысли»