diff --git a/include/arm9/dev.h b/include/arm9/dev.h index f24266f..6db1b34 100644 --- a/include/arm9/dev.h +++ b/include/arm9/dev.h @@ -7,7 +7,7 @@ bool initialized; bool (*init)(); bool (*read)(u32 offset, u32 size, void *buf); - bool (*write)(u32 offset, u32 size, void *buf); + bool (*write)(u32 offset, u32 size, const void *buf); bool (*close)(); bool (*is_active)(); diff --git a/include/arm9/sdmmc.h b/include/arm9/sdmmc.h index 6e9023b..6322c39 100644 --- a/include/arm9/sdmmc.h +++ b/include/arm9/sdmmc.h @@ -122,11 +122,11 @@ void sdmmc_init(); int sdmmc_sdcard_readsector(uint32_t sector_no, uint8_t *out); int sdmmc_sdcard_readsectors(uint32_t sector_no, uint32_t numsectors, uint8_t *out); - int sdmmc_sdcard_writesector(uint32_t sector_no, uint8_t *in); - int sdmmc_sdcard_writesectors(uint32_t sector_no, uint32_t numsectors, uint8_t *in); + int sdmmc_sdcard_writesector(uint32_t sector_no, const uint8_t *in); + int sdmmc_sdcard_writesectors(uint32_t sector_no, uint32_t numsectors, const uint8_t *in); int sdmmc_nand_readsectors(uint32_t sector_no, uint32_t numsectors, uint8_t *out); - int sdmmc_nand_writesectors(uint32_t sector_no, uint32_t numsectors, uint8_t *in); + int sdmmc_nand_writesectors(uint32_t sector_no, uint32_t numsectors, const uint8_t *in); mmcdevice *getMMCDevice(int drive); diff --git a/source/arm9/dev.c b/source/arm9/dev.c index 19b3312..5ff72d0 100644 --- a/source/arm9/dev.c +++ b/source/arm9/dev.c @@ -12,7 +12,7 @@ // SD card device bool sdmmc_sd_init(void); bool sdmmc_sd_read(u32 offset, u32 size, void *buf); -bool sdmmc_sd_write(u32 offset, u32 size, void *buf); +bool sdmmc_sd_write(u32 offset, u32 size, const void *buf); bool sdmmc_sd_close(void); bool sdmmc_sd_is_active(void); @@ -30,7 +30,7 @@ // Raw NAND device bool sdmmc_rnand_init(void); bool sdmmc_rnand_read(u32 offset, u32 size, void *buf); -bool sdmmc_rnand_write(u32 offset, u32 size, void *buf); +bool sdmmc_rnand_write(u32 offset, u32 size, const void *buf); bool sdmmc_rnand_close(void); bool sdmmc_rnand_is_active(void); @@ -64,7 +64,7 @@ bool sdmmc_dnand_init(void); bool sdmmc_dnand_read(u32 offset, u32 size, void *buf); -bool sdmmc_dnand_write(u32 offset, u32 size, void *buf); +bool sdmmc_dnand_write(u32 offset, u32 size, const void *buf); bool sdmmc_dnand_close(void); bool sdmmc_dnand_is_active(void); @@ -123,7 +123,7 @@ return !sdmmc_sdcard_readsectors(offset >> 9, size >> 9, buf); } -bool sdmmc_sd_write(u32 offset, u32 size, void *buf) +bool sdmmc_sd_write(u32 offset, u32 size, const void *buf) { if(!dev_sd.initialized) return false; @@ -162,7 +162,7 @@ return !sdmmc_nand_readsectors(offset >> 9, size >> 9, buf); } -bool sdmmc_rnand_write(u32 offset, u32 size, void *buf) +bool sdmmc_rnand_write(u32 offset, u32 size, const void *buf) { if(!dev_rnand.initialized) return false; @@ -309,7 +309,7 @@ return true; } -bool sdmmc_dnand_write(u32 offset, u32 size, void *buf) +bool sdmmc_dnand_write(u32 offset, u32 size, const void *buf) { if(!dev_dnand.dev.initialized) return false; diff --git a/source/arm9/sdmmc.c b/source/arm9/sdmmc.c index 85d0329..4909802 100644 --- a/source/arm9/sdmmc.c +++ b/source/arm9/sdmmc.c @@ -215,7 +215,7 @@ } } -int sdmmc_sdcard_writesectors(uint32_t sector_no, uint32_t numsectors, uint8_t *in) +int sdmmc_sdcard_writesectors(uint32_t sector_no, uint32_t numsectors, const uint8_t *in) { if(handleSD.isSDHC == 0) sector_no <<= 9; inittarget(&handleSD); @@ -225,7 +225,7 @@ sdmmc_write16(REG_SDBLKLEN32,0x200); #endif sdmmc_write16(REG_SDBLKCOUNT,numsectors); - handleSD.data = in; + handleSD.data = (uint8_t*) in; handleSD.size = numsectors << 9; sdmmc_send_command(&handleSD,0x52C19,sector_no); return geterror(&handleSD); @@ -264,7 +264,7 @@ return geterror(&handleNAND); } -int sdmmc_nand_writesectors(uint32_t sector_no, uint32_t numsectors, uint8_t *in) //experimental +int sdmmc_nand_writesectors(uint32_t sector_no, uint32_t numsectors, const uint8_t *in) //experimental { if(handleNAND.isSDHC == 0) sector_no <<= 9; inittarget(&handleNAND); @@ -274,7 +274,7 @@ sdmmc_write16(REG_SDBLKLEN32,0x200); #endif sdmmc_write16(REG_SDBLKCOUNT,numsectors); - handleNAND.data = in; + handleNAND.data = (uint8_t*) in; handleNAND.size = numsectors << 9; sdmmc_send_command(&handleNAND,0x52C19,sector_no); inittarget(&handleSD);