Konference: Počítač SHARP MZ-800 a emulátory

Od: Radek Suk
Datum: 31.10.2011 10:35
Předmět: Re: radic wd2791


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 (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a):
>
> Dne 31.10.2011 0:50, Radek Suk (sharpemu tu byla ta zakroucena vec pandora.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
>
>
>
> ---
>
>


Ostatní příspěvky vlákna:

 
[2011/1 (52)] [2011/2 (9)] [2011/3 (2)] [2011/4 (9)] [2011/5 (8)] [2011/7 (1)] [2011/8 (40)] [2011/9 (146)] [2011/10 (116)] [2011/11 (29)] [2011/12 (110)]


[1999 (1)] [2000 (168)] [2001 (733)] [2002 (459)] [2003 (654)] [2004 (224)] [2005 (105)] [2006 (182)] [2007 (201)] [2008 (294)] [2009 (363)] [2010 (782)] [2011 (522)] [2012 (642)] [2013 (442)]