Open fengye opened 11 months ago
Try to use 0.6 sketch but change line:
SPI.beginTransaction(SPISettings(125000, LSBFIRST, SPI_MODE3)); to SPI.beginTransaction(SPISettings(250000, LSBFIRST, SPI_MODE3));
That will bump the SPI speed to 250khz, as per standard. Maybe the card is picky about the speed, some are.
I changed it because there should be 1K pullups on each data line, same as on a real PSX but due to sake of simplicity of not bothering users with complicated setups I dropped speed and that worked in my tests with genuine and fake cards, with some exceptions...
Hi sorry for the late reply. I just got more spare official PS1 memory cards to test with. Unfortunately setting to 250k doesn't work for me on those genuine cards. Do you think install the pullups will help? Do you have more details on which data lines and what voltage they needed to be pulled up?
Installing pull-ups should help, yes. Put 1K external pull-ups to 3.3V on Cmd, Data, Att, Clk and Ack lines. You can try with both 125 and 250 khz, 250 being the spec.
What I find strange is that you said 0.4 works. If all else fails and 0.4 is working properly don't worry, apart for more board support and faster serial there is no real benefit on 0.6 in communication with Memory Card.
If you change Serial.begin(38400) to Serial.begin(115200) you will get all the benefit of 0.6 on 0.4 with working writes.
Setup:
With this setup, the memcarduino with latest 0.6 firmware can read data using MemorycardRex without problem. However when it comes to format and write data, I cannot get it work, it always stuck in GUI. Using memocarduino.py has the same issue.
I noticed there was a 328P support break after merging in mega2560 support so I decided to switch to commit
c8ca8b517cbc678d27727cf46a8524e1a6c97a19
to give it a go. And then writing operation works without issue, although I have to set the baudrate to 38400 legacy mode in MemorycardRex.I initially though it could be the 3.3V power provided by my mini FTDI board isn't enough so I soldered external 3.3V to provide additional power, but that has no use helping firmware 0.6 to write data in my case.