1 Punkte von GN⁺ 3 시간 전 | 1 Kommentare | Auf WhatsApp teilen
  • Microsoft hat frühe DOS-Materialien veröffentlicht, die bis in die Zeit vor der Bezeichnung MS-DOS zurückreichen, und damit einen noch früheren Entwicklungsstand als in bisherigen Veröffentlichungen zeigen
  • Das veröffentlichte Material umfasst den Kernel-Quellcode von 86-DOS 1.00, mehrere Entwicklungs-Snapshots des PC-DOS-1.00-Kernels sowie Utilities wie CHKDSK
  • Tim Paterson entwickelte 86-DOS für die von Seattle Computer Products angebotenen Intel-8086-Computer-Kits; das Betriebssystem war auch als QDOS bekannt
  • Microsoft lizenzierte 86-DOS für ein Betriebssystem des IBM PC 5150, stellte Paterson ein und kaufte anschließend die Rechte, um es zu PC-DOS und MS-DOS weiterzuentwickeln
  • Dieser Code stammt nicht aus einem digitalen Archiv, sondern wurde manuell aus Papierausdrucken von Paterson transkribiert und eingescannt, was den Umfang des Forschungsmaterials zu frühen PC-Betriebssystemen erweitert

Veröffentlichten früher DOS-Quellcode

  • Microsoft hat den „ältesten DOS-Quellcode, den das Unternehmen bislang veröffentlicht hat“ freigegeben
  • Diese Veröffentlichung reicht bis zu Code aus der Zeit vor der Bezeichnung MS-DOS zurück; im Beitrag von Microsoft sind der Kernel-Quellcode von 86-DOS 1.00, mehrere Entwicklungs-Snapshots des Kernels von PC-DOS 1.00 sowie Utilities wie CHKDSK enthalten
  • Da das Material aus einer noch früheren Phase stammt als bereits veröffentlichter MS-DOS-Quellcode, lässt sich der frühe Entwicklungsprozess von DOS weiter zurückverfolgen

Der Weg von 86-DOS zu MS-DOS

  • Tim Paterson entwickelte 86-DOS ursprünglich für die von Seattle Computer Products verkauften Computer-Kits auf Basis des Intel 8086
  • 86-DOS war zuvor als QDOS bekannt; QDOS stand für „quick and dirty operating system“
  • Microsoft lizenzierte 86-DOS und stellte Paterson ein, um die Entwicklung fortzusetzen und ein Betriebssystem für den noch in Entwicklung befindlichen IBM PC 5150 bereitzustellen
  • Später kaufte Microsoft die Rechte an 86-DOS vollständig und lizenzierte es an IBM als PC-DOS, behielt jedoch das Recht, es auch an andere Unternehmen zu verkaufen
  • Die von Microsoft vertriebene Version wurde MS-DOS genannt und wurde in den 1980er- und 1990er-Jahren mit der Verbreitung von IBM-PC-kompatiblen Systemen anderer Hersteller zu einem weit verbreiteten Betriebssystem

Aus Papierausdrucken rekonstruierter Code

  • Dieser Quellcode ist so alt, dass er nicht in digitaler Form archiviert wurde
  • Ein Team aus Historikern und Bewahrungsexperten unter Leitung von Yufeng Gao und Rich Cini transkribierte und scannte den Code unter dem Namen „DOS Disassembly Group“ manuell aus Papierausdrucken, die Paterson bereitgestellt hatte
  • Wegen der Qualität der jahrzehntealten Ausdrucke war die Rekonstruktion schwieriger, da moderne OCR-Software sie nicht zuverlässig verarbeiten konnte

Verwandte Veröffentlichungen und die Entwicklung der Bewahrung

  • Microsoft veröffentlichte 2014 MS-DOS 1.25 und 2.0 als Open Source und legte sie 2018 erneut offen
  • 2024 wurde außerdem der als ungewöhnliche Version beschriebene MS-DOS-4.0-Quellcode veröffentlicht; diese Versionen liegen im selben GitHub-Repository
  • Die aktuelle Veröffentlichung ist nicht das erste neu entdeckte 86-DOS-bezogene Material der 2020er-Jahre; vor zwei Jahren wurde die früheste bekannte 86-DOS-Version wiederentdeckt und ins Internet Archive hochgeladen
  • Mit der gemeinsamen Veröffentlichung von Code aus der Zeit vor der MS-DOS-Marke, Entwicklungs-Snapshots und Utilities erweitert sich das verfügbare Quellenmaterial für die Forschung zur Geschichte früher PC-Betriebssysteme

1 Kommentare

 
GN⁺ 3 시간 전
Hacker-News-Kommentare
  • Das sagt man selten, aber danke, Microsoft. Eigentlich war BASIC von Microsoft mindestens genauso wichtig wie DOS, vielleicht sogar wichtiger
    Das war das, was sie wirklich machen wollten, und DOS war der Anlass, durch den sie den IBM-Vertrag bekamen. Über Jahrzehnte war Microsoft eher ein Unternehmen für Entwickler-Tools, das Betriebssysteme und andere Software nebenbei baute, und auch diesen BASIC-Code haben sie als Open Source veröffentlicht https://opensource.microsoft.com/blog/2025/09/03/microsoft-o...

    • Ich glaube, ich habe noch nie einen Commit gesehen, auf dem vor 49 Jahren stand
    • Ich erinnere mich noch daran, wie mir klar wurde, dass ich beim Commodore 64 die ganze Zeit eigentlich Microsoft benutzt hatte
    • Interessant ist, dass Microsoft BASIC selbst von BASIC-PLUS abgeleitet war und BASIC-PLUS wiederum aus Dartmouth BASIC hervorging
      Dartmouth BASIC entwickelte sich später zu der strukturierten Programmiersprache SBASIC (Structured BASIC), aber die Popularität von Microsoft BASIC verhinderte letztlich sogar die ANSI-Standardisierung von SBASIC
      https://en.wikipedia.org/wiki/Microsoft_BASIC
      Der Altair-BASIC-Interpreter wurde von Paul Allen und Bill Gates mit einem Intel-8080-Emulator entwickelt, den sie selbst auf einem PDP-10-Minicomputer gebaut hatten, und der Microsoft-Dialekt orientierte sich an DECs BASIC-PLUS, das Gates in der Highschool benutzt hatte
      https://en.wikipedia.org/wiki/Dartmouth_BASIC
      Dartmouth BASIC ist das ursprüngliche BASIC von John G. Kemeny und Thomas E. Kurtz und bot zusammen mit DTSS Studierenden und der gesamten Hochschulgemeinschaft eine interaktive Programmierumgebung. 1975 brachten sie SBASIC heraus, das Konzepte der strukturierten Programmierung aufnahm und zur Grundlage der ANSI-Arbeiten an „Standard BASIC“ in den frühen 1980ern wurde
      Doch bis Ende der 1980er liefen auf zig Millionen Heimcomputern Varianten des MS-BASIC-Interpreters, die damit de facto zum Standard wurden, und die ANSI-Bemühungen um SBASIC wurden eingestellt. Kemeny und Kurtz führten die Idee mit True BASIC weiter, aber Stand Februar 2026 wurde die TrueBASIC-Website offiziell geschlossen
      https://en.wikipedia.org/wiki/True_BASIC
  • Ich beneide wirklich die Zeit, in der man mit nur ein paar tausend Zeilen Assembler ein erfolgreiches Softwareunternehmen gründen konnte

    • Stimmt, aber dieser Assembler war nicht DOS, und einfach war es auch nicht
      Microsoft hat den DOS-Code nicht selbst geschrieben, sondern gekauft. Natürlich wurde er später weiterentwickelt und verändert, aber das war weniger eine technische Leistung als ein kluger und glücklicher Business-Deal
      Der eigentliche Anfang von Microsoft war davor, als Allen, Gates und Davidoff den Altair-BASIC-Interpreter bauten, und das war eine beachtliche Leistung
      Sie hatten den Zielrechner nie gesehen und besaßen ihn auch nicht. Sie arbeiteten acht Wochen lang auf einem Uni-Computer, den sie eigentlich nicht benutzen durften
      „Altair hatte einem Treffen zugestimmt, um den möglichen Kauf eines BASIC-Interpreters zu besprechen, aber Gates und Allen hatten weder einen BASIC-Interpreter noch ein Altair-System. Allen hatte bereits einen Intel-8008-Emulator gebaut, der auf einem PDP-10-Time-Sharing-Computer lief, und passte ihn an den Altair Programmer’s Guide an, um den Interpreter auf Harvards PDP-10 zu entwickeln und zu testen.“
      Der fertige Interpreter passte mitsamt eigenem Ein-/Ausgabesystem und Zeileneditor in 4 KB Speicher und ließ noch genug Platz für das auszuführende Programm. Zur Vorbereitung der Demo speicherten sie den fertigen Interpreter auf Lochstreifen, den der Altair lesen konnte, und Paul Allen flog nach Albuquerque, um den Altair zu treffen
      Kurz vor der Landung merkte Allen, dass er den Bootloader vergessen hatte, der das Band in den Speicher laden sollte, und beendete das Programm noch vor der Landung in 8080-Maschinensprache. Erst als das Programm auf den Altair geladen war und die Eingabeaufforderung nach der Speichergröße des Systems erschien, wussten Gates und Allen, dass der Interpreter auf echter Altair-Hardware funktionierte
      https://en.wikipedia.org/wiki/Altair_BASIC
    • Fairerweise brauchte es vermutlich auch einen skrupellosen Geschäftsmann, um das Unternehmen zu führen. Im Großen und Ganzen ist das heute nicht anders
    • Für mich fühlt es sich eher genau umgekehrt an. Man musste wirklich die richtige Person am richtigen Ort zur richtigen Zeit sein
    • Erstaunlich ist, dass das selbst auf so einfachen Prozessoren und Systemen galt. Es gab keine Deskriptor-Tabellen und keine Einstellungen für Speicherverwaltung
      Heute braucht man schon zum Starten oft einen kleinen Prozessor im Hauptprozessor. Das war ein goldenes Zeitalter
    • Ersetzt man Assembler durch etwas wie TypeScript/Rust/Go, gilt dasselbe Prinzip auch heute noch, solange die Idee gut und nützlich ist
  • Die damalige Diskussion über den Source-Code gibt es hier. Vor 24 Tagen, 79 Punkte, 19 Kommentare https://news.ycombinator.com/item?id=47957494
    Es gibt auch eine Diskussion über den GitHub-Klon. 162 Punkte, 15 Kommentare https://news.ycombinator.com/item?id=47946813

  • Erstaunlicherweise musste man die Papierausdrucke erneut per OCR einlesen
    Dieser Source-Code ist so alt, dass er nicht digital gespeichert war, und ein Team aus Historikern und Bewahrern namens „DOS Disassembly Group“ unter der Leitung von Yufeng Gao und Rich Cini hat den Code mühsam aus Papierausdrucken transkribiert und gescannt, die Paterson bereitgestellt hatte. Wegen der Qualität der jahrzehntealten Ausdrucke hatte selbst moderne OCR-Software Schwierigkeiten

    • Ich würde gern mehr darüber hören, was bei OCR für Nadeldrucker-Schriften gut funktioniert
      Letter-Quality-Drucke habe ich schon mit etwa 97 % Erfolgsquote per OCR verarbeitet, meist mit Problemen bei O und X
      Aber moderne, auf Machine Learning basierende Texterkennung scheint auch in die Richtung verzerrt zu sein, Computercode abzulehnen, weil er nicht wie menschliche Sprache aussieht
    • Ich habe einmal ein Listing gescannt, das ich in den Unterlagen meines Vaters gefunden hatte, und damit einen Teil einer alten Software wiederhergestellt, die ich früher geschrieben hatte
    • Noch ein Beispiel dafür, dass auf Papier gedruckter Text länger überlebt hat als jedes digitale Speichermedium
  • Es ist eine interessante Geschichte, wie Microsoft ins Betriebssystemgeschäft kam. IBM wollte das Betriebssystem CP/M, aber Digital Research unterschrieb IBMs NDA nicht, und das wurde zu einer großen Weggabelung der Computergeschichte
    Zitat aus dem TV-Transkript von „Triumph of the Nerds“:
    https://www.pbs.org/nerds/part2.html
    Jack Sams (IBM) glaubte, Microsoft habe ein Paket mit der BASIC-Sprache und einem Betriebssystem, aber IBM hatte seine Vorrecherche nicht sauber gemacht
    Laut Steve Ballmer dachte IBM, Microsoft könne CP/M für den neuen Personal Computer lizenzieren, weil Microsoft CP/M zusammen mit dem SoftCard-Produkt verkauft hatte. Microsoft antwortete: „Das ist nicht unser Geschäft.“
    Jack Sams sagte, Bill Gates habe erklärt, dass er die Rechte nicht habe, aber Gary Kildall wohl bereit wäre, und habe deshalb noch vor Ort Gary von Digital Research angerufen und ihm gesagt, er solle die IBM-Leute gut behandeln

    • Über fast alle Details dieser Geschichte wird selbst zwischen den Beteiligten gestritten. Sicher scheint nur die grobe Linie, dass es ein Treffen gab, das nicht gut lief
  • Ich frage mich, wie lange es wohl dauern wird, bis der Source-Code der frühesten Windows-Versionen veröffentlicht wird. Allein die Tatsache, dass so alter DOS-Code überhaupt noch existiert, macht Hoffnung, dass auch alter Windows-Code archiviert wurde

    • An dem Tag, an dem die Windows-2000-Codebasis als Open Source oder in Form einer Source-Veröffentlichung erscheint, könnte ich glücklich sterben
      Wobei ich wahrscheinlich schon lange tot sein werde, bis sich auch nur ein Hauch einer solchen Möglichkeit abzeichnet. Es war wirklich ein schönes und flüssig laufendes Betriebssystem
    • Zu disassemblieren dürfte nicht schwer sein
    • Ich denke, das könnte gar nicht mehr so lange dauern. Microsoft wirkt auf mich, als würden sie Windows als Plattform fast abschließen
    • Schon frühes Windows 3.11 wäre wahrscheinlich eine tolle Quelle für Inspiration und zum Lernen
    • Um wirklich Interesse zu wecken, kommt die Veröffentlichung wohl einige Jahrzehnte zu spät
  • Jüngst verwandter Beitrag: Microsoft open sources DOS 1.00 on 45th anniversary - https://news.ycombinator.com/item?id=47957494 - April 2026, 19 Kommentare

  • Die Anfangszeit des modernen Computings war wirklich großartig. Wir behandelten die Maschinen als das, was sie waren: Maschinen
    Um einen 386er richtig zum Laufen zu bringen, brauchte es Leistung, Kreativität und Wissenschaft. Heute ist es nur noch Bibliotheken, Virtualisierung und schlechter Code auf schlechtem Code auf schlechtem Code, und das gefällt mir nicht

    • Manchmal denke ich, dass mein mentales Modell von Computern immer noch ein Apple ][+ mit 48 KB RAM ist und ich deshalb besseren Code schreibe
    • Seit ziemlich langer Zeit gibt es immer mehr Programmierer, die Low-Level-Konzepte überhaupt nicht verstehen. Sie fangen mit JavaScript oder Python an und haben nie nach unten geschaut, und den monströsen Konstruktionen, die sie für normal halten, sind keine Grenzen gesetzt
      Linus Torvalds hat vor ein paar Monaten über AI-Coding-Tools etwas in eine ähnliche Richtung gesagt. Seine Generation und auch meine hatten das Glück, unten anzufangen und dadurch ein Gefühl für den gesamten Stack zu behalten, aber Kinder heute bekommen diese Chance nur schwer
      Wenn das erste Coding-Erlebnis eines Kindes ein Chatbot ist, der wie ein Genie wirkt, wird es nicht leicht sein, ein solches Verständnis für Computer, Algorithmen und Datenstrukturen zu entwickeln
    • DOS und „Großartigkeit“ im selben Satz …
  • Das ist zwar der älteste Source-Code, aber das 86-DOS-v0.1-C-Binary ist noch älter als dieser v1.00-Source, und auch v0.34 wurde gefunden; man kann beides im Emulator herunterladen und ausführen :-)
    https://arstechnica.com/gadgets/2024/01/the-oldest-known-ver...