Wobei es hier auch ein paar Feinheiten gibt.
a) Ryzen hat Probleme mit dem "erweiterten" V86, der mit dem Pentium eingeführt wurde.
Der normale V86 des 386/486 funktioniert noch. Nur ergiebt sich daraus folgendes Problem:
Moderne Programme, wie z.B. Windows XP, erwarten einen 586er, sodass möglichweise der
ein vorhandender, alternativer Fall-Back Code für 386er/486er bzw. normalen V86 nicht richtig funktioniert,
da die Entwickler nichtmehr ernsthaft mit seiner Nutzung gerechnet haben (außer Cyrix?/Nexgen?/etc. konnten alle 586+
den erweiterten V86).
Siehe "The Pentium's Enhanced v86 Mode" :
http://www.rcollins.org/ddj/Jan98/Jan98.html
b) Virtual PC 2007 und co. unterstützen optional Hardware-basierte Virtualisierung ala Intel-VT/AMD-V.
Falls ein Prozessor das nicht kann bzw. die Option deaktiviert ist, wird der Real-Mode bzw. V86 bei Bedarf emuliert.
Das Problem ist aber ggf. auch hier, das ein System wie Windows XP den erweiterten V86 erwartet, da es anderst als
z.B. Win98SE keinen Fall-back für 386er/486er mit normale V86 mehr hat.
c) Win16-Programme ansich benötigen kein V86, da sie nur normalen 16-Bit code mit 64K Segmenten verwenden.
Rein technisch funktionieren sie sowohl im Real-Modus, im 16-Bit Protected Modus (286er), im 32-Bit Protected Modus mit V86 (386er) und im Long-Mode des 64-Bit Protected Modus (ist kompatibel zu 16-Bit Protected Mode code).
Das Problem ist hier das Win3.1-Subsystem von Windows NT. Auf Alpha/Mips lief es noch in Emulation,
bei AMD64 hat MS aber "keine Lust" mehr gehabt, einen Emulator (basierend auf SoftPC) einzubauen.
Stattdessen schiebt man die Schuld einfach auf das fehlende V86 im Longmode.
d) Für Win16/DOS-Programme unter Windows x64 gibt es einige Tools.
WineVDM, Boxedwine, MS-DOS Player, DOSBox, et. und normale Emus wie PCem/86Box/ Qemu natürlich.
Wobei es hier auch ein paar Feinheiten gibt.
a) Ryzen hat Probleme mit dem "erweiterten" V86, der mit dem Pentium eingeführt wurde.
Der normale V86 des 386/486 funktioniert noch. Nur ergiebt sich daraus folgendes Problem:
Moderne Programme, wie z.B. Windows XP, erwarten einen 586er, sodass möglichweise der
ein vorhandender, alternativer Fall-Back Code für 386er/486er bzw. normalen V86 nicht richtig funktioniert,
da die Entwickler nichtmehr ernsthaft mit seiner Nutzung gerechnet haben (außer Cyrix?/Nexgen?/etc. konnten alle 586+
den erweiterten V86).
Siehe "The Pentium's Enhanced v86 Mode" : http://www.rcollins.org/ddj/Jan98/Jan98.html
b) Virtual PC 2007 und co. unterstützen optional Hardware-basierte Virtualisierung ala Intel-VT/AMD-V.
Falls ein Prozessor das nicht kann bzw. die Option deaktiviert ist, wird der Real-Mode bzw. V86 bei Bedarf emuliert.
Das Problem ist aber ggf. auch hier, das ein System wie Windows XP den erweiterten V86 erwartet, da es anderst als
z.B. Win98SE keinen Fall-back für 386er/486er mit normale V86 mehr hat.
c) Win16-Programme ansich benötigen kein V86, da sie nur normalen 16-Bit code mit 64K Segmenten verwenden.
Rein technisch funktionieren sie sowohl im Real-Modus, im 16-Bit Protected Modus (286er), im 32-Bit Protected Modus mit V86 (386er) und im Long-Mode des 64-Bit Protected Modus (ist kompatibel zu 16-Bit Protected Mode code).
Das Problem ist hier das Win3.1-Subsystem von Windows NT. Auf Alpha/Mips lief es noch in Emulation,
bei AMD64 hat MS aber "keine Lust" mehr gehabt, einen Emulator (basierend auf SoftPC) einzubauen.
Stattdessen schiebt man die Schuld einfach auf das fehlende V86 im Longmode.
d) Für Win16/DOS-Programme unter Windows x64 gibt es einige Tools.
WineVDM, Boxedwine, MS-DOS Player, DOSBox, et. und normale Emus wie PCem/86Box/ Qemu natürlich.