เอาต์พุตข้อความเครื่องพิมพ์ 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") จะพิมพ์ผิดหรือไม่? ฉันไม่รู้ว่าอิงค์เจ็ทสามารถอยู่รอดได้นาน :)
Jason

1
คุณกล้าหาญ ...

Jason: น่าเสียดายใช่มันพิมพ์ออกมาไม่ถูกต้อง ฉันได้ลองไปที่ LPT1, คำสั่ง print และแอพพลิเคชั่น
Alex J

คำตอบ:


4

ลองตั้งค่าอื่นสำหรับพอร์ตขนานใน BIOS ของเครื่องใหม่ เปรียบเทียบกับสิ่งที่รองรับ 486 (อาจไม่บอกคุณคุณอาจต้องค้นหาเอกสารบนเมนบอร์ด)


CMOS ช่วยให้ฉันเลือกระหว่าง Normal, EPP, ECP และ ECP + EPP ECP ยังให้ฉันเลือก DMA 1 หรือ 3 ฉันได้ลองทั้งหมดด้วยชุด IRQ ที่แตกต่างกันด้วยผลลัพธ์เดียวกันเสมอ
Alex J

2
แปลก. การแมปอักขระไม่สอดคล้องกับหน้าสัมผัสหลวมที่พอร์ตเครื่องพิมพ์หรือสายเคเบิล ในกรณีนั้นáé ฯลฯ ก็จะผิดเช่นกัน โดยวิธีการ: การตั้งค่าไบออส "ปกติ" จะดีที่สุด ส่วนอื่น ๆ ไม่เหมาะสำหรับ Pentium และฮาร์ดแวร์ในภายหลัง (พวกมันถูกออกแบบมาสำหรับระบบซีพียูที่ช้ามาก 386 เร็วแล้วสำหรับพวกเขา ... )
Tonny
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.