[SharpMZ] z80 a instrukce LDIR z pohledu sbrnice

Ladman Jakub ladmanj na volny.cz
Steda Kvten 30 16:48:34 CEST 2018


Ahoj Michale

Ta data jsou divná, ne-li úplně špatná.

Čekal bych  M1=0 data[3:0]=D a v zápětí M1=0 data[3:0]=0  když probíhá 
fetch instrukce ED B0.

Sytematicky je tam ale vidět jen to data[3:0]=D

Už už jsem uvažoval nad tím, že se instrukce načítá opačně, což by 
vysvětlovalo, proč mi můj FSM nezafunguje, ale to je ovšem blbost, 
nemůže se načítat opačně než je uložená v paměti.

Čili logický analyzátor to asi nestihl nasamplovat včetně detailů, nebo 
nevím co.


Dne 29.05.2018 v 19:22 Michal Hucik - ORDOZ napsal(a):
>
>
> Ahoj Jakube,
>
> opichal jsem sbernici a zmeril jsem ti vsechny signaly pri LDIR.  
> Zaznam je zde http://ordoz.com/sharp/BUS_LDIR.stf
>
> Tady si stahni SIGMA & OMEGA APPLICATION PACKAGE 
> http://asix.tech/dbg_sigma_cz.html 
> <http://asix.tech/dbg_sigma-omega_cz.html>
>
> 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.
>
> Merici program jsem umistil na 0x2000
>
>     ld a,0x01
>     ld (0xe008),a
>     xor a
>     ld (0xe008),a
>     di
>     ld hl, 0x0000
>     ld de, 0x3000
>     ld bc, 0x0010
>     ldir
>     nop
>     ld bc,0x06cf
> cycle:
>     out (c),a
>     dec a
>     jr nz, cycle
>     nop
>     halt
>
>
>
> Dne 28.5.2018 v 19:51 Jakub Ladman napsal(a):
>> 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
>> SharpMZ na mail.ordoz.com
>> http://mail.ordoz.com/mailman/listinfo/sharpmz
>>
>
>
>
> _______________________________________________
> SharpMZ mailing list
> SharpMZ na mail.ordoz.com
> http://mail.ordoz.com/mailman/listinfo/sharpmz

------------- dal st ---------------
HTML příloha byla odstraněna...
URL: http://mail.ordoz.com/pipermail/sharpmz/attachments/20180530/0fad253e/attachment-0001.html 
------------- dal st ---------------
Netextová příloha byla odstraněna...
Jméno: phopkfilldadampc.png
Typ: image/png
Velikost: 58727 bytes
Popis: [žádný popis není k dispozici]
Url : http://mail.ordoz.com/pipermail/sharpmz/attachments/20180530/0fad253e/attachment-0001.png 


Dal informace o konferenci SharpMZ