DOS打印机文本输出在“新”计算机上的字符错误


9

我正在尝试营救最初在486 DX2计算机上运行的旧DOS 6.2应用程序。我已经将硬盘驱动器移到了相对较新的Celeron 633中,除了我尝试使用任何标准打印命令打印到并行端口(LPT1)之外,其他所有功能似乎都可以正常工作。信号被发送到打印机,但是错误的字符出现在纸上。特别:

0123456789 prints correctly.
áéíóú prints correctly.
abcd prints ☺☻♥♦
ABCD prints !"#$ (is 0x2 off)

加载的控制台代码页是850。有问题的打印机是HP DeskJet 940C。不幸的是,我没有第二台并行端口打印机可以测试。

为什么当操作系统严格相同时,这将从一台计算机更改为另一台计算机?我如何配置DOS才能正确打印?

先感谢您。


2
如果您从命令行打印测试(例如“ ver> lpt1”),它打印不正确吗?我不知道喷墨打印机能否存活这么长时间。:)
杰森

1
你勇敢的灵魂……

杰森:不幸的是,它打印不正确。我尝试了管道传输到LPT1,打印命令和应用程序。
Alex J

Answers:


4

在新计算机的BIOS中尝试对并行端口进行不同的设置。将它们与486支持的功能进行比较(它可能不会告诉您;您可能需要在主板上找到文档。)


CMOS使我可以在“普通”,“ EPP”,“ ECP”和“ ECP + EPP”之间进行选择。ECP还允许我选择DMA 1或3。我已经尝试了所有这些,具有不同的IRQ组合,并且始终具有相同的结果。
Alex J

2
奇怪的。字符的映射与打印机端口或电缆上的松动触点不一致。在这种情况下,áé等也将是错误的。顺便说一句:最好将Bios设置为“ Normal”。其他的并不是真的适合奔腾和以后的硬件。(它们是为非常慢的CPU系统设计的。386已经非常快了……)
Tonny
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.