DISCiPLE: Difference between revisions

Jump to navigation Jump to search
1,274 bytes added ,  6 April 2014
Add an actual article, and describe the snapshot bug
 
(Add an actual article, and describe the snapshot bug)
Line 1: Line 1:
[[Category:Hardware]]
[[Category:Hardware]]
[[Category:Peripherals]]
[[Category:Peripherals]]
The '''DISCiPLE''' is a floppy disk, joystick, printer, and ZX Network interface that was produced by [[Miles Gordon Technology]].
MGT later went on to produce the [[MGT +D|+D]], which shared the same file system but required GDOS instead of G+DOS.
Snapshots saved or loaded by GDOS are corrupted, in that the [[Z80]]'s AF' register is neither saved nor restored.
GDOS's contains the following code for saving the Z80's state, before saving of a snapshot:
EXX      ; Save the alternate register set
PUSH AF
PUSH HL
PUSH BC
PUSH DE
The following code is used when restoring the Z80's state, after loading of a snapshot.
POP  DE  ; Restore the alternate register set
POP  BC
POP  HL
POP  AF
EXX
The issue here is that EXX only exchanges the BC, DE and HL registers with the shadow registers BC', DE' and HL'.  It does not exchange AF and AF', and to do that, a separate instruction, EXX AF,AF' is required.
This bug was later fixed by MGT for the +D, in G+DOS.  The bug is similarly absent from the SAM Messenger, another product by MGT for transferring Spectrum snapshots to/from a SAM Coupé — both in the shadow ROM for the Spectrum, and in the companion software that runs on the SAM.
[[Wikipedia:DISCiPLE|Wikipedia's article on the MGT DISCiPLE]]

Navigation menu