Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Поддержка MSP55LV650 #1

Open
murgatroid79 opened this issue Aug 25, 2022 · 11 comments
Open

Поддержка MSP55LV650 #1

murgatroid79 opened this issue Aug 25, 2022 · 11 comments

Comments

@murgatroid79
Copy link

Привет.
Прежде всего хочу сказать спасибо. Благодаря твоим трудам,я сегодня прошил картридж с микросхемой MX29L3211 !!!
3211
Так получилось,что в процессе поиска обучающих приставок на базе SEGA я за копейки купил около сотни таких картриджей от клавиатурного клона Киборд005 ( CyberShell ).
Я распаял на таких платах MX29LV160...,но это только 2Мб,а при заказе этих микросхем на глаза попалась 3211 ну и заказал пару штук. Но мой программатор (TL866) не смог её прошить...Потом я поглядывал на проект " MegaBurner",даже шилд со слотом под картридж на ардуину спаял...но что-то не заработало у меня....Ущё из платы DVD сделал программатор,но он тоже не осилил эту микрушку. Но вот,наконец-то!!!!
Спасибо тебе огромное!!!

А теперь ,собственно,вопрос. Обнаружились ещё микросхемы в корпусе SOP44:
MSP55LV128 на 16Мб (я считывал такую в четыре захода https://www.emu-land.net/forum/index.php/topic,86079.msg1508490.html#msg1508490 )
Ну их в продаже уже нету,зато есть MSP55LV650 на 8Мб
https://aliexpress.ru/item/1005002377323208.html?_ga=2.45078306.725654718.1661453179-833532989.1580224318&mp=1&sku_id=12000020415904109&spm=a2g2w.cart.0.0.7b354aa6eTsZfe

Реально ли доработать FlashKit-MD-Plus так,чтобы прошивать эту микросхему?

@MiGeRA
Copy link
Owner

MiGeRA commented Sep 27, 2022

Приветствую! Сорри за задержку с ответом … Не поверишь, только сегодня и то случайно обнаружил что тут на гитхабе есть закладка где могут писать мне отзывы и более того: мне пишут! Приятно, что не только я пользуюсь результатами своего творчества. Думал что только боты копируют репозитории автоматом сразу после их публикации, а так посещаемость тут меньше даже чем у меня на сайте.

По теме MSP55LV128:

Доработать – не вопрос! Нужен даташит на микросхему с описанием команд и алгоритма ее программирования, но я его навскидку не нашел. Можно конечно попробовать «отбомбить» ее уже реализованными алгоритмами для других микросхем (отключив проверки) … Вцелом FlashKit удобный инструмент и с той или иной степенью оптимальности его можно заставить «прошить» любую микросхему (с 16-битной шиной данных в рамках мегадрайв-картриджа). А если переписать (апгредить) конфигурацию в его FPGA, то и оптимальность повысить (пока этого прям-так-позарез не требовалось). Но это с точки зрения софта. А на какую плату картриджа ее распаивать будем? Или уже есть реализация? Т.е. чтоб подключение было корректное (и к программатору и к приставке). Так например порой даже одной серии но разного объема микросхемы по ногам не всегда вперед-назад совместимы даже по минимальному объему. В мой вариант платы флэш-картриджа «один-в-один» подходят далеко не все SOP-44 даже размером 4Мбайта (уж не говоря про другие размеры). Для отладки неплохо иметь железо (а не только по даташиту кодить): MSP55LV128 у меня нет (в первый раз про такую услышал если честно). Покупать? На алишнике продаются сейчас и 29L3211 и 29LV320 в SOP-44, причем дешевле чем 55LV128 – и под первые уже есть плата и код. В планах нарисовать плату картриджа под TSOP-48 (они еще дешевле) и сделать ее двухрежимной: чтоб и на 8Мбайт микросхемы могли работать в линейном режиме тоже – для мортал-комбатов там всяких, бэд-эплов и прочего самопала (то, что на эвердрайве в режиме M10 запускается).

PS. TL866 у меня тоже есть – он хорош для восьмибитных ПЗУ. И если Дендёй я занимался в прошлом (тогда этот программатор неплохо помогал), то другими приставками с восьмибитной шиной картриджа, как SNES (технологический урод – даже смотреть в её сторону противно, как технарю) или N64 (ошибка маркетологов в части отсутствия CD-ROM, но с потрясающим «вычислительным ядром») - не занимаюсь. Хотя N64 в планах для творчества стоИт, и в железе вместе с эвердрайвом есть ;-) Под TL866, кстати, есть опенсорсный софт под линукс, я его под винду собрал – см. на сайте у меня если интересно.

@murgatroid79
Copy link
Author

Привет. Рад что откликнулся.
Касаемо даташитов и распиновки микросхем серии MSP55LVxxx всё плохо...
MSP55LV128 у меня одна,снята с приставки CyberSmart и пересажена на платку:
MSP55LV128M
Большая часть сигналов определена методом прозвонки со слота самой приставки:
MSP55LV128M распиновка
а считывал такую микросхему на TL866 в четыре захода(16 Мегабайт всё-таки),меняя логические комбинации на А21 и А22 : 00 ;01 ;10 ;11.
MSP55LV650 у меня две штуки,одну запаял на картридж и поэксперементировал с помощью паяльника и твоей модификацией FlashKit-a. Поначалу отталкивался от полученной ранее распиновки 128-й и сигнал !WE кинул проводком на 44-ю ножку микросхемы,но софт ругался,по кнопке "Cart info" выдавались какие-то немыслимые объёмы,но с отрицательным знаком!!! После энного количества комбинаций со старшими адресами,сигналами !WE и !BYTE объём стал определяться в 2 Мегабайта и считалось что-то осмысленное.В конце дампа похоже дата и название игры : "20060421 (C) Newgin Nobunaga No Yabo ... Но ни стереть,ни записать на микросхему ничего не вышло.
Может тебе на опыты отправить одну?

@murgatroid79
Copy link
Author

А на какую плату картриджа ее распаивать будем? Или уже есть реализация? Т.е. чтоб подключение было корректное (и к программатору и к приставке).

Так на разработанный тобой картридж и распаивать,хотя-бы в качестве эксперимента.Чтобы разъём картриджа стандартом был. Как-раз для "Bad Apple" и "titan-overdrive2" хотел картридж сделать ...

P.S.:А как тут дамп приложить?

@MiGeRA
Copy link
Owner

MiGeRA commented Sep 28, 2022

«Cart Info» - это кнопка с куском кода унаследованного в части определения размера полезной информации на картридже из стокового исходника, в котором предполагалось (видимо) что картридж будет либо а-ля оригинальной одноигровкой классического размера до 4МБайт, либо одним из двух предлагаемых автором к данному программатору (с микросхемой на 4МБ без ОЗУ и батарейки или на 2МБ с ними – т.е. M29W320 или M29W160 соответственно, под них же и софтина стоковая). А алгоритм определения размера (при беглом его анализе) основан на детекте начала зеркалирования пространства памяти картриджа, если микросхема не максимального объема. Прогонять его по картриджам с мапперами бессмысленно (т.е. некорректно), как и по картриджам с подключением ПЗУ, отличным от классических сеговских (до 4Мбайт). Я добавил к этой кнопке также анализ размера информации в заголовке, чтоб не делать овердампов, когда микросхема памяти большая, но стерта не полностью (ведь стоковый вариант софта стирает только нужное пространство от начала и оставляет старую и де-факто мусорную инфу в конце). Как способ борьбы с овердампом сначала были сделаны кнопки запускающие алгоритм полной очистки чипа, потом также добавлен анализ заголовка. В любом случае эта кнопка (как и вся софтина) это экспериментальный «продукт», который я в исходниках постарался куда как более френдлёво оформить и прокомментировать чем это было изначально. Излишний и закомменитрованный код также призван помочь найти нужное решение в каждом конкретном случае. Как «продукт из коробки» FlashKit-MD-Plus отлажен только на анонсируемых в описании микросхемах (их немного, но они недорогие и доступные). В функционале этой кнопки важнее не размер, а идентификаторы производителя и марки микросхемы. И даже не как таковые, просто если мы их прочитали (отличными от 00 или FF), это уже означает что микросхема понимает наши команды записи, принимая их (ногу WE скоммутировали правильно) – и есть фактически зеленый свет к функциям стирания/записи массива памяти.

Как известно, при одинаковом корпусе (SOP-44 в рассматриваемом случае) большая часть ног имеет фиксированный («прибитый гвоздями») функционал вне зависимости от объема памяти микросхемы. Но часть ног имеет различный функционал в зависимости от объема (первые и последние по нумерации – «верхняя часть» корпуса): при меньшем объеме у микросхемы больше управляющих и информационных линий и даже неиспользуемые ноги остаются. С ростом объема растет количество линий адреса и этот «резерв» расходуется. Но вот в каком порядке его расходовать каждый производитель решает, к сожалению, самостоятельно! Вслед за пустыми ногами пропадает отдельный вывод WP (защита от стирания), VPP, потом RP (сброс), в крайнем варианте отказываются даже от 8-битного режима, используя ногу BYTE (как в MX29LV640) … Это я к тому, что без распиновки фантазировать с поножовщиной творчество еще то: даже привязка WE не фиксирована. «Брутфорсить» распиновку? – лениво ... это я давным-давно генератором случайных последовательностей «вскрывал» алгоритм управления программатором PGM-02 и писал (вместе с товарищем) замену «черного ящика» в нем на PIC-контроллере, а потом и софт под винду. Щас предпочитаю по красоте и по документации работать даже в рамках хобби.

А еще тут недавно при чтении очередной книжицы любимого жанра «техническая документация», с главным героем в лице вполне современной, емкой и быстродействующей флэшки под названием MX26L6420, был крайне удивлен одной из характеристик. Не поверил глазам, перечитал (думал опечатка, прошелся по всему тексту и всем таблицам – но нет). Просто уже как-то вроде привыкли, что у флэш-ПЗУ гарантированное количество циклов стирания, например: у MX29LV320 = 100тыс. раз; у MX29L3211 = 10тыс. раз (хоть и в десяток раз меньше, но тоже не мало, а с учетом меньшей цены - норм.); а у MX26L6420 = 100 раз (не тысяч, а штук! – что имхо «сушите весла», как говорится, деградируем а не развиваемся). Для чего привел пример: стоит ли вообще заморачиваться с серией MSP55LVxxx ? Ресурс у нее какой, к слову? Неизвестно (надо понимать, и отталкиваться от худшего) … Думал сначала что ее производитель Microchip, погуглил, оказалось что ваще Fujitsu (не знаком с ним как с производителем флэш-памяти). Раньше (лет 10-20 назад) хорошие и доступные ПЗУ были Intel и AMD, потом постепенно перешли на ST и MXIC … А тут непонятный новодел, да еще и без документации, м-да. Вобщем в современных реалях ориентируюсь и предлагаю ориентироваться на продукцию двух последних марок (ретро микросхемы AMD и Intel если только с распайки брать, покупать их неразумно дорого имхо).

PS. Почта россии драконовские цены за пересылку (даже внутри страны) ломит, вероятно дешевле выйдет купить и заплатить за доставку из китая … У тебя реально этих плат (что на фотке) под сотню? А штатно у них разводка под какой объем микросхемы? (фотку без микросхемы приложи). И какая микруха там в стоке впаяна?

PPS. Кстати, у тебя же есть Взломщик кодов - смотрел проект Mega-CC? Тестировал? А я тем временем написал альтернативный конфиг реализации маппера взломщика … Сейчас жду панельки под PLCC-44 и макетки для отладки. Если все получится (стирать и записывать древние CPLD современными средствами), то много интересного без всякой лишней пайки сделать можно будет: и отладчик начального уровня (перехватывать и обрабатывать не только VInt), и сега-программатор (и не только обходится без флэш-кита и перетыкания картриджей, но и RAM-картридж полно-объемный смастерить – дешевая замена эвердрайва, типа), ну и работу самого взломщика оптимизировать ...

PPPS. Файлы драг-энд-дропом (как картинки) попробуй затаскивать сюда ...

@murgatroid79
Copy link
Author

murgatroid79 commented Sep 29, 2022

Спасибо за развернутый ответ.Убедил.
MSP55LV650 откладывается в долгий ящик 😜
Тем более она и не была какой-то целью,просто на глаза попала,когда MX29L3211 заказывал.Вот они,(на 4Мб ) и были в некотором роде целью. А теперь, благодаря тебе,цель достигнута.
Даже более того,флешкитом прошил картриджи с распаянной MX29LV160 😁
А потом ...получилось прошить сам картридж с микросхемой каплей!!!
Два мегабайта получается прошить.
IMG20220929161015

@murgatroid79
Copy link
Author

Так,пофоткал картриджи.
IMG20220929160338
IMG20220929160415
IMG20220929160540
IMG20220929160607
IMG20220929161121
IMG20220929161057
IMG20220929161216
IMG20220929161138

@murgatroid79
Copy link
Author

Ну и примерное количество
IMG20200323152153

@murgatroid79
Copy link
Author

murgatroid79 commented Sep 29, 2022

Вот тут я немного описал Киборд005 :
https://forums.atariage.com/topic/185904-mega-drive-with-a-keyboard/

@MiGeRA
Copy link
Owner

MiGeRA commented Sep 30, 2022

Ух-ты ё! В коробке они минимум в три слоя, обалдеть ;-0))) Конфискат? Отсыпешь чуток?

А стоковая «капля» (как я понял) оказалась еще и флэшкой? – век живи, век удивляйся. Однако не исключено (т.е. вполне вероятно) что циклов перезаписи у такой флэшки очень не много, но десяток наверняка есть (сотня циклов, как приводил пример выше, оказалась не пределом аскетизма – заглянул в даташит на MX26L12811: а там всего 10 …). Но в любом случае «не для отладки», а для финального применения и десятка хватит. Можешь выпускать тираж собственного софта теперь, только наклейки новые сделать осталось ;-)

Благодарю за фотки. Получается что плата практически идентична «моей белой», разве что сигнал WE не разведен. Но провод можно имхо и не паять (если не в отладочных целях применять) – обжатый проводок можно и без пайки к слоту программатора подрубить в параллель картриджу (как я это делал и задокументировал в проекте «флэшеризации» картриджа). Ну и цепь питания на двух диодах (а не стабилизаторе, как в моем варианте), но я стабилизатор использовал только в первом экземпляре – потом вместо него паял светодиод (подобранный по напряжению), суть та же но имхо прикольно что он активность еще визуализирует. В твоих платах тоже есть практически готовое место для светодиода в качестве стабилизатора: в районе «LEIC5» зачистить дорожку и для smd-корпуса размера 0805 как раз (пару штатных диодов выкидываешь при этом, кстати вот электролит там вообще никчему в любом случае). Светодиод подобрать по напряжению (они все ооочень разные в зависимости от цвета и модели).

Насчет размера «капли»: можно поэкспериментировать с разрезанием/замыканием тест-поинтов на ее адаптере, может и на 4МБ ее включить получится. Аппаратный идентификатор какой у нее кстати? И каким алгоритмом ее прошить удалось?

А вот «осминожка» загадкой пока для меня осталась – глянул как она подключена … Да она питается и принимает в себя три входных сигнала, при этом НЕ имея подключенных к.л. выходов из нее к приставке или ПЗУ. Как так? Это шпионский радио-модуль? ;-)) Получает она сигналы с линий B12,13,14 т.е. #YS, #VSync, #HSync – эти сигналы дополняют информацию о картинке генерируемой VDP в формате сигнала RGB, из штатного применения они используются аппаратным аддоном 32Х и позволяют совмещать в одном кадре слои изображения сразу с двух видеопроцессоров. Отбросив конспирологию остается предположить что используется какая-то недокументированная фича с этими сигналами (это как взломщик кодов сбрасывает систему через #M3, хотя для этого есть вполне определенные другие линии).

По Киборду-005 линки тоже посмотрел. Улыбнуло то, как наши отечественные разработки востребованы в штатах … а купить им не так-то просто ;-)

PS. Для обмена информацией и контентом, можешь черкануть мне на е-мэйл аналогичный нику и такой же домен в зоне .ru

@murgatroid79
Copy link
Author

Отсыплю,без проблем 😉

Откуда картриджи продавец мне не сознался.
На gbx он продавал обучающие картриджи да денди и сегу,лотами по 4 штуки.Я сеговские выкупил штук 12 на опыты...а в переписке уже он предложил около сотни... ещё и подешевле. Я и взял все сеговские и штуки 4 дендёвых. Продавцу ещё писал,спрашивал не был ли он связан с производством,но ответа не получил.
По поводу восьминожки и контактов на слоте я чуть голову не сломал...оказалось в этом Киборде005 на этих контактах не штатные сигналы Sega,а свои какие-то.
Какая-то защита.Если восьминожку снять,на экране напишет: illegal copy...
А на плате обучалки есть ещё бескорпусный чип(капелька на маленькой плате с разводкой под DIP16).Вроде как "голосовой чип" ,связан с аудиотрактом,и восьминожкой в картридже.На шелкографии надпись speech.
Была версия что восьминожка это память для звукового чипа,так-как существует в природе ещё пара картриджей (для изучения английского языка),но от этой версии пришлось отказаться.Восьминожки в обычных и "языковых" картриджах взаимозаменяемы.
На эмуленде есть немного информации о этой системе,но она распылена по разным топикам.
https://www.emu-land.net/forum/index.php/topic,65837.msg1265453.html#msg1265453

https://www.emu-land.net/forum/index.php/topic,86079.msg1514830.html#msg1514830
Теги для поиска Cyber Shell, Комбат 16,Киберзнайка.

У меня ещё есть Магистр16 с дисководом
https://www.google.com/url?sa=t&source=web&rct=j&url=http://www.nedopc.org/forum/viewtopic.php%3Ft%3D9360&ved=2ahUKEwjKsYGtnb36AhVnkIsKHUnCCqEQFnoECAgQAQ&usg=AOvVaw1XMhI5Nk5m8uUCy3zEC6xh
И его "младший брат" Магистр Бакалавр
(Вот для них и нужны были флешкарики на 4Мб)
И ещё есть китайский Magic Teacher:
https://www.emu-land.net/forum/index.php/topic,81057.0.html

Угадай,что у них всех общего? 😜

PS.: Что-то я не смог на е-мейл тебе написать😬
Моя почта: [email protected]

@MiGeRA
Copy link
Owner

MiGeRA commented Oct 1, 2022

Самопальщики «Киборд-мэйкеры» покусились на распиновку слота значит – печально … В смысле неправильно с инженерной точки зрения это! При желании защиту от копирования и в джойстик засунуть можно было. Но при таком раскладе ничего удивительного не остается. По трем проводам много разных интерфейсов реализовать можно. Навскидку я бы I2C предложил, если задачу поставили бы мне (два провода всего), или SPI (если еще линию добавить). То что на клавиатурник 32Х не подключишь – хрен бы с ним. Сомнение в другом – картридж с такой осминожкой на официальной сеге коллизий вызывать не будет ни в каких случаях? Хотя зачем он там в оригинале? (но механической же защиты нет!) Так что лучше выпаивать ее сразу …

У тебя, кстати, есть 32Х ? Я себе планирую как-нибудь купить, попрограммить в «нативном виде» так сказать. Под эмуляторы писать и на них отлаживать софт имхо скучно и не интересно. Другое дело на живой машине ;-)) И не на однокристаллке (что по сути тот же эмулятор, хоть и аппаратный) – а на настоящей «рассыпушной» консоли, где в каждую точку можно осциллографом ткнуться или анализатором (если очень нужно будет), оценить нагрев ее компонентов, распаять все по панелькам и протестить разные микросхемы в действии (путем легкой замены), с оверклоком поколдовать ;-0.

По ссылкам фотки для коллекции сохранил, но там многие линки (на яндекс.диск) мертвые уже, местами ракурсы неудачные имхо.

С дисководом забавный вариант. Там плата микросхемами вниз получается стоит? И слот для Sega-CD слева а не справа – зачем? – в таком исполнении к нему все равно уже не подключиться (даже если пластик корпуса позволит). Размер дискеты в 1.44МБ маленький даже по меркам 90-х был (DOOM2 был на трех дискетах), разве что как для переносимости документов между разными архитектурами … А для хранения даже в рамках игровой консоли флэш-ПЗУ выгоднее со всех сторон. Таже Intel PA28F400 (которой я флэшеризовал картридж) была доступна еще в 1992 году минимум. А флэш-ПЗУ в МегаДрайве можно даже прошивать внутрисхемно! Пример реализации я показал в Mega-CC. Никакой дополнительной «памяти на батарейках» не нужно (как и её более дорогой альтернативы без батареек - FRAM) – можно все данные сохранять здесь же, в единой флэш-ПЗУ. Даже 10тыс. перезаписей у MX29L3211 хватит за глаза чтоб в хвосте у нее организовать «хранилище». Для минимизации перезаписей можно (заморочиться и) организовать хранение в виде связанного циклического списка (как в свое время Интел рекомендовал в апп-нотах).

Лучшее применение дисковода нынче – это что-то вроде такого пожалуй ;-)

PS. Эму-лендовский форум не перевариваю … Там толковых 3 – 4 человечка (не буду ники перечислять), а остальные, включая админов, только щеки надувают да сопли пускают от богатства ума не иначе: время убиваешь на серфинг там много, а инфы полезной в итоге около нуля. Ни шапок в ветках нет, ни зачистки флуда … Мрак короче.

PPS. В почту черканул, глянь …

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants