Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Zpět na zprávu

Celé vlákno · 22 zpráv

Unikarta - opraveno RTS a CTS

Michal Hučík SHARP MZ-800


Na svn jsem nahral snad jiz spravne fungujici variantu Ushellu, ktery pouziva HW rizeni toku.
Prozatim tomu jeste nedavam oficialni zmenu cisla release, protoze chybi dokonci emu_SIO. RTS nakonec stejne nastavuju rucne, protoze mi to prislo rychlejsi a bezpecnejsi, nez kdyz jsem to prenechal komplet na STM32 - mozna jsem neco delal blbe.
Ushell uz bezi pouze s rizenim toku, takze s tou Martinovou variantou PC utilit to prozatim dost dobre nepojede. V adresari ./STM32fw/doc/ jsem ponechal uz jen USARTshell_RTS.c, ktery nyni demonstruje veskere moznosti shellu: mkdir, unlink, filelust, readdir, open, new, read a fddremount a po prenosech spocita prenosovou rychlost - u mne to dela obema smery cca 11kB/s.

Tady jsou 2 obrazky s navodem na opravu PCB. Cervene jsou oznacene preskrabnute cesty - jedna dole, jedna nahore. Fialova a zluta jsou dratove propojky na horni strane desky, kterymi se provede prekrizeni RTS a CTS signalu pro FT232RL.

http://ordoz.com/sharp/unicard_files/oprava_PCB_RTSCTS_u_FT232RL/

Michal

Re: Unikarta - opraveno RTS a CTS

Martin Lukasek SHARP MZ-800

Ahoj,

zkusim stahnout, opravit desku a prepisu ty PC utility. Resp. rozsirim je o ty nove prikazy. Pres vikend jsem se k Sharpovi vubec nedostal, mel jsem resty se Speccy2010, ale uz slape jak ma, tak se zase vratim k Sharpikovi. Jestli to spravne chapu, tak je potreba preprogramramovat i Xilinx, je to tak?

Jinak ty funkce uz vypadaji skvele, libi se mi i to pocitani rychlosti. Perfektni!

Hezky den, Martin.

Re: Unikarta - opraveno RTS a CTS

Michal Hučík SHARP MZ-800

Ahoj,

preprogramovani xilinxe je optimalni, ale neni zatim uplne nutne, pokud 
nepotrebujes sahat primo ze Sharpa na RS232 ... Dulezita je hlavne ta 
uprava zapojeni FT232RL.
Bylo by fajn, kdyby nad tema funkcema Ushellu vznikla nejaka klikaci 
apsa pro widle, ale samozrejme to neni nutnost ...
K prenosum souboru by bylo dobre pridat i nejake CRC, aby byla jistota, 
ze vse probehlo OK. Dalsi fce, ktera tam asi chybi je nastavovani 
atributu souboru a taky funkce pro praci s RTC ...
Taky jsem si dnes uvedomil, ze vubec nepodporujeme casovou zonu a cas, 
ktery nam bezi na RTC je povazovan za UTC... Mozna by to chtelo i nejaky 
konfigurak pro konverzi casu ... A nebo to ponechame ciste na OS?

Michal


Dne 23.10.2011 22:17, Martin Lukasek (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (17 řádků)
>
> Ahoj,
>
> zkusim stahnout, opravit desku a prepisu ty PC utility. Resp. rozsirim 
> je o ty nove prikazy. Pres vikend jsem se k Sharpovi vubec nedostal, 
> mel jsem resty se Speccy2010, ale uz slape jak ma, tak se zase vratim 
> k Sharpikovi. Jestli to spravne chapu, tak je potreba 
> preprogramramovat i Xilinx, je to tak?
>
> Jinak ty funkce uz vypadaji skvele, libi se mi i to pocitani 
> rychlosti. Perfektni!
>
> Hezky den, Martin.
>
>
> ---
>

Re: Re: Unikarta - opraveno RTS a CTS

Martin Lukasek SHARP MZ-800

Ahoj,

budete jeste v dohledne dobe menit ten obsah Xilinxe? Ze bych to preprogramoval? Ono mi chvili potrva, nez si vzpomenu, jak jsem to delal. Mam pocit, ze to chce stajnout ten sileny Xilinx software, vyrobit SVF nebo XSVF a pak se to da naprogramovat. Nebo existuje jednodussi zpusob? Pujcuju si z prace PRESTO od ASIX.

Klikaci aplikace pro Wokna neni vubec problem? Je tu ale nekdo, kdo by to pouzival? Ja asi ne ;-) Mam radsi Wokna nez Linux apod., pokud nepocitam MacOS, ale stejne docela rad pouzivam prikazovou radku. Jestli to nekdo chce, tak co od toho cekate?

CRC je asi dobry napad. Ale jsem pro jednoduchy max. 16 bit XOR. Resp. pokud by to bylo neco slozitejsiho, tak to musi pocitat STM, protoze Z80 by se z toho zjevila a mam strach, ze by to vsechno dos zpomalovalo.

Hodiny bych neresil. CPM 2.2 je stejne nijak systemove vubec nepodporuje. Kdybychom meli CP/M 3, tak bychom to mozna mohli resit, ale takto bych to nechal, zbytecna prace.

Hezky den, Martin.

Re: Re: Unikarta - opraveno RTS a CTS

Vaclav Peroutka SHARP MZ-800

Martine,

zřejmě ano, pokud budeš chtít experimentovat s ethernetem. Pokud nutně nepotřebuješ SIO ze Sharpa, pak bych asi na Tvém místě počkal.

Co se týče programování, tak já testoval URJTAG, nebo by šlo i OPENOCD. a co se týče bazmeka, tak buď FT2232 nebo Wiggler na LPT port. Já osobně bych preferoval, kdyby někdo vyzkoušel onboard FT232RL na programování CPLD. Dokumentace je tady: http://vak.ru/doku.php/proj/bitbang/bitbang-jtag Tj. nebyl by potřeba žádný externí HW. A ani Xilinx ISE.

Já doufám, že se tento týden dostanu k otestování těch novinek od Michala, co nejdou Pavlovi. Měl jsem teď na hraní ještě jiné věci.

Vašek

------------ Původní zpráva ------------
Od: Martin Lukasek (sharpemupandora.cz) <martin.lukasek[doména skryta]>
Předmět: Re: Re: Unikarta - opraveno RTS a CTS
Datum: 23.10.2011 23:48:33
---------------------------------------------

Ahoj,

budete jeste v dohledne dobe menit ten obsah Xilinxe? Ze bych to preprogramoval? Ono mi chvili potrva, nez si vzpomenu, jak jsem to delal. Mam pocit, ze to chce stajnout ten sileny Xilinx software, vyrobit SVF nebo XSVF a pak se to da naprogramovat. Nebo existuje jednodussi zpusob? Pujcuju si z prace PRESTO od ASIX.

Klikaci aplikace pro Wokna neni vubec problem? Je tu ale nekdo, kdo by to pouzival? Ja asi ne ;-) Mam radsi Wokna nez Linux apod., pokud nepocitam MacOS, ale stejne docela rad pouzivam prikazovou radku. Jestli to nekdo chce, tak co od toho cekate?

CRC je asi dobry napad. Ale jsem pro jednoduchy max. 16 bit XOR. Resp. pokud by to bylo neco slozitejsiho, tak to musi pocitat STM, protoze Z80 by se z toho zjevila a mam strach, ze by to vsechno dos zpomalovalo.

Hodiny bych neresil. CPM 2.2 je stejne nijak systemove vubec nepodporuje. Kdybychom meli CP/M 3, tak bychom to mozna mohli resit, ale takto bych to nechal, zbytecna prace.

Hezky den, Martin.


---

Re: Unikarta - opraveno RTS a CTS

Michal Hučík SHARP MZ-800

Ahoj,

ja jen doplnim, ze ten sileny Xilinx software neni nutne stahovat pokud 
nepotrebujes experimentovat s vlastnima upravama VHDL kodu.
Na svn najdes VHDL, JED i SVF, takze si staci jen vybrat co se ti bude 
aplikovat lepe ...

Tu klikaci apsu bych zatim nijak nehrotil. Pro mne osobne je urcite 
lepsi terminalova Linux aplikace, ale ve chvili, kdy prelezu z Linuxu do 
Widli, tak to s tou prikazovou radkou uz jaksi neni zrovna to prave 
orechove...

Michal


Re: Re: Re: Unikarta - opraveno RTS a CTS

Martin Lukasek SHARP MZ-800

Ahoj,

tak ja asi pockam. Jak prosi myslis to bez externiho HW? Myslis vyuzit interni FT232R a prepojit ho? Myslel jsem, ze by to slo nejak poprepojovat jumper kablikama, ale asi ne. Na J5 a J6 je sice vyvedeny TXD a CTS, ale RXD a RTS uz ne a DTR + DSR nejsou vyvedeny vubec nikam.

Mam tady nejaky FT232RL, i redukcni desticku na DIP28 tak bych to mohl zkusit zbastlit, ale to PRESTO je silne jednodussi ;-)

Hezky den, Martin

Re: Re: Re: Unikarta - opraveno RTS a CTS

Vaclav Peroutka SHARP MZ-800


> Mam tady nejaky FT232RL, i redukcni desticku na DIP28 tak bych to mohl zkusit zbastlit, ale to PRESTO je silne jednodussi ;-)

Jo, jednodušší o tom žádná :-) Pro ty, kdo to PRESTO mají :-) Pokud budeš mít možnost vyzkoušet rychlost programování CPLD podle toho odkazu, bylo by to super.

Vašek

Re: Unikarta - opraveno RTS a CTS

Martin Lukasek SHARP MZ-800

Ahoj,

prepojil jsem na Unikarte RTS-CTS a nahral jsem novy firmware 58. Koukam, ze uz tam jsou i CRC32 a vubec tech funkci uz je tam fest dost, parada!!! Samo budu muset predelat tu PC verzi softu, protoze je dost veci jinak. Bleskurychle jsem (bez CRC a mereni casu) upravil nahravani suboru a nahrava to v pohode, akorat pomalu, odhadem tak 1 kB/s. Budu muset zabadat proc. Xilinx jsem zatim nepreprogramovaval.

Hezky vecer, Martin.

Re: Unikarta - opraveno RTS a CTS

Michal Hučík SHARP MZ-800

Ahoj Martine,

jj pridal jsem par funkci do shellu. Vcera jsem vymyslel nejake 
vylepseni s interrupty a dopsal modul SIO. Jeste to musim otestovat a 
pokud to bude OK, tak vydam dalsi tagovanou verzi firmware.
Puvodne byl ten muj programek zamyslen jen jako demo pro Ushell, ale 
muzeme tomu zalozit nejaky podadresar v projektu. Kdyz si vyjasnime co 
jsou systemove zavisle casti, tak to muzeme prepsat takovym zpusobem, 
aby se to pak nemuselo predelavat pri kazdem novem prikazu shellu - i 
kdyz moc uz jich asi neplanuju. Snad jen zmenu atributu souboru.

Ta rychlost u tebe je divna, ja jsem z toho vytahnul 11.5kB.

Michal

Dne 26.10.2011 1:16, Martin Lukasek (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (15 řádků)
>
> Ahoj,
>
> prepojil jsem na Unikarte RTS-CTS a nahral jsem novy firmware 58. 
> Koukam, ze uz tam jsou i CRC32 a vubec tech funkci uz je tam fest 
> dost, parada!!! Samo budu muset predelat tu PC verzi softu, protoze je 
> dost veci jinak. Bleskurychle jsem (bez CRC a mereni casu) upravil 
> nahravani suboru a nahrava to v pohode, akorat pomalu, odhadem tak 1 
> kB/s. Budu muset zabadat proc. Xilinx jsem zatim nepreprogramovaval.
>
> Hezky vecer, Martin.
>
>
> ---
>

Re: Re: Unikarta - opraveno RTS a CTS

Martin Lukasek SHARP MZ-800

Ahoj,

 

>> Jeste to musim otestovat a pokud to bude OK, tak vydam dalsi tagovanou verzi firmware.

 

Nedalo by se nejak vracet subverzi nebo aspon nejak rozlisit, ze je to beta nebo tak, protoze je trochu zakerne, ze to ted vraci 45. Chapu, proc to tak mas, ma to logiku, ale aby to nekoho nezmatlo.

 

> Puvodne byl ten muj programek zamyslen jen jako demo pro Ushell, ale muzeme tomu

> zalozit nejaky podadresar v projektu. Kdyz si vyjasnime co jsou systemove zavisle casti,

> tak to muzeme prepsat takovym zpusobem, aby se to pak nemuselo predelavat pri kazdem

> novem prikazu shellu - i kdyz moc uz jich asi neplanuju. Snad jen zmenu atributu souboru.

 

Jj, taky uz mne to napadlo. Ten Tvuj programek je podle mne plnohodnotne pouzitelny. Dalo by se to vic ucesat a osetrit, ale ja bych to monza ani neresil, je to asi vic prace jak uzitku s ohledem na to, kolik lidi to asi bude pouzivat. Jak to ted budu prepisovat, tak to zkusim prepsat tak, aby funkce prosli minimalnimi zmenami, pripadne navrhnu nejake "zabaleni" nekterych Tvych, aby to slo relativne pohodlne prekladat multiplatformove.

 

> Ta rychlost u tebe je divna, ja jsem z toho vytahnul 11.5kB.

 

Jo je, na to se budu muset podivat. To bylo prvni co me trklo uz ve Tvem minulem e-mailu, ze Ti to slape pekne svizne. Ja myslel, ze je to tim, jak se to posila po jednom bajtu, ale zjevne ne.

 

Hezky den, Martin.

Re: Unikarta - opraveno RTS a CTS

Michal Hučík SHARP MZ-800


Ahoj,
 

Nedalo by se nejak vracet subverzi nebo aspon nejak rozlisit, ze je to beta nebo tak, protoze je trochu zakerne, ze to ted vraci 45. Chapu, proc to tak mas, ma to logiku, ale aby to nekoho nezmatlo.


Tohle bych moc rad, ale v SVN zrejme narozdil od CVS neexistuje moznost tagovat verzi primo ve zdrojaku - navic my to potrebujeme ulozit do binarky. Zkousel jsem nejaky postup jak toho docilit, jenomze on potom pouzije to cislo verze, ktere plati v tu chvili kdy to posilam do SVN, takze po odeslani zmen mam pak v kodu jine cislo revize, nez je ve skutecnosti na svn... Cislo by souhlasilo jen tehdy, pokud by sis kompiloval sam svou vlastni binarku.
Ja kdyz ted chci poslat otagovanou verzi, tak se podivam jake je aktualni cislo na svn, to zvysim o 1, zapisu do revision.h, zkompiluju a poslu to tam. Zadny lepsi postup mne zatim nenapadnul :(

Jj, taky uz mne to napadlo. Ten Tvuj programek je podle mne plnohodnotne pouzitelny. Dalo by se to vic ucesat a osetrit, ale ja bych to monza ani neresil, je to asi vic prace jak uzitku s ohledem na to, kolik lidi to asi bude pouzivat. Jak to ted budu prepisovat, tak to zkusim prepsat tak, aby funkce prosli minimalnimi zmenami, pripadne navrhnu nejake "zabaleni" nekterych Tvych, aby to slo relativne pohodlne prekladat multiplatformove.


Nedival jsem se jak moc se to lisi v tom windowsovskem zdrojaku. Vcera vecer mne napadlo, ze kdyz se budu fakt moc nudit, tak bych mohl jeste zkusit napsat do linuxu user space modul, se kterym si unikartu pripojim jako kdyby to byl normalni disk :) K tomu by ale bylo potreba pridat jeste par funkci v unikarte...

Co se tyka te rychlosti a funkcnosti, tak by mne zajimalo jestli uz to krom tebe a Pavla jeste nekdo zkousel. Ty jsi to testoval jen z windows, nebo mas k dispozici i nejaky unix na kterem by jsi mohl pouzit primo ten muj kod? Porad mi totiz vrta hlavou to chovani, ktere popisoval Pavel...

Michal

Re: Unikarta - opraveno RTS a CTS

Vaclav Peroutka SHARP MZ-800

Zobrazit citovaný text (9 řádků)
> >
> > Nedalo by se nejak vracet subverzi nebo aspon nejak rozlisit, ze je to 
> > beta nebo tak, protoze je trochu zakerne, ze to ted vraci 45. Chapu, 
> > proc to tak mas, ma to logiku, ale aby to nekoho nezmatlo.
> >
> 
> Tohle bych moc rad, ale v SVN zrejme narozdil od CVS neexistuje moznost 
> tagovat verzi primo ve zdrojaku - navic my to potrebujeme ulozit do 
> binarky.
Ono to tagování nebo branchování se v SVN dělá pomocí kopírování...
 Tj. jak jsou v SVN podadresáře "branches", "tags" a "trunk". v "trunk" se
dělá ten hlavní vývoj. v "branches" si člověk může udělat podadresář 
a tam si dělá svoje věci. No, a "tags", tam se pro změnu "kopíruje"
nějaký stav.

Fyzicky to samozřejmě není kopie, ale pouze vhodně prolinkované verze,
pokud jsem správně pochopil filozofii. Více cizojazyčně tady:
http://www.sethcardoza.com/posts/view/20/title/SVN-Copy---Creating-a-Branch-or-T
ag

Vašek

radic wd2791

Radek Suk SHARP MZ-800

Rad bych navazal na diskusi co bezela minuly rok okolo wd2791. Stale 
premyslim ze si budu chtit postavil radic s wd2791. Proto schanim 
soucastku wd2791(7) pro program Eagle aby to nemusel cele kreslit. 
Nemate ji nekdo?


Nasel jsem jine soucastky WD1770, FD1771, WD1772, WD1773 pro 
predchazejici radic pro MZ700 a to na 
http://www.cadsoftusa.com/downloads/libraries/?language=en, mozna se nam 
to bude nekdy hodit ale do tohoto projektu se to nehodi.

Co se tyce radice rad bych aby umel ovladat i 8 palcove mechaniky, take 
neplanuji udelat minimalistickou variantu, spise to vypada na 
maximalistickou variantu. Je dosti pravdepodobne ze soucasti bude i 
Z80-PIO abych mohl pouzit IM2. Take bych byl rad aby fungovalo moje 
rozsireni na HD diskety a pripadne i Luckyho. Nechci pouzit zadny GAL ci 
PROM a soucasky chci bezne DIL.

Co kdyz bych pro to z80-pio zabral porty 30H-33H? Nemate to jiz nekdo 
zabrano?

Ma o to jeste nekdo zajem? Co se stalo s temi 100 kusy wd2791 - take vam 
to lezi doma v supliku?

Radek




Re: radic wd2791

Martin Lukasek SHARP MZ-800

Ahoj,

je to zvlastni, byl jsem presvedceny, ze to mam, ale skoro to vypada, ze ne. Hodil jsem dotaz do Speccy konfery, tam by to snad mohlo byt, ale je to dviny.

Ja mam WD2791 zatim v supliku (ale mam jen jeden). Univerzalni radic by byl fajn, ja bych byl rad, kdyby umel jak 8" kousky, tak i klasicke 3,5" HD diskety.

Co je prosim IM2? Mne by tam spis prislo fajn SIO, na prenaseni dat mezi PC, pripadne Sharpy.

Hezky den, Martin.

Re: radic wd2791

Radek Suk SHARP MZ-800

Ahoj Martine

IM2 je specialni rezim kdy v pameti mas tabulku interuptu ve ktere je 
umisteno kde zacina vlastni rutinka preruseni. Pouziva se pri tom I 
registr. Je to idelani preruseni pro Z80 
(http://www.scav.cz/sharp_mz-800/sharp_mz-800_1_NMI.htm). Kdyz budes 
chtit vyuzivat vice preruseni na Sharpovi tak narazis na problem ze v 
pripade interuptu musis zjistit jake zarizeni to vyvolalo a to napr. u 
HD diskety skoro nestihnes a proto se domnivam ze udelani radice co bude 
umet IM2 umozni vice karet a to obsluhovat pres interupt. Zde myslim 
take na pristi kartu SIO ktera jiste bude IM2 podporovat. Take jiste se 
bude muset casem zavest diskuse ohledne preruseni na UNIKARTE, 
predstavme si situaci (rezim IM2) ze budu pouzivat tisk pres vnitrni PIO 
a prijde interupt od PIO a UNIKARTY soucasne. V tom pripade ma prednost 
PIO (zajistuje to HW Sharpa) a spravne unikarta ma testovat IEI a kdyz 
je zde log0 tak nema pravo vyvolat Int. Proste muze se pouzit jen IM1 
kdy se skace jen na jednu rutinu na adrese 38H a neda se vyuzit plny 
vykon Sharpa. Z toho plyne ze unikarta asi bude muset znat nejake 
prikazy ktere budou vypinat vyvolani jejiho interuptu aby jina karta 
mela interupt volny pro svoji cinnost, jinak se nebude moci zapojit 
soucasne s jinym interuptem.

Idealni system by mel umet soucasne cist HD diskety, prenos RS232, tisk 
na tiskarne a soucasne korektne "blikat" kurzorem. To vse se da zajistit 
rozume pouze pres IM2 a priorizaci operaci. Samozrejme se da rada veci 
vyresit tak ze se udela smycka a bude se testovat stav ale tim padem ty 
lepsi vlastnosti RS232 jdou uplne vnivec. Prece je lepsi nic netestovat 
a nechat vyvolat interupt jen kdyz prijde znak treba jednou za 5 sekund 
a ne porad to dokolecka testovat a tim brat vykon pocitaci.

Radek

Dne 30.10.2011 23:49, Martin Lukasek (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (18 řádků)
> Ahoj,
>
> je to zvlastni, byl jsem presvedceny, ze to mam, ale skoro to vypada, ze ne.
> Hodil jsem dotaz do Speccy konfery, tam by to snad mohlo byt, ale je to
 dviny.
>
> Ja mam WD2791 zatim v supliku (ale mam jen jeden). Univerzalni radic by byl
> fajn, ja bych byl rad, kdyby umel jak 8" kousky, tak i klasicke 3,5" HD
diskety.
>
> Co je prosim IM2? Mne by tam spis prislo fajn SIO, na prenaseni dat mezi PC,
> pripadne Sharpy.
>
> Hezky den, Martin.
>
>
> ---
>

Re: radic wd2791

Michal Hučík SHARP MZ-800

Dne 31.10.2011 0:50, Radek Suk (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (11 řádků)
> interupt. Zde myslim take na pristi kartu SIO ktera jiste bude IM2 
> podporovat. Take jiste se bude muset casem zavest diskuse ohledne 
> preruseni na UNIKARTE, predstavme si situaci (rezim IM2) ze budu 
> pouzivat tisk pres vnitrni PIO a prijde interupt od PIO a UNIKARTY 
> soucasne. V tom pripade ma prednost PIO (zajistuje to HW Sharpa) a 
> spravne unikarta ma testovat IEI a kdyz je zde log0 tak nema pravo 
> vyvolat Int. Proste muze se pouzit jen IM1 kdy se skace jen na jednu 
> rutinu na adrese 38H a neda se vyuzit plny vykon Sharpa. Z toho plyne 
> ze unikarta asi bude muset znat nejake prikazy ktere budou vypinat 
> vyvolani jejiho interuptu aby jina karta mela interupt volny pro svoji 
> cinnost, jinak se nebude moci zapojit soucasne s jinym interuptem.
Ahoj Radku,

jak uz jsem nedavno napsal, tak to, aby unikarta dokazala korektne 
pracovat s interruptem by vyzadovalo nekolik zasahu do PCB a obavam se, 
ze se do toho nikomu nechce. Signal /INT se v unikarte generuje tak, ze 
pokud je aktivni, tak na nem vystavile 0 a pokud je neaktivni, tak ho 
odpojime a o vystaveni 1 se postara pullup na sbernici Sharpa.
Pokud se budou ostatni pripojene periferie chovat stejne, tak nedojde k 
zadnemu fyzickemu problemu, ale kdyby se pripojilo zarizeni, ktere ma 
potrebu posilat v klidovem stavu tvrdych +5V, tak mame problem.

Co se tyka samotneho preruseni, tak u emu_SIO jej lze deaktivovat pomoci 
prikazu na portu 0x53. U emu_FDC je generovani interruptu realizovano 
tak, ze pokud je radic zapnuty do INT rezimu a je aktivni prikaz 
cteni/zapis sektoru, tak mame v unikarte interni citac zbyvajicich dat 
do ktereho se nastavi velikost fyzickeho sektoru a jeho hodnota se 
snizuje pri  cteni/zapisu datoveho portu 0xdb. Pro vygenerovani 
interruptu je podminkou to, ze tento citac neni nulovy (DRQ). Pri 
testovani jsem odzkousel i variantu, kdy radic agresivne drzel aktivni 
interrupt po celou dobu, kdy byl tento citac nenulovy, ale do firmware 
jsem nakonec pro jistotu pouzil takovou variantu, ze aktivaci INT 
spoustim vzdy po kazdem druhem pozadavku na radic - kazda rutina pro 
praci s FDC totiz neustale testuje status radice prectenim portu 0xd8 a 
toho jsem vyuzil. Napr. v HD cp/m se nastavi radic do INT rezimu, na 
adrese 0x0038 se pripravi prerusovaci kod, zakaze se ruseni, ktere se 
pouziva pro cp/m a nastavi se IM0, do FDC se posle prikaz odpovidajici 
typu operace a pak uz se jen ve smycce neustale testuje status na 0xd8. 
Mezi tim se v preruseni vyridi predani dat a smycka testujici status se 
ukonci ve chvili, kdy FDC prestane byt BUSY.
V tom popisu je v podstate i navod na to, jak je mozne obelstit INT pri 
praci s emu_FDC a obslouzit nejake jine zarizeni, nicmene pri praci se 
skutecnym radicem asi k necemu takovemu nebude sance, protoze by doslo 
ke ztrate dat.

Michal


Re: radic wd2791

Radek Suk SHARP MZ-800

Ahoj Michale

To co pises je pravda ale toto reseni ma tu obrovskou nevyhodu ze CP/M 
musi vzdy kdyz je potreba komunikace s FDD zablokovat ostatni preruseni 
a to jsou minimalne tri a to:

1) 50Hz-casovac obnoveni kurzoru a casu
2) pio - tisk z bufferu na tiskarne
3) sio - prerusit prijem v pripade ze se to bude resit pomoci interuptu 
a ne pres smycku
4) kazde dalsi zarizeni co vyuziva INT

jinak receno nesmi prijit jiny interupt po dobu prace s FDD. Vse je 
samozrejme resitelne ale nebude to cisty kod. Jinak asi pouzivas IM1 a 
ne IM0 jak pises. Co se tyce zmeny karty tak i ja jsem proti, predstava
ze tam davame treba PIO nebo CTC (mensi pouzdro) aby se vyvolal INT u 
IM2 mi neni po chuti - cele by to muselo byt umisteno ve vzduchu. Mozna 
ale pri dalsi verzi karty bych ale o tom uvazoval. Take mam ted myslenku 
tam dat 50pinovy konektor (jen piny) aby se pripadne na to dala dat 
daughter karta co by resila pripadne dodelavky nebo vyvedeni sbernice 
ven z pocitace.

Vysledek diskuse je ten ze muzeme pocitat jen s IM1 a na IM2 muzeme 
zatim zapomenout.

Radek



Dne 31.10.2011 9:41, Michal Hučík (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (55 řádků)
>
> Dne 31.10.2011 0:50, Radek Suk (sharpemupandora.cz) napsal(a):
>> interupt. Zde myslim take na pristi kartu SIO ktera jiste bude IM2
>> podporovat. Take jiste se bude muset casem zavest diskuse ohledne
>> preruseni na UNIKARTE, predstavme si situaci (rezim IM2) ze budu
>> pouzivat tisk pres vnitrni PIO a prijde interupt od PIO a UNIKARTY
>> soucasne. V tom pripade ma prednost PIO (zajistuje to HW Sharpa) a
>> spravne unikarta ma testovat IEI a kdyz je zde log0 tak nema pravo
>> vyvolat Int. Proste muze se pouzit jen IM1 kdy se skace jen na jednu
>> rutinu na adrese 38H a neda se vyuzit plny vykon Sharpa. Z toho plyne
>> ze unikarta asi bude muset znat nejake prikazy ktere budou vypinat
>> vyvolani jejiho interuptu aby jina karta mela interupt volny pro svoji
>> cinnost, jinak se nebude moci zapojit soucasne s jinym interuptem.
>
> Ahoj Radku,
>
> jak uz jsem nedavno napsal, tak to, aby unikarta dokazala korektne
> pracovat s interruptem by vyzadovalo nekolik zasahu do PCB a obavam se,
> ze se do toho nikomu nechce. Signal /INT se v unikarte generuje tak, ze
> pokud je aktivni, tak na nem vystavile 0 a pokud je neaktivni, tak ho
> odpojime a o vystaveni 1 se postara pullup na sbernici Sharpa.
> Pokud se budou ostatni pripojene periferie chovat stejne, tak nedojde k
> zadnemu fyzickemu problemu, ale kdyby se pripojilo zarizeni, ktere ma
> potrebu posilat v klidovem stavu tvrdych +5V, tak mame problem.
>
> Co se tyka samotneho preruseni, tak u emu_SIO jej lze deaktivovat pomoci
> prikazu na portu 0x53. U emu_FDC je generovani interruptu realizovano
> tak, ze pokud je radic zapnuty do INT rezimu a je aktivni prikaz
> cteni/zapis sektoru, tak mame v unikarte interni citac zbyvajicich dat
> do ktereho se nastavi velikost fyzickeho sektoru a jeho hodnota se
> snizuje pri cteni/zapisu datoveho portu 0xdb. Pro vygenerovani
> interruptu je podminkou to, ze tento citac neni nulovy (DRQ). Pri
> testovani jsem odzkousel i variantu, kdy radic agresivne drzel aktivni
> interrupt po celou dobu, kdy byl tento citac nenulovy, ale do firmware
> jsem nakonec pro jistotu pouzil takovou variantu, ze aktivaci INT
> spoustim vzdy po kazdem druhem pozadavku na radic - kazda rutina pro
> praci s FDC totiz neustale testuje status radice prectenim portu 0xd8 a
> toho jsem vyuzil. Napr. v HD cp/m se nastavi radic do INT rezimu, na
> adrese 0x0038 se pripravi prerusovaci kod, zakaze se ruseni, ktere se
> pouziva pro cp/m a nastavi se IM0, do FDC se posle prikaz odpovidajici
> typu operace a pak uz se jen ve smycce neustale testuje status na 0xd8.
> Mezi tim se v preruseni vyridi predani dat a smycka testujici status se
> ukonci ve chvili, kdy FDC prestane byt BUSY.
> V tom popisu je v podstate i navod na to, jak je mozne obelstit INT pri
> praci s emu_FDC a obslouzit nejake jine zarizeni, nicmene pri praci se
> skutecnym radicem asi k necemu takovemu nebude sance, protoze by doslo
> ke ztrate dat.
>
> Michal
>
>
>
> ---
>
>

Re: radic wd2791

Michal Hučík SHARP MZ-800

Dne 31.10.2011 10:35, Radek Suk (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (7 řádků)
> ze tam davame treba PIO nebo CTC (mensi pouzdro) aby se vyvolal INT u 
> IM2 mi neni po chuti - cele by to muselo byt umisteno ve vzduchu. 
> Mozna ale pri dalsi verzi karty bych ale o tom uvazoval. Take mam ted 
> myslenku tam dat 50pinovy konektor (jen piny) aby se pripadne na to 
> dala dat daughter karta co by resila pripadne dodelavky nebo vyvedeni 
> sbernice ven z pocitace.
>
Radku, ale my tam prece nepotrebujeme montovat zadneho dalsiho svaba - 
staci jedno hradlo, dioda a 2 propojky:

Na unikarte staci zmena stavajici dratove propojky z /RD na /M1. 
Propojka /M1 do STM32. Preruseni signalu INT mezi STM32 a sbernici. 
Pridratovani jednoho hradla, ktere by bohuzel skutecne muselo viset ve 
vzduchu. Hradlo by melo na vstupu INT z STM32 a IEI ze sbernice. 
Vysledek by sel do CPLD a pres diodu do INT na sbernici sharpa. Zbytek 
uz obstara zmena firmware CPLD a STM32... Jedinym problemem takoveho 
reseni je, ze neumime zareagovat na EI, RETI instrukce, ale to uz se da 
oplakat.

viz muj prispevek z 18.10 http://pandora.idnes.cz/part/2011/10/8098

Michal

Re: radic wd2791

Radek Suk SHARP MZ-800

Michale jestli to chapu spravne tak po zmene co pises by unikarta umela 
reagovat spravne na IM2 a dodala by vektor preruseni. Bude i ona schopna 
vyslat korektne IEO pro dalsi zarizeni v kaskade? Ptam se proto ze dalsi 
zarizeni by asi bylo SIO a to by se melo v tu dobu "odmlcet".
Asi by nebylo idelani aby unikarta byla v kaskade posledni.


Jinak stale premyslim ze si udelam bednicku s peti lizinami pro Sharp 
karty a uvnitr bude vzdy IEI a IE0 propojen v kaskade. Tak bude slot1 
mit maximalni prioritu a slot5 minimalni.

Radek


Dne 31.10.2011 12:01, Michal Hučík (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (29 řádků)
>
> Dne 31.10.2011 10:35, Radek Suk (sharpemupandora.cz) napsal(a):
>> ze tam davame treba PIO nebo CTC (mensi pouzdro) aby se vyvolal INT u
>> IM2 mi neni po chuti - cele by to muselo byt umisteno ve vzduchu.
>> Mozna ale pri dalsi verzi karty bych ale o tom uvazoval. Take mam ted
>> myslenku tam dat 50pinovy konektor (jen piny) aby se pripadne na to
>> dala dat daughter karta co by resila pripadne dodelavky nebo vyvedeni
>> sbernice ven z pocitace.
>>
>
> Radku, ale my tam prece nepotrebujeme montovat zadneho dalsiho svaba -
> staci jedno hradlo, dioda a 2 propojky:
>
> Na unikarte staci zmena stavajici dratove propojky z /RD na /M1.
> Propojka /M1 do STM32. Preruseni signalu INT mezi STM32 a sbernici.
> Pridratovani jednoho hradla, ktere by bohuzel skutecne muselo viset ve
> vzduchu. Hradlo by melo na vstupu INT z STM32 a IEI ze sbernice.
> Vysledek by sel do CPLD a pres diodu do INT na sbernici sharpa. Zbytek
> uz obstara zmena firmware CPLD a STM32... Jedinym problemem takoveho
> reseni je, ze neumime zareagovat na EI, RETI instrukce, ale to uz se da
> oplakat.
>
> viz muj prispevek z 18.10 http://pandora.idnes.cz/part/2011/10/8098
>
> Michal
>
> ---
>
>

Re: radic wd2791

Michal Hučík SHARP MZ-800


Hmmm ... ted se divam na sbernici Sharpa a mam v tom trochu zmatek. Byl 
jsem az doted presvedceny, ze integrovane PIO80 ma IEI zapojene natvrdo 
k napajeni a pres IEO dela mastera vsem dalsim externim periferiim.
Kdyz se ale divam tady 
http://www.scav.cz/sharp_mz-800/sharp_mz-800.htm#Sběrnice , tak na 
sbernici mame pouze vstupy INT a IEI, ale zadny vystup - tnz., ze tedy 
kazda externi periferie ma vyssi prioritu, nez integrovane PIO?

Jaka je potom spravna logika generovani interruptu od externich 
zarizeni? Pri jednom externim zarizeni predpokladam, ze je spravne 
poslat /INT a IEI soucasne a tim reknu, ze se o vektor postaram ja.
Zapojeni interruptu u periferii Z80 je popsano tady 
http://www.z80.info/zip/um0081.pdf ... Pokud tomu dobre rozumim, tak 
standardni sbernice Sharpa zrejme nepocita s vice, nez jednim zarizenim, 
ktere bude generovat IEI signal - leda ze by byla mezi jednotlivymi 
konektory zapojena jeste nejaka logika, tak jak je to popsano v tom pdf.

Michal


Dne 31.10.2011 12:23, Radek Suk (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (14 řádků)
>
> Michale jestli to chapu spravne tak po zmene co pises by unikarta 
> umela reagovat spravne na IM2 a dodala by vektor preruseni. Bude i ona 
> schopna vyslat korektne IEO pro dalsi zarizeni v kaskade? Ptam se 
> proto ze dalsi zarizeni by asi bylo SIO a to by se melo v tu dobu 
> "odmlcet".
> Asi by nebylo idelani aby unikarta byla v kaskade posledni.
>
>
> Jinak stale premyslim ze si udelam bednicku s peti lizinami pro Sharp 
> karty a uvnitr bude vzdy IEI a IE0 propojen v kaskade. Tak bude slot1 
> mit maximalni prioritu a slot5 minimalni.
>
> Radek

Re: radic wd2791

Radek Suk SHARP MZ-800

Ahoj Michale

Je to tak ze signal z vnitrniho PIO co se jmenuje na soucastce IEO je 
vyveden na sbernici jako signal se jmenem IEI a to te mozna trosku mate.

Jinak to daisy chain zapojeni (priorizace) o kterem hovorim, myslim jako 
u zarizeni MZ-1U06 Expansion Unit Service Manual (ja jen chci pet slotu 
a ne dva). Viz navod http://www.sharpmz.org/mz-700/download/1u06.pdf a 
http://www.sharpmz.org/mz-700/download/1u06_sm.pdf V druhem navodu je 
jak nakresleno jak se to ma zapojit a je to uplne stejne reseni co ty 
vidis v http://www.z80.info/zip/um0081.pdf. Kdyz to reknu jinak tak to 
mozna cele obkreslim a dokonce nenecham v sharpovi zadnou desku ale vse 
bude v te rozsirujicim zarizeni ("boxu"). Druhe reseni je vytahnout ze 
Sharpa ty dva signaly co ovladaji IO9C a dat je na T9 sbernici, pak by 
mohl ramdisk zustat uvnitr stroje ale zase riskujeme problem "dlouheho 
vedeni" (odrazy) a tak asi opravdu vse pujde ven.


Co se tyce preruseni tak pri IM1 se skace na jednu adresu a tam se ma 
zjitit jake zarizeni vyvolalo preruseni a obslouzit to, pripadne 
vsechny. Bohuzel to zjisteni je docela dlouha operace - pro ovladani 
kurzoru nebo tiskarny je to ok ale kdyz mate jen par desitek taktu na 
prevzeti informace, tak je to nevhodne. Zde staci ze pri HD diskete mate 
prenos 250 kbit/s, coz pri rychlosti procesoru 3,547MHz rika ze mate jen 
113 taktu na prevzeti jednoho oktetu. V Shaprovi neni zadny prioritni 
koder co by pomohl rychle urcit puvodce preruseni.

Co se tyce IM2 zde se ocekava daisy chain zapojeni a zarizeni ktere chce 
vyvolat interupt schodi IEO na log0 a tim padem zarizeni s nizsi 
prioritou ho nevyvola a pocka az bude na jeho IEI vstupu log1. Proto jen 
jedno zarizeni v jeden okamzik muze vyvolat preruseni a to same zarizeni 
si pamatuje ze prave ono ma pri INTA cyklu vydat vektor preruseni 
(zarizeni s IEI-1 and IEO-0). Jak jde videt ta firma Sharp s tim 
pocitala viz MZ-1U06 ale samoztejme uvnitr pocitadla to neni, protoze 
tam mel byt dole jen ram-disk a tak je IEI vyveden vlasne jen do horniho 
slotu i presto ze je zapojen i v dolnim.

Snad jsem to i ja spravne pochopil a popsal :-).

Radek



Dne 31.10.2011 12:58, Michal Hučík (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (43 řádků)
>
>
>
> Hmmm ... ted se divam na sbernici Sharpa a mam v tom trochu zmatek. Byl
> jsem az doted presvedceny, ze integrovane PIO80 ma IEI zapojene natvrdo
> k napajeni a pres IEO dela mastera vsem dalsim externim periferiim.
> Kdyz se ale divam tady
> http://www.scav.cz/sharp_mz-800/sharp_mz-800.htm#Sběrnice , tak na
> sbernici mame pouze vstupy INT a IEI, ale zadny vystup - tnz., ze tedy
> kazda externi periferie ma vyssi prioritu, nez integrovane PIO?
>
> Jaka je potom spravna logika generovani interruptu od externich
> zarizeni? Pri jednom externim zarizeni predpokladam, ze je spravne
> poslat /INT a IEI soucasne a tim reknu, ze se o vektor postaram ja.
> Zapojeni interruptu u periferii Z80 je popsano tady
> http://www.z80.info/zip/um0081.pdf ... Pokud tomu dobre rozumim, tak
> standardni sbernice Sharpa zrejme nepocita s vice, nez jednim zarizenim,
> ktere bude generovat IEI signal - leda ze by byla mezi jednotlivymi
> konektory zapojena jeste nejaka logika, tak jak je to popsano v tom pdf.
>
> Michal
>
>
> Dne 31.10.2011 12:23, Radek Suk (sharpemupandora.cz) napsal(a):
>>
>> Michale jestli to chapu spravne tak po zmene co pises by unikarta
>> umela reagovat spravne na IM2 a dodala by vektor preruseni. Bude i ona
>> schopna vyslat korektne IEO pro dalsi zarizeni v kaskade? Ptam se
>> proto ze dalsi zarizeni by asi bylo SIO a to by se melo v tu dobu
>> "odmlcet".
>> Asi by nebylo idelani aby unikarta byla v kaskade posledni.
>>
>>
>> Jinak stale premyslim ze si udelam bednicku s peti lizinami pro Sharp
>> karty a uvnitr bude vzdy IEI a IE0 propojen v kaskade. Tak bude slot1
>> mit maximalni prioritu a slot5 minimalni.
>>
>> Radek
>
>
> ---
>
>