Disciple / Plus D with Gotek 'Check Disc in drive'

For experts to discuss very technical stuff and newbies to ask why the Spectrum they bought off ebay doesn't work.
Post Reply
disciplePalGuy
Drutt
Posts: 13
Joined: Sat Mar 16, 2024 8:28 pm

Disciple / Plus D with Gotek 'Check Disc in drive'

Post by disciplePalGuy »

Posting this here as a FYI as I couldn't find any information on the internet on this issue.
TLDR; Plus D will throw a 'CHECK DISC in drive' error when formatting a disk (image) using a Gotek; needs config item in flash floppy to fix.

I'm guessing lots of people use Plus D with Gotek, but mostly for reading images and not writing / formatting disk images.

-->
12.2 Using the Plus D / Disciple with a Gotek (Flash Floppy)
=======================================================
CABLING: There are various ways of doing this, but by far the easiest method is to use a straight floppy cable with no twists and close the Gotek S0 jumper (Gotek drive id0; Shugart standard). If a second drive is to be connected, it should be jumpered as drive B (most drives are by default) and again connected to the same cable with no twists. As straight floppy cables are harder to get in 2024, I found it easier to buy a small box of IDC 34 way connectors and clamp them to an existing cable before the twists. The Gotek will also work with a twisted cable, but will need drives jumpered appropriately which can be difficult as some drives are missing the drive select jumpers altogether now.

FLASH FLOPPY CONFIGURATION: You will need to create a flash floppy FF.CFG file on the USB stick with the following config directive:

Code: Select all

# Index pulses suppressed when RDATA and WDATA inactive?
# Values: yes | no
index-suppression = no
Both interfaces look for index pulses in their firmware, which the Gotek suppresses in certain conditions; the Plus D in particular will fail to format disks and sometimes write files if this isn’t done. This can be seen at Plus D ROM address 0x06C5 (TRACK_0 routine) https://www.biehold.nl/rudy/plusd/disk. ... 20TRACK_0 in the V2 ROM (G+DOS 2a). The ‘CHECK DISC in drive’ message will be frequently displayed without this configuration.
-->

I spent quite some hours staring at Disciple and Plus D disassemblies to figure this out. The Plus D is more sensitive than the Disciple, because the firmware does a Forced Interrupt towards the WD1772 in a different order during TRACK_0, the Plus D triggering the issue, the Disciple not.

Some useful background here:

https://forum.vcfed.org/index.php?threa ... ek.69852/
https://github.com/keirf/flashfloppy/wi ... tion-File

I hope this helps someone, I've also added the information to my Disciple Pals unveiled latest document.
https://spectrumcomputing.co.uk/entry/1 ... _Interface
Post Reply