¿Por qué los juegos y programas basados ​​en la plataforma MS-DOS no se ejecutan en los sistemas operativos Windows 7 y Windows 8?

Los sistemas operativos Windows hasta Windows 98 y Windows ME en realidad tenían una versión completa de MS-DOS “incrustada” dentro del sistema operativo, por así decirlo. Se puede acceder a este mediante el símbolo del sistema de DOS desde Windows. Estos sistemas operativos en realidad eran híbridos de 16 bits / 32 bits, y usaban MS-DOS en la etapa de arranque.

Cuando Microsoft desarrolló la línea de sistemas operativos Windows NT, es decir, Windows NT, 2000 y XP (que se reescribieron para ser completamente de 32 bits), reemplazaron el DOS incorporado, es decir, command.com con el nuevo símbolo del sistema cmd.exe , que no era en realidad DOS, sino un programa de 32 bits de Windows que parecía un indicador de DOS y admitía muchos comandos de estilo DOS.

Sin embargo, también incluyeron una máquina virtual llamada NT Virtual DOS Machine ( ntvdm.exe ) que el usuario podría usar para ejecutar aplicaciones heredadas de DOS y 16 bits utilizando el símbolo del sistema incluido. Este command.com no era en realidad un DOS completo como en Win 9x, sino un “DOS virtual” que usaba NTVDM, que no era compatible con todas las funciones de DOS. Pero, podría ejecutar la mayoría de los programas y juegos de DOS (por ejemplo, Turbo C ++, Prince, Dave, etc.) muy bien.

Para obtener detalles sobre NTVDM, consulte el artículo Máquina virtual de DOS. El NTVDM en x86 versiones x86 de Windows NT, 2000, XP utilizaba la llamada capacidad de modo Virtual 8086 de los procesadores de arquitectura x86 Intel para simular un modo real restringido (usado por DOS) mientras estaba en modo protegido (usado por Windows).

Cuando comenzaron a desarrollar Windows Vista, no desarrollaron una versión de 64 bits del NTVDM para usar en las versiones de 64 bits del sistema operativo y, por lo tanto, dejaron de admitirlo en las versiones de 64 bits (pero aún lo mantuvieron en las versiones de 32 bits). Posiblemente porque creían que ya era suficiente y prácticamente nadie necesitaría o querría ejecutar dichos programas en sistemas modernos. Otro factor que puede haber contribuido a la decisión es que la capacidad del modo Virtual 8086 no está disponible en el modo nativo de 64 bits de los procesadores Intel de 64 bits (es decir, la arquitectura x64 aka x86_64 aka amd64 ).

Esto se trasladó a Windows 7 y Windows 8.

Entonces, obtienes una versión emulada de DOS en Windows Vista / 7/8 de 32 bits, pero no en las versiones de 64 bits.

Por lo tanto, en las versiones de 64 bits de Windows Vista / 7/8, tendrá que usar su propio emulador, como DOSBox, un emulador x86 con DOS, para ejecutar viejos programas y juegos de DOS. Incluso entonces, tendrá algunas limitaciones, como el modo de pantalla completa que no se admite correctamente. El juego aparecerá en un cuadro de tamaño 640 x 480 en el centro de la pantalla.