MicroSD Memory Card Emulator

Start a log and update it occasionally with your projects progress
Post Reply
Dark-Show
Curious PSXDEV User
Curious PSXDEV User
Posts: 32
Joined: May 2nd, 2012, 3:33 pm

MicroSD Memory Card Emulator

Post by Dark-Show » July 2nd, 2014, 5:12 am

This is a placeholder for a project I'm working on, will use a PIC16 to interface a MicroSD card to the Memorycard port, and use a peice of homebrew to change the page on the SD, and to manage saves between pages. Will not use a filesystem on the SD but will directly access the storage of the card in 128kb chunks. Will work on hardware to respond to software communication to change pages.

I'm hoping this could lead to a better mechanism for testing out savedata exploits and other such things.
Might also be a good companion for PSIO and the amount of save data a PS1 Library could need.

Found a wonderful resource by nocash.
http://problemkaputt.de/psx-spx.htm#mem ... tecommands

*on hold until my new dev setup arrives.

mousefx
Interested PSXDEV User
Interested PSXDEV User
Posts: 6
Joined: March 8th, 2013, 3:56 am

Re: MicroSD Memory Card Emulator

Post by mousefx » August 22nd, 2014, 3:27 am

Ok is an intresting idea you could store all your save files as a backup

Showblack
What is PSXDEV?
What is PSXDEV?
Posts: 1
Joined: September 15th, 2015, 9:59 pm

Re: MicroSD Memory Card Emulator

Post by Showblack » September 15th, 2015, 10:01 pm

What are you talking about project.

RetroRepair
Curious PSXDEV User
Curious PSXDEV User
Posts: 22
Joined: April 17th, 2012, 10:19 pm

Re: MicroSD Memory Card Emulator

Post by RetroRepair » October 19th, 2015, 2:20 am

I've thought about doing this for a long time, though with a filesystem for easy save file managment and multiple memory cards on the same SD.

Will keep a close eye on this!

User avatar
cybdyn
Cybdyn Systems
Cybdyn Systems
Posts: 405
Joined: January 13th, 2012, 1:56 am
I am a: Embedded Developer (MCU & FPGA)
PlayStation Model: 5502
Location: Belarus (Minsk)

Re: MicroSD Memory Card Emulator

Post by cybdyn » October 19th, 2015, 3:06 am

we plan do some thing to save mem card on SD. through ps1 lib access to mem, and read/write sata to SD by psio.

another interesting idea would be emulation by psio memcard as-is, but i see ppl dislike solder wires, so it'll better start from first idea above, just move data to SD.

Meta
Active PSXDEV User
Active PSXDEV User
Posts: 37
Joined: December 14th, 2015, 3:05 pm

Re: MicroSD Memory Card Emulator

Post by Meta » December 22nd, 2015, 7:08 am

Hello:

Easier to use Arduino to SD module, as this can guarfar in FAT32 format. It's just a oopción if desired.

Does anyone have clear and send commands?


Interesting project, do not abandon him.

Code: Select all


  Send Reply Comment
  81h  N/A   Memory Card Access (unlike 01h=Controller access), dummy response
  52h  FLAG  Send Read Command (ASCII "R"), Receive FLAG Byte
  00h  5Ah   Receive Memory Card ID1
  00h  5Dh   Receive Memory Card ID2
  MSB  (00h) Send Address MSB  ;\sector number (0..3FFh)
  LSB  (pre) Send Address LSB  ;/
  00h  5Ch   Receive Command Acknowledge 1  ;<-- late /ACK after this byte-pair
  00h  5Dh   Receive Command Acknowledge 2
  00h  MSB   Receive Confirmed Address MSB
  00h  LSB   Receive Confirmed Address LSB
  00h  ...   Receive Data Sector (128 bytes)
  00h  CHK   Receive Checksum (MSB xor LSB xor Data bytes)
  00h  47h   Receive Memory End Byte (should be always 47h="G"=Good for Read)

Non-sony cards additionally send eight 5Ch bytes after the end flag.
When sending an invalid sector number, original Sony memory cards respond with FFFFh as Confirmed Address (and do then abort the transfer without sending any data, checksum, or end flag), third-party memory cards typically respond with the sector number ANDed with 3FFh (and transfer the data for that adjusted sector number).

Writing Data to Memory Card

  Send Reply Comment
  81h  N/A   Memory Card Access (unlike 01h=Controller access), dummy response
  57h  FLAG  Send Write Command (ASCII "W"), Receive FLAG Byte
  00h  5Ah   Receive Memory Card ID1
  00h  5Dh   Receive Memory Card ID2
  MSB  (00h) Send Address MSB  ;\sector number (0..3FFh)
  LSB  (pre) Send Address LSB  ;/
  ...  (pre) Send Data Sector (128 bytes)
  CHK  (pre) Send Checksum (MSB xor LSB xor Data bytes)
  00h  5Ch   Receive Command Acknowledge 1
  00h  5Dh   Receive Command Acknowledge 2
  00h  4xh   Receive Memory End Byte (47h=Good, 4Eh=BadChecksum, FFh=BadSector)


Get Memory Card ID Command

  Send Reply Comment
  81h  N/A   Memory Card Access (unlike 01h=Controller access), dummy response
  53h  FLAG  Send Get ID Command (ASCII "S"), Receive FLAG Byte
  00h  5Ah   Receive Memory Card ID1
  00h  5Dh   Receive Memory Card ID2
  00h  5Ch   Receive Command Acknowledge 1
  00h  5Dh   Receive Command Acknowledge 2
  00h  04h   Receive 04h
  00h  00h   Receive 00h
  00h  00h   Receive 00h
  00h  80h   Receive 80h

This command is supported only by original Sony memory cards. Not sure if all sony cards are responding with the same values, and what meaning they have, might be number of sectors (0400h) and sector size (0080h) or whatever.
I want to know how to send commands, the concept to do to me, I can make an example with Visual Studio .NET directly or with Arduino or PIC16F886.

At least know the concept of what to do to save a block of memory, as does a DevDrive and Dexplorer. He says above codes but not play with it, if they find examples of how to do it, put links here.

First of all. This project is still standing?

Reading Data from Memory Card

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests