Het wel en wee van Gotek jumpers op PC

De Gotek USB-diskette-emulator, vooral met de open firmware Flashfloppy is populair geworden voor veel retro-enthousiastelingen, voor het upgraden van oude computersystemen met een “moderne” oplossing voor het laden van software op oude systemen. Ik ben ook een van deze liefhebbers. Als een retro-systeembouwer, vooral van het IBM-PC-compatibele type, ben ik gewend deze systemen te configureren met behulp van jumpers. Geen “plug and play” -functie hier. De Gotek heeft ook enkele jumpers die u moet instellen voor gebruik op een IBM-PC. IBM-pc’s maken gebruik van een kabel die u kunt aansluiten op twee diskdrives op één controller. De keuze van welke drive drive A: of drive B: is, wordt bepaald door de kenmerkende twist in de kabel tussen de connector in het midden en de connector aan een van de uiteinden. Als de drives die u wilt aansluiten een jumper hebben voor het instellen van de drive ID, dan moeten beide drives drive ID 0 worden ingesteld. Dit is met name het geval voor de meeste 5 1/4 inch diskettedrives, de latere 3,5 inch diskdrives hebben vaak geen drive ID-jumpers en zijn standaard ingesteld op ID0.

De Gotek floppy emulator heeft ook zo’n jumper S0 en S1 en deze moet op S0 gezet worden. Er is echter nog een JC-jumper op de Gotek, die in combinatie met de instelling in het FF.cfg-bestand (zie gemarkeerde code onder de afbeelding) voor flash-floppy vaststelt dat de drive in de IBM-PC-compatibiliteitsmodus staat. Ik heb verschillende Goteks op deze manier geconfigureerd op mijn retro IBM-pc-systemen.


De standaard Gotek-jumperinstelling voor IBM-PC, die S0 en JC overbrugt
# Floppy-drive interface mode
# shugart: P2=DSKCHG, P34=RDY
# ibmpc: P2=unused, P34=DSKCHG
# ibmpc-hdout: P2=HD_OUT, P34=DSKCHG (not generally needed: prefer 'ibmpc')
# akai-s950: P2=HD_OUT, P34=RDY (Akai S950)
# amiga: P2=DSKCHG, P34=DRIVE_ID (not generally needed: prefer 'shugart')
# jc: JC closed: ibmpc, JC open: shugart
interface = jc

Dus met deze veronderstelde kennis heb ik op mijn nieuwe Gotek drive de S0 en JC jumpers geplaatst en aangesloten. Maar tot mijn verbazing werkte de schijf niet. Om het probleem analyseren heb ik het volgende geprobeerd: Controleren van de FF.cfg op de gebruikte USB-drive, verschillende posities op de kabel proberen, een bekende werkende kabel gebruiken, controleren met een bekende werkende Gotek en echte floppy drives, ook in combinatie met de nieuwe Gotek op verschillende posities op de kabel, zelfs door de firmware opnieuw te flashen en de schijfcontroller te controleren. Allemaal tevergeefs. Ik begon zelfs te denken dat ik met een nep Gotek de boot was in gegaan. Dus daarom ging ik de PCB van deze Gotek eens beter bekijken. Ik wist dat er verschillende incarnaties van het ding waren en sommige versies kun je beter vermijden. Toen merkte ik dat de nieuwe Gotek anders was dan de vorige werkende.

Twee verschillende versies van de Gotek, links mijn oudere SFRC9220 en rechts mijn nieuwere SFRKC30.AT2 versie. Merk op dat label JC ontbreekt op de derde jumper van rechts.

Gotek SFRKC30.AT heeft helemaal geen JC jumper!

De oudere Gotek die ik had liggen had als nummer op de PCB: SFRC9220, de nieuwere Gotek had het label “GOTEKsystem” met PCB nummer: SFRKC30.AT2. Ik was de Flashfloppy-wiki al aan het lezen om te zien wat het probleem zou kunnen veroorzaken en was nu op zoek naar informatie over deze specifieke versie van de Gotek. In de Gotek-compatibiliteitssectie worden er enkele vermeld en daar merkte ik deze kanttekening op: “SFRKC30.AT2 (QFN32): de originele roterende encoderkop ontbreekt, maar bevat de nieuwe KC30 roterende kop. Ook ontbreekt de JC-jumperlocatie.”. Een beetje verward keek ik weer naar het bord en zag nu dat het JC-label van één van de 7 jumpers ontbrak, maar er was wel een jumper header. Deze jumper header is niet functioneel, dus zelfs wanneer deze in een Gotek SFRKC30.AT2 wordt overbrugd, met een USB-stick met de interface=jc-instelling geactiveerd in het FF.cfg-bestand, zal hij denken dat de schijf in shurgart-modus staat en niet in ibmpc-modus. En voilà, het veranderen van deze instelling in het FF.cfg-bestand van settings=jc naar settings=ibmpc zorgde ervoor dat mijn nieuwe Gotek feilloos werkte op mijn 286 build.


Dus om samen te vatten: Bij gebruik van een Gotek met bord SFRKC30.AT2 in een IBM PC-compatibel, hoef je alleen jumper S0 in te stellen maar moet je ervoor te zorgen dat het flashfloppy FF.cfg-bestand de interface parameter heeft ingesteld op ibmpc en niet op jc.