中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 10:10
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS汉化世界 & 中文系统 (中文化室) » Config中文菜单驱动Confect.sys (更新为4.3版)
可打印版本  32,244 / 117
第1楼 sanchuan 发表于 2008-12-17 23:22
初级用户 发帖 51 积分 113 来自 武汉
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 ]

附件
confect41.rar (4.7 KiB)
第2楼 julon 发表于 2008-12-18 07:27
中级用户 发帖 133 积分 424
支持楼主!
第3楼 supertom 发表于 2008-12-18 17:43
初级用户 发帖 31 积分 62
呵呵,楼主动作很快,强烈支持一下
第4楼 wuchan 发表于 2008-12-19 14:45
初级用户 发帖 59 积分 119
谢谢楼主了.一直关注着
第5楼 本是 发表于 2008-12-19 16:00
银牌会员 发帖 790 积分 2,227
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 ]

附件
2sets.RAR (398 bytes)
第6楼 wuchan 发表于 2008-12-19 16:46
初级用户 发帖 59 积分 119
有个问题.用个这个文件替换原来4.0的,原来设置好的菜单表头无法显示,还有默认选项变成全黑了.要移动后才变成高亮的.
第7楼 sanchuan 发表于 2008-12-19 17:07
初级用户 发帖 51 积分 113 来自 武汉
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 ]
第8楼 sanchuan 发表于 2008-12-19 17:11
初级用户 发帖 51 积分 113 来自 武汉
Originally posted by wuchan at 2008-12-19 16:46:
有个问题.用个这个文件替换原来4.0的,原来设置好的菜单表头无法显示,还有默认选项变成全黑了.要移动后才变成高亮的.


4.0的版本在自定义时用的是rem default:,现在用的是set default=
注意将冒号改为等号
第9楼 本是 发表于 2008-12-19 20:25
银牌会员 发帖 790 积分 2,227
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之分。一般用户可能会嫌软件命令和参数复杂,可这是不得已的。
第10楼 sanchuan 发表于 2008-12-19 22:44
初级用户 发帖 51 积分 113 来自 武汉
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中断底层又修复了我的设置。
第11楼 wuchan 发表于 2008-12-20 11:51
初级用户 发帖 59 积分 119
可以了
衷心的谢谢,
提醒下压缩包里的TXT文档实例用的是":"号,但文档前部的格式说明没有错.我粗心只看了实例...^_^
第12楼 sanchuan 发表于 2008-12-20 17:50
初级用户 发帖 51 积分 113 来自 武汉
Originally posted by wuchan at 2008-12-20 11:51:
可以了
衷心的谢谢,
提醒下压缩包里的TXT文档实例用的是":"号,但文档前部的格式说明没有错.我粗心只看了实例...^_^


谢谢你指正,是我疏忽。现在实例中都是等号了。
第13楼 supertom 发表于 2008-12-23 11:44
初级用户 发帖 31 积分 62
期待三川更完美的新版本
第14楼 joinnow2008 发表于 2008-12-27 19:29
初级用户 发帖 17 积分 37
执行,没反应.
第15楼 joinnow2008 发表于 2008-12-27 22:55
初级用户 发帖 17 积分 37
奇怪,

执行之后,有头,有尾,就是没有中间????

按英文字母,或时间自动结束后,自动返回

A:>
1 2 3 48  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023