PS2 [MX4SIO/SIO2SD] SD Card Adapter and SD-driver for the PS2 SIO2 interface

Quick question, would be possible to have just this memory card without FMCB?

I would be really cool to have a complete solution into one single device but if I understand the exploit triggered by MagicGate memory card isn't compatible or can't be ported, right?
 
Agreed that the FETs used in the original design are way overkill.

I have a batch based on this that use a standard, cheap npn transistor instead.

In related notes: Bitfunx have either created their own or very cleverly copied someone's design: https://www.aliexpress.com/item/1005003832647126.html

I'm going to pick up a few of these.
.
That guy is definitely a follower of mine, as soon as I post something I am working on or doing the guy has similar things on his site. He copied one of my amplifiers I made for the Gameboy Pocket and Color just recently too.

I wonder if he got the correct OPL version working on that Bootleg FreeMCBoot, because those would never load up for me and Tito the video maker unless we used an official MagicGate Card.
 
Looking for advice to salvage 2 MX4SIO pcb's. As mentioned in an older post I bought a batch of 5 pcb's and botched the job on 2 of them unfortunately. Long story short there was a short (due to my bad soldering skills) on the micro sd and tried to remove them afterwards, some of the pads came off. I am thinking to reuse the board with full size SD slot and its respective BOM.
I checked with the multimeter and did not find any shorts on the traces so I assume it is safe to proceed?
View attachment 36218

Yes friend, if there are no shorts now (measured with your multimeter) then i would think you are good to go with a normal size SD socket, which will be much easier to solder without causing any shorts. I had the same problem with my MicroSD socket - it looked good but there was a short. Now when i solder the MicroSD socket i make sure not to put too much solder and keep the solder tip away from the MicroSD socket, i keep the soldering iron tip flat on the PCB and just touching the pins of the MicroSD. I even put some Kapton tape just incase i touched it by accident. It seems to wick the solder inside and make contact in places we don't want.

That guy is definitely a follower of mine, as soon as I post something I am working on or doing the guy has similar things on his site. He copied one of my amplifiers I made for the Gameboy Pocket and Color just recently too.

I wonder if he got the correct OPL version working on that Bootleg FreeMCBoot, because those would never load up for me and Tito the video maker unless we used an official MagicGate Card.

Oh man, that sucks.
 
Last edited by a moderator:
Yes friend, if there are no shorts now (measured with your multimeter) then i would think you are good to go with a normal size SD socket, which will be much easier to solder without causing any shorts. I had the same problem with my MicroSD socket - it looked good but there was a short. Now when i solder the MicroSD socket i make sure not to put too much solder and keep the solder tip away from the MicroSD socket, i keep the soldering iron tip flat on the PCB and just touching the pins of the MicroSD. I even put some Kapton tape just incase i touched it by accident. It seems to wick the solder inside and make contact in places we don't want.

If the solder goes into places you don't want because the microsd is so tiny with the pins, are you screwed? How do you recover, if possible?
 
If the solder goes into places you don't want because the microsd is so tiny with the pins, are you screwed? How do you recover, if possible?

I'd be interested to know this as well. I've used a hot air station, didn't budge. Solder wick worked but resulted in permanent damages.

Yes friend, if there are no shorts now (measured with your multimeter) then i would think you are good to go with a normal size SD socket, which will be much easier to solder without causing any shorts. I had the same problem with my MicroSD socket - it looked good but there was a short. Now when i solder the MicroSD socket i make sure not to put too much solder and keep the solder tip away from the MicroSD socket, i keep the soldering iron tip flat on the PCB and just touching the pins of the MicroSD. I even put some Kapton tape just incase i touched it by accident. It seems to wick the solder inside and make contact in places we don't want.

Thanks for the advice, didn't want to waste the pcb. A microscope would also be helpful when soldering a microSD socket.
 
Last edited by a moderator:
If the solder goes into places you don't want because the microsd is so tiny with the pins, are you screwed? How do you recover, if possible?

Pretty much unfortunately. I tried with both solder wick and hot air station, but once the solder goes inside of the MicroSD socket it's staying there. I want to try and recoup the ones like that at a later stage, maybe by taking it apart and getting the solder out that way, for now i just put those ones in a draw.

Thanks for the advice, didn't want to waste the pcb. A microscope would also be helpful when soldering a microSD socket.

No probs, yeah a microscope would be handy, i really want one of those, but they can be pricey. Until then, i recommend using Kapton tape to protect from the soldering iron touching the MicroSD socket, above its pins. Also the tape helps to hold the MicroSD in place. Then glide along the very ends of the pins, with the soldering iron tip flat against the PCB, that worked for me in the end. I did 5 units like that and they were all good with no short circuits.
 
Last edited by a moderator:
That guy is definitely a follower of mine, as soon as I post something I am working on or doing the guy has similar things on his site. He copied one of my amplifiers I made for the Gameboy Pocket and Color just recently too.

I had a similar idea, probably talked a bit about it on the gbdev discord, and then work got in my way. Didn't mean to step on toes, nor was I aware of you working on something like that (I don't follow you anywhere). Similarly, wasn't my intent to look like a shill; I've been following this thread and discussing it over on the ps2 dev discord.

I have been working on my own version of the card, based loosely on Takeshi's design (you can see it at https://github.com/indrora/bakacard) and I'm waiting on rev a hardware, mostly to verify that I've got the basics down; I would have hardware in hand right now if I hadn't put my order in on the first day of CNY. I redid the circuit for card detect/ack pulldown and activity leds to use NPNs.

Here's a look at rev b:
bZ8LzOf.png


I'm curious what is causing some of the incompatibility. Evidence points to specific details in the SD card standards documents and in notes from Espressif on the subject as well as an app note discussing SD card signal conditioning at detail. The relevant portions being:

When an SD card is operating in SPI mode or 1-bit SD mode, the CMD and DATA (DAT0 - DAT3) lines of the SD bus must be pulled up by 10 kOhm resistors. SD cards and SDIO devices should also have pull-ups on all above-mentioned lines (regardless of whether these lines are connected to the host) in order to prevent them from entering a wrong state.

from the espressif documentation and

For the basic SD-memory card operation an IP4252CZ12-6 and 4 pull-up resistors (10 k to 100 k) are sufficient for the digital data transmission from and to the SD-memory card.

Additionally, the SanDisk documentation for their SD card (early SDHC) mentions pullups:

4DwLRLa.png


SanDisk's documentation on their industrial uSD cards does make one specific mention:

Power must be applied to the VDD pin before any I/O pin is set to logic HIGH. In other words, CMD, CLK, and DAT0-3 must be at zero (0) volts when power is applied to the VDD pin. For more information, refer to Section 6.4.1 of the SDA Physical Layer Specification, Version 3.01.

I'm genuinely curious if the culprit cards are getting confused, which is why eject/insert works like it does. Elm-Chan has some mentions of using a buffer and some caps to buffer the power as well.

There is also a comment on CMD9 and SanDisk cards specifically: https://electronics.stackexchange.c...ng-for-cmd9-with-0x00-in-spi-mode-and-it-resp

I'm going to say that SanDisk cards are looking for something. From the (skimming) that I've done, we've been pulling one or two lines high, not all the DAT[0...3] lines. Humor me, because right now, without having hardware in hand (including a problematic card), and without traces from a logic analyzer or at least a scope, we're sort of flying blind.
 
we've been pulling one or two lines high, not all the DAT[0...3] lines. Humor me, because right now, without having hardware in hand (including a problematic card), and without traces from a logic analyzer or at least a scope, we're sort of flying blind.

@Fabio Kuntze had already gone through this on Page-17, he tried both 4 x 10k pull-up resistors, and then later just 1 x 10k pull-up resistor, after he had read the SanDisk specs, just like you. However, it did not solve the SanDisk compatibility issue.

Sem-siodsd-pullup.jpg


Edit:- Humor me, you've made your own MX4SIO version and yet you want to buy some AliExpress boot-legs, why?
 
@Fabio Kuntze had already gone through this on Page-17, he tried both 4 x 10k pull-up resistors, and then later just 1 x 10k pull-up resistor, after he had read the SanDisk specs, just like you. However, it did not solve the SanDisk compatibility issue.

His post indicated that he had better reliability, and several other users seemed to echo that. It's in the spec, and there's no harm in having them there for the cards that do want them (in my experience, the ones from Lexar get picky.) I've done enough projects with SD cards that I'm familiar with needing pullups, but I've also typically fallen back on using breakouts from Adafruit, etc.

Edit:- Humor me, you've made your own MX4SIO version and yet you want to buy some AliExpress boot-legs, why?

A brewer does not drink only his own brews, but compares his work with that of other brewers to learn things through observation and, when possible, conversation with others. Similarly, it's worth looking at the clones to understand what they are doing: What cost optimizations have been made? what changes were made? Is it original, or was it derived? These questions are left unanswered until you tear it apart.

There's a lot of engineering that goes into producing something at this turnaround and scale, especially since the interest was pushed during CNY, a time where right now large portions of China are on vacation. The clones seem to be using either repurposed Sony molds and pads or they're chopping up current Sony memory cards, one or the other, and in curiosity, I'd like to know what they're doing.

Looking at clones and comparing how many different implementations of something work is how things are improved. Consider a teardown of several different AC-DC USB power supplies and their performance: what can you learn? A lot, including how someone cost-reduced these things to within and inch of their life. Looking at clones can also reveal products that are entirely novel based on a clone or interesting caveats to how clones are built and designed. Digging through clones can also reveal some interesting correlations between different products: a clone Sega Genesis that has HDMI out turns out to be using the same low-cost chip that some scalers, a SNES clone, and maybe Hyperkin are using.

(if you're catching my drift, you should definitely check out the concept of Gonkai, a take on the Chinese model of IP which feels somewhat orthogonal to the western ideal, but makes far more sense in the open source sense)
 
His post indicated that he had better reliability, and several other users seemed to echo that. It's in the spec, and there's no harm in having them there for the cards that do want them (in my experience, the ones from Lexar get picky.) I've done enough projects with SD cards that I'm familiar with needing pullups, but I've also typically fallen back on using breakouts from Adafruit, etc.



A brewer does not drink only his own brews, but compares his work with that of other brewers to learn things through observation and, when possible, conversation with others. Similarly, it's worth looking at the clones to understand what they are doing: What cost optimizations have been made? what changes were made? Is it original, or was it derived? These questions are left unanswered until you tear it apart.

There's a lot of engineering that goes into producing something at this turnaround and scale, especially since the interest was pushed during CNY, a time where right now large portions of China are on vacation. The clones seem to be using either repurposed Sony molds and pads or they're chopping up current Sony memory cards, one or the other, and in curiosity, I'd like to know what they're doing.

Looking at clones and comparing how many different implementations of something work is how things are improved. Consider a teardown of several different AC-DC USB power supplies and their performance: what can you learn? A lot, including how someone cost-reduced these things to within and inch of their life. Looking at clones can also reveal products that are entirely novel based on a clone or interesting caveats to how clones are built and designed. Digging through clones can also reveal some interesting correlations between different products: a clone Sega Genesis that has HDMI out turns out to be using the same low-cost chip that some scalers, a SNES clone, and maybe Hyperkin are using.

(if you're catching my drift, you should definitely check out the concept of Gonkai, a take on the Chinese model of IP which feels somewhat orthogonal to the western ideal, but makes far more sense in the open source sense)

Where is the emoji for "mind-blown" when you need it? :quartet: Lol i asked to be humoured and this guy goes and does an "Inception" on me. Okey, when i said humour me i meant something like this:- "Why is it called 'The American Dream'? ...because you have to be asleep to believe it." :wink new: wacca, wacca.

Anyways, jokes aside... you seem pretty serious about your research and plan of action, i truly wish you all the best, and will try to stop saying stupid things from now on (the hard part lol) :very drunk:
 
Last edited:
I had a similar idea, probably talked a bit about it on the gbdev discord, and then work got in my way. Didn't mean to step on toes, nor was I aware of you working on something like that (I don't follow you anywhere). Similarly, wasn't my intent to look like a shill; I've been following this thread and discussing it over on the ps2 dev discord.

I have been working on my own version of the card, based loosely on Takeshi's design (you can see it at https://github.com/indrora/bakacard) and I'm waiting on rev a hardware, mostly to verify that I've got the basics down; I would have hardware in hand right now if I hadn't put my order in on the first day of CNY. I redid the circuit for card detect/ack pulldown and activity leds to use NPNs.

I wasn't referring to you but the seller of that Aliexpress store, sorry for the confusion. As for the delay on the pullups you're suggesting using some capacitors inline with the data pin to cause a buffer or delay in getting power to them? Does it mention any kind of time from power on to them being pulled up in the spec sheet you read?
 
I'm about to discuss this awesome project on a podcast and I was hoping to clarify a few things:

1) Is this the main link to the project? No other github, wiki or dedicated page?

2) Is this officially an open source project? If so, what license is it released under?

3) Is having a separate boot card and a MicroSD card a requirement? There's no way to make one single card to do everything?

4) What's the possibility of adding something like an ESP32 chip and loading games across wifi?

Thank you all for your time and creating this excellent project!!!
 
@Workz_777 the list of games you've tested and mentioned on the spreadsheet have 100% compatibility.
The compatibility for me is more of a mixed bag, can I ask you which SD card do you use with mx4sio?
 
I wasn't referring to you but the seller of that Aliexpress store, sorry for the confusion. As for the delay on the pullups you're suggesting using some capacitors inline with the data pin to cause a buffer or delay in getting power to them? Does it mention any kind of time from power on to them being pulled up in the spec sheet you read?

I believe there is. The SD Association publishes a simplified version of the spec which I think is what SanDisk is referencing for timing. I know it's "some amount of time".

I'm thinking "capacitor and zener diode one shot timer" tier stuff at this point, not 555 one shot timer shenanigans.

I'm about to discuss this awesome project on a podcast and I was hoping to clarify a few things:

1) Is this the main link to the project? No other github, wiki or dedicated page?

2) Is this officially an open source project? If so, what license is it released under?

3) Is having a separate boot card and a MicroSD card a requirement? There's no way to make one single card to do everything?

4) What's the possibility of adding something like an ESP32 chip and loading games across wifi?

Thank you all for your time and creating this excellent project!!!

  1. Unfortunately sort of? I don't remember who owns the ps2 homebrew org on GitHub, but that would be a good place to put it.
  2. OpenPS2Loader is open source, as is the ps2sdk. I'm publishing my work, as well, under the CERN OHL2, which is a proper open source license.
  3. Yes and no. For fat ps2s, FreeHDBoot works fine to start OPL. For slim ps2s, you need FreeMcBoot or Fortuna, both of which depend on using a legitimate MagicGate card. Only Sony produced those and everyone else that I've seen had something molded around that.
  4. Perhaps, depends on if someone can cram all that onto a single sided PCB the size of a few postage stamps. Not impossible by far, though it would make some things easier ( we have to reverse the order of the bits sent and I think received, having an interposer with dedicated hardware would be useful)
 
3) Is having a separate boot card and a MicroSD card a requirement? There's no way to make one single card to do everything?

No, because it is not a Memory Card. To have such thing we need clone MagicGate hardware stuff and format memory as MCFS which is slow and cannot be used for storage such large files as disc images without cutting them into pieces. To have both MC and MX4SIO in one device, require above plus changes in BDM to read FAT32 right after last sector occupied by MCFS (no partition table is possible because PS2 firmware will not understand it, so it will not see the MCFS). Eventually require some switch between banks to allow user switching between clone of MC and MX4SIO and the last one is mostly doable even today if someone have skills and money.

Consider this device as mass storage media like i.e pendrive, yet not for USB, but for SIO (because it is faster).
 
Last edited:
@Workz_777 the list of games you've tested and mentioned on the spreadsheet have 100% compatibility.
The compatibility for me is more of a mixed bag, can I ask you which SD card do you use with mx4sio?

Hey bro, for me it was 87% working - i didn't pass on the 13% to @Versatile that didn't work for the spreadsheet, because most of those games were already in Red on the list from before, when TnA + Anakin was testing them, and those didn't work for me either.

I used a Kioxia Exceria (which is Toshiba) 16GB and also a 32GB one. Each time before i loaded another list of games into the memory card to test, i formatted it every time with GuiFormat, the cluster size was 16k. That helped with the compatibility for sure.

I also have a Toshiba Exceria 32GB which gives the same results.

EDIT: ...i forgot to add that a Sony PS1 / DS1 controller caused many games not to load / crash. Having a Sony DS2 controller (only) on port 1 helped alot, especially for racing games, and some others.

I'm about to discuss this awesome project on a podcast and I was hoping to clarify a few things:

1) Is this the main link to the project? No other github, wiki or dedicated page?

2) Is this officially an open source project? If so, what license is it released under?

3) Is having a separate boot card and a MicroSD card a requirement? There's no way to make one single card to do everything?

4) What's the possibility of adding something like an ESP32 chip and loading games across wifi?

Thank you all for your time and creating this excellent project!!!

:D Hey Bob!! ...welcome! I've been reading your RetroRGB website and listening to your podcast for years, nice to have you here bro, and cool you want to feature MX4SIO on a podcast.

With regards to all your questions, maybe @TnA can help, he is the overall organiser of the MX4SIO project.
 
Last edited by a moderator:
Whoa..
I was able to build my own prototype of MX4SIO (without sacrificing my precious PS2 memory cards :) ).
Thank you everyone who made MX4SIO possible.
Since I do not have enough equipment I decided to etch memory card contacts only by masking contact area.
and... it worked !!!!!!!
OPL detected my homemade MX4SIO sd card games and it worked so much better than running games from USB drive!
I couldn't believe that my homemade prototype PCB actually worked..
I might just build slightly improved prototype.

If you can get cheap PCB mask, ferric chloride and copper board, you might be able to build this by your own.
 
Thanks for the replies @indrora, @Berion & @Workz_777! I'll see what thoughts @TnA has as well.

I might be able to convince some friends with ESP32 knowledge to help out with this, as I think ANY plug and play solution would be amazing.

And thanks for the 2-card clarification. I know a few people who might be able to help with this, but they're deep into other projects at the moment. I'll mention the specifics on the podcast, in case anyone listening can jump in and help.

This is such a cool project!
 

Similar threads

Back
Top