Приставки > Картриджи / диски
"Многоигровки" на Sega Mega Drive
mutabor:
А ссылку то можно? Сходу не нагуглилось.
Rumata:
Я их что, записываю?
Ищи krikzz flashkit
Добавлено позже:
Там же Мигера должен быть со своими вилками
Добавлено позже:
Правда не знаю, что даст схема. Ну Альтера, от которой куча проводов идёт на слот. /TIME там есть, и не только он. Там скорее надо в Верилог лезть.
Кстати, девайс производит впечатление заброшенного изначально. На оригинальной плате разводка под два слота, Сега и Денди. Но про денди нигде ни слова, видимо так и осталось в проекте
Talking_Sword:
--- Цитата: mutabor от 24 Сентябрь 2023, 23:51:49 ---В том числе. Не заметил каких-либо отличий от прочих подобных флешек.
--- Конец цитаты ---
Ну не знаю, может это от объема зависит. Я покупал одноигровку для Sega Mega Drive с Aliexpress - там питание было через один диод, а микросхема была S29GL032N. Раз так сделали, то это должно было как-то работать, может, более мелкие микросхемы не так к этому чувствительны. Но я не проверял, как этот картридж с одним диодом работает, а сразу перепаял по нормальному, с резистором и стабилитроном.
--- Цитата: mutabor от 24 Сентябрь 2023, 23:51:49 ---Я подозреваю, что прогу, доступную в исходниках на шарпах, гораздо проще допилить под нужные требования, чем неведомую прошивку для Nintendo DS.
--- Конец цитаты ---
Кто будет допиливать? Я? Нет, это слишком сложно. Программу для Nintendo DS использовал "как есть". Так как она не умеет работать с переключением банков, ибо не для этого создавалось, а для прошивки картриджей GBA, то для прошивки нужно отпаивать схему переключения, чтобы к старшим адресам был "прямой доступ". На "самые старшие" адреса, которые не вошли в адресное пространство картриджа GBA, ставятся переключатели, ROM прошивается кусками. Вообще, GBA поддерживает 32 МБ, но реально подпаяться только к SO44, а там только 8, но оказалось, что прошить 16 кусков вполне терпимо. Кстати, GBABF все-таки поддерживает переключение банков, но только для GBA, так как для этого и создавалась.
Вообще, просто вариант с Nintendo DS для меня оказался почти халявным, чего не скажешь о FlashKit MD, где наверно в уже имеющемся ПО не прошешь больше 4 МБ, то есть, надо платить много денег, ломать голову над переписыванием ПО, зачем мне это?
Но в любом случае, этот спор бесполезен. Я уже склоняюсь к тому, что родная микросхема "прохудилась", куплю JS28F00A, как у pipiman-а. Если замена даст результат, то значит точно родное ПЗУ как-то подиздохло. Правда, JS28F00A от другого производителя и может вести себя как-то по другому.
pipiman:
Прошил таки картридж :) Сделал одноигровку Toy Story для теста. Работает, но не обошлось без проблем:
Сама флешка нормально впаялась, думал будет уродливей, а так всего по две ноги с каждого из углов висят, совсем не страшно, и припаять нужно только пять из них. Да и новодельная платка оказалась прочной, всё цело, ничего не отваливается. Из интересного: /WE флешки через соплю выведен в разъем на пин B13 или /VSYNC - видимо у пиратов свой какой-то прошивальшик картриджей был. Дампер из карика GBA я еще заранее спаял, пока флешка шла с Али. Дампер флешку увидел, прошил без проблем, верификацию прошёл :D Если что, джампер там стоит для питания 3.3В от слота Nintendo DS в обход диодов)
Но вот в самой приставке игра страшно глючила, сначала графика начинала крошиться, потом всё зависало. Пропаял флешку с флюсом, стало хуже... Потом наоборот - очень хорошо промыл от флюса плату спиртом, жёсткой кисточкой с бензином прошёлся 3-4 раза по всем ножкам флешки. Стало намного лучше, графика не плыла, но через 1-2 минуты таки зависало >:(
Долго думал в чём дело, менял схему питания: 1 диод, 2 диода, 3 доида, стабилитрон, стабилизатор. Бесполезно, все то же самое. А в итоге додумался воткнуть резистор 10кОм в линию /CE, рядом с пином B17 на картридже. И заработало нормально! :wow: Думал, что нужно будет и на пин B16 повесить резюк, но пока работает без него. Видимо линия /CE как раз таки повышала через защитный диод питание флешки, как писал mutabor, а флешки на 1Гиг может и правда более чувствительны к питанию, чем флешки меньшего объема, как заметил Talking_Sword
Дальше буду делать маппер :)
mutabor:
Проверил - ардуино дампер поднимает питание флешки до 4.3 В, а если подавать только питание на картридж - держится нормальные 3.3В. Флешка при этом читается и пишется без проблем.
Флешка S29GL256, собственно отсюда: https://www.emu-land.net/forum/index.php/topic,88077.msg1562398.html#msg1562398
Я вот подумал - может эти глючные флешки, если глюки от питания действительно существуют - не SLC (1 бит на ячейку), а с более плотным хранением данных - 2 бита или даже больше на ячейку? Там уже важно точно определить уровень заряда ячейки и нестабильное питание может повлиять.
Talking_Sword:
--- Цитата: pipiman от 26 Сентябрь 2023, 23:43:58 ---Из интересного: /WE флешки через соплю выведен в разъем на пин B13 или /VSYNC
...
Но вот в самой приставке игра страшно глючила, сначала графика начинала крошиться, потом всё зависало. Пропаял флешку с флюсом, стало хуже... Потом наоборот - очень хорошо промыл от флюса плату спиртом, жёсткой кисточкой с бензином прошёлся 3-4 раза по всем ножкам флешки. Стало намного лучше, графика не плыла, но через 1-2 минуты таки зависало >:(
Долго думал в чём дело, менял схему питания: 1 диод, 2 диода, 3 доида, стабилитрон, стабилизатор. Бесполезно, все то же самое. А в итоге додумался воткнуть резистор 10кОм в линию /CE, рядом с пином B17 на картридже. И заработало нормально! :wow: Думал, что нужно будет и на пин B16 повесить резюк, но пока работает без него. Видимо линия /CE как раз таки повышала через защитный диод питание флешки, как писал mutabor, а флешки на 1Гиг может и правда более чувствительны к питанию, чем флешки меньшего объема, как заметил Talking_Sword
--- Конец цитаты ---
Я бы на вашем месте попробовал все-таки еще "жестко" подтянуть /WE к лог. "1". /VSYNC - это по идее кадровые синхроимпульсы, и там не постоянно держится единица. Возможно, стоит попробовать отрезать /WE от B13, и подтянуть его к лог. "1", а /CE, в свою очередь, пустить напрямую. Из-за /WE тоже могут быть глюки.
Насчет впайки резисторов в линии /CE и\или /OE, от я уже сам до этого додумался, когда эксперементировал с заклейкой контактов скотчем, но на практике проверять не стал, так как подумал, что уже с самой микросхемой что-то неладно, а лишние разрезы на плате делать не хотел. А сейчас захотелось попробовать, вдруг на самом деле поможет.
--- Цитата: pipiman от 26 Сентябрь 2023, 23:43:58 ---Дампер флешку увидел, прошил без проблем, верификацию прошёл :D
--- Конец цитаты ---
Кстати, какую программу использовали? Burn2Slot или GBABF? Если GBABF, то какую версию и откуда вы скачивали? А то у GBABF разные версии есть. Я просто сам такую микросхему использовать хочу.
--- Цитата: pipiman от 26 Сентябрь 2023, 23:43:58 ---Дальше буду делать маппер :)
--- Конец цитаты ---
Кстати, надо рисунок готовой платы? Могу скинуть.
--- Цитата: mutabor от 27 Сентябрь 2023, 18:25:51 ---Я вот подумал - может эти глючные флешки, если глюки от питания действительно существуют - не SLC (1 бит на ячейку), а с более плотным хранением данных - 2 бита или даже больше на ячейку?
--- Конец цитаты ---
Я как-то думал, что всякие MLC - это чисто "тема" со всякими NAND Flash. Тут NOR Flash. Разве NOR Flash бывают MLC?
pipiman:
Насчёт /WE знаю, пока просто при прошивке припаиваю /WE к B13 , потом отпаиваю и подтягиваю к питанию. Разок забыл перепаять, висло каждые 5 минут)
Использовал и Burn2Slot, и GBABF-SHN, обе работают, хотя время прошивки в обоих довольно долгое - 4Мбайта за 5 мин., может это особенность JS28F00A. Но в целом эта флешка, как мне кажется, полный аналог Sapnsion на 1Гбит, как у вас на карике NewGame.
От рисунка платы не откажусь :)
Talking_Sword:
pipiman, вот плата:
Нажмите на картинку и сохраните по кнопке "Save". Распечатайте в 600 dpi.
После травления нужно просверлить "пятачки" и соеденить с обратной стороны платы проволокой, как показано ниже (красным цветом):
Схема подключения:
"VA", "VD" здесь означает контакты картриджа, просто "A" - соответствующие ножки ПЗУ. Паять проводки придется возле ножек микросхем. Я сделал так для упрощения разводки. Если нужно чтобы площадки для пайки были по краям, как на модчипах, то вам придется сделать свой вариант платы.
Сама схема платы здесь.
P.S.: вы уже подумали, как вы будете собирать ROM? Готовых решений для этого нет. Я пользовался для этого своим набором костылей.
mutabor:
--- Цитата: Talking_Sword от 28 Сентябрь 2023, 11:20:40 ---Разве NOR Flash бывают MLC?
--- Конец цитаты ---
Википедия говорит что бывает, да собственно почему бы и нет?
--- Цитата ---Intel later demonstrated 2-bit multi-level cell (MLC) NOR flash in 1997.[13] NEC demonstrated quad-level cells in 1996, with a 64 Mbit flash memory chip storing 2 bits per cell. STMicroelectronics also demonstrated quad-level cells in 2000, with a 64 Mbit NOR flash memory chip.
--- Конец цитаты ---
Объем что характерно как раз "картриджный".
pipiman:
Talking_Sword, спасибо за рисунок платы и схему!
Ну я правда ещё не решил, буду ли делать маппер с минимальным размером банка 128Кб, как у вас, или мне может 512Кб будет достаточно, как в карике от NewGame ... Или может какую-то ещё схему придумаю)
Насчёт сборки конечного РОМ-а, то главное вы уже разобрали принцип размещения игр в РОМ-е) Для себя так его описал: остаток от деления адреса игры в РОМ-е на размер игры должен быть равен 0. Перед этим размер игры мысленно нужно округлить до 128Кб (или 512Кб), умноженных на степень двойки. Игры с размером 640Кб или 768Кб "округляются" до 1Мб, 1.5Мб до 2Мб, и т.д. Очень условно так:
округ.размер = размер_игры round 128Кб * 2x
адрес_в_роме mod округ.размер = 0
Зная это можно сделать программку для сборки конечного РОМ-а из папки с играми, и автоматического заполнения меню названиями и адресами. Если будет не лень займусь этим :)
as32888:
А у меня такая "многоигровка". Перемычки разрывают цепь адреса, со стороны флешки подтяжка к +питания. То есть это принудительно лог.1 или прохождение сигнала адреса без изменения.
Тсоп48 кроватка, флешки m29w640ft, шью через программатор t48 с адаптером под nor flash
теперь интересно с менюшкой что-то сделать, схемы мапперов видел в этой теме, надо с программой меню расковыряться...
JRBVZ:
В дополнение к фотографиям в посте https://www.emu-land.net/forum/index.php/topic,83028.msg1568893.html#msg1568893
На этой платке микросхемы находятся на задней стороне.
Talking_Sword:
Недавно попробовал впаять резисторы в линии /CE и /OE - напряжение стало подниматься только до 3.6 В, но виснуть не перестало. Более того, заметил, что напряжение поднимается уже после зависания. Возможно, это не причина, а следствие. Подозреваю, что все-таки микросхема неисправна. Теперь точно куплю пару штук JS28F00A, как у pipiman-а.
--- Цитата: mutabor от 30 Сентябрь 2023, 19:21:12 ---Википедия говорит что бывает, да собственно почему бы и нет?
--- Конец цитаты ---
Надо же! Как говорится, век живи, век учись. Думал, что эта тема с MLC относительно новая, где-то из 10-х годов, а оказывается, это уже в 90-е изобрели.
--- Цитата: pipiman от 02 Октябрь 2023, 03:44:02 ---Насчёт сборки конечного РОМ-а, то главное вы уже разобрали принцип размещения игр в РОМ-е) Для себя так его описал: остаток от деления адреса игры в РОМ-е на размер игры должен быть равен 0. Перед этим размер игры мысленно нужно округлить до 128Кб (или 512Кб), умноженных на степень двойки. Игры с размером 640Кб или 768Кб "округляются" до 1Мб, 1.5Мб до 2Мб, и т.д. Очень условно так:
округ.размер = размер_игры round 128Кб * 2x
адрес_в_роме mod округ.размер = 0
Зная это можно сделать программку для сборки конечного РОМ-а из папки с играми, и автоматического заполнения меню названиями и адресами. Если будет не лень займусь этим :)
--- Конец цитаты ---
Честно говоря, вообще почти ничего не понял. Не из-за того, что выплохо объясняете, а из-за того плоховато в этой области соображаю.
--- Цитата: as32888 от 08 Октябрь 2023, 23:06:28 ---теперь интересно с менюшкой что-то сделать, схемы мапперов видел в этой теме, надо с программой меню расковыряться...
--- Конец цитаты ---
А меню уже готовое есть здесь. Как рассчитывать для него значения тоже разобрался. Так что можно пользоваться готовым меню и расчитывать для него значения по готовой "формуле", которая приведена в посте по ссылке. Значения там лежат сразу после списка игр, список игр можно найти в HEX-редакторе, там названия игр в "голом" ASCII.
as32888:
За ссылку на менюшку спасибо. Буду посмотреть.
--- Цитата: Talking_Sword от 10 Октябрь 2023, 22:54:11 ---Честно говоря, вообще почти ничего не понял. Не из-за того, что выплохо объясняете, а из-за того плоховато в этой области соображаю.
--- Конец цитаты ---
Здесь очень просто - маппер с 2ИЛИ устанавливает адресные линии принудительно в 1 на входе в ROM. Значение адреса, приходящее со слота, теряет смысл, не проходит дальше. Целостной шины адреса к ROM нету.
К примеру, вот у нас А1 - А21 адреса на слоте, маппер поставил А17 в "1", теперь сега может адресовать по А1 - А16. 2^16 = 65536 16-битных слов, байтов в 2 раза больше, 131072, то есть 128 КиБ. Есть адреса А18-А21, но мы их не можем использовать, потому что нам не хватает А17 для целостной шины адреса.
Поэтому чем мельче кратность сдвига, тем мельче ром. 4МиБ ромы сдвигаем на кратное 4 МиБ значение, 1 на кратное 1... и так далее
Если делать полноценное сложение двоичных чисел, а-ля 1+1=10, только на большее число разрядов, можно будет 4 МиБ игру записывать хоть со сдвигом 32 КиБ.
Rumata:
Основной недостаток этой схемы в том, что адрес может быть или адрес или "1". "0" выставить нельзя. Соответственно это накладывает ограничение на разбивку адресного пространства. Но схема стала канонической и даже вошла в состав некоторых чипов. Многоигровки для МДП, к примеру, в картридже логики не содержат
Rumata:
Кстати, китайцы не обманули. В серии гигбитных многоигровок таки сделали вариант с сохранениями. Правда на совершенно другой плате.
as32888:
Интересно, если SRAM большая, а есть ли еще маппер для SRAM, чтобы разным играм с сохранениями были присвоены разные адреса. Ну, и само расположение SRAM в адресном пространстве сеги.
А как это искать вообще на том же али, прям со словом гигабит, или ...
Talking_Sword:
--- Цитата: as32888 от 11 Октябрь 2023, 00:02:20 ---За ссылку на менюшку спасибо. Буду посмотреть.
--- Конец цитаты ---
Кстати, многоигровку собираетесь делать на M29W640FT? Если да, то наверно стоит использовать другое меню, которое можно "вшить" в игру, так как 8 мегабайт - это довольно мало и стоит "вшить" меню в игру для экономии места. то на которое я дал ссылку идет отдельным банком. У меня есть меню, которое можно вшить, но с ним нужно еще разобраться. Возможно потом залью сюда.
--- Цитата: as32888 от 11 Октябрь 2023, 00:02:20 ---Здесь очень просто - маппер с 2ИЛИ устанавливает адресные линии принудительно в 1 на входе в ROM. Значение адреса, приходящее со слота, теряет смысл, не проходит дальше. Целостной шины адреса к ROM нету.
К примеру, вот у нас А1 - А21 адреса на слоте, маппер поставил А17 в "1", теперь сега может адресовать по А1 - А16. 2^16 = 65536 16-битных слов, байтов в 2 раза больше, 131072, то есть 128 КиБ. Есть адреса А18-А21, но мы их не можем использовать, потому что нам не хватает А17 для целостной шины адреса.
Поэтому чем мельче кратность сдвига, тем мельче ром. 4МиБ ромы сдвигаем на кратное 4 МиБ значение, 1 на кратное 1... и так далее
Если делать полноценное сложение двоичных чисел, а-ля 1+1=10, только на большее число разрядов, можно будет 4 МиБ игру записывать хоть со сдвигом 32 КиБ.
--- Конец цитаты ---
Что-то все равно слабо понял. Нужно разделить адрес игры на ее объем, если разделится без остатка, значит работать будет?
--- Цитата: Rumata от 11 Октябрь 2023, 01:05:28 ---Кстати, китайцы не обманули. В серии гигбитных многоигровок таки сделали вариант с сохранениями. Правда на совершенно другой плате.
(Ссылка на вложение)
(Ссылка на вложение)
--- Конец цитаты ---
Я на такую плату натыкался на Aliexpress, причем еще до того, как "открыл" для себя многоигровки от New Game. Посмотрите фотографию сзади - увидете знакомую плату.
--- Цитата: as32888 от 11 Октябрь 2023, 18:24:59 ---Интересно, если SRAM большая, а есть ли еще маппер для SRAM, чтобы разным играм с сохранениями были присвоены разные адреса. Ну, и само расположение SRAM в адресном пространстве сеги.
--- Конец цитаты ---
По идее, да. Вот обзор на YouTube, автор утверждает, что одна игра не затирает сохранения другой:
Rumata:
А китайцы молодцы, ценник заряжают нипадецки :D
ОЗУ там 256 кбайт, игр с сохранениями 27. Кстати, это хрень ещё помнит последнюю запущенную игру, то есть открывает меню при включении именно на ней :)
--- Цитата: as32888 от 11 Октябрь 2023, 18:24:59 ---Ну, и само расположение SRAM в адресном пространстве сеги.
--- Конец цитаты ---
В смысле? Стандартно.
PS
Игр с сохранениями там треть от общего числа. Причём игры самые разные. Так что "Сбороник JRPG" - это несколько громко сказано
Rumata:
Такая платка:
Флешка M59PW1282. 16 Мбайт. С передний стороны разводка под другую распиновку, как я понял.
Менюшечка вот такая:
Большая часть занята графикой.
Ну и само меню. Оно перемещаемое, можно запихнуть в любое место нулевой страницы. Собственно код начинается с $200. Заголовок приделан так, для запускаемости.
Навигация
Перейти к полной версии