Re: [hatari-devel] pVideoRaster in memory snapshot? |
[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]
Le 08/04/2020 à 22:22, Eero Tamminen a écrit :
Hi Nicolas,Why this ignores the stored "pVideoRaster" value and restores it instead to "VideoBase" variable STRam offset?------------------------- void Video_MemorySnapShot_Capture(bool bSave) { Uint32 addr; ... MemorySnapShot_Store(&VideoBase, sizeof(VideoBase)); if ( bSave ) { addr = pVideoRaster - STRam; MemorySnapShot_Store(&addr, sizeof(addr)); } else { MemorySnapShot_Store(&addr, sizeof(addr)); pVideoRaster = &STRam[VideoBase]; } ------------------------- (If it's intentional, there should be a comment about the reason.)
Hithat's because pVideoRaster is a pointer inside the host PC's RAM. So there's no point in saving pointer to RAM, it would be wrong, you can't restore them.
There're a fews others places in other HW components (fdc.c IIRC) where we need to save offsets relative to an allocated buffer, then on restore allocate a new buffer and add offset to get the correct value again.
I'm not sure this requires a comment (or maybe there's a comment in fdc.c but not here).
Nicolas
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |