\r
//===========================================================================\r
\r
-//++++#if GRMODE == EGAGR\r
+//????#if GRMODE == EGAGR\r
+#if 0\r
\r
/*\r
======================\r
=\r
======================\r
*/\r
-/*++++\r
+\r
unsigned static sheight,swidth;\r
boolean static dothemask;\r
\r
swidth = width;\r
dothemask = domask;\r
\r
-asm mov ax,[segment]\r
-asm mov ds,ax // source and dest are in same segment, and all local\r
+ __asm {\r
+ mov ax,[segment]\r
+ mov ds,ax // source and dest are in same segment, and all local\r
\r
-asm mov bx,[source]\r
-asm mov di,[dest]\r
+ mov bx,[source]\r
+ mov di,[dest]\r
\r
-asm mov bp,[pixshift]\r
-asm shl bp,1\r
-asm mov bp,WORD PTR [shifttabletable+bp] // bp holds pointer to shift table\r
+ mov bp,[pixshift]\r
+ shl bp,1\r
+ mov bp,WORD PTR [shifttabletable+bp] // bp holds pointer to shift table\r
\r
-asm cmp [ss:dothemask],0\r
-asm je skipmask\r
+ cmp [ss:dothemask],0\r
+ je skipmask\r
\r
//\r
// table shift the mask\r
//\r
-asm mov dx,[ss:sheight]\r
-\r
+ mov dx,[ss:sheight]\r
+#ifdef __BORLANDC__\r
+ }\r
+#endif\r
domaskrow:\r
-\r
-asm mov BYTE PTR [di],255 // 0xff first byte\r
-asm mov cx,ss:[swidth]\r
-\r
+#ifdef __BORLANDC__\r
+ __asm {\r
+#endif\r
+ mov BYTE PTR [di],255 // 0xff first byte\r
+ mov cx,ss:[swidth]\r
+#ifdef __BORLANDC__\r
+ }\r
+#endif\r
domaskbyte:\r
-\r
-asm mov al,[bx] // source\r
-asm not al\r
-asm inc bx // next source byte\r
-asm xor ah,ah\r
-asm shl ax,1\r
-asm mov si,ax\r
-asm mov ax,[bp+si] // table shift into two bytes\r
-asm not ax\r
-asm and [di],al // and with first byte\r
-asm inc di\r
-asm mov [di],ah // replace next byte\r
-\r
-asm loop domaskbyte\r
-\r
-asm inc di // the last shifted byte has 1s in it\r
-asm dec dx\r
-asm jnz domaskrow\r
-\r
+#ifdef __BORLANDC__\r
+ __asm {\r
+#endif\r
+ mov al,[bx] // source\r
+ not al\r
+ inc bx // next source byte\r
+ xor ah,ah\r
+ shl ax,1\r
+ mov si,ax\r
+ mov ax,[bp+si] // table shift into two bytes\r
+ not ax\r
+ and [di],al // and with first byte\r
+ inc di\r
+ mov [di],ah // replace next byte\r
+\r
+ loop domaskbyte\r
+\r
+ inc di // the last shifted byte has 1s in it\r
+ dec dx\r
+ jnz domaskrow\r
+#ifdef __BORLANDC__\r
+ }\r
+#endif\r
skipmask:\r
-\r
+#ifdef __BORLANDC__\r
+ __asm {\r
+#endif\r
//\r
// table shift the data\r
//\r
-asm mov dx,ss:[sheight]\r
-asm shl dx,1\r
-asm shl dx,1 // four planes of data\r
-\r
+ mov dx,ss:[sheight]\r
+ shl dx,1\r
+ shl dx,1 // four planes of data\r
+#ifdef __BORLANDC__\r
+ }\r
+#endif\r
dodatarow:\r
-\r
-asm mov BYTE PTR [di],0 // 0 first byte\r
-asm mov cx,ss:[swidth]\r
-\r
+#ifdef __BORLANDC__\r
+ __asm {\r
+#endif\r
+ mov BYTE PTR [di],0 // 0 first byte\r
+ mov cx,ss:[swidth]\r
+#ifdef __BORLANDC__\r
+ }\r
+#endif\r
dodatabyte:\r
+#ifdef __BORLANDC__\r
+ __asm {\r
+#endif\r
+ mov al,[bx] // source\r
+ inc bx // next source byte\r
+ xor ah,ah\r
+ shl ax,1\r
+ mov si,ax\r
+ mov ax,[bp+si] // table shift into two bytes\r
+ or [di],al // or with first byte\r
+ inc di\r
+ mov [di],ah // replace next byte\r
\r
-asm mov al,[bx] // source\r
-asm inc bx // next source byte\r
-asm xor ah,ah\r
-asm shl ax,1\r
-asm mov si,ax\r
-asm mov ax,[bp+si] // table shift into two bytes\r
-asm or [di],al // or with first byte\r
-asm inc di\r
-asm mov [di],ah // replace next byte\r
-\r
-asm loop dodatabyte\r
+ loop dodatabyte\r
\r
-asm inc di // the last shifted byte has 0s in it\r
-asm dec dx\r
-asm jnz dodatarow\r
+ inc di // the last shifted byte has 0s in it\r
+ dec dx\r
+ jnz dodatarow\r
\r
//\r
// done\r
//\r
\r
-asm mov ax,ss // restore data segment\r
-asm mov ds,ax\r
+ mov ax,ss // restore data segment\r
+ mov ds,ax\r
+ }\r
\r
}\r
\r
#endif\r
-*/\r
+\r
//===========================================================================\r
\r
/*\r