|
sanchuan
初级用户
积分 113
发帖 51
注册 2008-11-16 来自 武汉
状态 离线
|
『楼 主』:
Config中文菜单驱动Confect.sys (更新为4.3版)
DOS环境下的Config中文菜单驱动程序Confect.sys V4.1
Confect.sys V4.1能够直接驱动中英文菜单,使用简便,只需一个CCDOS或UCDOS的汉字库文件就能在config中显示汉字。V4.1版的字库默认为当前盘的根目录,若在其它路径,则在Config.sys配置文件的开始部分,添加以下语句:
device=Confect.sys c:\dos\hzk16
...... (详细说明见压缩包内文本文件)
特别说明:
1、Confect同原config.sys正文一样,未作严格语法检测。DOS 在处理原 Config 时,一律对错误的语句用一个 Z 替代而不作任何提示。因此,请按压缩包内说明定义confect驱动的菜单;
2、4.1版未对VGA调色板进行设置而利用字符属性选择字符集,故尾注字符较暗、提示字符较亮;
3、Confect默认为9点字符时钟,部分汉字会出现中间竖划粗或中缝的现象。若要使用8点字符时钟,可在set default语句的最后加参数8,即:
set default=1,30,8
4、各版本功能见压缩包内说明,建议使用更新的版本。
Confect V4.3,放在76楼,点击Confect V4.3
Confect.sys V4.2 在28楼
[ Last edited by sanchuan on 2009-1-13 at 00:25 ]
附件
1: confect41.rar (2008-12-20 17:46, 4.7 K,下载次数: 443)
|
三川一笑 |
|
2008-12-17 23:22 |
|
|
julon
中级用户
积分 424
发帖 133
注册 2004-3-1
状态 离线
|
『第
2 楼』:
支持楼主!
|
http://hi.baidu.com/julon |
|
2008-12-18 07:27 |
|
|
supertom
初级用户
积分 62
发帖 31
注册 2008-3-28
状态 离线
|
『第
3 楼』:
呵呵,楼主动作很快,强烈支持一下
|
|
2008-12-18 17:43 |
|
|
wuchan
初级用户
积分 119
发帖 59
注册 2008-11-21
状态 离线
|
|
2008-12-19 14:45 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
5 楼』:
RE: Sanchuan:
首先,你的软件很不错,菜单使用方式特别、方便,希望有更多的人使用。
你在说明文件中说
”特别说明:
1、为了在文本方式能够显示更多的汉字,在Confect中激活了两个字符集(理论上可以容纳128个不重复汉字)。由于利用字符属性选择字符集,故尾注字符较暗、提示字符较亮。“
这是因为调色板设置问题引起的,可以先保存原寄存器值,设置成前后8个寄存器值一样,最后不需要时恢复保存的值。
getpal:
push cs
pop es
mov dx,offset _palbuf
mov ax,1009h
int 10h ; Video; get palette regs to es:dx
_palbuf db 17 dup(0)
setpal:
mov dx,offset _colo
push es
xor ax,ax
mov es,ax
test byte ptr es:410h,2
jz __
mov dx,offset _mono
__:
pop es
mov ax,1002h
int 10h ; Video; set palette regs from es:dx
_colo db 0,1,2,3,4,5,6,7, 0,1,2,3,4,5,6,7 ,0
_mono db 0,7,7,7,7,7,7,7, 0,7,7,7,7,7,7,7 ,0
resetpal:
push cs
pop es
mov dx,offset _palbuf
mov ax,1002h
int 10h ; Video; set palette regs from es:dx
(当然最简单的恢复方法是mov ax,3和int 10h重置视频模式3)
你可以考虑加到CONFECT.SYS下一个版本中。
另外,CONFECT.SYS与什么相联系?我的理解是MenuEnv.CTL(意思是Menu菜单Env环境CTL控制驱动)。
我再附一个激活双字符集并重置调色板的实例,下载附件后改扩展名RAR为COM。运行后先显示同一亮度的6个汉字,按一键后显示西文和不同亮度。
[ Last edited by 本是 on 2008-12-19 at 16:07 ]
附件
1: 2sets.RAR (2008-12-19 16:07, 398 bytes, 下载附件所需积分 1 点
,下载次数: 51)
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2008-12-19 16:00 |
|
|
wuchan
初级用户
积分 119
发帖 59
注册 2008-11-21
状态 离线
|
『第
6 楼』:
有个问题.用个这个文件替换原来4.0的,原来设置好的菜单表头无法显示,还有默认选项变成全黑了.要移动后才变成高亮的.
|
|
2008-12-19 16:46 |
|
|
sanchuan
初级用户
积分 113
发帖 51
注册 2008-11-16 来自 武汉
状态 离线
|
『第
7 楼』:
Quote: | Originally posted by 本是 at 2008-12-19 16:00:
RE: Sanchuan:
首先,你的软件很不错,菜单使用方式特别、方便,希望有更多的人使用。
你在说明文件中说
”特别说明:
1、为了在文本方式能 ... |
|
谢谢 本是 赐教!愿多多交流。
关于CONFECT.SYS与什么相联系的问题,其实confect就是一个简单的DOS驱动程序,只不过不驻留内存罢了。
另外,如果设计巧妙,在文本方式是可以显示150个不重复汉字,现在最棘手的是9点制表符从0c0h扩展到0ffh的问题。
[ Last edited by sanchuan on 2008-12-19 at 17:30 ]
|
三川一笑 |
|
2008-12-19 17:07 |
|
|
sanchuan
初级用户
积分 113
发帖 51
注册 2008-11-16 来自 武汉
状态 离线
|
『第
8 楼』:
Quote: | Originally posted by wuchan at 2008-12-19 16:46:
有个问题.用个这个文件替换原来4.0的,原来设置好的菜单表头无法显示,还有默认选项变成全黑了.要移动后才变成高亮的. |
|
4.0的版本在自定义时用的是rem default:,现在用的是set default=
注意将冒号改为等号
|
三川一笑 |
|
2008-12-19 17:11 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
9 楼』:
Quote: | Originally posted by sanchuan at 2008-12-19 17:07:
现在最棘手的是9点制表符从0c0h扩展到0ffh的问题。 ... |
|
其实,这就是我在开发VtMagik.com的过程曾经伤透脑筋的我称之为单字节新汉字内码问题,这在9点显示方式下尤其突出。在9点显示方式下,有一种办法可以让汉字看上去不断开——0c0h,80h;0c1h,81h;...——这样可以有32个汉字无缝显示。顺序方式n,n+1;n+2,n+3;...容易编程,但无法利用这种制表符自动复制第8列到第9列的自动特性。
而且,不管设置8点还是9点,都对VGA卡的寄存器进行了设置,所以可能带来兼容性问题——显示器频率超界,引起黑屏;不作设置,即跳了这段程序,差别是很大的,尽管视觉上看不出。程序设计中有很多东东对用户都是“不可见的”,可程序员不能不清楚。这就是我通常不想解释的原因。对于用户是要简单,难题就专为程序员独享!真是有苦说不出。所以,我的VtMagik有-M0与-M8、-M9之分。一般用户可能会嫌软件命令和参数复杂,可这是不得已的。
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2008-12-19 20:25 |
|
|
sanchuan
初级用户
积分 113
发帖 51
注册 2008-11-16 来自 武汉
状态 离线
|
『第
10 楼』:
Quote: | Originally posted by 本是 at 2008-12-19 20:25:
其实,这就是我在开发VtMagik.com的过程曾经伤透脑筋的我称之为单字节新汉字内码问题,这在9点显示方式下尤其突出。在9点显示方式下,有一种办 ... |
|
文本方式9点字符汉字编码也简单:n+40h, n, n1+40h, n1,.....
这种方式编码,可以去掉M0的设置,默认值为M9。一般在屏幕上有缝的汉字都排在后面,如果汉字不多,几乎就看不出来有缝的了。
另:3c0h寄存器——索引号为10h的属性方式控制寄存器有一功能是控制线图字符码的。我试过,没有成功,可能是在10h中断底层又修复了我的设置。
|
三川一笑 |
|
2008-12-19 22:44 |
|
|
wuchan
初级用户
积分 119
发帖 59
注册 2008-11-21
状态 离线
|
『第
11 楼』:
可以了
衷心的谢谢,
提醒下压缩包里的TXT文档实例用的是":"号,但文档前部的格式说明没有错.我粗心只看了实例...^_^
|
|
2008-12-20 11:51 |
|
|
sanchuan
初级用户
积分 113
发帖 51
注册 2008-11-16 来自 武汉
状态 离线
|
『第
12 楼』:
Quote: | Originally posted by wuchan at 2008-12-20 11:51:
可以了
衷心的谢谢,
提醒下压缩包里的TXT文档实例用的是":"号,但文档前部的格式说明没有错.我粗心只看了实例...^_^ |
|
谢谢你指正,是我疏忽。现在实例中都是等号了。
|
三川一笑 |
|
2008-12-20 17:50 |
|
|
supertom
初级用户
积分 62
发帖 31
注册 2008-3-28
状态 离线
|
|
2008-12-23 11:44 |
|
|
joinnow2008
初级用户
积分 37
发帖 17
注册 2008-12-22
状态 离线
|
|
2008-12-27 19:29 |
|
|
joinnow2008
初级用户
积分 37
发帖 17
注册 2008-12-22
状态 离线
|
『第
15 楼』:
奇怪,
执行之后,有头,有尾,就是没有中间????
按英文字母,或时间自动结束后,自动返回
A:>
|
|
2008-12-27 22:55 |
|