====== M3i Zero (GMP-Z003) programming ====== Sourced from [[https://github.com/handsomematt/gmp-z003]] ===== Commands ===== ==== Card: Info (B0 00 00 00 00 00 00 00) ===== Should be 0x5AA5. ==== Card: Write (C5 aa bb cc dd tt 00 00) ===== Receives 512 bytes. * ''aabbccdd'' - offset in number of words (?) * ''tt'' - type: * ''0x00'' - SD card access (?) * ''0xE0'' - "SW" header, used with offset = 0, after that offset += 0x10000 (in number of words) * ''0xF0'' - "SW" regular sector (0x200 bytes) * ''0xA0'' - "HW" sector. One sector (header ?) is at 0x80000000 then the others start at offset 0. ==== Card: Query write status? (C6 00 00 00 00 00 00 00) ===== Returns four bytes (= 0 when finished). ==== Card: Read (C9 aa bb cc dd tt 00 00) ===== Returns 512 bytes. * ''aabbccdd'' - offset in number of words (?) * ''tt'' - type (see above) ==== Card: Query read status (CA 00 00 00 00 00 00 00) ===== Returns four bytes (= 0 when finished).