Windows 10 (64 Bit): 16-Bit-Programme ausführen

[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.

Visual Basic 3.0
(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

Dieser Beitrag wurde unter Windows 10 abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

16 Antworten zu Windows 10 (64 Bit): 16-Bit-Programme ausführen

  1. Alfred Neumann sagt:

    Was spricht da gegen die "DOSBoxPortable"?

    Habe da heute noch Ab und An das alte Duke3d am laufen ;)

    • 1ST1 sagt:

      Und wie laufen unter DOSBoxPortable Windows-Programme?

      • Ralf Lindemann sagt:

        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 …

  2. Doc WP sagt:

    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.

  3. gpburth sagt:

    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 :-))

  4. Micha sagt:

    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

  5. Hans-Jürgen sagt:

    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.)?

  6. Uwe Jens sagt:

    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.

  7. Casi Volz sagt:

    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

  8. WonneWasti sagt:

    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.

  9. gestorbener link sagt:

    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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.

Du findest den Blog gut, hast aber Werbung geblockt? Du kannst diesen Blog auch durch eine Spende unterstützen.