Snapshots on the real hardware?

Door zPasi

Champion (479)

afbeelding van zPasi

31-05-2019, 16:10

On emulators, you can take a snapshot of the current state. So for example, if you happen to die in a game, you can restore previously saved snapshot and continue from there.

On some systems, like Sinclair Spectrum, you can even do that on the real machine. It requires external hardware, like Interface 1bis. When you press a button in the device, it generates an NMI which handles the save.

I wonder if the same would be possible on MSX? It is more complex a system, but still?

Aangemeld of registreer om reacties te plaatsen

Van NYYRIKKI

Enlighted (5402)

afbeelding van NYYRIKKI

31-05-2019, 16:39

Yes, it is possible but practically requires implementation on FPGA-chip... Practically the chip should be sitting on MSX bus spying the I/O traffic and keeping copy of VDP etc "write only device" registers. I've suggested this on past, but at least so far no one skillful enough has been interested working on such implementation.

Van zPasi

Champion (479)

afbeelding van zPasi

31-05-2019, 20:32

Yes, it would require someone with skills and a way too much spare time Wink

Van RetroTechie

Paragon (1563)

afbeelding van RetroTechie

01-06-2019, 20:20

Iirc snapshots (on real hardware) were mostly intended as an easy to use 'backup' solution. A tape with some complicated copy protection? Load it from the tape, and with the title screen on display, hit the snapshot button. Snapshot taken thus bypasses whatever copy protection scheme was used by the tape loader.

Due to the complexity of MSX hardware, you'd either lose a lot of state (and thus, possibly not be able to get snapshots running properly), ór you'd have to 'snoop' writes to various write-only devices like NYYRIKKI said. Not to mention the hassle / complexities of including eg. VRAM or memory mapper contents in a snapshot. Evil

Sure, doable in theory. In practice, what's the point?

Van zPasi

Champion (479)

afbeelding van zPasi

01-06-2019, 20:45

The point would be the same as on the emulator. You could resume the game, wouldn't have to start from the beginning every time.