Stories
Slash Boxes
Comments

SoylentNews is people

posted by CoolHand on Monday October 01 2018, @05:21PM   Printer-friendly
from the better-late-than-never? dept.

Submitted via IRC for chromas

Microsoft Releases Crown Jewels — From 1982!

If you look back 30 or so years ago, it wasn’t clear what was going to happen with personal computers. One thing most people would have bet on, though, was that CP/M — the operating system from Digital Research — would keep growing and power whatever new machines were available. Except it didn’t. MS-DOS took over the word and led — eventually — to the huge number of Windows computers we know today. Microsoft has released the source code to MS-DOS 1.25 and 2.0 on GitHub.

Microsoft — then another fledgling computer company — had written some BASIC interpreters and wanted in on the operating system space. They paid the princely sum of $75,000 to Seattle Computer Products for something called QDOS written by [Tim Paterson]. Rebranded as MS-DOS, the first version appeared in late 1981 and version 1.25 was out about a year later.

While you might not think having MS-DOS source code is a big deal, there’s still a lot of life left in DOS and it is also interesting from an educational and historical perspective. If you don’t want to read x86 assembly language, there’s also the BASIC source for the samples (paradoxically, in the bin subdirectory) along with compiled COM files for old friends like EDLIN and DEBUG.

[...] If this gets you wanting to write some new DOS programs, you can actually use GCC now. Or if you want to play the DONKEY.BAS file, QB64 would probably work.

Also at The Register.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 4, Informative) by Runaway1956 on Monday October 01 2018, @07:37PM (8 children)

    by Runaway1956 (2926) Subscriber Badge on Monday October 01 2018, @07:37PM (#742430) Journal

    You might specify what you mean by "early days". 16-bit was there right up through WinXP. To most of us, those weren't "early days". Not sure about Longhorn/Vista. The early release was pretty much indistinguishable from XP, so the 16-bit stuff was probably still there. Vista probably threw it out, but I'm not going to swear to it.

    In a sort of indirect way, I guess 16-bit lives on with Win7. https://support.microsoft.com/en-us/help/282423/list-of-limitations-in-64-bit-windows [microsoft.com]

    No 16-Bit Code

            No 16-bit code can run, except for recognized InstallShield and Acme installers (these are hard-coded in Wow64 to allow them to work).
            16-bit Setup bootstraps are not supported.
            16-bit MS-DOS and Microsoft Windows 3.x utilities will not start. If you attempt to start such a program, you receive a "Program.exe is not a valid Win32 application" error message.

    Starting Score:    1  point
    Moderation   +2  
       Informative=2, Total=2
    Extra 'Informative' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   4  
  • (Score: 1) by TheFool on Monday October 01 2018, @08:26PM (7 children)

    by TheFool (7105) on Monday October 01 2018, @08:26PM (#742456)

    That's a good point - they're 16 bit DOS apps, specifically, so they're different than windows apps.

    Starting with XP (when they switched to the NT kernel consumer-side) they would have had to have some kind of emulation layer for DOS binaries, and I don't recall that existing. I also subconsciously shoved Windows ME down the memory hole so I thought that took us back to '98. Now I wish I could shove ME back into the memory hole.

    • (Score: 2) by Runaway1956 on Monday October 01 2018, @09:07PM (4 children)

      by Runaway1956 (2926) Subscriber Badge on Monday October 01 2018, @09:07PM (#742480) Journal

      and I don't recall that existing.

      You've given me reason to pause and think. I don't think there was any "supported" emulator. Lemme check with the Duck . . .

      I'm not finding any real clear answers to emulation, but this page is interesting - https://en.wikipedia.org/wiki/Windows_95#Dependence_on_MS-DOS [wikipedia.org]

      The paragraph seem to indicate that Win95 could not/would not run without DOS, but also that Windows performed it's own disk operations. Funny . . . in a puzzling way.

      And, I'm left wondering how accurate the parent article is. They suggest that DOS games were run inside of Windows 3.x, but they would sometimes lock up Windows. But - as I recall, you simply didn't run DOS games in Windows 3.x - instead, you played windows specific games in Windows, then dropped back to DOS to play older DOS games.

      Too many years have passed. I'd have to poke my fingers into a working system to sort out how some of this stuff worked. ;^)

      • (Score: 2) by Freeman on Monday October 01 2018, @09:38PM (2 children)

        by Freeman (732) on Monday October 01 2018, @09:38PM (#742502) Journal

        "With the release of Windows 95 (and continuing in the Windows 9x product line through to Windows ME), an integrated version of MS-DOS was used for bootstrapping, troubleshooting, and backwards-compatibility with old DOS software, particularly games, and no longer released as a standalone product.[51] In Windows 95, the DOS, called MS-DOS 7, can be booted separately, without the Windows GUI; this capability was retained through Windows 98 Second Edition. Windows ME removed the capability to boot its underlying MS-DOS 8.0 alone from a hard disk, but retained the ability to make a DOS boot floppy disk (called an "Emergency Boot Disk") and can be hacked to restore full access to the underlying DOS. " -- Wikipedia https://en.wikipedia.org/wiki/MS-DOS#End_of_MS-DOS [wikipedia.org]

        I generally used boot floppies to play my games on Windows 98. Good old Ultima VII and X-COM: UFO Defense. Ultima VII was a particular pain with the need for Extended Memory, but it still worked fine without the need for an emulator.

        Was quite happy to see DOSBox come along, though. FreeDOS was good and all, but it was a drop-in replacement for DOS. Not an easy way for me to play a game in Windows.

        --
        Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
        • (Score: 3, Informative) by Reziac on Tuesday October 02 2018, @03:10AM (1 child)

          by Reziac (2489) on Tuesday October 02 2018, @03:10AM (#742621) Homepage

          That's doin' it the hard way. Me, I edited MSDOS.SYS to make Win9x start in DOS, then started Windows by typing WIN at the prompt, and when I quit Windows, I was back at DOS, handy for whatever games required it. No boot floppy required.

          Since I happen to have a copy handy... the relevant line is BootGUI= 0 is don't, 1 is do.

          ;FORMAT
          [Paths]
          WinDir=C:\WIN98
          WinBootDir=C:\WIN98
          HostWinBootDrv=C

          [Options]
          BootMulti=1
          BootGUI=0
          LOGO=0
          DoubleBuffer=1
          AutoScan=1
          WinVer=4.10.1998

          plus some filler for ancient programs that expected MSDOS.SYS to larger than 1024 bytes.

          WinME did in fact run atop DOS, and could be hacked into doing a DOS-only boot (I'd done so on mine, using a small utility that floated around at the time), but it wasn't really useful as neither HIMEM.SYS nor EMM386.SYS would load. It worked for games with their own DOS extender (eg. DOS4GW) or very small apps that could scrape by on 500k (because WinME's DOS only gave you about 525k total) but otherwise wasn't worth the bother.

          --
          And there is no Alkibiades to come back and save us from ourselves.
      • (Score: 2) by Reziac on Tuesday October 02 2018, @02:56AM

        by Reziac (2489) on Tuesday October 02 2018, @02:56AM (#742617) Homepage

        I didn't retire my trusty Win3.11 box til late 2001, so I'm probably a bit closer to this than average... as I recall, so long as the game or other program didn't want to dink around with its own memory manager, it would run just fine in a DOS window inside the Windows shell. But if it used, frex, DOS4GW (a la DOOM) then it would clank about and crash, or refuse to run at all, and for those you had to drop to DOS.

        --
        And there is no Alkibiades to come back and save us from ourselves.
    • (Score: 3, Informative) by SomeGuy on Monday October 01 2018, @09:23PM (1 child)

      by SomeGuy (5632) on Monday October 01 2018, @09:23PM (#742492)

      Starting with XP (when they switched to the NT kernel consumer-side) they would have had to have some kind of emulation layer for DOS binaries, and I don't recall that existing.

      Windows NT 3.x, 4.x, 2000, XP, Vista 32-bit, 7-32 bit, 8-32bit and 10 32-bit all have a DOS virtualization layer called NTVDM. This can also run 16-bit Windows 3.x applications.

      The Alpha/PPC/MIPS CPU versions of NT 3.x/4 used a CPU emulator that behaved similarly.

      Also, when Windows 7 hit the market, most consumer machines sold were 32-bit. Only a couple of years later it was sort of half and half lower end 32-bit and higher end 64-bit. When the Windows 10 "upgrade" push happened, people got the same bit-ness they already had. So there are more Windows 10 32-bit versions out there than most people might think. (most that have it don't know the damn difference).

      • (Score: 0) by Anonymous Coward on Tuesday October 02 2018, @12:25AM

        by Anonymous Coward on Tuesday October 02 2018, @12:25AM (#742557)

        That same subsystem let them have os2 1.x emulation and posix. They are now using it to emu linux.