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)]