libctr9
Nintendo 3DS ARM9 library
protocol.h
1 // Copyright 2014 Normmatt
2 // Licensed under GPLv2 or any later version
3 // Refer to the license.txt file included.
4 
5 #pragma once
6 #include <stdint.h>
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 #define REG_CARDCONF (*(volatile uint16_t*)0x1000000C)
13 #define REG_CARDCONF2 (*(volatile uint8_t*)0x10000010)
14 
15 //REG_AUXSPICNT
16 #define CARD_ENABLE (1u<<15)
17 #define CARD_SPI_ENABLE (1u<<13)
18 #define CARD_SPI_BUSY (1u<<7)
19 #define CARD_SPI_HOLD (1u<<6)
20 
21 #define LATENCY 0x822Cu
22 
23 uint32_t BSWAP32(uint32_t val);
24 
25 void Cart_Init(void);
26 int Cart_IsInserted(void);
27 uint32_t Cart_GetID(void);
28 void Cart_Secure_Init(uint32_t* buf, uint32_t* out);
29 void Cart_Dummy(void);
30 
31 #ifdef __cplusplus
32 }
33 #endif
34 
35