From: Andreas Pfau Subject: help To: djgpp AT sun DOT soe DOT clarkson DOT edu Date: Tue, 12 Jul 94 15:15:59 METDST Mailer: Elm [revision: 70.85] Dear Mr.Delorie and any users of GNU C, herewith I kindly request a little help with a small problem of mine. In a 'regular' DOS-C program I used the following routine to send data to a 16-bit-data-register of a PC-add-on-board which was developed for test purpose. unsigned short far *adr; unsigned short val=0xffff; /* dummy value */ adr=0xD0000000; /* simplified; normally a MACRO MK_FP is used to set SEGMENT and OFFSET address in the PC memory space */ *adr=val; /* send 16 bit value val to register at 0xD0000 */ Now I have to translate this little program to the GNU C environment. I tried the dosmemput/dosmemget functions but they only work on bytes i.e. 8 bits properly. What I need is a function that copies 16 bit directly to the PC's conventional memory area. One possibility would be to rewrite the source dosmem.s and recompile the standard C library. It is obvious that it is preferable to use a library function that does the trick. So if you might give me a little advise I would be very grateful. Thank you and Bye Bye. pfau AT ind DOT e-technik DOT uni-stuttgart DOT de