Вывод текста на принтере DOS содержит неверные символы на «новом» компьютере

9

Я пытаюсь спасти старое приложение DOS 6.2, которое изначально работало на компьютере 486 DX2. Я переместил жесткий диск в относительно новый 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, команду печати и приложение.
Алекс Дж

Ответы:

4

Попробуйте разные настройки для параллельного порта в BIOS новой машины. Сравните их с тем, что поддерживает 486 (он может не сказать вам; вам может понадобиться найти документы на материнской плате.)

mfinni
источник
CMOS позволяет мне выбирать между Normal, EPP, ECP и ECP + EPP. ECP также позволяет мне выбирать DMA 1 или 3. Я пробовал все из них, с различными комбинациями IRQ, с всегда одинаковыми результатами.
Алекс Дж
2
Weird. Сопоставление символов несовместимо со слабым контактом на порту принтера или в кабеле. В этом случае и т. Д. Тоже будет неправильно. Кстати: биос с настройкой "Нормальный" будет лучше всего. Другие не очень подходят для Pentium и более позднего оборудования. (Они были разработаны для ОЧЕНЬ медленных систем ЦП. 386 уже был быстрым для них ...)
Тонни