<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix"><br>
      <br>
      Mate pravdu. Podle DS je 74LS03 skutecne open-collector. V tom
      pripade se musim omluvit autorum HD patche. <br>
      <br>
      Ovsem potom je zahadou, proc kdyz je na sbernici soucasne s
      Horavou pripojena i Unikarta, ktera ma switchem posunute FDC
      porty, tak obcas zkolabuje cp/m 4.1.<br>
      <br>
      Detailneji jsem to zacal zkoumat, kdyz mi Horava nepravidelne
      vratil chybu pri formatovani stopy:<br>
      <br>
              ld c,#__FDC_DATA<br>
      <br>
              im 1<br>
              ei<br>
      <br>
              out (#__FDC_CMD),a  ; WRITE_TRACK<br>
      <br>
              4$:<br>
              in a,(#__FDC_STS)<br>
              rra<br>
              jr c,4$                 ; cekame, dokud nezacne byt BUSY<br>
      <br>
              5$:<br>
              in a,(#__FDC_STS)<br>
              rra<br>
              jr nc,5$                ; cekame, dokud neprestane byt
      BUSY<br>
      <br>
              di<br>
      <br>
              rla  <br>
      <br>
      <br>
      Pomerne casto, avsak naprosto nepravidelne se mi stava, ze tato
      cekaci rutina skonci, ale Sharp pritom nezaznamenal ani jeden
      prichozi interrupt. Nasledne mam vsak ve statusu hned za tim "rla"
      priznaky LOST_DATA a DRQ.<br>
      <br>
      Z unikarty si nechavam z STM32 vypsat na terminal info kdykoliv je
      v hal.c volana funkce pro nastaveni, ci resetovani /INT. Po celou
      dobu, kdy pracuji s Horavou je interrupt z Unikarty v klidovem
      stavu, nicmene firmware Unikarty v tomto klidovem stavu neustale
      vola hal_ResetSharpINT(), cimz nastavuje ten pin do input rezimu.
      <br>
      Je to jedine misto, kde se v Unikarte saha na GPIOB-&gt;CHR.<br>
      <br>
      Zkusil jsem tedy upravit firmware Unikarty tak, aby si pamatoval
      predchozi stav /INT signalu a aby nesahal na nastaveni toho portu
      ve chvili, kdy se pozadovany stav nezmenil. Je to zajimave, ale po
      teto uprave se mi zatim nepodarilo zreprodukovat tu chybu s
      Horavou. Zatim bych vsak nejasal, protoze moc nerozumim tomu, jak
      by opakovane volani toho hal_ResetSharpINT() melo ovlivnit signal,
      ktery jde z Horavy.<br>
      <br>
      <br>
      /*<br>
       *<br>
       * Zrusit /INT signal na sbernici MZ-800<br>
       * <br>
       * <br>
       */<br>
      void hal_ResetSharpINT ( void )<br>
      {<br>
         GPIOB-&gt;CRH = 0xB8B33444;  // prepneme pin /INT do input
      rezimu<br>
      }<br>
      <br>
      /*<br>
       *<br>
       * Poslat /INT signal na sbernici MZ-800<br>
       * <br>
       * <br>
       */<br>
      void hal_SetSharpINT ( void )<br>
      {<br>
         GPIOB-&gt;ODR &amp;= ~( 1 &lt;&lt; 9 ); // nastavenim 0 na pinu
      PB9 aktivujeme SharpINT<br>
         GPIOB-&gt;CRH = 0xB8B33434;  // prepneme pin /INT do output
      rezimu<br>
      }<br>
      <br>
      <br>
      <br>
      <br>
      Dne 9.7.2014 14:37, Hynek Sladky napsal(a):<br>
    </div>
    <blockquote cite="mid:53BD3793.1060608@centrum.cz" type="cite">
      <meta http-equiv="Context-Type" content="text/html;
        charset=ISO-8859-2">
      74LS03 by mel byt open-collector, ne? Jednicka na signalu v klidu
      by mela byt drzena pull-up resistorem 3k3 primo v pocitaci.<br>
      (pokud by to nebyl open-collector, tak technicky spravnejsi by
      byla dioda, ktera by pustila na sbernici logickou nulu)<br>
      <br>
      Hynek Sladky<br>
      <br>
      <br>
      <br>
      <div class="moz-cite-prefix">Dne 9.7.2014 14:18, Michal Hucik -
        ORDOZ napsal(a):<br>
      </div>
      <blockquote cite="mid:53BD3302.8090807@ordoz.com" type="cite">
        <pre wrap="">Ahoj,

jak ted tady mam v Sharpu zasunutou Unikartu + HD upraveny FDC Horava, 
tak jsem zjistil, ze z Horavy jde signal /INT primo z hradla 74LS03, to 
znamena, ze je tam vzdy napeti, coz muze byt trochu problem ve chvili, 
kdy je na sbernici pripojeno nejake dalsi zarizeni, ktere umi generovat 
interupt.

Pokusim se to osetrit tak, ze do Horavy mezi vystup z toho 74LS03 a /INT 
vrazim 1k odpor - snad to bude stacit na to, aby se pri interruptu 
prepral ten pull-up, ktery je na tomto signalu nekde uvnitr Sharpa.
Idealni by bylo, kdyby se dal do FDC obvod, ktery by se v klidu prepnul  
do stavu vysoke impedance a v jen ve chvili, kdy je potreba zavolat 
interrupt by poslal do sbernice log 0, tak jako to dela Unikarta.

Zajimalo by mne, tak jsou na tom s generovanim ineruptu ostatni HD 
radice. Leze z tama taky "natvrdo" napeti?

Michal

</pre>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
SharpMZ mailing list
<a class="moz-txt-link-abbreviated" href="mailto:SharpMZ@mail.ordoz.com">SharpMZ@mail.ordoz.com</a>
<a class="moz-txt-link-freetext" href="http://mail.ordoz.com/mailman/listinfo/sharpmz">http://mail.ordoz.com/mailman/listinfo/sharpmz</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>