แก้ไข:เปลี่ยนตัวอย่างหลักจาก Zork Dungeon เป็นเชลล์ OS เริ่มต้น
ฉันมีแอปพลิเคชั่นคอนโซลที่ทำงานบนเครื่องที่ทันสมัย ฉันยังมี Apple // e ที่มี Super Serial Card ซึ่งอนุญาตให้มันทำงานเป็นเทอร์มินัลโง่ผ่านการเชื่อมต่อ COM แบบอนุกรม (รายละเอียดไร้ประโยชน์เกินกว่านั้น) ฉันสามารถเชื่อมต่ออุปกรณ์ทั้งสองนี้ได้ดีโดยใช้พอร์ต USB อนุกรม
เมื่อเครื่องที่ทันสมัยลีนุกซ์บูทด้วยการกำหนดการตั้งค่า COM และให้สิทธิ์กับกลุ่มที่ไฟล์อุปกรณ์เป็นของตัวเองฉันสามารถเรียกใช้
$ bash </dev/ttyUSB1 >/dev/ttyUSB1 2>/dev/ttyUSB1
และรับเซสชัน bash บน Apple - เครื่อง Linux ทำหน้าที่เป็นเซิร์ฟเวอร์และรันโปรแกรม แต่อินพุตและเอาต์พุตไปที่ Apple ซึ่งเป็นไคลเอ็นต์แบบง่าย สิ่งนี้ยังทำงานกับโปรแกรมเฉพาะเพิ่มเติมเช่นdungeon
(Zork)
ฉันจะทำสิ่งเดียวกันใน Windows ได้อย่างไร เห็นได้ชัดว่าฉันไม่สามารถทำซ้ำโซลูชันข้างต้นได้อย่างแน่นอนเนื่องจาก Windows อนุญาตให้ฉันCOM
เปิดพอร์ตในที่เดียวได้ตลอดเวลาโดยใช้อะนาล็อก Windows ของคำสั่งด้านบน
C:\> cmd <COM4 >COM4 2>COM4
ทำให้ฉันมีข้อผิดพลาดถูกปฏิเสธการเข้าถึง
ฉันสามารถส่งข้อมูลไปยังพอร์ต COM:
C:\> echo "Hello" >COM4
และอ่านข้อมูลดิบ (รวมถึงตัวควบคุมและตัวหนี!) จากพอร์ต COM:
C:\> type <COM4
แต่ฉันไม่สามารถทำทั้งสองอย่างในเวลาเดียวกันในกระบวนการเดียวกันหรือแยกกัน
ฉันลองใช้ PuTTY และ RealTerm แต่ทั้งคู่ให้ฉันใช้งาน Apple จากเครื่อง Windows ซึ่งพิสูจน์ว่าการเชื่อมต่อทำงานได้ แต่เป็นทิศทางตรงกันข้ามกับสิ่งที่ฉันต้องการ ฉันจะโฮสต์แอปพลิเคชันคอนโซล Windows สำหรับการเข้าถึงจากเทอร์มินัลที่เชื่อมต่อได้อย่างไร