DISCiPLE

From Sinclair Wiki
Revision as of 04:19, 7 April 2014 by Zub (talk | contribs) (Link to SAM Coupé)
Jump to navigation Jump to search


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 +D, which shares the same filesystem but requires G+DOS instead of GDOS, and the SAM Coupé, a somewhat Spectrum-compatible computer with a similar disk interface and an extension of the GDOS/G+DOS filesystem, and uses SAMDOS.

Snapshot bug

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 Messenger, a product by SAMCo (formed on the assets of MGT after it went into receivership) 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 Coupé.

External links