<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix"><br>
      <br>
      Ahoj Jakube,<br>
      <br>
      opichal jsem sbernici a zmeril jsem ti vsechny signaly pri LDIR. 
      Zaznam je zde <a class="moz-txt-link-freetext" href="http://ordoz.com/sharp/BUS_LDIR.stf">http://ordoz.com/sharp/BUS_LDIR.stf</a><br>
      <br>
      Tady si stahni <a class="w3-text-deep-orange w3-large"
        style="font-weight: bold;"
        href="http://asix.tech/dbg_sigma-omega_cz.html">SIGMA &amp;
        OMEGA APPLICATION PACKAGE  http://asix.tech/dbg_sigma_cz.html</a><br>
      <br>
      Jako vzorkovaci hodiny jsem pouzil nabeznou hranu GDGCLK. Jako
      trigger jsem pouzil GATE CTC0 - svisla zelena cara. Z datove a
      adresni sbernice jsem vytahnul jen dolni 4 bity.<br>
      <br>
      Merici program jsem umistil na 0x2000<br>
      <br>
          ld a,0x01<br>
          ld (0xe008),a<br>
          xor a<br>
          ld (0xe008),a<br>
          di<br>
          ld hl, 0x0000<br>
          ld de, 0x3000<br>
          ld bc, 0x0010<br>
          ldir<br>
          nop<br>
          ld bc,0x06cf<br>
      cycle:<br>
          out (c),a<br>
          dec a<br>
          jr nz, cycle<br>
          nop<br>
          halt<br>
      <br>
      <br>
      <br>
      Dne 28.5.2018 v 19:51 Jakub Ladman napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:89322e0a-ac45-8f39-8312-b121436a2711@volny.cz">
      <pre wrap="">Ahoj

Diskuse dnes tady někde ve zmiňovaných odkazech mi připomněla moji 
aktivitu kolem mého systému ve FPGA.

Je to trochu OT, protože to nemá nic společného se SHARPem, jen tu Z80tku.

a) kdyby měl někdo zájem, mám nakonec docela hezkou implementaci, jak 
bych to nazval, SLAVE kontroléru přerušení IM2. Čili modul, který se dá 
připojit do řetězu jiných součástek podporujících IM2. Vektor obsluhy se 
na sběrnici vystavuje externě když o to modul zažádá. Je to napsáno ve 
verilogu.

b) k vlastnímu dotazu:

Mám tam taky stroječek, který pokud je hw pomocí io portu nakonfigurován 
příslušným způsobem a zdetekuje-li na sběrnici opcode LDIR, přepíná 
stránky paměti mezi čtením a zápisem.

Využívám toho v CP/M3 (xmove), kde se tím přenáší bloky dat mezi 
stránkami vlastně hardwarově.

Funguje to většinou dobře, ale občas to udělá hovadinu a já nevím proč. 
Asi se to týká toho jestli se kopíruje ze stránky kde běží program 
jinam, nebo naopak. Ale už jsem na to rok nešáhnul, takže si to přesně 
nepamatuju.

Ale když se do toho stavového stroje dívám tak mi najednou chybí info o 
tom jak se vrtí signály na sběrnici během té LDIR instrukce.

Vím že se opakuje Nkrát celá včetně opcode fetch, ale nevím kdy se mění 
!MREQ !M1 !RD a !WR, pouze odhaduji podle jednoduché instrukce, která je 
v manuálu Z80 popsaná obrázkem. Chtěl bych to vidět pro ten konkrétní 
případ. ve FPGA to nemám kam logovat, simulovat to za podmínek programu 
taky nedovedu. Logický analyzátor mám jenom osmibitový a nepovedlo se mi 
zatriggerovat v situaci, kdy došlo k poškození dat.


Za radu děkuji

J.

_______________________________________________
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>
    <p><br>
    </p>
  </body>
</html>