Date: Sat, 16 Apr 94 22:13:26 -0400 From: dj AT ctron DOT com (DJ Delorie) To: gordon AT yrd DOT chem DOT washington DOT edu Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Re: Unsupported Interrupt -- Success, but still some questions Note that the transfer buffer is available for use as temporary real-memory space. Its linear address is in the go32_info_struct (see ) and you can figure it's segment/offset from that. It's pre-allocated so you don't have to mess with allocating dos memory. dosmemput/dosmemget are more efficient than farptr for largish blocks, but farptr is faster for small fixed-size blocks (if you use 4-byte transfers and the no-selector-argument version of the farptr calls, presetting the selector in advance). However, this overhead is much less than the prot->real transfer call, which would be in the same loop, so what's the point? Note: if you're setting the palette registers, why did you need to copy the data back after the call? DJ