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

Search the boards