Aucbvax.1462 fa.info-cpm utzoo!duke!mhtsa!ucbvax!PLATTS@WHARTON-10 Sun May 31 14:25:38 1981 DMA address finding ... yes, I know the "default" DMA area is at 80h. However, my situation is roughly like this: I have implemented the full IOBYTE (mostly with the aid of a TDL SMB card), I have room for 2K worth of misc. routines well above CPM. My user printer device is (to be) a disk-spooler; it has its own buffer -- it must keep this buffer separate from the transient's IO buffers (remember, we are never sure what the transient will be or what/how many DMA areas it may be switching among). So when it comes time for the spooler to write a buffer-full, it must save the old DMA address, set DMA addr to the new buffer (its own), write, and then reset the old DMA address. If I could guarantee that all transients obey the sequence "set dma(addr); write" whenever they went to write, there'd be no problem. But I cannot. It looks as if I'll stick with that which Ron Fowler suggested, 0005 jmp bdos jmp wherever -> jmp mypat (above f800 somewhere) if code=setdma then mysavearea=newaddress jmp wherever ... aggh, patches and patches on patches... Thanks to all who responded, -Steve ----------------------------------------------------------------- gopher://quux.org/ conversion by John Goerzen of http://communication.ucsd.edu/A-News/ This Usenet Oldnews Archive article may be copied and distributed freely, provided: 1. There is no money collected for the text(s) of the articles. 2. The following notice remains appended to each copy: The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996 Bruce Jones, Henry Spencer, David Wiseman.