musjoy.xml

Denna kod är public domain. Om ni hittar fel eller vill ändra något i koden blir jag jätteglad om ni skickar dessa ändringar till jesper [at] fantasi [punkt] se.


<?xml version="1.0"?>
<article category="hardware" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="article.xsd">
  <keyword>Automatisk Mus- och Joystick-omkopplare</keyword>
  <keyword hidden="true">musjoyswitch</keyword>
  <topic>Automatisk Mus- och Joystick-omkopplare</topic>

  <ingress>
    En omkopplare för att växla mellan två
    styrenheter, typ mus, joystick eller joypad. Typiskt
    användningsområde är på datorer där
    portarna är svåråtkommliga (Amiga inbyggd i
    tornlåda). Man har då både en mus och en
    joystick inkopplad i samma port och kan lätt växla
    mellan de två utan att behöva rycka i sladdarna.
    Omkopplaren aktiverar en enhet då man trycker på fire
    / vänster musknapp. Valbara lysdioder indikerar vilken enhet
    som är aktiv.
  </ingress>

  <image width="800" height="210" src="el_musjoyswitch_big.jpg" alt="Automatisk mus- och joystick-omkopplare" />

  <codebox title="Komponenter">
    Quad 2-line to 1 multiplexer, 74LS157
    Quad 2-input NAND gate, 74LS00
    Diod, 1N4148
    Kondensator, 10uF (upp till 47uF går bra)
    9 pol. D-sub hona (hylsdon)
    2 st. 9 pol. D-sub hane (stiftdon)
    2 st. Resistorer, 470ohm
    2 st. Lysdioder (valfria)
  </codebox>

  <subtopic>Byggbeskrivning</subtopic>
  <text>
    Kretsen är byggd kring en fyrvägs 1 av 2 dataselektor
    (74LS157), med en SR vippa byggd av en tvåingångs NAND
    grind (74LA00). Eftersom Amigans X och Y ingångar från
    musen redan går genom en sådan dataselektor internt,
    finns det inget som hindrar oss från att lägga till en
    till. De enda signalerna som drivs av musen är X och Y
    pulserna, dessa kolliderar dock med joystickens styrsignaler,
    så vad vi måste göra är att växla
    mellan dessa signaler. Allt annat kan parallellkopplas.
  </text>
  <text>
    Dataselektorn används för att sköta växlingen
    medan SR vippan är kopplad till vardera portens fire
    (vänster musknapp). När en ports fire-knapp trycks ner
    kommer vippan att växla mellan hög och låg,
    beroende av port, och skickar då en signal till 'select'
    pinnen på dataselektorn. Detta gör att den ena
    uppsättningen insignaler blir aktiva medan de andra blir
    inaktiva. Så förblir det tills knappen i den andra
    porten trycks ner. Knapparna är logiskt OR:ade med den
    oanvända NAND-grinden och buffrade med en diod så de
    endast är aktiva vid 'låg' signal.
  </text>
  <text>
    Det finns många sätt att bygga ihop denna krets,
    själv använde jag en testplatta som utgångspunkt.
    Kretsen blir liten, så det är lätt att bygga in
    den i en låda eller direkt i datorn. För A1200:an blir
    det extra lätt att sätta den internt eftersom musporten
    inte sitter fast i moderkortet på de vanligaste versionerna
    av moderkortet. Där finns också gott om plats att
    sätta in en extra port bredvid den gamla.
  </text>
  <image width="460" height="24" src="kolv.png" alt="/----------------------------------/" />

  <subtopic>Kretsschema</subtopic>

  <image width="571" height="370" src="el_musjoy.png" alt="Kretsschema" />

  <subtopic>Övrigt</subtopic>
  <text topic="Valfria lysdioder">
    Du kan koppla in två lysdioder,
    som figuren visar. Dessa indikerar vilken port som är vald.
    Om du använder små effektiva lysdioder borde det inte
    vara något problem för grindarna att försörja
    dem, om de drar för mycket ström måste de buffras.
    Får du problem med kretsen är detta det första du
    bör kolla, fungerar den utan lysdioder?
  </text>
  <text topic="Autofire">
    Det förekommer en viss inkompatibilitet med vissa
    autofirejoystickar då dessa belastar motstånden lite
    mycket för att få ström till autofire-kretsen.
    Detta kan lösas genom att sätta ett 4,7k motstånd
    från vardera av de fyra switchade ingångarna på
    båda portarna till +5 (pinne 7). Detta bör du dock endast
    göra om du verkligen måste.
  </text>
  <image width="460" height="24" src="kolv.png" alt="/----------------------------------/" />
</article>