阅读:1534回复:10
怎样访问整个1024*768屏幕的视频缓冲区,还是不懂?(turbo c )
我想使用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] |
|
沙发#
发布于:2002-11-06 08:14
5555555555
|
|
板凳#
发布于:2002-11-05 13:45
绝对是可以的,
我用过别人写的函数就可以。(turbo c) |
|
地板#
发布于:2002-11-05 11:45
还有你的显示器支不支持1024*768啊?
|
|
地下室#
发布于:2002-11-05 11:43
dos下显卡的驱动都不能用怎么能达到1024*768的分辨率啊????
|
|
5楼#
发布于:2002-11-05 10:31
上面例就可以,只是不能访问整个屏幕。(VEGA吧)
[编辑 - 11/5/02 by jli1976929] |
|
6楼#
发布于:2002-11-05 10:22
SVGA方式支持1024X768
|
|
7楼#
发布于:2002-11-05 10:03
你确认TURBO C能支持1024*768分辨率??
|
|
|
8楼#
发布于:2002-11-05 08:39
重新例子也行呀,只要分辨率1024*768。(VGEA 显示器、turbo c)
|
|
9楼#
发布于:2002-11-05 08:18
:mad: :mad: :mad: :mad: :mad:
|
|
10楼#
发布于:2002-11-04 15:41
15分都没人要呀!
|
|