中国DOS联盟论坛

China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --
Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
Guest | Log in | Register | Members | Search | China DOS Union
中国DOS联盟论坛
The time now is 2026-10-31 11:45
47,815 topics / 349,930 posts / today 0 new / 48,290 members
DOS开发编程 & 发展交流 (开发室) » [Urgent] Need a solution badly, thanks to all the experts in DOS environment programming
Printable Version  895 / 7
Floor1 oldliu Posted 2004-01-08 00:00
初级用户 Posts 3 Credits 110
My company is doing a project that uses a DOS program developed in 1993. It has its own GUI. Judging from several accompanying files that came with the program, it was developed with BC3.0, and the graphics interface file is EGAVGA.bgi, which means it only supports up to VGA mode.

The problem is that on many machines with integrated graphics, all characters of a certain font get completely distorted. For example, this happens on Intel 845GL/815/852G/855G machines, but on a Sis 650 motherboard everything is ok.

Also, if the program is run directly under win98, it immediately reports that the system does not have an EMS Driver installed. That probably means emm386 is not loaded. But if it is run directly under dos, there is no need to run emm386. If emm386 is loaded in config.sys under the win98 environment, then on any machine with an intel 852/855GM chipset, emm386 cannot load because part of the memory used by the integrated graphics falls exactly in the same address range as emm386....... It's really tmd frustrating. Originally I thought the windows graphics driver for Intel integrated motherboards provided better VBE support, so maybe character support for the program could be achieved in the win98 simulated dos environment, but in the end the program can't even run!!

I hope you experts can help me out. How can I get this nasty program to run on motherboards with Intel integrated graphics, and also display characters normally.. Thanks
Floor2 oldliu Posted 2004-01-08 00:00
初级用户 Posts 3 Credits 110
Additional note: the program's GUI contains both English and Chinese. I don't know whether it is done with fonts or with a dot-matrix method.
Floor3 Wengier Posted 2004-01-12 00:00
系统支持 Posts 10,521 Credits 27,736
Download some MS-DOS 7.10 boot disks from the forum and give them a try.
Floor4 秋蝉 Posted 2004-01-15 00:00
初级用户 Posts 19 Credits 152
It seems emm386 can set the swap area address to avoid address conflicts
Floor5 lyz6118 Posted 2004-01-23 00:00
初级用户 Posts 5 Credits 117
Draw it, treat the characters as graphics and paste them on.
Floor6 Kinglion Posted 2004-01-25 00:00
铂金会员 Posts 1,924 Credits 5,800 From 金獅電腦軟體工作室
Could you upload that 93-era program you're using, so everyone can study it?
Floor7 songjian Posted 2004-02-04 00:00
初级用户 Posts 18 Credits 140
Useless. The program was developed with bc3.0, and in order to use memory above 640, it uses EMS page calls. That is, it opens a memory swap area above 640. If you want to run this program on a machine where shared memory is used as video memory, there will definitely be a conflict. If my guess is correct, that program is the same as the one I wrote: it puts the dot-matrix fonts in high memory. If you want to solve it:
1, use bc4.51 to change the source program to 16-bit protected mode
2, use DJGPP or WC to change the program to 32-bit protected mode.
3, simplest of all, don't put the fonts into memory; only read the font files when needed. Just enable SMARTDRV before running the program. But don't use this for a diskless DOS system.
Floor8 gmy Posted 2004-02-04 00:00
版主 Posts 392 Credits 1,113
What they said is a bit messy, listen to me:
Modify CONFIG.SYS, and try the following cases one by one
1, do not load it
2, DEVICE=EMM386.EXE NOEMS
3, DEVICE=EMM386.EXE RAM
4, DEVICE=EMM386.EXE
5, DEVICE=UMBPCI.SYS

When using any of the above lines, the line before it must include DEVICE=HEMEM.SYS
[ Contact the Union admin team - 中国DOS联盟 - Standard version ]
Sponsored by ifanr Inc | © 2001–2023