[Info-vax] Bounce buffers, was: Re: $sndopr() and dsc64$descriptor

John Reagan xyzzy1959 at gmail.com
Fri Mar 12 17:12:29 EST 2021


On Friday, March 12, 2021 at 1:42:06 PM UTC-5, Simon Clubley wrote:
> On 2021-03-12, John Reagan <xyzz... at gmail.com> wrote: 
> > For those of you keeping score at home, I checked the sources (Macro-32) and it seems to only deal with 32-bit descriptors. Since the $SND* services use descriptors to describe non-strings, the internal consumers would also need to handle 64-bit addresses and/or lengths > 64K. I guess it is the 64-bit addresses that is the "most common" request (ie, this thread). I think we can deliver this change at the same time we ship object-oriented BASIC. 
> >
> Interesting. I think David is going to look forward to playing with 
> OO Basic from next month. :-) 
> 
> On a more serious note, has anyone ever considered implementing a 
> bounce buffer in the system service interface for these problem 
> system services ? 
> 
> How easy would it be to mark a specific system service as being 32-bit 
> only so the system service interface could implement a bounce buffer 
> and do the copying to and from the user's buffer as required if the 
> user's buffer was outside of the 32-bit address range ?
> Simon. 
> 
> -- 
> Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP 
> Walking destinations on a map are further away than they appear.
In many cases, yes, that would be reasonable for some but others get ugly with deciding to do a shallow copy vs a deep copy.  A different approach is to use some the LIB$ jackets over the top of an underlying service (LIB$GETJPI for instance).  That might be a better place for such a buffer shuffle.



More information about the Info-vax mailing list