delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/04/06/11:13:11

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019