11-24-2018, 08:39 PM
(11-23-2018, 08:42 PM)Loïc Wrote: no, you should add 0x200000 to your offset, according to https://forum.freeplaytech.com/showthrea...88#pid5388
Thanks Loïc.
It's possible that my poor knowledge on this make me confuse. In the post that you link here, I see that you say that the 32Mb cartridge has 2 chips in different possitions and a explanation for save and load game on Biomotor Unitron (a game of 8Mb), but I can't see any reference to the 0x200000 offset for the second chip in 32Mb cartridge.
I think "ok, Loïc know more about this than me, let my try it", so I'm wrote the next line on my code to Save the game:
Code:
__ASM("SAVEOFFSET EQU 0x200000");
__ASM("BLOCK_NB EQU 0x44");
And then, when I'm going to edit the Load method, I saw the line where the code get the specific memory position to read the data allocated there:
Code:
u32 *ptr = (u32*)(0x200000+0x1FA000);
So, I think...Whait, this reading (for 16Mb cart) got the position of 0x200000+0x1FA000...so, in 32Mb cartridge, it's the same positions too (from+to)?
The truth is that I am very grateful with your help, I never study some thinks like this read memory positions with this kind of values (0x20000, 0x1FA000, 0x44, etc), this is brand new for me.
Regads,