⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtv5f.c

📁 C源码
💻 C
字号:

  #include "dos.h"
  int rtv5f(row,col,color,xor)
  int row,col,color,xor;
  { int bp,i,j,k;
    long int ix,k46=65536L;
    unsigned char far *ptr;
    static unsigned char x[8]={128,64,32,16,8,4,2,1};
    unsigned char t,a,b,c,d;
    if (col<0||col>1023||row<0||row>767) return(0);
    ptr=(unsigned char far *)0xA0000000;
    bp=col%8; 
    ix=(long)row*128L+(long)(col/8);
    k=ix/k46; ix=ix-(long)k*k46;
    a=k;
    outportb(0x03C4,0x0E);
    outportb(0x03C5,a^0x02);
    t=x[bp];
    if (color<0) xor=1;
    if (xor!=0)
      { outportb(0x03CE,5); outportb(0x03CF,0);
        outportb(0x03CE,4); outportb(0x03CF,0);
        a=*(ptr+ix)&t;
        if (a!=0) a=1;
        outportb(0x03CE,4); outportb(0x03CF,1);
        b=*(ptr+ix)&t;
        if (b!=0) b=2;
        outportb(0x03CE,4); outportb(0x03CF,2);
        c=*(ptr+ix)&t;
        if (c!=0) c=4;
        outportb(0x03CE,4); outportb(0x03CF,3);
        d=*(ptr+ix)&t;
        if (d!=0) d=8;
        a=a|b|c|d;
      }
    if (color<0)
      { color=(int)a; return(color);}
    outportb(0x03CE,5); outportb(0x03CF,2);
    color=color%127;
    outportb(0x03CE,8); outportb(0x03CF,t);
    outportb(0x03C4,2); outportb(0x03C5,255);
    if (xor!=0)
      { t=*(ptr+ix); t=a^color; *(ptr+ix)=t;}
    else
      { t=*(ptr+ix); *(ptr+ix)=color;}
    outportb(0x03CE,8); outportb(0x03CF,255);
    outportb(0x03CE,5); outportb(0x03CF,0);
    return(color);
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -