home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <dos.h>
-
- struct SINGLEPLT {
- unsigned size;
- struct PALETTE {
- unsigned colorid;
- unsigned char reserve;
- unsigned char red;
- unsigned char green;
- unsigned char blue;
- } pltbl;
- };
-
- extern unsigned char gds_fshift;
- extern unsigned gds_wrkoff;
- extern unsigned gds_wrkseg;
-
- void g_palette(unsigned color,unsigned char red,unsigned char green,
- unsigned char blue)
- {
- union REGS reg;
- struct SREGS seg;
- struct SINGLEPLT plt;
-
- segread(&seg);
- reg.h.ah=gds_fshift+3;
- plt.size=6;
- plt.pltbl.colorid=color;
- plt.pltbl.red=red;
- plt.pltbl.green=green;
- plt.pltbl.blue=blue;
- reg.x.di=(unsigned)&plt;
- seg.ds=seg.ss;
- reg.x.bx=gds_wrkoff;
- seg.es=gds_wrkseg;
- int86x(0x92,®,®,&seg);
- }