[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