From: wymanm AT cork DOT cig DOT mot DOT com (Mark Wyman(AH)) Date: Wed, 6 Apr 1994 15:55:42 +0100 To: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: INT86 Question Hi, I am currently porting a VGA graphics routine (vgl) to DJGPP. The majority of the routines are in assembler and I have been able to port them to GAS relatively easily. Some of the minor routines like setting VGA mode and setting colors I have made into C routines and used INT86(). I am having a problem with one of the int 0x10 functions. It is function 0x1012 which sets the entire or portion of the color palette. The registers it uses are : _AX = 0x1012 _BX = Starting color index (say 0) _CX = Number colors (say 256) _ES:_DX points to bufer that holds the r,g,b values for each color. I was reading the info on Int86 and it said that GO32 would know how to convert from virtual pointers to segment:offset values. It said to load the extended register (in this case _EDX) with the actual pointer (say from a malloc). It also said that the ES register does not need to be filled in. I did this and it didn't work :( Anyone know what I could be doing wrong? In the meantime I am using function 0x1010 which sets an individual color but it is painfully slow for setting up all 256 colors. By the way, the reason I am porting VGL is because I didn't see anything out there for DJGPP. I saw LIBGRX but it wasn't fast enough for what I need. Is there anything else out there that is fast? I have the majority of VGL routines ported. If there is demand I will put them out for public consumption once I get the original authors blessing. Thanks for any help, Mark Wyman