Skip to content
This repository was archived by the owner on Dec 14, 2025. It is now read-only.

Commit 3594e70

Browse files
committed
[MC] Report memory card only after RAM is init
1 parent 999f6e2 commit 3594e70

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

main/adapter/memory_card.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ SOC_RESERVE_MEMORY_REGION(0x3FFE7D98, 0x3FFE7E28, bad_region);
2222
static uint8_t *mc_buffer[MC_BUFFER_BLOCK_CNT] = {0};
2323
static esp_timer_handle_t mc_timer_hdl = NULL;
2424
static int32_t mc_block_state = 0;
25+
static bool mc_ready = false;
2526

2627
static int32_t mc_restore(void);
2728
static int32_t mc_store(void);
@@ -157,6 +158,10 @@ int32_t mc_init(void) {
157158
ret = mc_restore();
158159
}
159160

161+
if (ret == 0) {
162+
mc_ready = true;
163+
}
164+
160165
return ret;
161166
}
162167

@@ -192,3 +197,7 @@ uint8_t IRAM_ATTR *mc_get_ptr(uint32_t addr) {
192197
uint32_t IRAM_ATTR mc_get_state(void) {
193198
return mc_block_state;
194199
}
200+
201+
bool IRAM_ATTR mc_get_ready(void) {
202+
return mc_ready;
203+
}

main/adapter/memory_card.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@ void mc_read(uint32_t addr, uint8_t *data, uint32_t size);
1818
void mc_write(uint32_t addr, uint8_t *data, uint32_t size);
1919
uint8_t *mc_get_ptr(uint32_t addr);
2020
uint32_t mc_get_state(void);
21+
bool mc_get_ready(void);
2122

2223
#endif /* _MEMORY_CARD_H_ */

main/wired/maple.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ static unsigned maple_rx(unsigned cause) {
451451
if (config.out_cfg[port].acc_mode & ACC_RUMBLE) {
452452
pkt.src |= ADDR_RUMBLE;
453453
}
454-
if (config.out_cfg[port].acc_mode & ACC_MEM) {
454+
if (config.out_cfg[port].acc_mode & ACC_MEM && mc_get_ready()) {
455455
pkt.src |= ADDR_MEM;
456456
}
457457
pkt.dst = dst;

0 commit comments

Comments
 (0)