1 puntos por GN⁺ 3 시간 전 | 1 comentarios | Compartir por WhatsApp
  • Microsoft publicó materiales tempranos de DOS que se remontan a antes de que llevara el nombre MS-DOS, mostrando una etapa de desarrollo anterior a lo ya divulgado
  • Entre los materiales publicados se incluyen el código fuente del kernel de 86-DOS 1.00, varias instantáneas de desarrollo del kernel de PC-DOS 1.00 y utilidades como CHKDSK
  • Tim Paterson creó 86-DOS para los kits de computadoras Intel 8086 de Seattle Computer Products, y este sistema operativo también era conocido como QDOS
  • Microsoft licenció 86-DOS para el sistema operativo de la IBM PC 5150, contrató a Paterson y luego compró los derechos para expandirlo como PC-DOS y MS-DOS
  • Este código no se recuperó de un archivo digital, sino que fue transcrito y escaneado manualmente a partir de impresiones en papel de Paterson, ampliando el alcance del material de investigación sobre los primeros sistemas operativos para PC

Código fuente temprano de DOS publicado

  • Microsoft publicó “el código fuente de DOS más antiguo entre los que ha hecho públicos hasta ahora
  • Esta publicación se remonta incluso a código anterior al nombre MS-DOS, y la entrada de Microsoft incluye el código fuente del kernel de 86-DOS 1.00, varias instantáneas de desarrollo del kernel de PC-DOS 1.00 y utilidades como CHKDSK
  • Como se trata de material anterior al código fuente de MS-DOS publicado previamente, permite observar el proceso inicial de desarrollo de DOS desde una etapa más temprana

El camino de 86-DOS a MS-DOS

  • Tim Paterson creó originalmente 86-DOS para los kits de computadoras basados en Intel 8086 que vendía Seattle Computer Products
  • 86-DOS antes era conocido como QDOS, sigla de “quick and dirty operating system”
  • Microsoft licenció 86-DOS y contrató a Paterson para continuar el desarrollo con el fin de suministrar un sistema operativo a la IBM PC 5150, que aún estaba en desarrollo
  • Después, Microsoft compró por completo los derechos de 86-DOS y lo licenció a IBM como PC-DOS, conservando el derecho de venderlo también a otras empresas
  • La versión vendida por Microsoft se llamó MS-DOS, y se convirtió en un sistema operativo ampliamente usado durante las décadas de 1980 y 1990 con la expansión de las PC compatibles con IBM de terceros

Código restaurado desde impresiones en papel

  • Este código fuente es tan antiguo que no se conservó en formato digital
  • Un equipo de historiadores y especialistas en preservación liderado por Yufeng Gao y Rich Cini, bajo el nombre “DOS Disassembly Group”, transcribió y escaneó manualmente el código a partir de impresiones en papel proporcionadas por Paterson
  • Debido a la calidad de las impresiones de hace varias décadas, el trabajo de restauración fue más complicado porque el software OCR moderno tenía dificultades para procesarlas correctamente

Publicaciones relacionadas y preservación

  • Microsoft publicó como código abierto MS-DOS 1.25 y 2.0 en 2014, y los volvió a publicar en 2018
  • En 2024 también publicó el código fuente de MS-DOS 4.0, descrita como una versión peculiar, y esas versiones están en el mismo repositorio de GitHub
  • Esta publicación no es el primer material relacionado con 86-DOS redescubierto en la década de 2020; hace dos años, la versión conocida más temprana de 86-DOS fue redescubierta y subida a Internet Archive
  • Con la publicación conjunta de código anterior a la marca MS-DOS, instantáneas de desarrollo y utilidades, se amplía el conjunto de fuentes primarias para investigar la historia de los primeros sistemas operativos para PC

1 comentarios

 
GN⁺ 3 시간 전
Opiniones de Hacker News
  • No se dice mucho, pero gracias, Microsoft. De hecho, tan importante como DOS, o quizá más importante, fue BASIC hecho por Microsoft
    Lo que realmente querían hacer era BASIC, y DOS fue lo que les permitió conseguir el contrato con IBM. Durante décadas, Microsoft fue más una empresa de herramientas para desarrolladores que hacía sistemas operativos y otro software como actividad secundaria, y también liberaron como código abierto ese código de BASIC https://opensource.microsoft.com/blog/2025/09/03/microsoft-o...

    • Creo que es la primera vez que veo un commit marcado como de hace 49 años
    • Recuerdo haberme dado cuenta de que, aunque usaba una Commodore 64, en realidad todo el tiempo estaba usando Microsoft
    • Lo interesante es que Microsoft BASIC en sí derivó de BASIC-PLUS, y BASIC-PLUS salió de Dartmouth BASIC
      Dartmouth BASIC después evolucionó hacia SBASIC (Structured BASIC), un lenguaje de programación estructurada, pero la popularidad de Microsoft BASIC terminó frenando la estandarización ANSI de SBASIC
      https://en.wikipedia.org/wiki/Microsoft_BASIC
      El intérprete Altair BASIC fue desarrollado por Paul Allen y Bill Gates usando un emulador de Intel 8080 que ellos mismos hicieron en una minicomputadora PDP-10, y el dialecto de Microsoft estaba modelado a partir de BASIC-PLUS de DEC, que Gates había usado en la preparatoria
      https://en.wikipedia.org/wiki/Dartmouth_BASIC
      Dartmouth BASIC es el BASIC original, creado por John G. Kemeny y Thomas E. Kurtz, y junto con DTSS ofrecía un entorno de programación interactivo para estudiantes de licenciatura y toda la comunidad universitaria. En 1975 lanzaron SBASIC, incorporando conceptos de programación estructurada, y eso se convirtió en la base del trabajo de ANSI sobre “Standard BASIC” a inicios de los años 80
      Pero hacia fines de los 80, decenas de millones de computadoras domésticas corrían variantes del intérprete MS BASIC y eso lo volvió el estándar de facto, así que el esfuerzo ANSI por SBASIC terminó abandonándose. Kemeny y Kurtz continuaron esas ideas con True BASIC, pero al mes de febrero de 2026 el sitio web de TrueBASIC estaba oficialmente cerrado
      https://en.wikipedia.org/wiki/True_BASIC
  • De verdad da envidia pensar que en esa época podías arrancar una empresa de software exitosa escribiendo unos cuantos miles de líneas de ensamblador

    • Sí, pero ese ensamblador no era DOS y tampoco fue algo fácil
      Microsoft no escribió originalmente el código de DOS, lo compró. Claro, después lo desarrolló y modificó, pero eso fue más una jugada de negocios inteligente y con suerte que un logro técnico
      El verdadero inicio de Microsoft fue antes, cuando Allen, Gates y Davidoff hicieron el intérprete Altair BASIC, y eso sí fue un logro considerable
      Ni siquiera habían visto la computadora objetivo, y tampoco poseían una. Trabajaron durante 8 semanas en una computadora universitaria que no debían usar
      “Altair había aceptado reunirse para hablar de la posible compra de un intérprete BASIC, pero Gates y Allen no tenían ni un intérprete BASIC ni un sistema Altair. Allen ya había creado un emulador del Intel 8008 que corría en una computadora de tiempo compartido PDP-10, y lo adaptó para que coincidiera con la guía del programador de Altair, con lo que desarrollaron y probaron el intérprete en la PDP-10 de Harvard.”
      El intérprete terminado cabía en 4 KB de memoria, incluyendo su propio sistema de entrada/salida y un editor de líneas, y todavía dejaba suficiente espacio para el programa a interpretar. Para preparar la demo, guardaron el intérprete terminado en una cinta perforada que Altair pudiera leer, y Paul Allen voló a Albuquerque para reunirse con Altair
      Justo antes de aterrizar, Allen se dio cuenta de que había olvidado el bootloader para cargar la cinta en memoria, así que terminó el programa en lenguaje máquina 8080 antes de que el avión tocara tierra. Solo después de cargar el programa en la Altair y ver el prompt preguntando el tamaño de memoria del sistema, Gates y Allen supieron que el intérprete realmente funcionaba en hardware Altair real
      https://en.wikipedia.org/wiki/Altair_BASIC
    • Siendo justos, también haría falta un empresario despiadado para dirigir la compañía. En gran medida, eso sigue siendo cierto hoy
    • Más bien siento que fue exactamente lo contrario. De verdad hacía falta que la persona correcta estuviera en el lugar correcto en el momento correcto
    • Sorprende que fuera así incluso con procesadores y sistemas tan simples. No había tablas de descriptores ni configuración de gestión de memoria
      Hoy, con tal de empezar, ya necesitas un pequeño procesador aparte dentro del procesador principal. Aquella sí fue una época dorada
    • Si cambias ensamblador por algo como TypeScript/Rust/Go, el mismo principio sigue aplicando hoy: si la idea es buena y útil
  • La discusión anterior sobre este código fuente está aquí. Hace 24 días, 79 puntos, 19 comentarios https://news.ycombinator.com/item?id=47957494
    También hay discusión sobre el clon en GitHub. 162 puntos, 15 comentarios https://news.ycombinator.com/item?id=47946813

  • Sorprendentemente, tuvieron que volver a leer impresiones en papel con OCR
    Este código fuente es tan antiguo que no se conservó en formato digital, y un equipo de historiadores y preservacionistas, el “DOS Disassembly Group”, encabezado por Yufeng Gao y Rich Cini, transcribió y escaneó con mucho esfuerzo el código a partir de las impresiones en papel proporcionadas por Paterson. Dicen que incluso el software moderno de OCR tuvo problemas por la calidad de unas impresiones con varias décadas encima

    • Me gustaría saber más sobre qué funciona bien para OCR de tipografías de matriz de puntos
      He logrado hacer OCR a impresiones de calidad carta hasta alrededor de 97%, y los problemas principales eran con O y X
      Pero también parece que el reconocimiento de texto basado en aprendizaje automático de hoy está sesgado a rechazar código de computadora porque no “se parece” al lenguaje humano
    • Una vez escaneé un listado que encontré entre los papeles de mi padre y recuperé parte de software antiguo que yo había escrito hace mucho tiempo
    • Otro caso más de texto impreso en papel sobreviviendo más tiempo que cualquier medio de almacenamiento digital
  • Es una historia interesante sobre cómo Microsoft entró al negocio de los sistemas operativos. IBM quería el sistema operativo CP/M, pero Digital Research no firmó el NDA de IBM, y eso terminó siendo un gran punto de inflexión en la historia de la computación
    Citando el guion de TV de “Triumph of the Nerds”:
    https://www.pbs.org/nerds/part2.html
    Jack Sams (IBM) pensaba que Microsoft tenía un paquete con el lenguaje BASIC y el sistema operativo, pero IBM no hizo bien la investigación previa
    Según Steve Ballmer, IBM creía que Microsoft podía licenciar CP/M para su nueva computadora personal porque Microsoft vendía CP/M sobre su producto SoftCard. Microsoft respondió: “Nosotros no estamos en ese negocio”
    Jack Sams dice que Bill Gates le explicó que no tenía los derechos, pero que Gary Kildall probablemente estaría preparado, así que en ese momento llamó a Gary de Digital Research para decirle que tratara bien a la gente de IBM

    • Casi todos los detalles de esta historia están en disputa incluso entre los propios involucrados. Lo único realmente claro parece ser el panorama general: que hubo una reunión que no salió bien
  • Me pregunto cuánto faltará para que se publique el código fuente de las versiones más tempranas de Windows. El simple hecho de que todavía exista este código tan antiguo de DOS da esperanza de que también se haya preservado el de Windows antiguo

    • El día que la base de código de Windows 2000 salga como open source o como código disponible para consulta, podría morir feliz
      Aunque lo más probable es que para cuando siquiera se vea una mínima posibilidad de eso, yo ya lleve mucho tiempo muerto. De verdad era un sistema operativo hermoso y muy fluido
    • No creo que sea tan difícil desensamblarlo
    • Incluso podría no faltar mucho. Me da la impresión de que Microsoft ya casi está cerrando el ciclo de Windows como plataforma
    • Incluso solo Windows 3.11 parece que tendría mucho material inspirador y valioso para aprender
    • Parece que lo publicaron varias décadas demasiado tarde como para generar interés
  • Publicación relacionada reciente: Microsoft open sources DOS 1.00 on 45th anniversary - https://news.ycombinator.com/item?id=47957494 - abril de 2026, 19 comentarios

  • Los primeros días de la computación moderna de verdad fueron brillantes. Tratábamos a las máquinas como lo que eran: máquinas
    Hacían falta rendimiento, creatividad y ciencia para hacer funcionar bien una 386. Ahora parece que todo es bibliotecas, virtualización y capas de mal código encima de mal código encima de mal código, y eso no me gusta

    • A veces pienso que todavía tener en la cabeza un modelo mental de computadora de 48 KB de RAM en una Apple ][+ me ayuda a escribir mejor código
    • Desde hace bastante tiempo han ido apareciendo muchos programadores que no entienden en absoluto los conceptos de bajo nivel. Empezaron con JavaScript o Python y nunca miraron hacia abajo, y no parece haber límite para las monstruosidades de arquitectura que consideran normales
      Linus Torvalds dijo algo en ese mismo sentido hace unos meses cuando hablaba de herramientas de programación con IA. Su generación, y la mía, tuvo la suerte de empezar desde el nivel bajo y así conservar una intuición del stack completo, pero hoy a los chicos les cuesta más tener esa oportunidad
      Si la primera experiencia de un niño programando es un chatbot que parece un genio, no creo que sea fácil desarrollar ese nivel de intuición sobre computadoras, algoritmos y estructuras de datos
    • DOS y “excelencia” en la misma oración…
  • Este sí es el código fuente más antiguo, pero el binario 86-DOS v0.1-C es anterior a este código v1.00 y también se encontró la v0.34; ambos se pueden descargar y ejecutar en un emulador :-)
    https://arstechnica.com/gadgets/2024/01/the-oldest-known-ver...