notes:flashcart:r4ds
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
notes:flashcart:r4ds [2023/10/16 14:26] – asie | notes:flashcart:r4ds [2023/10/16 15:03] (current) – asie | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== R4 (NDS) programming ====== | ====== R4 (NDS) programming ====== | ||
- | Original research provided mostly by lifehackerhansol. | + | Original research provided mostly |
===== Control flags ===== | ===== Control flags ===== | ||
Line 13: | Line 13: | ||
===== Commands ===== | ===== Commands ===== | ||
- | ==== Get card status (B0 ?? ?? ?? ?? ?? ?? ??) ==== | + | ==== Get card status (B0 00 00 00 00 00 00 00) ==== |
< | < | ||
31 | 31 | ||
- | ???? ???? ???? ???? ???? ???m mmmm msss | + | ???? ???? ???? ???? ???? ???L LLml lsss |
| |||| |||| | | |||| |||| | ||
| |||| |+++- Initialization status: | | |||| |+++- Initialization status: | ||
Line 25: | Line 25: | ||
| |||| | 3 - could not find _DS_MENU.DAT | | |||| | 3 - could not find _DS_MENU.DAT | ||
| |||| | 4 - success | | |||| | 4 - success | ||
- | +-++++-+---- Model: | + | | |||+-+---- Language: |
- | 0x3A - M3DS Simply | + | | ||| 1 - Japanese |
- | 0x3E - R4 Revolution for DS | + | | ||| 2 - English |
+ | | ||| 3 - Chinese | ||
+ | | ||+------- Model: | ||
+ | | || 0 - M3DS Simply | ||
+ | | || 1 - R4 Revolution for DS | ||
+ | | ||
+ | | ||
+ | | ||
+ | 3:0? - Simplified Chinese | ||
+ | 3:1? - Traditional Chinese | ||
</ | </ | ||
- | ==== Save read request (B2 sd sc sb sa ?? ?? ??) ==== | + | ==== Save read request (B2 sd sc sb sa 00 00 00) ==== |
SD read request, but using the " | SD read request, but using the " | ||
- | ==== Save read data (B3 ?? ?? ?? ?? ?? ?? ??) ==== | + | ==== Save read data (B3 00 00 00 00 00 00 00) ==== |
SD read data, but using the " | SD read data, but using the " | ||
Line 59: | Line 68: | ||
Points to _DS_MENU.DAT on initialization. | Points to _DS_MENU.DAT on initialization. | ||
- | ==== ROM read data (B7 ?? ?? ?? ?? ?? ?? ??) ==== | + | ==== ROM read data (B7 00 00 00 00 00 00 00) ==== |
SD read data, but using the " | SD read data, but using the " | ||
- | ==== ? Get card ID ? (B8 ?? ?? ?? ?? ?? ?? ??) ==== | + | ==== Get card ID (B8 00 00 00 00 00 00 00) ==== |
+ | |||
+ | [[https:// | ||
+ | |||
+ | > Card ID commands are not patched and use the timings from the retail game ROM header, but without L1 latency (that' | ||
==== SD read request (B9 sd sc sb sa 00 00 00) ==== | ==== SD read request (B9 sd sc sb sa 00 00 00) ==== | ||
Line 69: | Line 82: | ||
* (MSB) sd sc sb sa (LSB) - sector address, in bytes | * (MSB) sd sc sb sa (LSB) - sector address, in bytes | ||
- | Returns | + | Returns |
==== SD read data (BA 00 00 00 00 00 00 00) ==== | ==== SD read data (BA 00 00 00 00 00 00 00) ==== | ||
Line 85: | Line 98: | ||
* (MSB) sd sc sb sa (LSB) - sector address, in bytes | * (MSB) sd sc sb sa (LSB) - sector address, in bytes | ||
- | Returns | + | Returns |
==== Save write start (BD sd sc sb sa 00 00 00) ==== | ==== Save write start (BD sd sc sb sa 00 00 00) ==== | ||
Line 95: | Line 108: | ||
SD write status, but using the " | SD write status, but using the " | ||
- | ==== ROM read decrypted data (BF ?? ?? ?? ?? ?? ?? ??) ==== | + | ==== ROM read decrypted data (BF 00 00 00 00 00 00 00) ==== |
Same as SD read data, but applying a XOR-based obfuscation algorithm to the buffer' | Same as SD read data, but applying a XOR-based obfuscation algorithm to the buffer' |
notes/flashcart/r4ds.1697466403.txt.gz · Last modified: 2023/10/16 14:26 by asie