![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-18 01:37 |
共 47,814 主题排行 / 349,907 发帖 / 今日 4 篇 / 48,259 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » 求救:dos下256色模式 |
| 可打印版本 787 / 1 |
| 第1楼 wangqiuqiu | 发表于 2006-04-17 13:56 |
| 新手上路 发帖 2 积分 12 | |
|
求救:dos下256色模式 这位大侠:
我现在是在dos下使用的 640×480 256色的模式。 g_mode =0x101; /* Select VGA ( 640x480 ) Mode 256 color */ regs.x.ax=0x4F02; regs.x.bx=(short)g_mode; int86(0x10,®s,®s); if(regs.h.al !=0x4F) { printf("VESA modes NOT supported! \n"); } short get_pale( unsigned char p_color ) { int t,i; unsigned char my_color={ 0, 0, 0, 108,108,108, 138,138,138, 157,157,157, 255,255,255, 81,204,189, 82,103,254, 2, 28,202, 247,223,142, 187,187,0, 63,143,39, 193,168,49, 255,255,0, 210,0,210, 202,0,0, 151,0,0 }; for(t=0;t<256;t++) { if(t<16) { for(i=0;i<3;i++) { p_color=my_color; } } else { for(i=0;i<3;i++) { p_color=0; } } } return 1; } /* ******************************************* * 2006/4/14 设置色板 256 色 **********************************************/ void SetPalette(unsigned char pal) { union REGS r; struct SREGS s; r.h.ah=0x10; r.h.al=0x12; r.x.bx=0; r.x.cx=256; s.es=FP_SEG(pal); r.x.dx=FP_OFF(pal); int86x(0x10,&r,&r,&s); } 256色板只设置了16中颜色,由于我以前采用的是640×480 16色的标准模式,当我重新选择了256色的方式,设置完色板后,我得程序运行后是花屏的,所以我想原来的一些显示字符和象素的函数可能都要进行重新写,各位大侠,如果谁有类似的扩充显示模式的代码,给提供一点可以吗? 先谢谢啦!!! dos下开发有时觉得好孤单,呵呵Sample Text |
|
| 第2楼 wl00560 | 发表于 2006-04-17 23:46 |
| 银牌会员 发帖 709 积分 1,384 | |
|
发错地方了吧,应该发到编程去啊。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |