Tengo un escenario con una impresora en una máquina con Windows 8 que debe compartirse con una instancia de FreeDOS que se ejecuta en dicha máquina a través de VirtualBox.
Inicialmente esperaba que hubiera una función para compartir impresoras que fuera similar a VMware o Parallels, sin embargo, no encuentro una opción "conveniente". Esta impresora se utilizará con frecuencia para imprimir desde el propio Windows, pero este antiguo programa de DOS también debe poder imprimir de vez en cuando.
Estaba pensando que quizás la mejor opción sería habilitar el uso compartido de la impresora en red en Windows y luego intentar conectar la impresora en red a un puerto paralelo virtual en la instancia de FreeDOS de alguna manera.
Tengo la red TCP/IP funcionando bien en la instancia de FreeDOS, pero ahora es cuestión de tomar el puerto de impresora compartido para algún lpt virtual, supongo.
Otro pensamiento que se me pasó por la cabeza es que es posible que necesite adquirir algún software en el lado de Windows para proporcionar una entrada más universal para DOS que, por lo tanto, permitirá una simple emisión de caracteres de una aplicación de DOS en lugar de necesitar un procesamiento de controlador más pesado.
¿Alguna idea sobre cómo lograr esto?
Respuesta1
No estoy familiarizado con las redes FreeDOS, pero si puede hacer "uso de red" en una unidad de red compartida, también debería poder hacer:
Net use lpt1 \\server\printershare
Sin embargo, su aplicación MS-DOS debe admitir la impresión en impresoras de red.
Si las aplicaciones MS-DOS intentan manipular el chip de hardware LPT directamente, esto no funcionará. Si accede a LPT1 como un archivo, esto funcionará.
No es necesario proporcionar controladores o similares en Windows para esto. Felizmente pasará los bytes sin procesar recibidos del cliente DOS directamente a la impresora. (Como alternativa, puede configurar la impresora en Windows como impresora "Genérica/Sólo texto" para estar absolutamente seguro de que Windows no afectará los trabajos de impresión).
Si su aplicación DOS insiste en controlar el hardware de la impresora por sí misma, la única forma de hacer que esto funcione es (AFAIK) tener una impresora paralela real en el sistema host y asignar ese puerto paralelo directamente a la VM FreeDOS. (¡Sin embargo, no se podrá utilizar desde el sistema host al mismo tiempo!)