puede usar las instalaciones de depuración de su máquina virtual (o gdb / algo más) para leer la memoria directamente. ms-dos no tiene protección de memoria ni es un sistema de tareas múltiples, por lo que puede leer la memoria de la máquina virtual, puede leer la máquina virtual vga para la entrada.
la documentación dice que existe un comando
info vgatext -- print the contents of the VGA framebuffer formatted as standard text mode
la sintaxis correcta para obtener la salida es: ejecutar VirtualBox --debug --startvm msdos1.25
, luego, en la consola del depurador:
info vgatext
salida copiada y pegada:
The COMPAQ Personal Computer DOS
Version 1.11
(C) Copyright COMPAQ Computer Corp. 1982
(C) Copyright Microsoft 1981, 82
A>
--------------------------------------------------------------------------------
VBoxDbg>
Por lo tanto, puede escribir una secuencia de comandos del depurador que se enganche en un valor de memoria dentro de la memoria de su programa y volcar la pantalla vga cuando un programa genera / o puede escribir una secuencia de comandos que pause la CPU, guarde contenido de manera constante, si la salida cambia, guarda contenido actualizado, continúa cpu run
Algunas opciones para investigar son:
encuentre cómo escribir un script de depuración para volcar el contenido de la memoria de su aplicación
encuentre alguna solución de depuración del controlador vga / puerto serie / memoria para quemu / dosbox / virtualbox
encontrar algún programa de utilidad ANTIGUO de los años 80 que tal vez alguien escribió allí para este propósito
agregue la etiqueta de freedos aquí (o incluso mueva / repita su pregunta en gran stackoverflow, supongo que algunos gurús deberían saber algo sobre problemas como este
Actualizaré más tarde si encuentro algo interesante, pero ¿pueden revelar algunos detalles sobre por qué están utilizando 1.25? ¿Funciona este programa en las versiones más recientes de msdos? Apuesto a que puedes encontrar algún hacker de ensamblaje joven ansioso por parchear este programa a una versión más nueva (o agregar salida de archivo con asm) por una pequeña tarifa