+++ /dev/null
-#include "vgavideo.h"
-
-div_t div(int num, int denom)
-{
- div_t r;
- if (num > 0 && denom < 0) {
- num = -num;
- denom = -denom;
- }
- r.quot = num / denom;
- r.rem = num % denom;
- if (num < 0 && denom > 0)
- {
- if (r.rem > 0)
- {
- r.quot++;
- r.rem -= denom;
- }
- }
- return r;
-}
-
-int mod(int num, int denom)
-{
- div_t dvt = div(num, denom);
- return dvt.rem;
-}
-
-VOID vgaPreCalc()
-{
- ULONG j;
-
- startmasks[1] = 127;
- startmasks[2] = 63;
- startmasks[3] = 31;
- startmasks[4] = 15;
- startmasks[5] = 7;
- startmasks[6] = 3;
- startmasks[7] = 1;
- startmasks[8] = 255;
-
- endmasks[0] = 128;
- endmasks[1] = 192;
- endmasks[2] = 224;
- endmasks[3] = 240;
- endmasks[4] = 248;
- endmasks[5] = 252;
- endmasks[6] = 254;
- endmasks[7] = 255;
- endmasks[8] = 255;
-
- for(j=0; j<80; j++)
- {
- maskbit[j*8] = 128;
- maskbit[j*8+1] = 64;
- maskbit[j*8+2] = 32;
- maskbit[j*8+3] = 16;
- maskbit[j*8+4] = 8;
- maskbit[j*8+5] = 4;
- maskbit[j*8+6] = 2;
- maskbit[j*8+7] = 1;
-
- bit8[j*8] = 7;
- bit8[j*8+1] = 6;
- bit8[j*8+2] = 5;
- bit8[j*8+3] = 4;
- bit8[j*8+4] = 3;
- bit8[j*8+5] = 2;
- bit8[j*8+6] = 1;
- bit8[j*8+7] = 0;
- }
- for(j=0; j<480; j++)
- {
- y80[j] = j*80;
- }
- for(j=0; j<640; j++)
- {
- xconv[j] = j >> 3;
- }
-}
-
-void vgaSetWriteMode(char mode)
-{
- VideoPortWritePortUchar((PUCHAR)GRA_I, 0x03);
- VideoPortWritePortUchar((PUCHAR)GRA_D, mode);
-}
-
-void vgaSetColor(int cindex, int red, int green, int blue)
-{
- VideoPortWritePortUchar((PUCHAR)0x03c8, cindex);
- VideoPortWritePortUchar((PUCHAR)0x03c9, red);
- VideoPortWritePortUchar((PUCHAR)0x03c9, green);
- VideoPortWritePortUchar((PUCHAR)0x03c9, blue);
-}