summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
authorcadmic <cadmic24@gmail.com>2025-01-17 03:56:22 -0800
committerGitHub <noreply@github.com>2025-01-17 06:56:22 -0500
commitd066586872cc7cc704873b4c7579885d6b3f731a (patch)
tree5adbe32bc5e69330acafabce08fa2bf355286f7a /src/code
parent4a205b9d4c978bf86f2706fee1560141a8547690 (diff)
[iQue] Match z_sram (#2426)
* [iQue] z_sram: Use iQue-specific read/write macros * [iQue] z_sram: Make checksum a struct * [iQue] z_sram: Finish matching * Call the trigraph usage a bug * Fix bss * Sram_iQueReadWrite -> Sram_ReadWriteIQue * Use SRAM_HEADER_MAGIC for loop bound * Rename sZeldaMagic -> sSramDefaultHeader and use less char literals
Diffstat (limited to 'src/code')
-rw-r--r--src/code/main.c2
-rw-r--r--src/code/z_camera.c2
-rw-r--r--src/code/z_kaleido_scope_call.c2
-rw-r--r--src/code/z_kankyo.c4
-rw-r--r--src/code/z_sram.c134
5 files changed, 96 insertions, 48 deletions
diff --git a/src/code/main.c b/src/code/main.c
index d2c3c9f8b..6e6e3026c 100644
--- a/src/code/main.c
+++ b/src/code/main.c
@@ -24,7 +24,7 @@ extern struct IrqMgr gIrqMgr;
#endif
#pragma increment_block_number "gc-eu:144 gc-eu-mq:144 gc-jp:144 gc-jp-ce:144 gc-jp-mq:144 gc-us:144 gc-us-mq:144" \
- "ntsc-1.0:130 ntsc-1.1:130 ntsc-1.2:130 pal-1.0:128 pal-1.1:128"
+ "ntsc-1.0:127 ntsc-1.1:127 ntsc-1.2:127 pal-1.0:125 pal-1.1:125"
extern u8 _buffersSegmentEnd[];
diff --git a/src/code/z_camera.c b/src/code/z_camera.c
index cb59ef55e..715d3f42c 100644
--- a/src/code/z_camera.c
+++ b/src/code/z_camera.c
@@ -3639,7 +3639,7 @@ s32 Camera_KeepOn3(Camera* camera) {
}
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
- "ntsc-1.0:133 ntsc-1.1:133 ntsc-1.2:133 pal-1.0:131 pal-1.1:131"
+ "ntsc-1.0:130 ntsc-1.1:130 ntsc-1.2:130 pal-1.0:128 pal-1.1:128"
s32 Camera_KeepOn4(Camera* camera) {
static Vec3f D_8015BD50;
diff --git a/src/code/z_kaleido_scope_call.c b/src/code/z_kaleido_scope_call.c
index 10fff2bb0..da348b331 100644
--- a/src/code/z_kaleido_scope_call.c
+++ b/src/code/z_kaleido_scope_call.c
@@ -1,4 +1,4 @@
-#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:224 gc-jp-ce:224 gc-jp-mq:224 gc-us:224 gc-us-mq:224" \
+#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \
"ntsc-1.0:224 ntsc-1.1:224 ntsc-1.2:224 pal-1.0:224 pal-1.1:224"
#include "global.h"
diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c
index a113a73bf..eff23ff2a 100644
--- a/src/code/z_kankyo.c
+++ b/src/code/z_kankyo.c
@@ -1,5 +1,5 @@
-#pragma increment_block_number "gc-eu:220 gc-eu-mq:220 gc-jp:212 gc-jp-ce:212 gc-jp-mq:212 gc-us:212 gc-us-mq:212" \
- "ntsc-1.0:224 ntsc-1.1:224 ntsc-1.2:224 pal-1.0:228 pal-1.1:228"
+#pragma increment_block_number "gc-eu:216 gc-eu-mq:216 gc-jp:212 gc-jp-ce:212 gc-jp-mq:212 gc-us:212 gc-us-mq:212" \
+ "ntsc-1.0:208 ntsc-1.1:208 ntsc-1.2:208 pal-1.0:228 pal-1.1:228"
#include "global.h"
#include "ultra64.h"
diff --git a/src/code/z_sram.c b/src/code/z_sram.c
index 22d9cc07c..d7d453c9a 100644
--- a/src/code/z_sram.c
+++ b/src/code/z_sram.c
@@ -17,6 +17,30 @@
#define SLOT_OFFSET(index) (SRAM_HEADER_SIZE + 0x10 + (index * SLOT_SIZE))
+#if !PLATFORM_IQUE
+
+#define SRAM_READ(addr, dramAddr, size) SsSram_ReadWrite(addr, dramAddr, size, OS_READ)
+#define SRAM_WRITE(addr, dramAddr, size) SsSram_ReadWrite(addr, dramAddr, size, OS_WRITE)
+
+#else
+
+void Sram_ReadWriteIQue(s32 addr, void* dramAddr, size_t size, s32 direction) {
+ void* sramAddr;
+
+ addr -= OS_K1_TO_PHYSICAL(0xA8000000);
+ sramAddr = (void*)(__osBbSramAddress + addr);
+ if (direction == OS_READ) {
+ bcopy(sramAddr, dramAddr, size);
+ } else if (direction == OS_WRITE) {
+ bcopy(dramAddr, sramAddr, size);
+ }
+}
+
+#define SRAM_READ(addr, dramAddr, size) Sram_ReadWriteIQue(addr, dramAddr, size, OS_READ)
+#define SRAM_WRITE(addr, dramAddr, size) Sram_ReadWriteIQue(addr, dramAddr, size, OS_WRITE)
+
+#endif
+
u16 gSramSlotOffsets[] = {
SLOT_OFFSET(0),
SLOT_OFFSET(1),
@@ -27,7 +51,23 @@ u16 gSramSlotOffsets[] = {
SLOT_OFFSET(5),
};
-static char sZeldaMagic[] = { '\0', '\0', '\0', '\x98', '\x09', '\x10', '\x21', 'Z', 'E', 'L', 'D', 'A' };
+static u8 sSramDefaultHeader[] = {
+ // TODO: use enums for these
+ 0, // SRAM_HEADER_SOUND
+ 0, // SRAM_HEADER_ZTARGET
+ 0, // SRAM_HEADER_LANGUAGE
+
+ // SRAM_HEADER_MAGIC
+ 0x98,
+ 0x09,
+ 0x10,
+ 0x21,
+ 'Z',
+ 'E',
+ 'L',
+ 'D',
+ 'A',
+};
static SavePlayerData sNewSavePlayerData = {
{ '\0', '\0', '\0', '\0', '\0', '\0' }, // newf
@@ -138,15 +178,13 @@ static Inventory sNewSaveInventory = {
0, // gsTokens
};
-static u16 sNewSaveChecksum = 0;
+static Checksum sNewSaveChecksum = { 0 };
/**
* Initialize new save.
* This save has an empty inventory with 3 hearts and single magic.
*/
void Sram_InitNewSave(void) {
- SaveContext* temp = &gSaveContext;
-
bzero(&gSaveContext.save.info, sizeof(SaveInfo));
gSaveContext.save.totalDays = 0;
gSaveContext.save.bgsDayCount = 0;
@@ -154,8 +192,8 @@ void Sram_InitNewSave(void) {
gSaveContext.save.info.playerData = sNewSavePlayerData;
gSaveContext.save.info.equips = sNewSaveEquips;
gSaveContext.save.info.inventory = sNewSaveInventory;
+ gSaveContext.save.info.checksum = sNewSaveChecksum;
- temp->save.info.checksum = sNewSaveChecksum;
gSaveContext.save.info.horseData.sceneId = SCENE_HYRULE_FIELD;
gSaveContext.save.info.horseData.pos.x = -1840;
gSaveContext.save.info.horseData.pos.y = 72;
@@ -297,7 +335,7 @@ static Inventory sDebugSaveInventory = {
0, // gsTokens
};
-static u16 sDebugSaveChecksum = 0;
+static Checksum sDebugSaveChecksum = { 0 };
/**
* Initialize debug save. This is also used on the Title Screen
@@ -309,8 +347,6 @@ static u16 sDebugSaveChecksum = 0;
* and set water level in Water Temple to lowest level.
*/
void Sram_InitDebugSave(void) {
- SaveContext* temp = &gSaveContext;
-
bzero(&gSaveContext.save.info, sizeof(SaveInfo));
gSaveContext.save.totalDays = 0;
gSaveContext.save.bgsDayCount = 0;
@@ -318,8 +354,8 @@ void Sram_InitDebugSave(void) {
gSaveContext.save.info.playerData = sDebugSavePlayerData;
gSaveContext.save.info.equips = sDebugSaveEquips;
gSaveContext.save.info.inventory = sDebugSaveInventory;
+ gSaveContext.save.info.checksum = sDebugSaveChecksum;
- temp->save.info.checksum = sDebugSaveChecksum;
gSaveContext.save.info.horseData.sceneId = SCENE_HYRULE_FIELD;
gSaveContext.save.info.horseData.pos.x = -1840;
gSaveContext.save.info.horseData.pos.y = 72;
@@ -456,8 +492,11 @@ void Sram_OpenSave(SramContext* sramCtx) {
default:
if (gSaveContext.save.info.playerData.savedSceneId != SCENE_LINKS_HOUSE) {
- gSaveContext.save.entranceIndex =
- (LINK_AGE_IN_YEARS == YEARS_CHILD) ? ENTR_LINKS_HOUSE_0 : ENTR_TEMPLE_OF_TIME_7;
+ if (LINK_AGE_IN_YEARS == YEARS_CHILD) {
+ gSaveContext.save.entranceIndex = ENTR_LINKS_HOUSE_0;
+ } else {
+ gSaveContext.save.entranceIndex = ENTR_TEMPLE_OF_TIME_7;
+ }
} else {
gSaveContext.save.entranceIndex = ENTR_LINKS_HOUSE_0;
}
@@ -505,7 +544,8 @@ void Sram_OpenSave(SramContext* sramCtx) {
// if zelda cutscene has been watched but lullaby was not obtained, restore cutscene and take away letter
if (GET_EVENTCHKINF(EVENTCHKINF_40) && !CHECK_QUEST_ITEM(QUEST_SONG_LULLABY)) {
- i = gSaveContext.save.info.eventChkInf[EVENTCHKINF_INDEX_40] & ~EVENTCHKINF_MASK(EVENTCHKINF_40);
+ i = gSaveContext.save.info.eventChkInf[EVENTCHKINF_INDEX_40];
+ i &= ~EVENTCHKINF_MASK(EVENTCHKINF_40);
gSaveContext.save.info.eventChkInf[EVENTCHKINF_INDEX_40] = i;
INV_CONTENT(ITEM_ZELDAS_LETTER) = ITEM_CHICKEN;
@@ -551,7 +591,7 @@ void Sram_WriteSave(SramContext* sramCtx) {
u16 j;
u16* ptr;
- gSaveContext.save.info.checksum = 0;
+ gSaveContext.save.info.checksum.value = 0;
ptr = (u16*)&gSaveContext;
checksum = j = 0;
@@ -563,7 +603,7 @@ void Sram_WriteSave(SramContext* sramCtx) {
checksum += *ptr++;
}
- gSaveContext.save.info.checksum = checksum;
+ gSaveContext.save.info.checksum.value = checksum;
ptr = (u16*)&gSaveContext;
checksum = 0;
@@ -576,7 +616,7 @@ void Sram_WriteSave(SramContext* sramCtx) {
}
offset = gSramSlotOffsets[gSaveContext.fileNum];
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE, OS_WRITE);
+ SRAM_WRITE(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE);
ptr = (u16*)&gSaveContext;
checksum = 0;
@@ -589,7 +629,7 @@ void Sram_WriteSave(SramContext* sramCtx) {
}
offset = gSramSlotOffsets[gSaveContext.fileNum + 3];
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE, OS_WRITE);
+ SRAM_WRITE(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE);
}
/**
@@ -610,7 +650,7 @@ void Sram_VerifyAndLoadAllSaves(FileSelectState* fileSelect, SramContext* sramCt
PRINTF("SRAM START─LOAD\n");
bzero(sramCtx->readBuff, SRAM_SIZE);
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_READ);
+ SRAM_READ(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE);
dayTime = ((void)0, gSaveContext.save.dayTime);
@@ -620,8 +660,8 @@ void Sram_VerifyAndLoadAllSaves(FileSelectState* fileSelect, SramContext* sramCt
sizeof(Save));
MemCpy(&gSaveContext, sramCtx->readBuff + offset, sizeof(Save));
- oldChecksum = gSaveContext.save.info.checksum;
- gSaveContext.save.info.checksum = 0;
+ oldChecksum = gSaveContext.save.info.checksum.value;
+ gSaveContext.save.info.checksum.value = 0;
ptr = (u16*)&gSaveContext;
PRINTF("\n============= S(%d) =============\n", slotNum);
@@ -645,8 +685,8 @@ void Sram_VerifyAndLoadAllSaves(FileSelectState* fileSelect, SramContext* sramCt
offset = gSramSlotOffsets[slotNum + 3];
MemCpy(&gSaveContext, sramCtx->readBuff + offset, sizeof(Save));
- oldChecksum = gSaveContext.save.info.checksum;
- gSaveContext.save.info.checksum = 0;
+ oldChecksum = gSaveContext.save.info.checksum.value;
+ gSaveContext.save.info.checksum.value = 0;
ptr = (u16*)&gSaveContext;
PRINTF("================= BACK─UP ========================\n");
@@ -710,32 +750,33 @@ void Sram_VerifyAndLoadAllSaves(FileSelectState* fileSelect, SramContext* sramCt
newChecksum += *ptr++;
}
- gSaveContext.save.info.checksum = newChecksum;
- PRINTF("\nCheck_Sum=%x(%x)\n", gSaveContext.save.info.checksum, newChecksum);
+ gSaveContext.save.info.checksum.value = newChecksum;
+ PRINTF("\nCheck_Sum=%x(%x)\n", gSaveContext.save.info.checksum.value, newChecksum);
i = gSramSlotOffsets[slotNum + 3];
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000) + i, &gSaveContext, SLOT_SIZE, OS_WRITE);
+ SRAM_WRITE(OS_K1_TO_PHYSICAL(0xA8000000) + i, &gSaveContext, SLOT_SIZE);
- PRINTF("????#%x,%x,%x,%x,%x,%x\n", gSaveContext.save.info.playerData.newf[0],
+ //! @bug The ??= below is interpreted as a trigraph for # by IDO
+ PRINTF("??????=%x,%x,%x,%x,%x,%x\n", gSaveContext.save.info.playerData.newf[0],
gSaveContext.save.info.playerData.newf[1], gSaveContext.save.info.playerData.newf[2],
gSaveContext.save.info.playerData.newf[3], gSaveContext.save.info.playerData.newf[4],
gSaveContext.save.info.playerData.newf[5]);
PRINTF(T("\nぽいんと=%x(%d+3) check_sum=%x(%x)\n", "\npoints=%x(%d+3) check_sum=%x(%x)\n"), i,
- slotNum, gSaveContext.save.info.checksum, newChecksum);
+ slotNum, gSaveContext.save.info.checksum.value, newChecksum);
}
i = gSramSlotOffsets[slotNum];
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000) + i, &gSaveContext, SLOT_SIZE, OS_WRITE);
+ SRAM_WRITE(OS_K1_TO_PHYSICAL(0xA8000000) + i, &gSaveContext, SLOT_SIZE);
PRINTF(T("ぽいんと=%x(%d) check_sum=%x(%x)\n", "point=%x(%d) check_sum=%x(%x)\n"), i, slotNum,
- gSaveContext.save.info.checksum, newChecksum);
+ gSaveContext.save.info.checksum.value, newChecksum);
} else {
PRINTF(T("\nSAVEデータ OK!!!!\n", "\nSAVE data OK!!!!\n"));
}
}
bzero(sramCtx->readBuff, SRAM_SIZE);
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_READ);
+ SRAM_READ(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE);
gSaveContext.save.dayTime = dayTime;
PRINTF("SAVECT=%x, NAME=%x, LIFE=%x, ITEM=%x, 64DD=%x, HEART=%x\n", DEATHS, NAME, HEALTH_CAP, QUEST, N64DD,
@@ -809,7 +850,14 @@ void Sram_InitSave(FileSelectState* fileSelect, SramContext* sramCtx) {
#endif
for (offset = 0; offset < 8; offset++) {
+#if !PLATFORM_IQUE
gSaveContext.save.info.playerData.playerName[offset] = fileSelect->fileNames[fileSelect->buttonIndex][offset];
+#else
+ // Workaround for EGCS bug
+ u8* fileName = fileSelect->fileNames[fileSelect->buttonIndex];
+
+ gSaveContext.save.info.playerData.playerName[offset] = fileName[offset];
+#endif
}
gSaveContext.save.info.playerData.newf[0] = 'Z';
@@ -838,8 +886,8 @@ void Sram_InitSave(FileSelectState* fileSelect, SramContext* sramCtx) {
}
}
- gSaveContext.save.info.checksum = checksum;
- PRINTF(T("\nチェックサム=%x\n", "\nChecksum = %x\n"), gSaveContext.save.info.checksum);
+ gSaveContext.save.info.checksum.value = checksum;
+ PRINTF(T("\nチェックサム=%x\n", "\nChecksum = %x\n"), gSaveContext.save.info.checksum.value);
offset = gSramSlotOffsets[gSaveContext.fileNum];
PRINTF("I=%x no=%d\n", offset, gSaveContext.fileNum);
@@ -849,7 +897,7 @@ void Sram_InitSave(FileSelectState* fileSelect, SramContext* sramCtx) {
PRINTF("I=%x no=%d\n", offset, gSaveContext.fileNum + 3);
MemCpy(sramCtx->readBuff + offset, &gSaveContext, sizeof(Save));
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_WRITE);
+ SRAM_WRITE(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE);
PRINTF(T("SAVE終了\n", "SAVE end\n"));
PRINTF("z_common_data.file_no = %d\n", gSaveContext.fileNum);
@@ -879,26 +927,26 @@ void Sram_InitSave(FileSelectState* fileSelect, SramContext* sramCtx) {
}
void Sram_EraseSave(FileSelectState* fileSelect, SramContext* sramCtx) {
- s32 offset;
+ u16 offset;
Sram_InitNewSave();
offset = gSramSlotOffsets[fileSelect->selectedFileIndex];
MemCpy(sramCtx->readBuff + offset, &gSaveContext, sizeof(Save));
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE, OS_WRITE);
+ SRAM_WRITE(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE);
MemCpy(&fileSelect->n64ddFlags[fileSelect->selectedFileIndex], sramCtx->readBuff + offset + N64DD,
sizeof(fileSelect->n64ddFlags[0]));
offset = gSramSlotOffsets[fileSelect->selectedFileIndex + 3];
MemCpy(sramCtx->readBuff + offset, &gSaveContext, sizeof(Save));
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE, OS_WRITE);
+ SRAM_WRITE(OS_K1_TO_PHYSICAL(0xA8000000) + offset, &gSaveContext, SLOT_SIZE);
PRINTF(T("CLEAR終了\n", "CLEAR END\n"));
}
void Sram_CopySave(FileSelectState* fileSelect, SramContext* sramCtx) {
- s32 offset;
+ u16 offset;
PRINTF("READ=%d(%x) COPY=%d(%x)\n", fileSelect->selectedFileIndex,
gSramSlotOffsets[fileSelect->selectedFileIndex], fileSelect->copyDestFileIndex,
@@ -913,7 +961,7 @@ void Sram_CopySave(FileSelectState* fileSelect, SramContext* sramCtx) {
offset = gSramSlotOffsets[fileSelect->copyDestFileIndex + 3];
MemCpy(sramCtx->readBuff + offset, &gSaveContext, sizeof(Save));
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_WRITE);
+ SRAM_WRITE(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE);
offset = gSramSlotOffsets[fileSelect->copyDestFileIndex];
@@ -943,23 +991,23 @@ void Sram_CopySave(FileSelectState* fileSelect, SramContext* sramCtx) {
* Write the first 16 bytes of the read buffer to the SRAM header
*/
void Sram_WriteSramHeader(SramContext* sramCtx) {
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_HEADER_SIZE, OS_WRITE);
+ SRAM_WRITE(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_HEADER_SIZE);
}
void Sram_InitSram(GameState* gameState, SramContext* sramCtx) {
u16 i;
PRINTF("sram_initialize( Game *game, Sram *sram )\n");
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_READ);
+ SRAM_READ(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE);
- for (i = 0; i < ARRAY_COUNTU(sZeldaMagic) - 3; i++) {
- if (sZeldaMagic[i + SRAM_HEADER_MAGIC] != sramCtx->readBuff[i + SRAM_HEADER_MAGIC]) {
+ for (i = 0; i < ARRAY_COUNTU(sSramDefaultHeader) - SRAM_HEADER_MAGIC; i++) {
+ if (sSramDefaultHeader[i + SRAM_HEADER_MAGIC] != sramCtx->readBuff[i + SRAM_HEADER_MAGIC]) {
PRINTF(T("SRAM破壊!!!!!!\n", "SRAM destruction!!!!!!\n"));
#if PLATFORM_GC && OOT_PAL
gSaveContext.language = sramCtx->readBuff[SRAM_HEADER_LANGUAGE];
#endif
- MemCpy(sramCtx->readBuff, sZeldaMagic, sizeof(sZeldaMagic));
+ MemCpy(sramCtx->readBuff, sSramDefaultHeader, sizeof(sSramDefaultHeader));
#if PLATFORM_GC && OOT_PAL
sramCtx->readBuff[SRAM_HEADER_LANGUAGE] = gSaveContext.language;
@@ -986,7 +1034,7 @@ void Sram_InitSram(GameState* gameState, SramContext* sramCtx) {
for (i = 0; i < CHECKSUM_SIZE; i++) {
sramCtx->readBuff[i] = i;
}
- SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_WRITE);
+ SRAM_WRITE(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE);
PRINTF(T("SRAM破壊!!!!!!\n", "SRAM destruction!!!!!!\n"));
}
#endif