|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
16 楼』:
RE:xugaohui:
无忧的帖子我看了,.PSF字体文件格式我也研究了,制作很简单。不过,我不想抢人家风头,就让他风光一下吧!——不过那个hzpsf.exe竟然500多K,太夸张了,我250字节就差不多了。窗口编程的最大问题可能就是体积庞大,让我至今不想学窗口编程。
VT技术应该可用于任何高低级语言。如果用BIOS编程即中断调用,Qbasic编程还要多费一番周折。用QB、Turbo Basic、First Basic或其它编译型语言要简单些。
附件是我用FirstBasic编的范例(源程序及.EXE),其它BASIC应该类似。
附件
1: BASVTFNT.RAR (2008-11-30 22:07, 20.57 K, 下载附件所需积分 1 点
,下载次数: 24)
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2008-11-30 22:07 |
|
|
xugaohui
高级用户
积分 774
发帖 293
注册 2003-4-16 来自 湖北仙桃
状态 离线
|
『第
17 楼』:
谢谢本是。运行之后可以显示中文了,我学习下。
不了解First basic,用google搜索一下。
在这里发现了:
http://www.cn-dos.net/forum/view ... ge=1&sid=dSaGju
本是真是专家级。
Norton Utilities 8.0中文版 for DOS的窗口界面不正是power basic生成窗口界面吗?完全一模一样,可能是power basic+.RTLink 编写的。
[ Last edited by xugaohui on 2008-12-1 at 01:24 ]
|
下载
09年7月7日 更新
感谢网友 囧HQY 提供空间 |
|
2008-11-30 23:04 |
|
|
julon
中级用户
积分 424
发帖 133
注册 2004-3-1
状态 离线
|
『第
18 楼』:
我用qboot工具启动,应该是加载了vtm,为什么用英文edit编辑有中文的文件,不能正常显示中文呢?中英文双语版的软件也不能正常显示中文。谢谢!
|
http://hi.baidu.com/julon |
|
2008-12-1 07:30 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
19 楼』:
单字节编码、双字节编码。如果知道两者的差别,就容易理解VtMagiK的所谓新、旧汉字内码了。也就能明白汉字系统制表符智能识别的来源了。也能明白VT技术使用后,软件制表符混乱了。
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2008-12-1 08:17 |
|
|
雨露
管理员
DOS非常爱好者
积分 6209
发帖 2598
注册 2006-1-20
状态 离线
|
『第
20 楼』:
Quote: | Originally posted by xugaohui at 2008-11-29 17:32:
雨露:
freedos的command.com汉化后也只能在freedos下运行。直接替换msdos 7.1的command.com后就不能用了。 |
|
不会呀,我用汉化的freedos1.0的command.com直接替换小云汉化的MSDOS7.1的command.com,照样正常运行!并不是专用的!
|
|
|
2008-12-1 10:37 |
|
|
xugaohui
高级用户
积分 774
发帖 293
注册 2003-4-16 来自 湖北仙桃
状态 离线
|
『第
21 楼』:
freedos的command.com在执行for命令时变量是延迟处理的,不像ms是读是整行for命令后一起执行的。98se的引导盘根本不认freedosr command.com,替换后在config.sys菜单那里按f5键,总是提示你输入command.com的路径,就算你输入正确也还是提示你输入。输入ms的command.com路径就好了。
freedos的command.com不能识别这个命令set path=D:\,这不是搜索D:\目录,只能写成set path=D:
ms的command.com能识别这两种搜索路径。
ms的COMSPEC变量是C:\COMMAND.COM
freedos的COMSPEC变量是c:\command.com
反过来也不能用ms的替换freedos的command.com
还有好多细节都不相同。
[ Last edited by xugaohui on 2008-12-1 at 11:33 ]
|
下载
09年7月7日 更新
感谢网友 囧HQY 提供空间 |
|
2008-12-1 11:28 |
|
|
雨露
管理员
DOS非常爱好者
积分 6209
发帖 2598
注册 2006-1-20
状态 离线
|
『第
22 楼』:
肯定是有区别的,但跟汉化不汉化没有关系的吧!?
|
|
|
2008-12-1 11:54 |
|
|
xugaohui
高级用户
积分 774
发帖 293
注册 2003-4-16 来自 湖北仙桃
状态 离线
|
『第
23 楼』:
回16楼本是的例子程序。
我是使用vbdos 1.0,将firstbas的bas改动了一下就可以了,但生成所程序运行第一次可以。第二次在运行的时侯总是显示出 “显示汉字”,不会再有乱码了。你而且你的程序是每次运行开始是乱码,然后是才是显示汉字,不过你使用了screen语句会清屏。
也就是说改后的basvtfnt程序可能会影响到其它有扩展acsii显示的程序,可能出现乱码了。
我是这样改的
' $INCLUDE: 'VBDOS.BI'
..................省略,去掉screen 0 和cls清屏
DEFINT A-Z
a$ = ""
FOR i = 0 TO (8 * 16 - 1)
READ b
a$ = a$ + CHR$(b)
NEXT
PRINT "Before replacing font: ";
PRINT CHR$(&H80); CHR$(&H81); CHR$(&H82); CHR$(&H83); CHR$(&H84); CHR$(&H85); CHR$(&H86); CHR$(&H87)
PRINT "Press any key to see font changed..."
b$ = INPUT$(1)
DIM regs AS regtypex
regs.AX = &H1100
regs.BX = &H1000
regs.CX = 8
regs.DX = &H80
regs.BP = SADD(a$) '下面三行改成vbdos的命令了。
regs.ES = SSEG(a$)
CALL INTERRUPTX(&H10, regs, regs)
PRINT "After replacing font: ";
PRINT CHR$(&H80); CHR$(&H81); CHR$(&H82); CHR$(&H83); CHR$(&H84); CHR$(&H85); CHR$(&H86); CHR$(&H87)
PRINT "Press any key to see font restored..."
b$ = INPUT$(1)
'去掉改为显示模式0
END
vbdos的程序如果有窗口界面时,只能用screen 0.默认本来就是0.
如果在窗口程序退出时加入语句screen 12 : screen 0
这会导致把dos提示符界面给清屏。
请问要实现每次运行都是开始显示乱码,按任意键后显示中文,又不会清除屏幕上以前显示的内容,也不会影响到其它有扩展ascii字符的程序,怎么改程序?
[ Last edited by xugaohui on 2009-1-2 at 16:07 ]
|
下载
09年7月7日 更新
感谢网友 囧HQY 提供空间 |
|
2009-1-2 14:05 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
24 楼』:
下面的程序是用系统默认8X16的ASCII点阵重置字符集,但不清除屏幕字符。你可以试验一下。
mov ax,1130h
mov bh,6
int 10h ; get font type bh info into; cx=points,dl=rows, es:bp=ptr
xor dx,dx;mov dx,0
mov cx,100h
mov bx,1000h
mov ax,1110h
int 10h ; font load bh=points, bl=block; cx=qty, dx=1st char code; es:bp=ptr to font table
ret
[ Last edited by 本是 on 2009-1-2 at 23:34 ]
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2009-1-2 23:33 |
|
|
xugaohui
高级用户
积分 774
发帖 293
注册 2003-4-16 来自 湖北仙桃
状态 离线
|
『第
25 楼』:
看不懂汇编,先收藏了。谢谢本是。
|
下载
09年7月7日 更新
感谢网友 囧HQY 提供空间 |
|
2009-1-3 00:03 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
26 楼』:
“请问要实现每次运行都是开始显示乱码,按任意键后显示中文,又不会清除屏幕上以前显示的内容,也不会影响到其它有扩展ascii字符的程序,怎么改程序?”
只要每次想显示正常英文字形时就调用如下程序段就可以了。
DIM regs AS regtypex
regs.AX = &H1130
regs.BX = &H0600
CALL INTERRUPTX(&H10, regs, regs)
regs.AX = &H1110
regs.BX = &H1000
regs.CX = &H100
regs.DX = 0
'regs.BP, regs.ES 从上一中断调用中获得
CALL INTERRUPTX(&H10, regs, regs)
RETURN
[ Last edited by 本是 on 2009-1-3 at 00:35 ]
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2009-1-3 00:31 |
|
|
xugaohui
高级用户
积分 774
发帖 293
注册 2003-4-16 来自 湖北仙桃
状态 离线
|
『第
27 楼』:
在vbdos中试了,很好,很实用。再次感谢本是。
|
下载
09年7月7日 更新
感谢网友 囧HQY 提供空间 |
|
2009-1-4 00:58 |
|
|
fjb007
新手上路
积分 2
发帖 1
注册 2009-3-6
状态 离线
|
『第
28 楼』:
下载,才发现下不了,大概是没有积分吧
|
|
2009-4-16 12:17 |
|