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.

Volumio en Spotify Connect, Max2Play delft het onderspit?

In vorige artikelen op deze blog heb ik al gesproken over al die verschillende audiospeler besturingsystemen (bijvoorbeeld Volumio en Max2Play) voor kleine computers zoals de verschillende Raspberry Pi’s. Ik heb het ook al gehad over het feit dat ik een Spotify gebruiker ben en erg weg ben van de Spotify Connect en de mogelijkheden die het bied om speakers in verschillende ruimte aan te sturen, zoals we dat van bijvoorbeeld Sonos kennen. De twee verschillende besturingssystemen die ik tot nu aan het testen ben, ondersteunde Spotify Connect nog niet. Daarom gebruik ik nu de combinatie van het Max2play besturingssysteem, Logitech Media Server (LMS) software en de Spotify plug-in hiervoor ontwikkeld door “triode”. Hiermee kan ik op verschillende apparaten (Raspberry Pi’s met Squeezeplayer software en een Squeezebox Duet reciever) Spotify streamen en bedienen. Het werkt, maar LMS is duidelijk een gedateerd pakket met ditto interface, dus ben ik steeds op zoek naar mogelijke verbetering en ik ben niet de enige. In het “requested features” deel van de fora van zowel Volumio als Max2Play is duidelijk te lezen dat veel mensen graag Spotify Connect willen gebruiken. Maar vooral bij Max2Play heb ik het idee, dat de ontwikkelaar(s) niet warm lopen voor deze suggestie. Dat terwijl Max2Play juist pretendeert de multiroom audio OS te zijn. Een gemiste kans in mijn optiek. Ondertussen heeft Volumio, Max2play op dit punt mooi ingehaald d.m.v. van zijn mogelijkheid voor plug-ins en het programmeer werk dat op Github te vinden is van een gebruiker met de handle “Balbuze”. Hierbij borduurde hij voort op eerdere werk van “Fortnoth” en “Plietar”.  Ik ben van plan om op korte termijn de Spotify Connect plug-in voor Volumio (volspotconnect) op mijn Pi zero te zetten, waar nu Max2play nog op draait. Deze plug-in is specifiek voor ARM6 en ARM7 chips, dus als Volumio op een intel machine draait, heb je nog pech. Het is een redelijke basic plugin die enkel je Volumio installatie zichbaar maakt als Spotify connect device. The plug-in heeft (nog) geen connectie met de Volumio interface, dus geen bediening en geen albumcovers. Dit op zich geen probleem omdat je de Spotify software op PC of app op je telefoon zou gebruiken voor de bediening van je Volumio apparaat. Het is natuurlijk duidelijk nog een werk in uitvoering. Aanvankelijk dacht ik dat je ook nog een Spotify app developer key nodig had om het werkend te krijgen. Die je hier kan aanvragen. Maar ik werd er door de reactie van Wim opgewezen, dat in de zip file van volspotconnect deze al door Balbuze toegevoegd is. Dus nog eenvoudiger! Ik hoop dat ik het snel eens kan uitproberen. Het lijkt me dan ook een goed onderwerp voor een Youtube uitleg. Tot binnenkort!

Balbuze’s avatar op Github

Ja, het werkt! En mijn you-tube uitleg (in het Engels) vind je hier: