Re: [hatari-devel] ENABLE_SMALL_MEM problem |
[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]
Le 27/12/2017 à 10:10, Nicolas Pomarède a écrit :
Le 27/12/2017 à 08:34, Thomas Huth a écrit :I agree with you. But then the _Init functions should not call the _Reset functions directly - that should be part of Reset_ST later. So to fix the current ENABLE_SMALL_MEM problem, I think it's the easiest and best solution to remove the call to STMemory_Reset() from the STMemory_Init() function. Then, after the release, we can consider whether we also want to rework memory_init() or not, OK?OK, let's do it this way.
Hiworking on something different, I found that sometimes STF MMU memory config was not correctly restored after reloading a memory snapshot and program would crash.
This is because STMemory_Init() is called after saving a snapshot from the UI, which calls :
STMemory_MMU_ConfToBank(0, &MMU_Bank0_Size, &MMU_Bank1_Size);So after saving a snapshot, MMU_Bank0_Size and MMU_Bank1_Size are set to the equivalent of 128 kb (but STF MMU memory mapping is not updated, so program still work).
But if you save again a snapshot, this time this will write the wrong values of MMU_Bank0_Size/MMU_Bank1_Size and next time you will reload this snapshot, program will crash because those values don't match the ST RAM sizes in RAM_Bank0_Size / RAM_Bank1_Size.
I committed a change for this to use "0" on first run (only when using ENABLE_SMALL_MEM and ioMem is not allocated yet), else use the current value for $ff8001.
Nicolas
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |