原文 SammyF
译文 lrb2010
如果你在寻找如何让你的数据文档保存到电池内存,那你就来对地方了。你会发现这很容易就可以办到, 就像我这样 :P
在C/C++中,你只需要创建一个8位的指针在使用的地址范围内:0x0E000000到0x0E00FFFF。这为您提供了64K的内存。
在汇编语言中,同样如此。
注意,这个区域只能同时读写8位,这代表它没有试图将数据写入给一个16位或者32位指针,于是那个起初的8位地址将被写入。
为了更形象的让我们知道其中,在这里将告诉你用C++如何做到这一点:
#define GAMEPAK_RAM ((u8*)0x0E000000)
u8 *pSaveMemory = GAMEPAK_RAM;
// 保存的初始数据到斐波那契序列
pSaveMemory[0] = 1;
pSaveMemory[1] = 1;
for(int i = 2; i < 13; i++)
pSaveMemory[i] = pSaveMemory[i-1] + pSaveMemory[i-2];
在这里,我们代码写了13个数值在斐波那契数列中,这13个字节将保存到RAM。
请注意,在现实中,你不应该使用该内存用做于你的计算,而仅用于备份的持久性数据,
因为它的效率可能有会拖慢。