#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);
}
没有合适的资源?快使用搜索试试~ 我知道了~
图形模式下读写屏幕象点
共19个文件
c:19个
需积分: 0 1 下载量 127 浏览量
2008-12-08
22:07:12
上传
评论
收藏 8KB RAR 举报
温馨提示
图形模式下读写屏幕象点 可以用c语言来学学看.很有用的说.
资源详情
资源评论
资源推荐
收起资源包目录
.rar (19个子文件)
图形模式下读写屏幕象点
RVG13.C 464B
RTV5E0.C 543B
RTV5F0.C 543B
RMODE.C 146B
REG100.C 543B
RTV5B.C 1KB
RTV5E.C 592B
RTV5D.C 592B
RCG040.C 543B
RTV5D0.C 543B
RVG12.C 1KB
RTV620.C 543B
RCG04.C 800B
RVG130.C 543B
RTV5F.C 1KB
REG10.C 1KB
RTV5B0.C 543B
RTV62.C 595B
RVG120.C 543B
共 19 条
- 1
普通网友
- 粉丝: 4
- 资源: 36
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0