Table of Contents

M3DS Real (NDS) programming

Original research provided mostly by lifehackerhansol.

Control flags

Commands

Get card information (B0 ?? ?? ?? ?? ?? ?? ??)

SD multi-sector read request (B1 sd sc sb sa 00 00 00)

SD multi-sector read next (B2 sd sc sb sa 00 00 00)

SD multi-sector end (B3 ?? ?? ?? ?? ?? ?? ??)

SD multi-sector write start (B4 sd sc sb sa 00 00 00)

SD multi-sector write next (B5 sd sc sb sa 00 00 00)

SD multi-sector write status (B6 sd sc sb sa 00 00 00)

SD read data (BA 00 00 00 00 00 00 00)

Returns the 512 bytes read via the “SD read start” command.

SD write status (BC sd sc sb sa 00 00 00)

Returns zero if done, non-zero if ongoing.

SD read request (BD sd sc sb sa 00 00 00)

Returns zero when data is ready to access, non-zero if ongoing.

SD write start (BE sd sc sb sa 00 00 00)

Followed by 512 bytes of SD card data.

? (C8 ?? ?? ?? ?? ?? ?? ??)

? (CC ?? ?? ?? ?? ?? ?? ??)

? Get cart region ? (CD ?? ?? ?? ?? ?? ?? ??)