TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Rob Basler
from: Jonathan de Boyne Pollard
date: 1995-01-06 05:44:58
subject: Can`t set VIO palette

RB>
  > void VGASetAllPalette(char *palette, int size) {
  >   VIOCOLORREG viocreg;
  >
  >   memcpy(&viocreg.colorregaddr, palette, 4);
  > };
RB>

  Are you sure that you don't mean to copy the pointer itself ?

      memcpy(&viocreg.colorregaddr, &palette, sizeof(palette));

  This is always assuming that `palette' has been properly thunked to
  16:16, of course.  By the looks of it it is a 32:0 pointer, and you
  will either have to thunk by hand before the assignment, or change the
  declaration to use the __far16 keyword that is supplied in Borland C++.

  If it is a 16:16 pointer that is required, you might like to inform
  IBM that the declaration of colorregaddr in the 2.x Toolkit headers
  should be PCHAR16 and not PCH.

  Go on!  Send them a PTF for it!

RB>
  > The good news is that my frame rate went up about 50% just by compiling
  > under OS/2 rather than DOS - Yay!
RB>

  Excellent.  (-:

  > JdeBP <
___
 X MegaMail 2.10 #0:

--- Maximus/2 2.02
* Origin: DoNoR/2,Woking UK (44-1483-725167) (2:440/4)
SEEN-BY: 12/2442 620/243 624/50 632/348 640/820 690/660 711/409 410 413 430
SEEN-BY: 711/807 808 809 934 942 949 712/353 515 713/888 800/1 7877/2809
@PATH: 440/4 141/209 270/101 396/1 3615/50 229/2 12/2442 711/409 808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.