<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 &
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>