The attached (untested but compiles) patch adds minimal snapshot support for DISCiPLE to libspectrum and uses it in Fuse.
While .z80 snapshots have some basic support for saving DISCiPLE information libspectrum does not currently support it and no other format does at this point, so this should just cause Fuse to correctly flag the information loss on saving the snapshot.
It should be simple to define a SZX block for DISCiPLE based on this structure and add support for it but I don't think that the release needs to be blocked for that support to be added. The patch doesn't separately support the disciple inhibit flag in z80 snapshots (we only handle it as far as it is embedded in the control register). We don't seem to have support in Fuse for the separate tracking of ROM paging that is implied by the .z80 format rom pageable field. It may be nice to resolve this prior to defining the SZX block.
I'd appreciate any comments or testing and I hope to add this patch by the weekend.
Crisis happened to summarise the inhibit behaviour on WoS:
Last edit: Fredrick Meunier 2016-05-07
Add disciple inhibit button setting to snapshot structure and set it to 1 in all situations as we effectively emulate it as always depressed.
I'll create a feature request for adding inhibit button and disciple_inhibited functionality to be addressed post-1.2 (unless someone gets in quick!).
Added request in [feature-requests:#96] .
Related
Feature Requests: #96
Last edit: Fredrick Meunier 2016-05-08
Comitted in [r5477], [r5478], [r5479] and [r5480].
Related
Commit: [r5477]
Commit: [r5478]
Commit: [r5479]
Commit: [r5480]