dangiu / PicoMemcard

Emulating PSX Memory Card (or controller) using a Raspberry Pi Pico
GNU General Public License v3.0
529 stars 38 forks source link

With RP2040 zero,ps1 not detect #3

Closed sceic closed 2 years ago

sceic commented 2 years ago

With RP2040 zero, the .mcr file can be recognized through usb after writing the program. However, it cannot be detected by ps1 9002. It has been checked 3.3v power supply and the data line connection are not abnormal.

sceic commented 2 years ago

PXL_20220605_144626553.jpg

PXL_20220605_144658149.jpg

darrena092 commented 2 years ago

How are you testing whether or not it detects it? Did you program it with an image containing saves and they don't show up in the bios?

Also, have you checked continuity between the edge connector on the memory card and the copper pads on the rp2040 zero board?

Edit: Did you also cut the traces fully? It's hard to see from the photo. That could cause it to have a bad time too.

sceic commented 2 years ago

How are you testing whether or not it detects it? Did you program it with an image containing saves and they don't show up in the bios? Tested through the ps1 bios - memory card management interface, the slot 2 card cannot be copied to the Pico memorycard(slot 1).I used the Version 0.0.2 uf2 image to put into the RP2040 zero usb drive.

Also, have you checked continuity between the edge connector on the memory card and the copper pads on the rp2040 zero board? Checked the connectivity from the edge of the RP2040 to the memory card pins inside the ps1, all connected.

Edit: Did you also cut the traces fully? It's hard to see from the photo. That could cause it to have a bad time too. I cut off the traces before soldering, and after soldering rechecked that each contact didn't come back on.

sceic commented 2 years ago

PXL_20220606_125431948.jpg

PXL_20220606_130405821.jpg

This is a photo after adjusting the angle of the wires.

The memory card is still not detects in the BIOS, but it can be save and load normally in the game.

After restarting the PS1, the memory card can be load and save in the game, but it still cannot be seen in the BIOS.

darrena092 commented 2 years ago

That's really interesting, so it works in a game, but not in the bios. You can't see your save icons in the memory card browser? In your first comment you said it's a SCPH-9002?

dangiu commented 2 years ago

Very interesting indeed. SCPH-9002 is a PAL model running bios version 4.1 I believe. It would be interesting to test if other models with the same firmware version behave equally. I have a couple of questions:

  1. Do you have an oscilloscope? Could you capture the data being exchanged between PicoMemcard and PSX
  2. In what game can you use it correcly to save/load? Could you try a couple different games?
sceic commented 2 years ago

Very interesting indeed. SCPH-9002 is a PAL model running bios version 4.1 I believe. It would be interesting to test if other models with the same firmware version behave equally. I have a couple of questions:

  1. Do you have an oscilloscope? Could you capture the data being exchanged between PicoMemcard and PSX
  2. In what game can you use it correcly to save/load? Could you try a couple different games?

I have an oscilloscope Rigol DS1102Z-E (100MHz bandwidth and 1GSa/s) but need guidance on how to test data exchange as I just bought it.

The game is FinalFantasy 8, other games have not been tested, I will try other games later, such as Tomb Raider 2.

sceic commented 2 years ago

That's really interesting, so it works in a game, but not in the bios. You can't see your save icons in the memory card browser? In your first comment you said it's a SCPH-9002?

In BIOS. memory card browser no icons. and can't copy saves betwin slot1&2. Through Playstation 3 Memory Card Adapter + Playstation 1 Memory Card Manager (http://onorisoft.free.fr/psx/ps1mcman.zip), I can view the saved game files on PC.

Yes,my PS1 is SCPH-9002.

darrena092 commented 2 years ago

Odd, I'm using the same console, SCPH-9002 and saves show up fine in the bios.

dangiu commented 2 years ago

I'm not familiar with that model of oscilloscope but I can give you some general advices:

sceic commented 2 years ago

When I read the memory card through the bios just now, the icon can be displayed normally, and the copy function is no problem.

This may be related to my operation of New MC and Save MC through "PS1 Memory Card Manager - OrionSoft[2019] " last night. I'm not sure, didn't have time to test today, I'll repeat it tomorrow to see how it turns out.

dangiu commented 2 years ago

Ok keep me updated 👍

sceic commented 2 years ago

Screenshot 2022-06-08 23-22-48

I tried to restore the MEMCARD.MCR to the file generated by the initial compilation, so I held down the BOOT button to enter the UF2 Bootloader, then put the PicoMemcard.uf2 back in, safely removed the usb, and inserted the PSX slot1, at this point the psx bios can still read to the previously stored save. is this normal?

Then I close the PSX again, connect the PicoMemcard to the computer through the usb, then shift+del MEMCARD.MCR, enter the UF2 Bootloader again, put the PicoMemcard.uf2 again, and insert the psx slot1. At this time, the psx bios can still read the previously stored save. How to restore MEMCARD.MCR to the initialization file?

sceic commented 2 years ago

微信图片_20220609093934

I moved the RP2020 zero into the same memory card case as the author, and the integrated size is very good. I have a feeling that the original problem might be related to the MCR file that was originally generated, but it's working fine now.

dangiu commented 2 years ago

Yes it's normal. Because firmware for these chips are statically allocated, meaning that they get always loaded in the exact same address. In this case the program does not overwrite the part of flash memory containing the filesystem with the MEMCARD.MCR file. If you want to completely wipe the flash memory the Raspberry Foundation provides a special uf2 file called something like flash_nuke. It's near the bottom of this page: https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html

Anyway the initial MEMCARD.MCR file shown on the first boot is actually just a placeholder (if you look it's actually 0 byte in size). That's why no savefile was popping up in your bios. In the repo (under "docs/images") I provided 2 memory card images you can use to test.

dangiu commented 2 years ago

very good. I have a feeling that the original problem might be related to the MCR file that was originally generated, but it's working fine

That tight integration looks great dude! I'll have to add a check to initialize the memory card image to an empty one if no file is provided. Thanks for the report!

sceic commented 2 years ago

thank you for the help