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

MODBO50 #1

Open
pp5di opened this issue Feb 7, 2021 · 48 comments
Open

MODBO50 #1

pp5di opened this issue Feb 7, 2021 · 48 comments

Comments

@pp5di
Copy link

pp5di commented Feb 7, 2021

i have dumped my spi flash from modbo50, 512k
i try to use on generic matrix board and not work, freezes on matrix logo
not work, fpga code not reconizes data from flash

@78edu
Copy link
Owner

78edu commented Feb 14, 2021

Please share your spi flash dump!
What is your ps2 model?
I think, it can be fixed with wiring points.
Try to leave only bios/rom points and other for power, ground, etc.

Probably, but not sure, whole code uploading once console starts.
So, if you see matrix logo - rom patches was loaded in to the ram of the ps2.
Then it doing its work (model detection, reading settings from modchip - with cpld it easier to do after boot then before).

Anyway, loaded elf can be fixed to work with modbo4 or can be dumped.
I need this because it have built in usb prx module and whole code fits in modchip without any data from other sources.
Want to made something like this, but more simple and in a straight way without protection bypass and settings menu.
I hope, this patches and elfs not encrypted and someone (also me) can reverse it.

I want to dump unecrypted elf and patch data from modchip right when it readed by console.
As i wrote, it can be simulated using arduino with slow clock rate.
Modchip just tampering data whan ps2 reads rom chip with bios.
Modchip is a state machine, it can be used alone of console.

@pp5di
Copy link
Author

pp5di commented Feb 14, 2021 via email

@78edu
Copy link
Owner

78edu commented Feb 14, 2021

Good dump!
As i noticed: it uses USBADV(maybe there is a driver or code parts from usb advance) and it uses 2 unencrypted ELF files + it structure more complicated then modbo 4.
First big part different in couple decades of bytes, then we have big empty area and new usb logic in it.

Will try elfs in pcsx2, i don't have ps2 for now.

@pp5di
Copy link
Author

pp5di commented Feb 14, 2021 via email

@78edu
Copy link
Owner

78edu commented Feb 14, 2021

I tried many homebrew in pcsx2 and it didn't work.
Try to patch ps2 bios and run.
I got it work with uLE instead of OSDSYS.
You can find your osdsys offset with my python tool or manually.

@78edu
Copy link
Owner

78edu commented Feb 14, 2021

Will try Ghidra or IDA with R5900 plugin on whole modbo dump to find RESET code and other ps2 code and separate it from modbo5 data.

@pp5di
Copy link
Author

pp5di commented Feb 14, 2021 via email

@78edu
Copy link
Owner

78edu commented Feb 14, 2021

I used to want to do ram chip instead of flash and couple it with cpld and pc or raspbery pi.
For fast load any data, which can be accessed with EE-rom access.
Like modchip, but with big chunks of data.
Because you can access rom0: as a disk in uLE, why not to try send data like it was in HDpro for 75000 and above.

@pp5di
Copy link
Author

pp5di commented Feb 14, 2021 via email

@pp5di
Copy link
Author

pp5di commented Feb 14, 2021 via email

@pp5di
Copy link
Author

pp5di commented Feb 14, 2021 via email

@78edu
Copy link
Owner

78edu commented Feb 15, 2021

I had same issue too.
I've tried some versions and one old was able to run.
Maybe it was not uLE but lbFn оr wLE.

Some homebrew like myps2 runs well.

@pp5di
Copy link
Author

pp5di commented Feb 15, 2021 via email

@78edu
Copy link
Owner

78edu commented Feb 15, 2021

I've tried small elfs which not larger than osdsys.
Just copy paste without any cleaning after end of new data

@pp5di
Copy link
Author

pp5di commented Feb 15, 2021 via email

@78edu
Copy link
Owner

78edu commented Feb 15, 2021

Can you try 1.93 and older dumps on your modbo4?

@pp5di
Copy link
Author

pp5di commented Feb 15, 2021

f2eaeaef-fec9-4690-abdb-3beb434a8dfc
I tried on this board with a bigger chip, on the other not yet

EDIT: I passed the modbo flash to the small board, the ps2 died hahahahah

this must have set all the chip gpio to LOW or HIGH

I changed the bios chip, but it didn't work

ps2 turns on, nothing happens and then turns off and flashes red led as if it were high temperature

@pp5di
Copy link
Author

pp5di commented Feb 16, 2021

good news, I recovered the damaged ps2, removed the bios, plugged in the board without bios, and put the bios back on and it worked normally

@78edu
Copy link
Owner

78edu commented Feb 17, 2021

Please try to boot extracted elf, i'll upload it right now.
This chips seems like cheap like xilinx or altera cpld with 100-200 gates, but i'm curious how they connected spi flash.
Also, parallel flash in other modchips rated to slower clocks than ps2 bus is.
Will try to add this, i had some notes.

@pp5di
Copy link
Author

pp5di commented Feb 18, 2021

hello, the .elf you shared didn't work.

follows the modchip dump Original that worked the bootscreen with the modobo dump

https://github.com/pp5di/ps2-matrix-infinity-modchip-dump

Sem título

@InfernalWolf666
Copy link

Hello gentlemen. I am from russia. It's hard for me to understand what you are talking about. I use Google translate.

I have wanted a new mod chip for a very long time. now only clones can be bought.

I have PS2 70008, 77008 (2 pieces), 90008.

I have mod chips: Mars Pro HD 816, Mars Pro GL 805SL, Modbo 4, Modbo 5.0d.

I really want a new chip.

@InfernalWolf666
Copy link

my observations.

mod chim modbo 4. works. contains firmware 1.99 Infinity Matrix. when playing games from ps1 shows the logo of the game station. no black bar. saves the settings. in rare cases, it does not launch some games. at the inscription, the game station 2 shows the graffiti matrix of infinity 1.99.

mod chip modbo 5.0d works. contains firmware infinity matrix 1.93. when playing games from ps1 does not show the logo of the gaming station. no black bar. saves the settings. in rare cases, it does not launch some games. at the inscription, the game station 2 shows the graffiti matrix of infinity 1.93.

modchip Mars Pro HD 816 (one-way) works. The date on the menu is 2006. contains firmware TOXIC (with skull). when playing games from ps1 shows the logo of the game station. there is a black bar. does not save settings. launches all games for Game Station 2. Games from Game Station 1 work and do not work. when labeled, game station 2 does not show graffiti (vanilla).

modchip Mars Pro HD 816 (two-sided) works. The date on the menu is 2008. contains firmware TOXIC (with skull). when playing games from ps1 shows the logo of the game station. there is a black bar. does not save settings. launches all games for Game Station 2. Games from Game Station 1 work and do not work. when labeled, game station 2 does not show graffiti (vanilla).

mod chip Mars GM 805 SL works. no chip menu. does not output an image when the component cable is connected. failed to test.

@InfernalWolf666
Copy link

Mod-chip

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

Привет, InfernalWolf666.
Есть чем сдампить марсы 816?
У меня мобильный инет мне не зайти на ps2-home.com.
Если там нет дампов, то их неплохо бы сделать самому через ардуино или программатор.

Проблема марса 816 в том, что обход защиты - это просто патч, который грузится одним-двумя этапами и висит в оперативке приставки.
А для сохранения настроек нужно сделать возможность записать данные в память.
Большой чип - это по сути множетсво логических элементов и точную их конфигурацию получить не так-то просто.
Оригинальный чип DMS 4.0 сделан на большом чипе APA075 Actel, в котором реализована логика сохранения.
Из-за того, что эти чипы - не микроконтроллеры, гораздо проще реализовать простую подмену данных bios приставки памятью с модчипа.
В минимальном случае для этого нужно не больше 32 элементов на 8 бит шину.
А запись данных на флеш самого чипа, да еще и не целиком, а в некий "адресный блок настроек", потребует логику чтобы переключать выводы Write Enable и ловить команду записи от приставки (тут тоже нужно примерно 8 элементов минимум + логика контроля окончания процесса записи).

И вот не понятно что за кристалл у этих mars 816, потому что выводов много и дешевых cpld/fpga таких нет.

Было бы интересно сделать decap и сравнить с actel apa075, может zeptobars будет это интересно.

Исправить сохранение настроек (писать их не в флеш чипа, т.к. неизвестно как это сделать, а на карту, например) можно только полностью вытащив ELF исполняемые файлы во время работы toxic bios и изучить как он их сохраняет и переписать.
Идея не очень целесообразна, т.к. это довольно долго и результат не имеет особой ценности.

Пока мне больше всего интересно вытащить весь исполняемый код из modbo 5 чтобы сделать самосборный простой вариант чтобы просто загружаться с usb, имея консоль + геймпад, без карты и дисков, потому что у меня такая как раз есть.

По своей сути модчип - это флеш память и набор логики чтобы переключить чтение с биоса на флеш и обратно.
Как пропатчить данные, только при помощи железа.

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

my observations.

mod chim modbo 4. works. contains firmware 1.99 Infinity Matrix. when playing games from ps1 shows the logo of the game station. no black bar. saves the settings. in rare cases, it does not launch some games. at the inscription, the game station 2 shows the graffiti matrix of infinity 1.99.

mod chip modbo 5.0d works. contains firmware infinity matrix 1.93. when playing games from ps1 does not show the logo of the gaming station. no black bar. saves the settings. in rare cases, it does not launch some games. at the inscription, the game station 2 shows the graffiti matrix of infinity 1.93.

modchip Mars Pro HD 816 (one-way) works. The date on the menu is 2006. contains firmware TOXIC (with skull). when playing games from ps1 shows the logo of the game station. there is a black bar. does not save settings. launches all games for Game Station 2. Games from Game Station 1 work and do not work. when labeled, game station 2 does not show graffiti (vanilla).

modchip Mars Pro HD 816 (two-sided) works. The date on the menu is 2008. contains firmware TOXIC (with skull). when playing games from ps1 shows the logo of the game station. there is a black bar. does not save settings. launches all games for Game Station 2. Games from Game Station 1 work and do not work. when labeled, game station 2 does not show graffiti (vanilla).

mod chip Mars GM 805 SL works. no chip menu. does not output an image when the component cable is connected. failed to test.

Можешь добавить фото 816?
Что за двухсторонний и односторонний?

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

Hello gentlemen. I am from russia. It's hard for me to understand what you are talking about. I use Google translate.

I have wanted a new mod chip for a very long time. now only clones can be bought.

I have PS2 70008, 77008 (2 pieces), 90008.

I have mod chips: Mars Pro HD 816, Mars Pro GL 805SL, Modbo 4, Modbo 5.0d.

I really want a new chip.

В общем, вы по адресу.

Была такая идея: собрать uLaunchElf со всеми либами для usb в нем и порезанным/запакованным чтобы влез на флеш-память.
Опционально: проверить работу заменой биоса на перезаписываемую флеш, которую не так просто найти.
Далее сделать простой модчип, который будет работать вот так:
сравниваем посимвольно байт с шины и байт с памяти с первых 16 адресов.
Если сравнение не успешно, то сбрасываем счетчик в 0.
Если сравнение успешно, то прибавляем счетчик, и так до 01111.
Счетчик наверное лучше взять на 5 бит.
После этого как будет 1xxxx на счетчике, эта единичка переключит чтение с биоса на флеш и данные будут идти пока не пройдет вся флешь, затем также следующим битом переключим с флеши на биос.
Самый простейший вариант, хватит 32 элемента.

Для флеши на 128кб у нас будет (0)11111111111111111 +1 = (1)00000000000000000 число, закодированное на адресной линии.
По (1) включаем триггер и переключаем флеш память на High-Z и возвращаем ROM чип на вывод данных (не помню, есть ли там High-Z, должен быть).
Переключение займет некоторое время, понадобится осциллограф чтобы успеть (память 70нс = 14,2857 мгц, переключение займет не больше 20нс)
Не смотря на такую низкую частоту, микроконтроллеры подходят не все.
http://www.emcu.it/STM32/STM32-TFT/STM32-TFT.html
Вот здесь, сказано, что STM32F103 может обеспечить 30мгц с использованием FSMC, что должно хватить.
Изначально я мечтал о модчипе из bluepill, но не правильно понял требования и решил что cpld/fpga будет вариант наверняка.
Не ясно как быстро этот микроконтроллер сможет обрабатывать данные, да и все равно он не сможет быстро выдавать данные из встроенной флеши (такая скорость только для RAM), stm32f1 скорее всего без хитростей не даст модчип, а жаль.

@InfernalWolf666
Copy link

Можешь добавить фото 816?
Что за двухсторонний и односторонний?

two-sided textolite. duplicate contacts on the back. it is he who has the date 2008 on the menu
b1b3

@InfernalWolf666
Copy link

Привет, InfernalWolf666.
Есть чем сдампить марсы 816?
У меня мобильный инет, мне не зайти на ps2-home.com.

ps2-home dot com - doesn't seem to work.
it takes a long time to order something from trading platforms like "Yahoo" or "Ebay" to my country. I can order the components I need with aliexpress. but I don’t understand what to buy. if you give me links to products, and tell me which microcircuit needs to be dumped, I will do it.

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

Если кратко: модчип это железо + патч.

Железо можно использовать самое примитивное: cpld xilinx или altera за 1-2$ на 64/128/144 "ячейки".
И параллельная флешка со старого жесткого диска или другой техники с временем доступа 70нс и лучше.
Чем дешевле, тем лучше, потому что модбо сам стоит копейки.

Дальше в cpld делается дизайн 8 битовый компаратор + 5 битный счетчик + несколько триггеров и все это подключается к шине данных (8 проводов) , 1 проводок на один контакт адреса, 1 провод для переключения rom в high-z, и несколько проводов для 3.3v, gnd, clk, кнопки питания, еще чего-нибудь.
Во флеш память заливается фрагмент биоса и "сигнатура" или "строка для сканирования" чтобы найти место для подмены.
В ps2 rom биосе данные выровнены по 16 байт, что очень удобно.

Самый простейший модчип будет работать от 15 проводов.

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

aliexpress

Я планировал такое:
1.EPM3064 или EPM3128 (1-2$), надо брать штук 10.
2."Altera USB Byte Blaster / USB Blaster" (3-5$)
Работать можно в Quartus и в max+plusII.
3.29LV160 или что-то похожее, NOR parallel flash/eeprom 3.3v. лучше брать больше одного чипа, чтобы было чем заменить.
Размеры любые, чем больше тем лучше.
Можно найти в старых жестких дисках, дисководах, очень старых (2003) материнках.
4.Программатор для флеши - можно попробовать arduino, diy схемы, lpt порт на старом компьютере, ну или купить, но он будет очень дорогой.

5.Нужна паяльная станция и материалы чтобы сделать плату, можно уложиться в 5000 рублей или договориться с другом, знакомым студентом или попроситься в мастерской по ремонту техники.

И еще очень желательно найти осциллограф на 50мгц минимум с 2 каналами.

@InfernalWolf666
Copy link

Если кратко: модчип это железо + патч.

Железо можно использовать самое примитивное: cpld xilinx или altera за 1-2 $ на 64/128/144 "ячейки".
И параллельная флешка со старого жесткого диска или другой техники с временем доступа 70нс и лучше.
Чем дешевле, тем лучше, потому что модбо сам стоит копейки.

Дальше в cpld делается дизайн 8 битовый компаратор + 5 битный счетчик + несколько триггеров и все это подключается к шине данных (8 проводов), 1 провод на один контакт адреса, 1 провод для переключения ROM в high-z, и несколько проводов для 3.3v , gnd, clk, кнопки питания, еще чего-нибудь.
Во флеш памяти заливается фрагмент биоса и "сигнатура" или "сканирование", чтобы найти место для подмены.
В ps2 биосе данные выровнены по 16 байт, что очень удобно.

Самый простейший модчип будет работать от 15 проводов.

I roughly understand what you are talking about, I realized without knowledge that the chip consists of a microcontroller and a small microcircuit where the hacked program is written. But I cannot open modbo 1.93 or 1.99 with any program. I installed the HEX program and tried to open the firmware. It opened, but I see only incomprehensible letters.
2021-03-06-213021

I have a dream to make a new chip, created with the support of the community. so that it was stylish, compact, on good components. and allowed for those who need a vanilla game station to leave it like that. for those who need customization, please. so that games from the NTSK region work on the PAL version of the consoles. What if you want to run straight from the home brew chip. such as for example VLOUNCHER or for example what you install there yourself. And call this chip SOMBRA. that's the name of the overwatch girl, she's a Mexican hacker.

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

microcontroller

It is not microcontroller, hence its magic.
Memory dump from modchip is a scattered pieces of ps2 MIPS code with some modchip logic (not commands, but magic bit patterns for example) and probably encrypted ELF files.

When you see modchip menu, the ps2 does it, not the modchip.
Modchip just change data on the fly, because ps2 bios is read only memory and you can't patch it like in modern devices.

Big chip on modchip pcb is a cpld or fpga.

@InfernalWolf666
Copy link

микроконтроллер

Это не микроконтроллер, отсюда и его магия.
Дамп памяти из модчипа - это разбросанные части кода ps2 MIPS с некоторой логикой модчипа (например, не команды, а магические битовые шаблоны) и, возможно, зашифрованные файлы ELF.

Когда вы видите меню модчипа, это делает ps2, а не модчип.
Modchip просто меняет данные на лету, потому что ps2 bios - это постоянная память, и вы не можете исправить ее, как в современных устройствах.

Большой чип на плате модчипа - это cpld или fpga.

I still don't quite understand everything. But I’m ready to help. Mars Pro I have, what kind of programmer do I need to order on aliexpress to make a dump? I have a soldering station.

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

Я начал обо всем этом думать для того чтобы не покупать модбо, а сделать его примитивный аналог самому, потому что там нет чего-то дорогого.
Вся ценность кроется в дампе и в практически неизвлекаемой логике из чипа.

Извлечь дамп можно при помощи адруино.

Подключить часть портов к A0-A15 и перебирать числа по порядку от 0000000000000000, затем 0000000000000001, затем 0000000000000010 и так до 1111111111111111.
И при этом читать то, что будет на DQ0-7 другим портом ардуино.
Я как-нибудь соберу подобное, хочу снять дамп с синтезатора.

изображение

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

Я напишу скетч для этого, у меня как раз есть arduino uno.
Там будет очень простая программа, ты даже сможешь найти готовые в сети.
https://mint64.home.blog/2018/07/29/parallel-nor-flash-eeprom-programmer-using-an-arduino-part-1-the-sst39sf040-and-planning/

@InfernalWolf666
Copy link

Вся ценность кроется в дампе и в неизвлекаемой логике из чипа.

One minute. google translate help.
I understand that all pirate mod chips. such teams (names) as Modbo, Crystal, DMS, Infinity Matrix, Mars Pro, and so on.
image
sddefault
giant-9092
the pic

They have their own graphic interface TOXIC, the Infinity Matrix.
But they use the same code for substitution in Playstation 2 memory to read disks. Algorithm. firmware.
e474bzaw7rj41
image

But at the moment, we do not know this code and we cannot copy it from the chip. correctly?
and we can't write new code.

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

Ты можешь писать по русски, я из России.
Получить код из чипа возможно без самой приставки с помощью ардуино.
Я бы попробовал, но у меня нет чипа.
Сам дамп может быть зашифрован. А приставка либо читает ELF формат либо они решили изобрести велосипед, что вряд ли.

@InfernalWolf666
Copy link

InfernalWolf666 commented Mar 6, 2021

Ты можешь писать по русски, я из России.

да ну нах....й, че реально? а то я тут превозмогаю этот гугл переводчик и с ума схожу.

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

Да, видно же когда переводчик.

@InfernalWolf666
Copy link

Я бы попробовал, но у меня нет чипа.

у меня был модбо 4, с ещё одним контактом, поймойму эта точка Z была, но я дурак , в паял его клиенту, а прикол в том , что там залита была прошивка Toxic

@InfernalWolf666
Copy link

Я бы попробовал, но у меня нет чипа.

у меня на руках сейчас и модбо 5 , и модбо 4 ( но кажется он умирает, он как то влиял на чтение игр, линза с ума сходила, по звуку это понял, и ролики дергались) и марс про есть 816 и gm805 sl,
могу выслать для опытов по почте.

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

Я бы попробовал, но у меня нет чипа.

у меня был модбо 4, с ещё одним контактом, поймойму эта точка Z была, но я дурак , в паял его клиенту, а прикол в том , что там залита была прошивка Toxic

Интересно, сохранял ли он настройки?

Прошивка токсик биос вроде бы равна по возможностям matrix infinity.
Toxic OS уже другое дело.

Я лично ищу просто способ припаяться и увидеть флешку чтобы с нее что-то загружать.

Либо модбо5 либо самому.

@InfernalWolf666
Copy link

InfernalWolf666 commented Mar 6, 2021

Интересно, сохранял ли он настройки?

не сохранял, я проверял, так же зависал

На некоторые модчипы есть исходники (выше по этому issue скидывали ссылку на magic).
Там написано как обходится защита.
Сейчас диски скорее всего уже не актуальны.
Увидеть дамп было бы интересно, но он вряд ли чем-то поможет.

Я очень хотел найти модбо 5 и pp5di его скинул, там есть 2 файла, которые связаны с USB.

Я очень хочу с голого чипа с помощью ардуино без приставки снять то, что он будет выводить, если там есть шифрование (модбо), потому что в дампе нет никаких упоминаний меню и исполняемого кода.
А таким путем он выдает то, что читает сама приставка.
Припаяться к его точкам для биоса и подавать с помощью ардуино байты и смотреть что будет делать чип на выходе.
Надо прогнать RESET модуль и таблицу ROMDIR, дальше скорее всего он уже как-то себя проявит и будет понятно что дальше.
Ну или полностью пройти весь дамп биоса.

Вряд-ли хорошая идея реверсить меню matrix infinity чтобы засунуть в свой модчип, так что я даже не знаю зачем оно может быть нужно, ничего интересного с этим не сделать. Разве что писать свои обновления для модбо, но не ясно насколько там все будет сложно. Большой чип - черный ящик, могут быть отличия у разных людей.

@InfernalWolf666
Copy link

InfernalWolf666 commented Mar 6, 2021

я живу в городе Новороссийске, это рядом с городом Краснодар,
напиши мне в личные сообщения если здесь есть либо в телеграм, свой адрес я тебе по почте отправлю

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

hello, the .elf you shared didn't work.

follows the modchip dump Original that worked the bootscreen with the modobo dump

https://github.com/pp5di/ps2-matrix-infinity-modchip-dump

Sem título

Can you ask someone to reverse it in ghidra or ida?
I can't use ps2-home.com forum, spm filter blocks my ip.

@78edu
Copy link
Owner

78edu commented Mar 6, 2021

я живу в городе Новороссийске, это рядом с городом Краснодар,
напиши мне в личные сообщения если здесь есть либо в телеграм, свой адрес я тебе по почте отправлю

Создавай отдельный issue и спрашивай, я буду отвечать там.
Личных сообщений здесь нет, телеграма нет.
Если хочешь свой модчип, то пока можешь начать с ps2sdk и helloworld, если никогда не писал под ps2 (я не писал).
Попробуй сделать легкий elf (меньше 256кб) одним файлом чтобы он мог загружать файл с флешки.

Я думал начать с uLE и USBD.IRX, максимально упростить первый, вшить второй и дополнительно сжать это все.
А потом модчипом подменить OSDSYS (это главное меню ps2) и загрузится загрузчик файла с флешки.

@InfernalWolf666
Copy link

Hello. I took a dump from Mars about 816. I don’t know if I did it right, but suddenly. I took it off from the MX25L1005 microcircuit.

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

3 participants