#include "src/lib/16_vl.h"\r
\r
static word far* clockw= (word far*) 0x046C; /* 18.2hz clock */\r
+//#define VGASTRIDEVARIABLE vga_state.vga_stride\r
+#define VGASTRIDEVARIABLE gvar->video.page[0].stridew\r
\r
//===========================================================================\r
\r
v->fastpalette = false;\r
}\r
\r
+/*\r
+==================\r
+=\r
+= VL_ColorBorder\r
+=\r
+==================\r
+*/\r
+\r
+void VL_ColorBorder (int color, video_t *v)\r
+{\r
+ union REGS in, out;\r
+\r
+ in.h.ah = 0x10;\r
+ in.h.al = 0x01;\r
+ in.h.bh = color;\r
+ int86(0x10, &in, &out);\r
+ v->bordercolor = color;\r
+}\r
+\r
\r
/*\r
=============================================================================\r
byte mask;\r
VCLIPDEF\r
\r
+ if(!gvar->video.VL_Started) return;\r
+\r
mask = pclip[x&3];\r
VGAMAPMASK(mask);\r
//*(byte far *)MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+(gvar->video.ofs.ylookup[y]+(x>>2))) = color;\r
- *(byte far *)MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+((y*gvar->video.page[0].stridew)+(x>>2))) = color;\r
+ //*(byte far *)MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+((y*VGASTRIDEVARIABLE)+(x>>2))) = color;\r
+ *(byte far *)MK_FP(SCREENSEG,BDOFSCONV gvar->video.BOFS+((y*VGASTRIDEVARIABLE)+(x>>2))) = color;\r
VGAMAPMASK(15);\r
}\r
\r
\r
LRCLIPDEF\r
\r
+ if(!gvar->video.VL_Started) return;\r
+\r
xbyte = x>>2;\r
leftmask = lclip[x&3];\r
rightmask = rclip[(x+width-1)&3];\r
midbytes = ((x+width+3)>>2) - xbyte - 2;\r
\r
//dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+gvar->video.ofs.ylookup[y]+xbyte);\r
- dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+(y*gvar->video.page[0].stridew)+xbyte);\r
+ dest = MK_FP(SCREENSEG,BDOFSCONV gvar->video.BOFS+(y*VGASTRIDEVARIABLE)+xbyte);\r
\r
if (midbytes<0)\r
{\r
byte far *dest,mask;\r
VCLIPDEF\r
\r
+ if(!gvar->video.VL_Started) return;\r
+\r
mask = pclip[x&3];\r
VGAMAPMASK(mask);\r
\r
//dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+gvar->video.ofs.ylookup[y]+(x>>2));\r
- dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+(y*gvar->video.page[0].stridew)+(x>>2));\r
+ dest = MK_FP(SCREENSEG,BDOFSCONV gvar->video.BOFS+(y*VGASTRIDEVARIABLE)+(x>>2));\r
\r
while (height--)\r
{\r
*dest = color;\r
- dest += gvar->video.ofs.linewidth;\r
+ //dest += gvar->video.ofs.linewidth;\r
+ dest += VGASTRIDEVARIABLE;\r
}\r
\r
VGAMAPMASK(15);\r
\r
LRCLIPDEF\r
\r
+ if(!gvar->video.VL_Started) return;\r
+\r
leftmask = lclip[x&3];\r
rightmask = rclip[(x+width-1)&3];\r
midbytes = ((x+width+3)>>2) - (x>>2) - 2;\r
- linedelta = gvar->video.ofs.linewidth-(midbytes+1);\r
+ //linedelta = gvar->video.ofs.linewidth-(midbytes+1);\r
+ linedelta = VGASTRIDEVARIABLE-(midbytes+1);\r
\r
//dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+gvar->video.ofs.ylookup[y]+(x>>2));\r
- dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+(y*gvar->video.page[0].stridew)+(x>>2));\r
+ dest = MK_FP(SCREENSEG,BDOFSCONV gvar->video.BOFS+(y*VGASTRIDEVARIABLE)+(x>>2));\r
\r
if (midbytes<0)\r
{\r
while (height--)\r
{\r
*dest = color;\r
- dest += gvar->video.ofs.linewidth;\r
+ //dest += gvar->video.ofs.linewidth;\r
+ dest += VGASTRIDEVARIABLE;\r
}\r
VGAMAPMASK(15);\r
return;\r
\r
width>>=2;\r
//dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+gvar->video.ofs.ylookup[y]+(x>>2));\r
- dest = MK_FP(SCREENSEG,gvar->video.ofs.bufferofs+(y*gvar->video.page[0].stridew)+(x>>2));\r
+ dest = MK_FP(SCREENSEG,BDOFSCONV gvar->video.BOFS+(y*VGASTRIDEVARIABLE)+(x>>2));\r
mask = 1 << (x&3);\r
\r
for (plane = 0; plane<4; plane++)\r
mask = 1;\r
\r
screen = dest;\r
- for (y=0;y<height;y++,screen+=gvar->video.ofs.linewidth,source+=width)\r
+ //for (y=0;y<height;y++,screen+=gvar->video.ofs.linewidth,source+=width)\r
+ for (y=0;y<height;y++,screen+=VGASTRIDEVARIABLE,source+=width)\r
_fmemcpy (screen,source,width);\r
}\r
}\r