[English]In einer 64-Bit-Windows-Umgebung lassen sich keine 16-Bit-Programme mehr ausführen, weil die Windows NT DOS Virtual Machine (NTVM) fehlt. Ein Microsoft-Entwickler hat jetzt einen Ansatz – quasi als Fingerübung – beschrieben, wie man doch 16-Bit-Programme unter einem 64 Bit Windows 10 ausführen kann.
Anzeige
Bisher war es so, dass man alte 16-Bit-Programme aus MS-DOS-Zeiten unter einem 32-Bit-Windows laufen lassen musste. Denn nur in den 32-Bit-Windows-Betriebssystemen ist die Windows NT DOS Virtual Machine (NTVM) (WOW16) enthalten – musste aber ggf. als Feature nachinstalliert werden. Unter einem 64-Bit-Windows fehlt Windows on Windows 16 (WOW16). Die Lösung, die die Leute dann gewählt haben: Es wurde eine virtuelle Maschine mit einem 32-Bit-Windows unter dem 64-Bit-Gastbetriebssystem aufgesetzt. Und in dieser VM konnten dann die 16-Bit-Programme aus MS-DOS-Zeiten laufen.
(16-Bit-Anwendung Visual Basic 3.0 in einer 64-Bit-Windows 10-Umgebung)
Den Kollegen von deskmodder.de ist nun ein Techcommunity-Beitrag aufgefallen, wo ein alternativer Weg beschrieben wird. Luis Henrique Demetrio aus Brasilien, ein Windows Development Advocate im Microsoft App Consult-Team hat im Beitrag Running 16-bit applications on Windows 10 64-bit ein Proof of Concept beschrieben. Dazu muss der Open Source 16-Bit Emulator otya128 – winevdm von GitHub heruntergeladen, übersetzt und installiert werden.
Ein Artifakt in Form einer fertigen ZIP-Archivdatei otvdm-master-1846.zip (läuft in 5 Monaten ab) lässt sich von AppVeyor herunterladen.
Anschließend kann das Framework mit dem Emulator genutzt werden, um 16-Bit-Programme wie Visual Basic 3.0 zu installieren und auszuführen. Die Schritte sind im Techcommunity-Beitrag beschrieben. Das Ganze ist aber eine Frickelei, um .exe-Programme zum Laufen zu bringen. Man muss die Anwendungen aus dem Emulator heraus aufrufen. Demetrio beschreibt aber einen Ansatz, wie man den 16-Bit-Emulator und die Visual Basic 3 16-Bit-Anwendungen in ein MSIX-Paket integrieren kann. Details zu dem gesamten Ansatz sind im Techcommunity-Beitrag zu finden.
Anzeige
Anzeige
Was spricht da gegen die "DOSBoxPortable"?
Habe da heute noch Ab und An das alte Duke3d am laufen ;)
Und wie laufen unter DOSBoxPortable Windows-Programme?
Windows-Programme, die Windows 95 oder höher voraussetzen, werden in der DOSBox nicht laufen. In der DOSBox ist nach meinem Kenntnisstand bei Windows 3.1 Schluss. Windows 3.1 läuft aber richtig gut und sehr stabil. Bei einem Arbeitsspeicher von 50 MB vermutlich auch kein Wunder, davon hat man 1992 nur geträumt …
Win95 läuft auch noch. Habe ich mal aus Langeweile ausprobiert. Aber bei Win 98 ist dann Schluß. ;-)
Nichts spricht gegen die DOS-Box. Allerdings laufen da nur DOS Programme. Hier geht es um 16bit Windows Programme. Ich nutze dafür auch eine VirtualBox mit XP.
Ich hoffe sehr, dass unter Windows noch sehr lange die 32bit Programme laufen. Apple ist diesbezüglich ja radikal, auf meinem iPhone gab es ein paar Programme, für die ich bezahlt habe, die aber dann nicht mehr auf 64bit weiterentwickelt wurden und somit nicht mehr funktionierten.
zu "Allerdings laufen da nur DOS Programme":
https://www.howtogeek.com/230359/how-to-install-windows-3.1-in-dosbox-set-up-drivers-and-play-16-bit-games/
Da sieht man wieder, dass Windows 3.1 ein DOS-Programm ist :).
Die Erklärung, warum keine 16bit-Programme untern Windows mit 64bit laufen ist nicht ganz vollständig.
Der Hauptgrund ist, dass der Prozessor hardwareseitig aus dem (64bit) long mode als nur den compatibility mode erreicht, der effektiv dem protected mode der 32bit-Prozessoren entspricht. 16bit DOS-Programme benötigen aber den real mode oder den "Virtual 8086 Mode". Letzteres war die erste hardwareunterstützte Virtualisierung der 8086-Baureihe, damit der Prozessor nicht immer aus dem protected mode wechseln muss (das hatte beim 80286 den Einsatz des protected mode quasi verhindert).
Ohne diese Hardwareunterstützung hätte Microsoft das softwareseitig implementieren müssen, und das für eine damals schon extrem begrenzte Nutzerzahl, die zudem andere Methoden nutzen kann. Dazuhin hat gerade DOS-Software manchmal "eigene" Vorstellungen davon, was sie mit der Hardware alles anstellen kann…. Diese Software-VM dann auch noch so zu implementieren, dass sie nahtlos wie im 32bit-Betriebssystem genutzt werden kann wäre wohl fast unmöglich gewesen. Hat ja auch sonst niemand entwickelt.
(Theoretisch sollte es möglich sein, 16bit protected mode Programme im compatibility mode laufen zu lassen. Konnte ich mangels Verfügbarkeit aber nie testen :-))
Habe das jetzt mal mit dem Best of Microsoft Entertainment Pack ausprobiert. Nachdem ich einen USB Stick Laufwerksbuchstaben A:\ gegeben habe und alle benötigten Dateien ohne Unterordner auf dem USB Stick kopiert habe lief das Setup auf Windows 8.1 x64 ohne Fehlermeldung durch.
Ich kann nun ohne eine 32 Bit VM zu starten alte Microsoft Spiele starten.
Das sind:
Chip's Challenge
Dr. Black Jack
Free Cell
Golf
JezzBall
Pipe Dream
Rodent's Revenge
SkiFree —>Ruckelt
Taipei
TetraVex
Tetris
TriPeaks
Tut's Tomb
Hallo Micha,
was würde denn ein USB-Stick bei Dir kosten mit dem ich nach Booten von USB auf Windows 98 booten kann und dort über command 16-Bit-Programme ausführen kann.
(Also komplett fertig mit Win98, GWBasic und ggf. Partitionen für Daten usw.)?
Oder man richte sich gleich einen Oldtimer-PC neu ein. Habe ich mit Windows XP gemacht (Phenom II x4, 2.3GHz) und einem Athlon Slot-A-PC (600 Mhz, 384 MB SD-RAM) mit WIndows 98. Dieses Jahr 2021. Super.
Hi Leute!
Ich habe die Anleitung unter einem Windows10-Home 64bit Rechner erfolgreich durchgeführt. Aber jetzt kommt's …
Leider klappt es auf diversen WIN10 Professionell Maschinen NICHT und ich habe keine Ahnung warum. Da kommt immer die Meldung, dass die vcruntime140.dll fehlt. Alle Versuche diese nach zu installieren blieben erfolglos.
Würde mich freuen wenn jemand einen zielführenden Tip hätte
klingt als müsste Visual C++ Redistributable installiert werden
Ich hab´s mit Ubuntu – Linux und Wine hinbekommen.
Wer in Linux Erfahrung hat für den geht´s leicht Pinguin – newbies werden wohl Nachhilfestunden brauchen.
LINK ISTR TOT !!!
winevdm
Current build History
LOG
Merge pull request #780 from cracyc/msgtunnel
try again to pass the msg16 pointer
dev1846
3 years ago by otya (committed by GitHub)
master 032d9269
3 years ago in 4 min 36 sec
Environment: THIS_BUILD_IS_RECOMMENDED__VCXPROJ_BUILD=1
3 min 8 sec
Jobs Console Messages 142 Tests Artifacts 1
Artifacts older than 1 month are automatically deleted. For more details see Artifacts retention policy.Got it!
The build job does not contain any artifacts.
Da hat wer wohl nicht den ganzen Artikel gelesen, es stand drinnen das der Link zu dem damaligen Zeitpunkt nur 5 Monate gültig ist. Über den verlinkten Github Link kommt man nachdem man sich etwas durchgeklickt hat ziemlich schnell zum aktuellen Downloadlink.
Das ist der aktuelle Downloadlink (Stand 05.04.2023):
https://ci.appveyor.com/project/otya128/winevdm/build/job/albrbc45ppbg4ju5/artifacts