X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Received: by 10.66.119.41 with SMTP id kr9mr826164pab.47.1405652023583; Thu, 17 Jul 2014 19:53:43 -0700 (PDT) X-Received: by 10.50.50.205 with SMTP id e13mr56835igo.17.1405652023334; Thu, 17 Jul 2014 19:53:43 -0700 (PDT) Newsgroups: comp.os.msdos.djgpp Date: Thu, 17 Jul 2014 19:53:42 -0700 (PDT) Complaints-To: groups-abuse AT google DOT com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=2601:7:f00:2ca:eccf:c87e:5a70:1b5e; posting-account=05hOMwoAAAB6R8xtiQKzEljSMzgOhVF1 NNTP-Posting-Host: 2601:7:f00:2ca:eccf:c87e:5a70:1b5e User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <82286315-4f2d-4699-8c58-97fb7bdf08cc@googlegroups.com> Subject: question about implementation,usage of _dosmemput* From: Jim Michaels Injection-Date: Fri, 18 Jul 2014 02:53:43 +0000 Content-Type: text/plain; charset=ISO-8859-1 X-Received-Bytes: 2942 X-Received-Body-CRC: 659074276 Bytes: 3184 Lines: 44 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id s6I3F2dP030329 Reply-To: djgpp AT delorie DOT com http://www.delorie.com/djgpp/doc/libc/ I was looking at the documentation for _dosmemputw(), and I understood that I wanted to put a uint16_t to a 640k dos buffer __tb, however, I just realized I have no way to get the data from the variable to the dos memory. no way to specify the variable address. _go32_dpmi_allocate_dos_memory() I looked at this example, and none of these examples say what it is exactly they are doing, and it's not clear/obvious. an example that includes an actual variable that'w wider than 1 byte to put into memory would be very very helpful. please put it in the documentation so others and I know how to use this. thanks. as it is, my coding is blocked because I don't know what to do. if buffer is the target as it's described, where do I put the source? no argument for this I can find. help. thanks. //for use with USB const uint8_t diskInterrupt=0x13, SendPacketCommand=0x50, zeroByte=0, fullPacketSize=255, sizeByte=fullPacketSize, fullPacketDataLength=sizeByte-packetOverhead, lastPartialPacketDataLength=bufferLength%fullPacketDataLength, lastPartialPacketSize=lastPartialPacketDataLength+packetOverhead; const uint16_t key=0xb055; uint8_t* _data; //this is an argument from a function _go32_dpmi_seginfo info; info.size=(fullPacketSize+15)/16; _go32_dpmi_allocate_dos_memory(&info); //ok. target is __tb+0, source is offset(???) which is info.rm_segment*16 //key=0b055hh. this won't change from packet to packet _dosmemputw(__tb+0,1,info.rm_segment*16); where do I put the address for key? I just don't know how to cobble together these 2 parts of the API from the examples and the declarations. could some explanatory comments at least be put in the examples?