Open maximilien-noal opened 2 years ago
https://github.com/RobertPeip/FPGBASharp (GBA has nothing to do with DOS/X86, but this C# emulator implements save states)
articles:
https://www.gregorygaines.com/blog/adding-save-states-to-an-emulator/
There's a patch floating around on VOGONS that implements save states for DOSBox, but it's incomplete, experimental, and Spice86 is very different.
DOSBox Pure (libretro core) implements save states: https://github.com/schellingb/dosbox-pure#save-states
DOSBox-X implements it: https://github.com/joncampbell123/dosbox-x
Savestates very well may not work with C# overrides of assembly code, since the stack isn't emulated when overriding...
A shortcut would be to disable them if any override is used.
This PC emulator has savestates, extensive ones: https://github.com/barotto/IBMulator
A Clone method source generator might be useful: https://github.com/mostmand/Cloneable
Savestates would be very helpful to easily and reliably reproduce and investigate / debug a program. Memory, CPU state, and devices states would need to have save / restore capabilities for this to work.
Original issue: https://github.com/kevinferrare/spice86/issues/9