From 1510a5252fc84728eb809842e92ff8f90bf3c63c Mon Sep 17 00:00:00 2001 From: Jacques Gagnon Date: Sun, 20 Aug 2023 20:45:47 -0400 Subject: [PATCH] [MC] Save some IRAM --- main/adapter/memory_card.c | 8 ++++---- main/linker.lf | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/main/adapter/memory_card.c b/main/adapter/memory_card.c index 717f7a44..73cac6eb 100644 --- a/main/adapter/memory_card.c +++ b/main/adapter/memory_card.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Jacques Gagnon + * Copyright (c) 2021-2023, Jacques Gagnon * SPDX-License-Identifier: Apache-2.0 */ @@ -164,11 +164,11 @@ void mc_storage_update(void) { } /* Assume r/w size will never cross blocks boundary */ -void mc_read(uint32_t addr, uint8_t *data, uint32_t size) { +void IRAM_ATTR mc_read(uint32_t addr, uint8_t *data, uint32_t size) { memcpy(data, mc_buffer[addr >> 12] + (addr & 0xFFF), size); } -void mc_write(uint32_t addr, uint8_t *data, uint32_t size) { +void IRAM_ATTR mc_write(uint32_t addr, uint8_t *data, uint32_t size) { struct raw_fb fb_data = {0}; uint32_t block = addr >> 12; @@ -181,6 +181,6 @@ void mc_write(uint32_t addr, uint8_t *data, uint32_t size) { adapter_q_fb(&fb_data); } -uint8_t *mc_get_ptr(uint32_t addr) { +uint8_t IRAM_ATTR *mc_get_ptr(uint32_t addr) { return mc_buffer[addr >> 12] + (addr & 0xFFF); } diff --git a/main/linker.lf b/main/linker.lf index 5bbf4adf..bac12ef9 100644 --- a/main/linker.lf +++ b/main/linker.lf @@ -23,5 +23,4 @@ entries: pce_io (noflash) jag_io (noflash) wii_i2c (noflash) - memory_card (noflash) devcrypto (noflash)