Posted By: shimi (The NEUROLOGiC member) on 'CZprogram' Title: Re: SB a DMA II Date: Mon Feb 10 16:37:25 1997 Tohle je moji silnou strankou (delam do toho celkem dlouho) a proto myslim, ze sem schopen nna tohle tema udelat 100% jasno : > > var a:array[1..60000] of byte Tak takhle to prave nejde Je uplne jedno jestli to pretejka segment, selektor (v pmode je dma bufer este troch slozitsi) dulezita je adresa ktera se promita na ABUS tj v nasem pripade SEGMENT*16+OFFSET. Takze adresa poslodniho bytu v buferu SHR 16 (17 pokud de o dma 16bit) nesmi byt vetsi nez takto upravena addr prvniho. Je to dano Idiots Built Me architekturou (Radic DMA 8237A (pozdeji "vylepsena" verze 82C37A) byl puvedne postaven pro systemy 8080 (Z80) a ma tedy jen 16ti bit adresy. Nabizely se tedy nekolik moznosti napr zbyvajici adresne vodice pichnout pri dma trvale k nule a dma by prenasel v ramci prvnich 64kb (vsechny kanaly) coz by nebylo ono. Nebo pri dma aktivovat rychlou statickou pamet (bystrejsi uz muzou pochopit, ze jde o strankove registry dma 74672 (nepletu se?)) ktere podle kanalu nasypou na A16-A23 zbytek do 24bit adresy(u sestnactibit dma jednoduse adresne nohy od 8237A posunuly o 1 vys (aby adtresoval slova) tudiz nejnizsi bit u stranky je nezapojen a nema vyznam). Dusledek : pri prewteceni regionu dma se tedy radic chova naprosto "definovane" Ale prenasi z (na) adresy PocatekRegionu-0x10000 ale o dma sem tu (na CZhw)uz asi 3x mluvil (i podrobnejc a nikdo tam vo to ani nezavadil a tady kdyz sem to zkusil z prog guse tak ticho po pesine a s takovimhle vcelku trivialnim dotazem se tu s postovanim roztrhne pytel > je normalni prikaz SB_Play, kterej prenasi pres DMA kanal data a kdyz se > ukonci, zavola ti tvoje IRQ a je konec. Kdezto v jinym modu (DMAAutoInit) > se prehravani pres DMA neukonci, ale zacne uplne znova zase od zacatku > toho daneho bufferu. Proste to jede porad dokola. sila tohohle je ale trosku v necem jinym(double bufering) caute +-- | | | | /| | I was systemak, +--+ | | | | / | | I'm systemak | +---+ | | | | and I will be systemak --+ | | | | | | E-mail: tsimek@satyr.zcu.cz