home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <dos.h>
-
- struct COPYRECT {
- unsigned char sourcepage,reserve1;
- int x1,y1,x2,y2;
- unsigned char destpage,reserve2;
- int dx,dy;
- };
-
- extern unsigned char gds_fshift;
- extern unsigned gds_wrkoff;
- extern unsigned gds_wrkseg;
-
- int g_partcopy(unsigned char srcpage,int startx,int starty,int endx,int endy,
- unsigned char dstpage,int dstx,int dsty,unsigned char mode)
- {
- union REGS reg;
- struct SREGS seg;
- struct COPYRECT rect;
-
- segread(&seg);
- reg.h.ah=gds_fshift+7;
- reg.h.al=mode;
- reg.x.di=(unsigned)▭
- seg.ds=seg.ss;
- rect.sourcepage=srcpage;
- rect.reserve1=0;
- rect.x1=startx;
- rect.y1=starty;
- rect.x2=endx;
- rect.y2=endy;
- rect.destpage=dstpage;
- rect.reserve2=0;
- rect.dx=dstx;
- rect.dy=dsty;
- reg.x.bx=gds_wrkoff;
- seg.es=gds_wrkseg;
- int86x(0x92,®,®,&seg);
- return (int)reg.h.ah;
- }