Автор Тема: "Многоигровки" на Sega Mega Drive  (Прочитано 14118 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн raHg)l(y6aC

  • Пользователь
  • Сообщений: 10
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #60 : 08 Апрель 2022, 18:20:54 »
Покупаешь флеш-картридж и все дела.
Он стоит как три новые Сеги, поэтому такие идеи)
А вдруг можно сделать флеш картридж без программаторов😜

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24647
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #61 : 08 Апрель 2022, 18:25:14 »
Можно. И без сеги. :lol:

Оффлайн Ivan_Ages

  • Пользователь
  • Сообщений: 751
  • Пол: Мужской
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #62 : 08 Апрель 2022, 19:48:48 »
Приветствую форумчане. Подскажите, реально ли реализовать такую тему на практике?: в теории можно было бы "правильным" образом припаяться к картриджу и подключить таким обрать карту памяти, например micro sd. Таким образом чтобы загружать игры прямо с нее через контакты ненужного картриджа) Поидее контакты должны быть идентичны (земля, питание +5В, запись/чтение и т.д.) Или этого недостаточно и нужно еще программную часть ковырять?
https://www.dns-shop.ru/product/c1065e68724d1b80/igrovaa-konsol-sega-retro-genesis-mix-sd--350/
https://bit.ly/3DTqxHI

Оффлайн Gameszzz

  • Пользователь
  • Сообщений: 2868
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #63 : 08 Апрель 2022, 20:27:07 »
Он стоит как три новые Сеги, поэтому такие идеи)
А вдруг можно сделать флеш картридж без программаторов😜

При сегодняшнем курсе на Али 90 рублей за доллар (в среднем. Зависит от групп товаров) флэшкарик,даже V3 не стоит даже как одна новая сега. А если не по курсу конвертации самого Али,то и ещё дешевле

Оффлайн SAMael

  • Пользователь
  • Сообщений: 6191
  • Пол: Мужской
  • SAMuel Alpian Warrior Glegleddore Gleglezavr
    • Facebook
    • Twitter
    • ВКонтакте
    • Steam
    • Youtube
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #64 : 08 Апрель 2022, 22:10:15 »
А вдруг можно сделать флеш картридж без программаторов😜
Конечно можно, берешь плеер и игры с кассет грузишь, так было на спектрумах  ;) профит, программатор не нужен.

Оффлайн godun

  • Пользователь
  • Сообщений: 3924
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #65 : 08 Апрель 2022, 22:18:29 »
берешь плеер и игры с кассет грузишь, так было на спектрумах  ;)
гы, там наверно только заставку "сега" будет минут 5 прогружать , а если  от комикс зон, то вся сторона  кассеты уйдет  :lol:

Оффлайн raHg)l(y6aC

  • Пользователь
  • Сообщений: 10
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #66 : 08 Апрель 2022, 23:12:22 »
При сегодняшнем курсе на Али 90 рублей за доллар (в среднем. Зависит от групп товаров) флэшкарик,даже V3 не стоит даже как одна новая сега. А если не по курсу конвертации самого Али,то и ещё дешевле
На торговых площадках новые или почти новые клоны сеги стоят примерно 20$ я ж проверял) так что покупка такого картриджа не приветствуется

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24647
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #67 : 08 Апрель 2022, 23:34:23 »
покупка такого картриджа не приветствуется
Так и не покупай :lol: Про $20 посмешил, конечно. Это по курсу 150 руб/$?

А вообще тут тема немного не об этом :cop:

Оффлайн Talking_Sword

  • Пользователь
  • Сообщений: 899
  • Happy Games Only!
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #68 : 09 Апрель 2022, 06:46:39 »
Приветствую форумчане. Подскажите, реально ли реализовать такую тему на практике?: в теории можно было бы "правильным" образом припаяться к картриджу и подключить таким обрать карту памяти, например micro sd. Таким образом чтобы загружать игры прямо с нее через контакты ненужного картриджа) Поидее контакты должны быть идентичны (земля, питание +5В, запись/чтение и т.д.) Или этого недостаточно и нужно еще программную часть ковырять?
Не совсем понял вашу теорию, но как я понял, вы хотите просто подпаять разъем SD к плате ненужного\нерабочего картриджа? Просто сделать пассивный (то есть без всякой дополнительной логики) переходник? Не выйдет. У SD совсем другой интерфейс памяти. NAND flash тоже не подойдет. Будет работать только NOR flash. По сути, в современных картриджах-многоигровках именно такие и стоят. По сути, их можно перепрошить, нужно только сделать свой программатор и\или программу-прошивальщик. Здесь есть код для прошивки MSP55LV100S (которое используется в некоторых картриджах-многоигровках), но он для картриджа Nintendo 64. По идее, можно адаптировать этот код для прошивки ПЗУ отдельно или даже в картридже Mega Drive. И будет перепрошиваемый картридж для Mega Drive. Только вот должных навыков программирования у меня нет для этого.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24647
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #69 : 09 Апрель 2022, 13:18:01 »
Не совсем понял вашу теорию
Да нет никакой теории. Очередные ненаучные фантазии на тему правильно подпаянных проводочков. Уже лет 20 как не смешно.

Оффлайн Talking_Sword

  • Пользователь
  • Сообщений: 899
  • Happy Games Only!
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #70 : 07 Июнь 2023, 16:11:06 »
Придумал для себя, как сделать "программатор", поэтому появилась возможность сделать дамп своей многоигровки. Пока выкладываю только меню.

Уже покопался в данном меню и понял, как его редактировать. Не смотря на то, что по умолчанию в этой многоигровке 55 игр, меню поддерживает до 121 игр.

По адресу 10A23 расположено значение, отвечающее за количество игр. Максимум можно вписать 121 (0x79), можно вписать и больше, но начинаются повторы начиная с первого пункта меню. Возможно, можно сделать и больше, но у меня недостаточно знаний для такого хакинга.

Начиная с адреса 11D03 идут значения, записываемые в микросхемы 74HC174 для всех 121 игр. Первый байт всегда равен 0xA1, честно говоря, не знаю, для чего но нужен, далее идут два байта, отвечающие за вторую и первую микросхему соответственно.

Выше в файле расположены названия игр. Что интересно, после 55-ого пункта есть еще названия игр, причем это все названия реально выходивших игр для Sega Mega Drive. Возможно в ПЗУ есть еще игры, так как оно на 128 мегабайт, но 55 игр занимают только 64 мегабайта, так что в нем еще есть много свободного места.


Интересно, что после последнего пункта (DJ BOY) еще несколько раз повторяется FLAPPY и RAMBO 3. Если с RAMBO 3 все понятно, то вот FLAPPY на Mega Drive никогда не выходил. Но как я уже говорил, пункты дальше 121-ого (DJ BOY) не отображаются, похоже, что эти названия использовали просто для "забивки" места. Но то, что там числится FLAPPY все равно странно.

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2349
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #71 : 07 Июнь 2023, 17:31:40 »
Может, это:

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24647
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #72 : 07 Июнь 2023, 17:34:14 »
честно говоря, не знаю, для чего но нужен
Дык матчасть учи.
При обращении к диапазону адресов $A130xx формируется сигнал /TIME, который служит стробом записи в регистр. Первые два байта фиксированы, для выбора страницы используется только последний байт.

Оффлайн godun

  • Пользователь
  • Сообщений: 3924
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #73 : 07 Июнь 2023, 18:18:48 »
я не знаю, какой программатор для этого подходит
Придумал для себя, как сделать "программатор",
может это поможет и будет так проще? https://team-europe.blogspot.com/2020/10/tl866iiplus-adapter-2-msp55lv100s.html

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24647
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #74 : 07 Июнь 2023, 20:13:51 »
Не пойму, что там с картинками. Ничего не отображается :neznayu:

Оффлайн godun

  • Пользователь
  • Сообщений: 3924
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #75 : 07 Июнь 2023, 20:33:22 »
Не пойму, что там с картинками. Ничего не отображается
у меня только через впн  отобразились картинки. но суть проста-  обычная плтака  , напаиваем микру и шьем кусками

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24647
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #76 : 07 Июнь 2023, 20:39:27 »
Суть-то и так понятна, но хотелось бы посмотреть подробности.
Ну и там вообще много любопытного. С главной страницы некоторые картинки таки открылись, а тут ничего :(

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24647
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #77 : 07 Июнь 2023, 20:47:29 »
Ага, спасибо. Я так понимаю, это на 16-битный адаптер (у меня самого этого программатора нет)

Оффлайн godun

  • Пользователь
  • Сообщений: 3924
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #78 : 07 Июнь 2023, 20:50:18 »
Я так понимаю, это на 16-битный адаптер
да, активная  часть

Оффлайн mutabor

  • Пользователь
  • Сообщений: 298
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #79 : 07 Июнь 2023, 20:50:46 »
А дампером, как дендивские, эти карики не шьются?

Оффлайн Talking_Sword

  • Пользователь
  • Сообщений: 899
  • Happy Games Only!
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #80 : 07 Июнь 2023, 20:53:29 »
Может, это:
Я почему-то подумал про это, но как я уже говорил, строки после 121-ой не отображаются, так что эта надпись все равно не будет выводится, так что неизвестно, что они там имели в виду под этим "Flappy". Но это не важно, просто странная находка в ROM-е.
Дык матчасть учи.
При обращении к диапазону адресов $A130xx формируется сигнал /TIME, который служит стробом записи в регистр. Первые два байта фиксированы, для выбора страницы используется только последний байт.
Про данный диапазон адресов знаю, но не подумал, что данный байт нужно каждый раз повторять для каждой игры. Неужели нельзя было нигде захардкодить? А в "таблице" перечислять лишь те байты, которые действительно будут записываться в 74HC174. Сразу говорю, не спорю с вами, просто не сразу дошло. Вообще, не силен в программировании, может так просто легче программу писать. Мне в принципе без разницы, нужен байт 0xA1, просто не буду его менять.
может это поможет и будет так проще? https://team-europe.blogspot.com/2020/10/tl866iiplus-adapter-2-msp55lv100s.html

Видел это еще в 2021 году. Он не умеет записывать. Только дампить. К тому же, TL866IIPlus не поддерживает MSP55LV100S. К тому же, у меня нет этого TL866IIPlus, покупать жаба душит.

Оффлайн godun

  • Пользователь
  • Сообщений: 3924
    • Просмотр профиля
\"Многоигровки\" на Sega Mega Drive
« Ответ #81 : 07 Июнь 2023, 20:54:10 »
А дампером, как дендивские, эти карики не шьются?
я уже выше думал про такой вариант. но наверно нужно обучить софт этому. он наврено не поймет  что он туда шьет? он же вроде как маппер определяет ?

Добавлено позже:
Он не умеет записывать.
хм, както это не учел
TL866IIPlus не поддерживает MSP55LV100S
и не нужно. ты  читаешь как другую микру
у меня нет этого TL866IIPlus, покупать жаба душит
ты щас серьезно? 1,5-2 тыс  жалко за такой прогер? а на что ты рассчитываешь? виллем и то дороже бывает :)

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24647
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #82 : 07 Июнь 2023, 21:08:41 »
Неужели нельзя было нигде захардкодить?
В смысле поставить на плату картриджа пяток дополнительных микросхем?
/TIME формируется железом приставки, что сильно упрощает жизнь.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4999
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #83 : 07 Июнь 2023, 21:35:21 »
Про данный диапазон адресов знаю, но не подумал, что данный байт нужно каждый раз повторять для каждой игры. Неужели нельзя было нигде захардкодить?
Можно, но так чуть проще программировать и в HEX ром удобно смотреть по 8 байт. UPD2: Забыл про выравнивание при чтении, придётся читать по 1 байту, поэтому это неудобно и проще расположить по 8 байт, которые всегда выровнены до чётных адресов. UPD3: Ещё можно читать не по 1 байту, но делать проверку :)
Интересно, что 4 нуля после каждого значения для маппера - это адрес начала кода игры, но, если нули, то обычный адрес указанный в роме игры. При этом значение для маппера составное, например для $A13130, делается маска #$A130FF (т. е. 0xA13130 & 0xA130FF == 0xA13030) и туда записывается "((значение&0xFFFF)>>1) & 0x3FF" (т. е. ((0xA13130&0xFFFF)>>1)&0x3FF == 0x98). UPD: Хотя вы знаете же.
UPD4: Указание адреса начала кода игры можно использовать так: сделать хак игры, например на выбор уровня, и в конце рома при переходе на нужный адрес будет активация, тогда будет как в многоигровках на NES с одной игрой и разными начальными параметрами.
« Последнее редактирование: 07 Июнь 2023, 21:51:20 от Sharpnull »

Оффлайн Talking_Sword

  • Пользователь
  • Сообщений: 899
  • Happy Games Only!
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #84 : 07 Июнь 2023, 22:06:50 »
и не нужно. ты  читаешь как другую микру
Ну так считать мало, нужно еще перезаписать. Смотрел код программы Burn2Slot - она вроде как может работать с MSP55LV100S, но до конца не уверен.
ты щас серьезно? 1,5-2 тыс  жалко за такой прогер? а на что ты рассчитываешь? виллем и то дороже бывает :)
Да жалко. Да и где его можно найти за 1.5-2 тыс. Вместо Willem можно собрать EzoFlash, правда, как уже говорил в другой теме, принтер у меня не очень печатает, так что придется все дорожки вручную обводить. Но этот EzoFlash для моих целей бесполезен.
В смысле поставить на плату картриджа пяток дополнительных микросхем?
/TIME формируется железом приставки, что сильно упрощает жизнь.
В смысле сделать так, чтобы это значение 0xA1 было прописано в коде только один раз, а не бралось каждый раз из "таблицы". В принципе, Sharpnull уже многое объяснил.

Sharpnull, если что, вы сможете разъяснить, как работают эти значения? А то я просто уже настроен серьезно и хочу изменить эти значения, чтобы записать свой набор игр со своими размерами. Изначально просто хотел заменить игры на аналогичные по размеру.
« Последнее редактирование: 07 Июнь 2023, 22:16:24 от Talking_Sword »

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24647
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #85 : 07 Июнь 2023, 22:50:54 »
чтобы это значение 0xA1
Там нет никакого "значения". Это адрес, длинное слово, 4 байта. $00A130xx. Младший байт адреса используется в качестве данных для регистра. И в любом случае в команде записи это адрес должен быть указан.
Посмотри на схему картриджа и там совершенно очевидно как это работает

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4999
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #86 : 07 Июнь 2023, 23:23:55 »
если что, вы сможете разъяснить, как работают эти значения?
Похоже там банки по 64КиБ или 128КиБ и наверно не стоит смотреть как идёт запись в коде, а просто берёте позицию начала игры в роме многоигровки, делите на 65536 байт и к этому добавляете 0xA13000, например как сейчас указано: предполагаю меню с начала рома - у него 0xA13000 и размер 512КиБ, "007 JAME BOND THE DUEL" - следующий и у него 0xA13008 (8 * 64КиБ = 512КиБ от меню), дальше "INSECTOR X" - у него 0xA13010 (8 * 64 = 512 от 007 или по позиции 0x100000/65536=0x10). Что странно, 56-я игра, которая не видна без вашего хака, имеет значение 0xA13870, но, судя по коду, бит в этом полубайте "0xXXX8XX" не используется, т. е. для текущего кода как будто записано 0xA13070.
Хорошо бы точно узнать физический порядок игр чтобы узнать правильно ли я предположил.
UPD: Скорее всего так и есть, последний ром "MORTAL KOMBAT 3 ULTIMATE" - 4МиБ и указан в конце - 0xA133C0 и кол-во банков 0x400 * 64КиБ = 64МиБ многоигровки для 55 игр. По коду может быть ещё 1 бит, тогда 128МиБ.
« Последнее редактирование: 07 Июнь 2023, 23:42:03 от Sharpnull »

Оффлайн mutabor

  • Пользователь
  • Сообщений: 298
    • Просмотр профиля
\"Многоигровки\" на Sega Mega Drive
« Ответ #87 : 07 Июнь 2023, 23:46:02 »
я уже выше думал про такой вариант. но наверно нужно обучить софт этому. он наврено не поймет  что он туда шьет? он же вроде как маппер определяет ?
Софт очевидно надо написать, сам себя он не напишет. Но софт то по идее гораздо проще чем для денди - у сеги вроде как почти все игры безмапперные, мапперы только в многоигровках для выбора игр, либо вообще счетчик на ресете - т.е. можно просто последовательно шить регионы и дергать ресет для переключения на следующий.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24647
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #88 : 07 Июнь 2023, 23:50:15 »
Для начала хотелось бы понять, какую именно плату мы обсуждаем и увидеть её схему.

В классическом варианте банки в пределах 4 Мб имеют разный размер, с делением размера на 2. Например:
4М = 2 + 2
4М = 2 + 1 +1
4М = 2 + 1 + 0,5 + 0,5
и так далее
Для переключения выше 4 Мб дополнительно могут быть использованы линии данных

Расположение игры в файле вообще никакого значения не имеет, она однозначно выбирается данными, записанными в регистр.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4999
    • Просмотр профиля
"Многоигровки" на Sega Mega Drive
« Ответ #89 : 08 Июнь 2023, 00:12:24 »
В классическом варианте банки в пределах 4 Мб имеют разный размер, с делением размера на 2.
Действительно, заметно, что значения в этой многоигровки не пересекают куски по 4МиБ, значит располагать по этим правилам. Там есть ещё варианты: 4МиБ = 3+1, 0.5+0.5+0.5+0.5+1+1.