jli1976929
驱动牛犊
驱动牛犊
  • 注册日期2002-05-27
  • 最后登录2006-08-25
  • 粉丝0
  • 关注0
  • 积分71分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:1533回复:10

怎样访问整个1024*768屏幕的视频缓冲区,还是不懂?(turbo c )

楼主#
更多 发布于:2002-11-04 14:30
我想使用turbo C语言输出1024*768分辨率满屏界面,结果
只在屏幕顶部输出一条彩带,请教怎么样使整个屏幕输出彩条?
屏幕。
#include <dos.h>
void changepage(int x)
{
union REGS Regs;
Regs.h.ah=0x4f;
Regs.h.al=5;
Regs.h.bh=0;
Regs.x.dx=x;
int86(0x10,&Regs,&Regs);
}
putpixel(int x,int y)
{
int scanleng=1024;
asm {
  mov ax,y
  mul scanleng
  add ax,x
 jnc jemp1
  inc dx
  }
jemp1:
asm{
   mov di,ax
   cmp dx,0
   je jemp2
   }
   //changepage(1);
   jemp2:
   asm{
   //mov di,ax
   mov ax,0a000h
   mov es,ax
   mov al,3
   mov es:[di],al
   }
   }
   void SetScr(int mode)
{union REGS Regs;
Regs.x.ax=0x4f02;
Regs.x.bx=mode;
int86(0x10,&Regs,&Regs);}
void SetScr1(int mode)
{union REGS Regs;
//Regs.x.ax=0x03;
Regs.x.ax=mode;
int86(0x10,&Regs,&Regs);}
void main(void)
{
int x,y;
SetScr(0x105);
//outportb(0x3ce,0x06);
//outportb(0x3cf,0x02);
outportb(0x3c4,0x04);
outportb(0x3c5,0xf4);
  // changepage(2);
for(y=0;y<=600;y++)
{
for(x=0;x<=1024;x++)
putpixel(x,y);
}
getch();
SetScr1(3);
}


[编辑 -  11/4/02 by  jli1976929]

[编辑 -  11/6/02 by  jli1976929]
jli1976929
驱动牛犊
驱动牛犊
  • 注册日期2002-05-27
  • 最后登录2006-08-25
  • 粉丝0
  • 关注0
  • 积分71分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-04 15:41
15分都没人要呀!
jli1976929
驱动牛犊
驱动牛犊
  • 注册日期2002-05-27
  • 最后登录2006-08-25
  • 粉丝0
  • 关注0
  • 积分71分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-05 08:18
 :mad: :mad: :mad: :mad: :mad:
jli1976929
驱动牛犊
驱动牛犊
  • 注册日期2002-05-27
  • 最后登录2006-08-25
  • 粉丝0
  • 关注0
  • 积分71分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-05 08:39
重新例子也行呀,只要分辨率1024*768。(VGEA 显示器、turbo c)
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-11-05 10:03
你确认TURBO C能支持1024*768分辨率??
生命驱动,活力无限!
masser
驱动牛犊
驱动牛犊
  • 注册日期2002-10-23
  • 最后登录2012-04-11
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望56点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-11-05 10:22
SVGA方式支持1024X768
jli1976929
驱动牛犊
驱动牛犊
  • 注册日期2002-05-27
  • 最后登录2006-08-25
  • 粉丝0
  • 关注0
  • 积分71分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-11-05 10:31
上面例就可以,只是不能访问整个屏幕。(VEGA吧)

[编辑 -  11/5/02 by  jli1976929]
linyulun
驱动小牛
驱动小牛
  • 注册日期2002-03-18
  • 最后登录2014-05-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望61点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-11-05 11:43
dos下显卡的驱动都不能用怎么能达到1024*768的分辨率啊????
linyulun
驱动小牛
驱动小牛
  • 注册日期2002-03-18
  • 最后登录2014-05-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望61点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-11-05 11:45
还有你的显示器支不支持1024*768啊?
jli1976929
驱动牛犊
驱动牛犊
  • 注册日期2002-05-27
  • 最后登录2006-08-25
  • 粉丝0
  • 关注0
  • 积分71分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-11-05 13:45
绝对是可以的,
我用过别人写的函数就可以。(turbo c)
jli1976929
驱动牛犊
驱动牛犊
  • 注册日期2002-05-27
  • 最后登录2006-08-25
  • 粉丝0
  • 关注0
  • 积分71分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-11-06 08:14
5555555555
游客

返回顶部