[HN Gopher] Open Sourcing DOS 4
       ___________________________________________________________________
        
       Open Sourcing DOS 4
        
       Author : ndiddy
       Score  : 710 points
       Date   : 2024-04-25 21:42 UTC (1 days ago)
        
 (HTM) web link (www.hanselman.com)
 (TXT) w3m dump (www.hanselman.com)
        
       | pjmlp wrote:
       | I guess now we can finally try to understand what went wrong with
       | the multitasking attempt.
        
         | h2odragon wrote:
         | Graphics. Managers wanted "windowing systems" as well as
         | multitasking.
         | 
         | People who just wanted mutitasking DOS had DesqView and ...
         | "concurrent"? was it? i forget.
         | 
         | I wrote TSR's that snatched cycles off the timer interrupt and
         | rode 21h for opportunity to flush buffers to/from disk.
        
           | esafak wrote:
           | https://en.wikipedia.org/wiki/Multiuser_DOS
        
           | brightsize wrote:
           | > I wrote TSR's that snatched cycles off the timer interrupt
           | 
           | We've all been there. How else could you get anything
           | interesting done back in the day?
        
             | cout wrote:
             | For a long time I figured that was just the right way to do
             | multitasking. Hook the interrupt and pass control to the
             | next task when you are done. I also figured most of what I
             | wanted was popup TSRs anyway - how can a human possibly pay
             | attention to more than one program at a time? Makes me
             | wonder how much my brain has changed over the years by
             | being exposed to a multitasking and multiple windows on a
             | large screen.
        
           | cout wrote:
           | There was a Concurrent DOS, and there were quite a few
           | others: topview, taskview, doubledos, vm/386, to name a few.
           | I remember reading this article (p. 22) sparking my
           | imagination as a kid: http://bitsavers.trailing-
           | edge.com/magazines/Microsystems_Jo...
        
       | tiernano wrote:
       | Direct GitHub link to the repo. https://github.com/Microsoft/MS-
       | DOS
        
       | dlachausse wrote:
       | Holy cow, this is huge! DOS 1.x and 2.x are too old to run a lot
       | of vintage DOS software, but 4.x would run just about everything.
        
         | Scaevolus wrote:
         | Are there specific parts of the DOS API that existing emulators
         | like DOSBOX don't handle accurately enough?
         | 
         | I don't understand if this source can be usefully integrated
         | into modern DOS preservation projects.
        
           | actionfromafar wrote:
           | It was a long time since I messed with things, but "net
           | drives" something didn't work in FreeDOS a long time ago.
           | This was useful, because it meant you could from within a PC
           | emulator access your host file system. It's entirely possible
           | that works on FreeDOS now.
        
             | somat wrote:
             | This is almost completely unrelated to your comment, but it
             | sparked a fun memory. At one point I had a system set up
             | that would boot dos via ipxe with iscsi drives. I thought
             | it was almost magical how dos had no clue it was using a
             | network drive. I still don't know exactly how it worked.
             | but I suspect ipxe was patching the bios.
        
               | bombcar wrote:
               | DOS was pretty reliable about using BIOS interfaces for
               | drives; if you imitate the BIOS interface it'll just
               | work.
               | 
               | The problems came from limitations of the BIOS interface
               | (especially size)
        
               | lproven wrote:
               | Yup. Boot DOS off a USB key and it suddenly speaks USB.
               | :-)
               | 
               | Only for drives, but still...
        
         | asveikau wrote:
         | I feel like FreeDOS could already run just about everything for
         | 20 years or longer. If your goal is to run DOS software your
         | use case was probably already adequately covered with free
         | software.
         | 
         | An interesting thing about DOS is the OS wasn't very involved.
         | Programs did a lot of things we now think of as the realm of an
         | OS, like talking directly to I/O addresses or installing
         | interrupt handlers. I feel like a DOS implementation doesn't
         | even need to do a lot of things, maybe part of why DOS4 is
         | "good enough".
        
         | LeoPanthera wrote:
         | Although 5.0 was the first version to include HIMEM.SYS
        
           | bombcar wrote:
           | DOS 5.0 was peak perfection. 6.22 or whatever was just stupid
           | double stack and other worthless garbage.
        
             | lproven wrote:
             | > stupid double stack
             | 
             | DoubleSpace/DriveSpace?
             | 
             | Mostly, you are absolutely right, yes. MS-DOS 5.0 was the
             | peak, and then it started to acquire bloat as MS bundled
             | stuff to compete with DR-DOS 6 and DR-DOS 7.
             | 
             | But the thing is that by modern standards, the bloat is
             | tiny. :-)
             | 
             | I gave MS Office 97 a bad review at the time because it was
             | several times bigger than Office 95, had virtually no new
             | functionality, but introduced a pointless new file format
             | just to get people to upgrade so they could read the files
             | sent to them by companies with the newer version.
             | 
             | But for a decade now, Word 97 is my go-to version. With all
             | the service releases installed, it works great, it's tiny
             | by modern standards -- I think a full install of Word with
             | all the optional filters and things totals 14MB -- and it's
             | lightning fast on 21st century hardware.
             | 
             | Word 95 is even smaller and quicker, but it can't read or
             | write the file format that everyone else, from Pages to
             | Wordpad, uses. So it's crippled: everything has to go
             | through LibreOffice first, to convert it to a .DOC format
             | anything else can view, import, edit, or print.
             | 
             | Time changes the meaning of bloat somewhat.
        
         | chx wrote:
         | No, you are thinking of 4.01 this is 4.0.
         | 
         | Those are very different operating systems, this is DOS 3.2 +
         | later abandoned very crude multitasking features. Roughly.
         | 
         | And this matters because DOS 3.3 was a milestone.
         | 
         | 4.01 comes from 4.00 which has nothing to do with 4.0 (yay for
         | versions).
        
           | geoelectric wrote:
           | It's stuff like this that sent me over to DR-DOS back in the
           | day.
        
             | snvzz wrote:
             | DR-DOS also open source now.
        
               | roytam87 wrote:
               | But only OpenDOS 7.01, not older(DR DOS 3.30-7.00) or
               | newer(7.02-8.0/8.1) versions.
        
               | rnd0 wrote:
               | The whole opendos thing is pretty questionable, too. CPM
               | is open source as is its' derivatives. Cool so far. But
               | is DR-DOS a derivative of it? Or is it bound by the 'non
               | commercial' license of the 90's which a) was revoked
               | b)isn't exactly open source (limits distribution) in the
               | first place.
               | 
               | Microsofts' releases have the benefit of being
               | unambiguous.
        
               | davidgnz wrote:
               | OpenDOS isn't open-source, its source-available. The
               | license reads more like trial software:
               | 
               | "Caldera grants you a non-exclusive license to use the
               | Software in source or binary form free of charge if your
               | use of the Software is for the purpose of evaluating
               | whether to purchase an ongoing license to the Software.
               | The evaluation period for use by or on behalf of a
               | commercial entity is limited to 90 days; evaluation use
               | by others is not subject to this 90 day limit but is
               | still limited to a reasonable period"
        
           | rnd0 wrote:
           | >And this matters because DOS 3.3 was a milestone
           | 
           | DOS 3.3 couldn't understand large partitions -except for
           | Compaq dos 3.31. But regular dos 3.3 couldn't. I don't think
           | dos 3.2 could even understand extended partitions/logical
           | drives -much less large disks.
           | 
           | Still -pretty neat!
        
             | tssva wrote:
             | "DOS 3.3 couldn't understand large partitions -except for
             | Compaq dos 3.31."
             | 
             | This is not accurate. Several OEMs added proprietary
             | variations of FAT which supported larger partitions. For
             | instance I run Zenith MS-DOS 3.30+ which has this ability
             | on a Zenith Z-161 XT compatible luggable.
             | 
             | Compaq's 3.31 added FAT16B support which allowed larger
             | partitions and was the standard for larger partition
             | support going forward in standard MS-DOS.
        
           | happycube wrote:
           | The source released is for the IBM-started version of DOS
           | 4.0, but most of the talk here is about the Multitasking DOS
           | 4 files (a binary copy of the first beta)
        
           | cout wrote:
           | Thanks for pointing that out. I was wondering why I couldn't
           | find the source for dosshell!
        
           | ComputerGuru wrote:
           | This 4.0 code contains references to 4.00, though:
           | https://github.com/microsoft/MS-
           | DOS/blob/main/v4.0/src/BOOT/...
        
         | hi-v-rocknroll wrote:
         | 3.31 and 6.22 were the lands of stability for pre-Chicago MS-
         | DOS for older and newer applications respectively.
        
         | snvzz wrote:
         | IF running software is what matters, there's dosemu2 and
         | dosbox-x.
         | 
         | For the actual hardware or PCem, FreeDOS exists and is alive.
         | DR-DOS has also been open sourced.
        
           | davidgnz wrote:
           | DR-DOS hasn't been open sourced. Caldera did release the
           | source for the kernel and a few other bits, but the license
           | only allowed free use for evaluation purposes. After 90 days
           | (for a company) or "a reasonable period" for non-commercial
           | entities you were required to buy a license.
           | 
           | Bryan Sparks _did_ open-source CP /M a little while back, but
           | AFAIK he hasn't said anything about DR-DOS so far.
        
             | snvzz wrote:
             | There was an actual open source version, which was
             | retracted[0].
             | 
             | Fortunately for the commons, what's done is done.
             | 
             | 0. https://archiveos.org/drdos/
        
               | davidgnz wrote:
               | Thats the DR-DOS/OpenDOS Enhancement Project. Its a set
               | of patches for the Caldera OpenDOS 7.01 kernel.
               | 
               | The license file inside the original Caldera OpenDOS 7.01
               | source archive says:
               | 
               | "Caldera grants you a non-exclusive license to use the
               | Software in source or binary form free of charge if (a)
               | you are a student, faculty member or staff member of an
               | educational institution (K-12, junior college, college or
               | library), a staff member of a religious organization, or
               | an employee of an organization which meets Caldera's
               | criteria for a charitable non-profit organization; or (b)
               | your use of the Software is for the purpose of evaluating
               | whether to purchase an ongoing license to the Software.
               | The evaluation period for use by or on behalf of a
               | commercial entity is limited to 90 days; evaluation use
               | by others is not subject to this 90 day limit but is
               | still limited to a reasonable period."
               | 
               | So that website is incorrect when it says OpenDOS was
               | released under an open-source license. Not surprising
               | though - most websites discussing OpenDOS make this
               | error. Possibly because at the time I believe Caldera did
               | actually talk about open-sourcing DR-DOS, they just
               | failed to to actually follow through.
               | 
               | If he still has the source code, whats needed is for
               | Bryan Sparks to release it under some regular open-source
               | license like Microsoft have done here.
        
       | thesuperbigfrog wrote:
       | Interesting MS-DOS history to be uncovered with the source code
       | of MS-DOS 4.
       | 
       | I wonder if we will see MS-DOS 5 or 6 soon?
       | 
       | FreeDOS, an open source DOS clone, has been around for a while:
       | 
       | https://freedos.org/
       | 
       | https://github.com/FDOS
        
         | tracker1 wrote:
         | I'd like to see NTVDM open sourced... It's been leaked and
         | there are unofficial builds to get support into 64-bit Windows
         | through the emulation code. Could be a huge boost for general
         | support.
         | 
         | Not sure how much work it would take for Linux or even just
         | wine. But might displace DOSbox.
        
       | nullindividual wrote:
       | > ; Check for presence of \dev\ (Dam multiplan!) [0]
       | 
       | I assume this refers to the spreadsheet application.
       | 
       | [0] https://github.com/microsoft/MS-
       | DOS/blob/main/v4.0/src/DOS/D...
       | 
       | EDT:
       | 
       | That one policy hadn't quite gone into effect yet ;-) [1]
       | 
       | [1] https://github.com/microsoft/MS-
       | DOS/blob/main/v4.0/src/CMD/C...
       | 
       | For posterity...
       | 
       | > RESEARCH:
       | 
       | > invoke path_search ; find the mother (result in execpath) > or
       | AX, AX ; did we find anything?
       | 
       | > je badcomj45 ; null means no (sob)
       | 
       | > cmp AX, 04H ; 04H and 08H are .exe and .com
       | 
       | > jl rsrch_br1 ; fuckin' sixteen-bit machine ought
       | 
       | > jmp execute ; to be able to handle a SIXTEEN-BIT
        
         | qingcharles wrote:
         | LOL. Nice find.
         | 
         | Company open-sources old product? Search for curse words...!
        
           | keyle wrote:
           | I obliged                     DOSHIT:             INC
           | [HIT_DOS]
        
       | smolsky wrote:
       | OMG, I remember copying official 5.25 disks back in the 90s...
        
         | hi-v-rocknroll wrote:
         | Clunk, clunk, clunk, bzt-urg, clunk, clunk, clunk, clunk... :)
         | 
         | While hole punchers and opaque tape worked for notching and
         | denotching, there were also floppy notchers. It turns out these
         | bits of accessories are rarely found on secondary markets or go
         | for something like $80 USD. There are still quite a few 5.25"
         | drive cleaning kits still for sale.
         | 
         | I don't miss floppies because they were slow, fragile, and
         | prone to developing unrecoverable errors. I did discover
         | through experimentation that 3.5" floppies were fairly
         | resistant to crude direct magenetic attack. I had to open the
         | window and touch the media surface to a small speaker's magnet
         | to induce errors. Praise be to the greaseweazle and the Copy II
         | PC Deluxe Option Board 2.0 (the 1.0 doesn't support 3.5" 1.44
         | MB).
         | 
         | 2.88 MB drives are worth a small fortune because they are still
         | used for industrial purposes. Also, SCSI floppy drives exist.
        
       | rwl4 wrote:
       | Weird that for a couple minutes, these paths existed:
       | 
       | * https://github.com/microsoft/MS-DOS/tree/main/v4.0/bin
       | 
       | * https://github.com/microsoft/MS-DOS/tree/main/v4.0/bin/DISK1
       | 
       | * https://github.com/microsoft/MS-DOS/tree/main/v4.0/pdf
       | 
       | But they disappeared as I browsed the repo. I guess they didn't
       | want that part public?
       | 
       | Edit: I knew I wasn't seeing things! Somebody forked it along
       | with those files:
       | https://github.com/OwnedByWuigi/DOS/tree/main/v4.0
        
         | nullindividual wrote:
         | It is all the MT-DOS content; binaries and docs.
        
           | qingcharles wrote:
           | Multi-Tasking MS-DOS
           | 
           | Beta Test Release 1.00
           | 
           | Release Notes
           | 
           | Enclosed you will find Microsoft's first beta release of
           | Multi-tasking MS-DOS. This version is based upon MS-DOS
           | Version 2 sources, we will be reimplementing the multi-
           | tasking enhancements on top of Version 3 sources shortly.
        
         | electroly wrote:
         | They just changed the folder. All of those files are now in
         | https://github.com/microsoft/MS-DOS/tree/main/v4.0-ozzie
        
         | willxinc wrote:
         | Looks like they were moved to the Ozzie subfolder:
         | https://github.com/microsoft/MS-DOS/tree/main/v4.0-ozzie
        
           | rnd0 wrote:
           | That was literally just added; I have a tab open that doesn't
           | have that folder. This is wild and strangely exciting to see
           | released in real time.
        
             | shanselman wrote:
             | Ya we wanted to separate the MS-DOS and MT-DOS stuff, it
             | was confusing as it was
        
               | rnd0 wrote:
               | I'm not complaining, that's for sure! Thanks for all
               | you're doing.
        
         | farmerbb wrote:
         | They force-pushed the repo to remove an insult towards Tim
         | Patterson in one of the source files.
        
           | esafak wrote:
           | Don't leave us hanging!!
        
             | farmerbb wrote:
             | At https://github.com/microsoft/MS-
             | DOS/blob/main/v4.0/src/DOS/S... it used to have Tim
             | Patterson's full name whereas after the force push they
             | abbreviated it to his initials "TP".
             | 
             | I had the repo cloned before the force push and when I went
             | to pull it, this file was the only one that contained a
             | conflict.
        
               | esafak wrote:
               | Looks like the handiwork of Mark Zbikowski, whose
               | initials adorn every EXE file.
               | https://en.wikipedia.org/wiki/Mark_Zbikowski
        
               | farmerbb wrote:
               | Mark is the one that committed today's source release,
               | going off of the "MZ is back" commit message from GitHub
               | user "mzbik".
        
           | skissane wrote:
           | They changed line 70 of v4.0/src/DOS/STRIN.ASM from [0]:
           | 
           | ; Brain-damaged Tim Patterson ignored ^F in case his BIOS did
           | not flush the
           | 
           | to [1]:
           | 
           | ; Brain-damaged TP ignored ^F in case his BIOS did not flush
           | the
           | 
           | [0] https://github.com/OwnedByWuigi/DOS/blob/ffd70f8b4fb77e2e
           | 6af...
           | 
           | [1] https://github.com/microsoft/MS-
           | DOS/blob/main/v4.0/src/DOS/S...
        
             | bombcar wrote:
             | If Tim is still around he should PR a change back; I'd not
             | want _my_ name shortened to  "TP".
        
               | EvanAnderson wrote:
               | He should make a PR to change it back to the correct
               | spelling of his name.
        
               | hi-v-rocknroll wrote:
               | Agreed. My initialisms are almost as bad. (Thanks
               | clueless parents!)
        
             | gigel82 wrote:
             | https://en.wikipedia.org/wiki/Tim_Paterson
             | 
             | From Wikipedia, the free encyclopedia
             | 
             | Tim Paterson (born 1 June 1956) is an American computer
             | programmer, best known for creating 86-DOS, an operating
             | system for the Intel 8086. This system emulated the
             | application programming interface (API) of CP/M, which was
             | created by Gary Kildall. 86-DOS later formed the basis of
             | MS-DOS, the most widely used personal computer operating
             | system in the 1980s.
        
           | Dalewyn wrote:
           | If this release is for historical research purposes, the
           | release should be pristine including the unsavory bits.
           | Whitewashing of history should never be accepted.
        
             | senorrib wrote:
             | 100%!
        
             | tom_ wrote:
             | Perhaps this release is not for historical research
             | purposes.
        
               | Dalewyn wrote:
               | It is for historial research purposes:
               | 
               | >The MS-DOS v1.25 and v2.0 files were originally shared
               | at the Computer History Museum on March 25th, 2014 and
               | are being (re)published in this repo to make them easier
               | to find, reference-to in external writing and works, and
               | to allow exploration and experimentation for those
               | interested in early PC Operating Systems.
               | 
               | >For historical reference
               | 
               | >The source files in this repo are for historical
               | reference and will be kept static, so please don't send
               | Pull Requests suggesting any modifications to the source
               | files, but feel free to fork this repo and experiment.
        
         | shanselman wrote:
         | Ya sorry we're moving stuff around
        
           | rwl4 wrote:
           | Well, thanks for putting this up! It's really a treasure for
           | those of us who used it as our daily driver so many years
           | ago.
        
           | rozzie wrote:
           | Thx for clearing the rights and for releasing, Scott. And of
           | course thanks to Microsoft and IBM.
           | 
           | It would be fun at some point down the road to get some of
           | the older code building and running again - particularly
           | '84/'85-vintage Windows & Notes builds. Quite a lot of work,
           | though, not just because of hardware but also likely because
           | of toolchain gaps.
        
           | Karellen wrote:
           | Why is that, no matter how much you check and proofread your
           | work before you push/publish, you'll always find _something_
           | obvious you missed 5 minutes after it 's gone up?
           | 
           | To change a public branch, or not to change a public branch,
           | that is the question.
           | 
           | Edit: Muphry's law strikes again - s/or to not/or not to/
        
       | lchengify wrote:
       | So if MS-DOS 4 was released in 1986, and it is now 2024, that's a
       | 37 year gap between release and open source.
       | 
       | That means Windows XP should be open sourced by ... 2038. Not as
       | far away as it seems. I'll add it to my calendar.
        
         | GalaxyNova wrote:
         | A lot of XP components are still in use in modern windows,
         | whereas DOS was completely replaced around the time Windows XP
         | came around.
        
           | chx wrote:
           | Around the time Windows 2000 came around.
           | 
           | Up to Windows 3.11 it was a GUI on top of DOS. Windows 95,
           | 98, Me used DOS to boot and it was still possible to stop the
           | booting process at a DOS prompt (although in Me this was no
           | longer official). Finally Windows 2000 had nothing to do with
           | it as it is NT based.
        
             | optimalquiet wrote:
             | Windows 2000 was part of the professional NT line, though,
             | and was the companion of Me for the millennium releases. As
             | far as I know, 2000 wasn't marketed to home users. I think
             | what the comment you replied to is saying is the the
             | transition away from DOS wasn't completed for both
             | professional and home markets until XP, which unified
             | everything under NT for all markets.
        
               | skeeter2020 wrote:
               | this is accurate; the 2000 line targeted business, and if
               | you remember having a consumer computer with 2000 pro it
               | didn't support a lot of hardware.
        
               | freedomben wrote:
               | Can confirm. I upgraded my 98 box to 2000 and never did
               | get some of my hardware working. When I told people I was
               | using 2000 everybody assumed I had stolen it from work. I
               | didn't. My friend stole it from work and shared it with
               | me ;-)
        
               | lproven wrote:
               | A license key of 11111-1111111 worked, if I remember
               | correctly. :-)
        
               | 486sx33 wrote:
               | Nice part of that pain came when XP was released. Win
               | 2000 drivers mostly all happily loaded into Win XP !
        
               | voidfunc wrote:
               | Drivers were kinda a mess from what I remember in 2000
               | especially on the graphics card side of things. The HW
               | vendors needed more time to switch over.
        
               | stevetron wrote:
               | Around the year 2000, I was studying computer science at
               | a university. Most of their PC's ran on Windows 3.1. I
               | was using it at home. But one day, Microsoft sent me an
               | offer: I could purchase the student release of Windows
               | 2000 workstation for a mere $25.00. I went for it, and
               | found it better than the Windows NT nap-sayers at school
               | said. I don't know why I was contacted. Probbably because
               | of other Microsoft programs I'd bought at the student
               | bookstore.
        
               | tracker1 wrote:
               | Windows 2000 was a pretty great OS. Used to enjoy using a
               | Litestep shell instead of explorer. While it wasn't great
               | for a lot of games, many did run fine. I liked it a lot
               | better than OS/2 that I ran previously.
               | 
               | I generally ran 2-4x the amount of RAM as most did. Still
               | do. Pretty sure this made a lot of the difference.
        
               | blkhawk wrote:
               | Hey, Listestep what a blast from the past :)
               | 
               | I rain it until it wouln't run sensible anymore in
               | Windoes 10. I then ditched Windows for Linux soon after -
               | I can recommend KDE Plasma if you want to have something
               | thats sorta configureable enough like Litestep was.
        
               | cout wrote:
               | I remember running both litestep and windowblinds. I
               | can't remember which one I liked better.
        
               | autoexec wrote:
               | Windows 2000 Pro was what I used at home for a long time
               | and it was great. NT 3 and 4 were absolutely terrible
               | which might explain your NT naysayers at school. I never
               | once had to reapply a service pack in Win2k
        
               | ZiiS wrote:
               | Still remember the first time I touched Windows NT 4.
               | Half an hour into work experience: Opened up a printer
               | dialogue set a setting that hard crashed the PC; then
               | slowly every other PC in the building as soon as they
               | tried to print (i.e. just as they had _finished_ whatever
               | they were working on; but often just before they _saved_
               | it).
        
               | cout wrote:
               | I liked NT4. The only reason I upgraded to 2000 was for a
               | newer version of directx (6.0 I think?).
        
             | Dwedit wrote:
             | Windows 2000.
             | 
             | Also NT4, NT3.51, NT3.5, NT3.1...
        
             | fuzztester wrote:
             | Tangent, but Windows NT had a POSIX subsystem for a while.
        
               | temac wrote:
               | Kind of for a very long while. You then had a descendant
               | SFU from some SP of NT4 to XP / Server 2003, then a
               | further one SUA until Windows 8 / Server 2012. With some
               | code flowing between various companies. I think SFU still
               | used the Posix NT subsystem core. Probably also SUA,
               | although I'm less sure. Not really the case WSL1, though
               | (although probably the core NT kernel was more ready to
               | support it, thanks to its history).
        
             | Zardoz84 wrote:
             | Windows 9x and ME, yet used bits Iog DOS beyond
             | bootstrapping. They were using config.sys to load drivers
        
         | nullindividual wrote:
         | Even ancient Windows includes many 3rd party libraries. I would
         | not expect any Win 9x or NT 3.51+ version of Windows to be open
         | sourced in it's entirety. I hope I'm wrong.
        
           | philistine wrote:
           | Yeah, just the font stuff was such a mess. I'm hopeful
           | someone will power through those problems.
        
         | isp wrote:
         | 2038, you say? If your calendar is based on Unix epoch time,
         | then ensure that you have upgraded to 64-bit timestamps before
         | then.
        
           | hypercube33 wrote:
           | ReactOS will still be buggy AF by then I'm sure. I had hoped
           | they'd at least have it to Windows 2000 alpha levels by now.
        
         | 1970-01-01 wrote:
         | We need to wait for the NSA backdoors to expire first ;)
        
         | userbinator wrote:
         | I'm more interested in them open-sourcing something from the
         | 3.x/9x line.
         | 
         | NT seems to have been far more studied, and of course there
         | were the infamous leaks of those along the way.
        
         | grishka wrote:
         | I doubt Microsoft would ever open-source any NT Windows
         | versions because the current ones are based on the same code,
         | just with added touchscreen nonsense, adware, and overt
         | contempt for the user.
         | 
         | We _may_ see Windows 9x open-sourced. But then again, it 's a
         | stretch because Win32 API is still in wide use today. Releasing
         | the sources for 32-bit Windows versions even this old may have
         | an adverse effect on Microsoft's market domination.
         | 
         | But maybe ReactOS will reach beta by 2038. Does this count as
         | an open-source version of Windows XP? :D
         | 
         | If you really wish to look at XP sources and don't care much
         | about the legal aspect of it, you can do so right now. They
         | were leaked.
        
           | rasz wrote:
           | NT sources leaked, same for 2000. There is also leaked DOS 6
           | beta. The only thing releasing stuff this old brings is nerd
           | goodwill.
        
             | grishka wrote:
             | All open-source projects that deal with reimplementing
             | parts of Windows, particularly Wine and ReactOS, consider
             | those leaked sources radioactive and would not accept any
             | patches if there's even a slightest suspicion that the
             | patch author gleaned anything from those sources. Those
             | same sources officially released under an open-source
             | license would change that.
        
               | justin66 wrote:
               | I wouldn't assume Microsoft execs view increased
               | capabilities to run windows programs in Linux as a bad
               | thing, when they think about the matter at all. They
               | would certainly prefer that such a capability be
               | developed by someone else, so they don't have to support
               | it.
        
           | pjmlp wrote:
           | > I doubt Microsoft would ever open-source any NT Windows
           | versions because the current ones are based on the same code,
           | just with added touchscreen nonsense, adware, and overt
           | contempt for the user.
           | 
           | Initiatives like MinWin and OneCore, secure kernel, device
           | guard,... caused lots of rewrites and moving code around.
        
           | redox99 wrote:
           | > Releasing the sources for 32-bit Windows versions even this
           | old may have an adverse effect on Microsoft's market
           | domination.
           | 
           | I disagree that releasing Windows 9x source code would have
           | any impact on MS market domination.
           | 
           | > I doubt Microsoft would ever open-source any NT Windows
           | versions because the current ones are based on the same code
           | 
           | Nowadays releasing something NT like XP may seem crazy. But
           | in 15 years it will be so far away from future Windows, that
           | it won't be that crazy.
        
             | grishka wrote:
             | > But in 15 years it will be so far away from future
             | Windows, that it won't be that crazy.
             | 
             | It's not like the NT kernel will be going away from current
             | Microsoft products anytime soon.
        
       | glonq wrote:
       | 4.0 was a buggy release. Where's the DOS 4.01 source?
        
         | aap_ wrote:
         | I would assume that with some disassembling 4.01 could be
         | reconstructed from 4.0 without too much trouble.
        
           | hi-v-rocknroll wrote:
           | No. The comments aren't there and 4.01 was also a major
           | rewrite after Microsoft took the project back from IBM.
        
             | aap_ wrote:
             | Crazy that they would only increase the version number by
             | this little then. version numbers truly mean nothing...
        
       | 1970-01-01 wrote:
       | I never thought I would be able to build DOS from scratch, but
       | here we are!
        
       | dosman33 wrote:
       | MSDOS 4 was reportedly an overall bad release and was not in wide
       | circulation, in all my days I think I only came across it once.
       | This is why DOS 3.3 and 5.0 were much more common to find in
       | circulation together.
       | 
       | I'm sure the source for 4 will make for some interesting bug
       | hunting. Anyone remember the MUF list? "Microsofts Undocumented
       | Features".
        
         | rnd0 wrote:
         | This is "multitasking dos 4" though, which isn't the same as
         | the much-reviled ms-dos 4. As I understand it, it's a lot
         | closer to dos 3 than it is to dos 4 in terms of functionality.
         | 
         | I wouldn't expect this to understand extended partitions, much
         | less large partitions (that dos 4 uses)
        
           | rep_lodsb wrote:
           | >I wouldn't expect this to understand extended partitions,
           | much less large partitions (that dos 4 uses)
           | 
           | Most of the source code (everything outside of -ozzie) is for
           | regular DOS 4.0 and supports 32-bit sector numbers. They
           | planned to add it in the multitasking version as well [1],
           | but from reading IBMDSK.ASM it isn't there yet.
           | 
           | Also that driver talks directly to the hard disk controller
           | instead of going through the ROM BIOS, and will only support
           | XT drives, not IDE/ATA. Apparently the goal was to be able to
           | do background I/O on an XT, where there is no BIOS support
           | for that.
           | 
           | [1] see driver docs at
           | https://raw.githubusercontent.com/microsoft/MS-
           | DOS/main/v4.0...
        
       | zdimension wrote:
       | https://github.com/microsoft/MS-DOS/blob/2d04cacc5322951f187...
       | 
       | > ; REV 2.15 7/13/83 ARR BECAUSE IBM IS FUNDAMENTALY BRAIN
       | DAMAGED, AND
       | 
       | Someone was angry that day. Wonder if any IBM dev ever stumbled
       | upon this when MS and IBM worked together.
        
         | justinclift wrote:
         | Well they're not wrong, so maybe the comment was just
         | prescient? :)
        
         | freedomben wrote:
         | This was the good 'ol days, back when you could put stuff in
         | comments like that and not worry about legal
        
           | elwell wrote:
           | Now you can't even say "sanity check", much less mention
           | brain damage.
        
             | steelbrain wrote:
             | Wait, I missed the bus on this one. What's wrong with
             | "sanity check"?
        
               | rnd0 wrote:
               | These days it would be considered a problematic allusion
               | to people with cognitive or emotional issues.
        
               | Stratoscope wrote:
               | As someone who recently asked our QA team to change the
               | name of one of our test suites from "sanity test" to
               | "quick test", maybe I can provide some perspective.
               | 
               | Many software developers like me have faced challenges to
               | our mental health.
               | 
               | Indeed, there has been a time or two when I questioned my
               | own sanity. And perhaps the sanity of some of my
               | colleagues!
               | 
               | It's not so much that there is something inherently wrong
               | with the term "sanity check". We all know what it means.
               | It's just that there are more descriptive and neutral
               | terms available to us, so why not use them?
        
               | WalterBright wrote:
               | > It's just that there are more descriptive and neutral
               | terms available to us, so why not use them?
               | 
               | Because it's boring.
        
               | Stratoscope wrote:
               | Walter, you and I have known each other for a long time.
               | Not in person; we've never met. But through our
               | interactions here on HN.
               | 
               | I have a lot of respect for you and for everything you
               | have accomplished.
               | 
               | So I have to ask you directly: Is being "boring" or not
               | the way we should decide how to express ourselves?
               | 
               | Regarding a "quick test" vs. a "sanity test". Instead of
               | judging this on what is "boring", why can't we make a
               | choice on which is more respectful to our peers and
               | colleagues?
        
               | at_a_remove wrote:
               | We should make choices based on communication, first and
               | foremost. Words that do not communicate are not useful.
               | 
               | A "quick test" implies almost nothing, other than it is
               | faster than some other, unnamed test out there. Is a
               | quick test _good_ or is it _bad_? No way to tell. This
               | term, quick test, it does not inform.
               | 
               | On the other hand, a sanity test, well, it is more
               | evocative. You definitely want to pass a sanity test.
               | 
               | If you reach back to your psychology classes, they talked
               | about a four-part test that is useful for determine if a
               | behavior is sane or not.
               | 
               | 1) Is it abnormal? Unusual? Out of the ordinary? for the
               | situation.
               | 
               | 2) Is it unjustifiable, unreasonable given the
               | circumstances?
               | 
               | 3) Is it counter-productive? Which is to say, does the
               | behavior serve the individual, or does it in fact make
               | things worse? Or simply do nothing?
               | 
               | 4) (and this is where my memory is fuzzy) I think it
               | involves personal distress. For the life of me I can't
               | find it via Google and it annoys me.
               | 
               | Now, interestingly, a sanity test matches the first
               | three! (The fourth, well, there is no "I" in the program
               | to be distressed) In programming, a sanity test looks for
               | something abnormal, not reasonable for the program, and
               | represents a state that won't get us the desired output.
               | In short, it's highly congruent to the other context for
               | sanity.
               | 
               | This term, it communicates, and in a way "quick test"
               | does not.
               | 
               | In general, one of the main critiques of political
               | correctness which few really notice is that the new term
               | is less specific and less useful, that it fails at
               | communicating. Consider when "Oriental" fell off of the
               | euphemism treadmill for "Asian." We all knew that the
               | first term referred to a particular part of the world,
               | from the Latin for "east." ( _Ex lux orient_ and so on)
               | "Asian," however, _could_ refer to people in Russia or
               | people in India, but nobody in the US does (I note in the
               | UK India does get the  "Asian" pass). So here the new
               | term is less specific and less useful, and is confusing
               | to boot because we deliberately ignore parts of Asia when
               | using the term "Asian."
               | 
               | If you want something to supplant "sanity test," you
               | gotta work harder for it than "quick test."
        
               | eesmith wrote:
               | We have literally no idea what the 'sanity test' involved
               | actually did, and the common use in computing has little
               | connection to any such use in psychology.
               | 
               | https://en.wikipedia.org/wiki/Sanity_check informs me:
               | 
               | "A sanity check or sanity test is a basic test to quickly
               | evaluate whether a claim or the result of a calculation
               | can possibly be true." ...
               | 
               | "In computer science, a sanity test is a very brief run-
               | through of the functionality of a computer program,
               | system, calculation, or other analysis, to assure that
               | part of the system or methodology works roughly as
               | expected. This is often prior to a more exhaustive round
               | of testing. " ...
               | 
               | "In software development, a sanity test (a form of
               | software testing which offers "quick, broad, and shallow
               | testing"[1]) evaluates the result of a subset of
               | application functionality to determine whether it is
               | possible and reasonable to proceed with further testing
               | of the entire application."
               | 
               | and further comments that "sanity test" for some people
               | is interchangeable with "smoke test".
               | 
               | It also adds:
               | 
               | "The Association for Computing Machinery,[8] and software
               | projects such as Android,[9] MediaWiki[10] and
               | Twitter,[11] discourage use of the phrase sanity check in
               | favour of other terms such as confidence test, coherence
               | check, or simply test, as part of a wider attempt to
               | avoid ableist language and increase inclusivity. "
               | 
               | I could not find a definition for "sanity test" in
               | psychology. I know about the cognitive test that Trump
               | made famous with 'Person, woman, man, camera, TV'.
        
               | at_a_remove wrote:
               | I cannot cop to "smoke test" being interchangeable with
               | "sanity test," in any way. Smoke tests are obvious
               | crashes, often before any real input. I had a friend on
               | the build team of Windows NT 5.0 (until it was called
               | Windows 2000) and their version of smoke test was "can it
               | boot up to the login screen," and that's similar to
               | working in electronics, where powering up your machine or
               | circuit is all you do and you hope it doesn't release the
               | magic smoke, before you actually _do_ anything with it.
               | 
               | On that alone, I am very doubtful on that article.
               | 
               | This is also distinguished from what I have taken to
               | calling a "pre-flight checklist" at the start of large
               | programs, making sure databases are connected, requisite
               | tables are present with the correct columns and
               | datatypes, that specific files or directories exist, that
               | files may be of a certain "freshness," and so on.
               | 
               | I'll stand by it: sanity test is a lot more descriptive
               | and useful than "quick test." Those footnotes are only
               | kicking the can down the road of justifiability. But
               | let's examine them according to the aforementioned The PC
               | Replacement is Less Useful criterion.
               | 
               | Recommending just "test" is ... well, double-plus ungood,
               | in the sense that we now have _no_ idea of the qualities
               | of this test and how it could be distinguished from some
               | other test. Hard pass.
               | 
               | "Confidence test" only implies a statistical likeliness,
               | like a confidence interval. It does not imply the This
               | Ought Not to Happen of a sanity test.
               | 
               | "Coherence test" is interesting but ... coherent against
               | what?
               | 
               | If someone wants to sell me on a replacement, they are
               | free to try, but the replacement must be at least as good
               | at communicating what it does as the term sanity test. If
               | this fails, then it will be scoffed at, and should be.
        
               | drey08 wrote:
               | Have you ever heard someone get called slow? That's an
               | insult too.
               | 
               | So now you have quick tests. That's disrespectful towards
               | me because I got called slow once.
               | 
               | This can go on forever.
        
               | justinclift wrote:
               | "The test who is on a performance-improvement-plan" ;)
        
               | layer8 wrote:
               | I'm surprised Python hasn't ditched pip yet.
        
               | exe34 wrote:
               | Can we get rid of the "failing" terminology? I think we
               | should call it something more meaningful, such as "it
               | shows there's scope for improvement", or "it highlights
               | areas for more focus".
        
               | WalterBright wrote:
               | I like to play with language. English has a million words
               | in it. Why not use it? And why stop there, I insert words
               | from other languages, play with the spelling, use bad
               | puns, allusions to movie dialog, whatever crosses my
               | mind.
               | 
               | I hope the readers/listeners would find it fun, too.
               | 
               | If they mine what I write for an insult, that's on them.
               | I'm not interested in people looking for an insult, or
               | people who get offended on behalf of others. I don't
               | enjoy being around people where I have to walk on
               | eggshells.
               | 
               | For example, I'm bald. I'm not a person experiencing hair
               | loss. I'm bald. I've got a chrome dome. I have to wear a
               | hat when I drive in order to not blind oncoming drivers
               | with the glare from it.
               | 
               | Is changing the words going to change anything? Nope. I'm
               | still just as bald, no matter what words are used.
               | 
               | I think it was Paul Graham that recently tweeted that
               | people should not use the word "delve" into rather than
               | "dig" into, because the former is pretentious and the
               | latter is simpler. I'm a delver, spelunker,
               | archaeologist, excavator, explorer, etc. Take that, Paul!
        
               | redeeman wrote:
               | unfortunately your ideals isnt compatible with the
               | ongoing epidemic of oppression olympics.
               | 
               | add trigger warnings!!!! (im joking)
        
               | bigstrat2003 wrote:
               | 1. Other terms are neither more descriptive nor more
               | neutral. 2. If someone has a problem with the term
               | "sanity check", they are overly sensitive and they need
               | to adjust to the realities of life. It is unreasonable to
               | expect everyone to coddle them.
        
               | elwell wrote:
               | Can we please change PHP's die() function to unalive()?
        
               | kyleee wrote:
               | unalive() offends me, let's do sunset() instead
        
               | latentsea wrote:
               | sunset() triggers me due to all the times I've seen
               | companies "sunset" APIs only to still have them in
               | production 5 years later.
               | 
               | Let's change it to cancelled()
        
               | randomdata wrote:
               | cancelled() makes it seem as if PHP is a sexual predator
               | - which may be the case, but as a matter of course...
               | 
               | How about goodbye()?
        
               | mikestew wrote:
               | We shouldn't be using judgemental words like "good" and
               | "bad". Let's use bye().
        
               | elwell wrote:
               | goodbye() could offend someone whose father "went out to
               | get a pack of smokes" and never came back
        
               | exe34 wrote:
               | This is double plus good.
        
               | handojin wrote:
               | seems lacking in gratitude. how about kthxbye()?
        
               | duskwuff wrote:
               | It's been synonymous with exit() since at least PHP 4.
        
               | eesmith wrote:
               | But that's what you call to make your process be a
               | zombie. ;)
               | 
               | https://en.wikipedia.org/wiki/Zombie_process
        
               | layer8 wrote:
               | How about depart().
        
               | acuozzo wrote:
               | > It's just that there are more descriptive and neutral
               | terms available to us, so why not use them?
               | 
               | "quick test" does not convey what is usually intended
               | with "sanity test". The intention of the latter is to
               | verify that a base set of assumptions hold true whereas
               | "quick test" can be just about anything.
        
               | ok123456 wrote:
               | "quick test" would mean QuickCheck, property-based
               | testing, to me.
               | 
               | Let's keep "sanity test".
        
               | exe34 wrote:
               | I've struggled with mental illness all my life and have
               | made several attempts to catch the bus. I'm diagnosed
               | with several mental issues. Somehow I'm still not
               | offended with the phrase "sanity check". What am I doing
               | wrong? Is it possible to learn to get offended by this
               | sort of thing? Will it make me happy?
        
               | com2kid wrote:
               | Software engineering is a field full of neurodiverse
               | people. Trying to police each other's language around
               | mental health in a field where, at least historically,
               | the majority of practitioners are going through some sort
               | of mental health struggle, is borderline rude IMHO.
        
               | justinclift wrote:
               | > Many software developers like me have faced challenges
               | to our mental health.
               | 
               | It's a stressful industry at times, probably almost
               | everyone has had crap times at one point or another. And
               | then there's Covid, which affected everyone.
               | 
               | Doesn't mean every mention of the word "sanity" needs to
               | be expunged from our language though. :( :( :(
               | 
               | That way lies er... madness. (!) ;)
        
               | layer8 wrote:
               | Words have multiple meanings. In that context, "sanity"
               | means something like "reasonable and rational behavior"
               | (look it up in a dictionary!). It's counterproductive to
               | forbid the use of words just because someone is somehow
               | unable to differentiate between the multiple meanings
               | words have. That would be insane -- as in "highly
               | unreasonable", obviously.
        
               | redeeman wrote:
               | without knowing what the test did, quick test in no way
               | conveys the same information. Honestly, did you really
               | need to ask them to do that? please dont be that guy on
               | the team (sorry, meant please dont be "that working set
               | of hands on the team" (hope this illustrates the point
               | somewhat))
        
               | arp242 wrote:
               | According to some it's ableist language, e.g.:
               | https://developers.google.com/style/inclusive-
               | documentation#...
               | 
               | Not really interested in discussing this and not saying I
               | agree (or disagree!) with that. Just answering the
               | question.
        
               | leeoniya wrote:
               | since 1984 no one was offended by it, but in 2024 it
               | became offensive to insane people
               | 
               | AFAIK "sanity check" doesnt even have a history like
               | "retarded" (which actually became an offensive slur).
               | 
               | maybe some folks just feel left out if they cant rage
               | about and feel offended by _something_ these days.
               | 
               | ::eyeroll::
        
               | smegger001 wrote:
               | Usually its offended on someone elses behalf.
        
             | HeatrayEnjoyer wrote:
             | I've always thought it a strange and insensitive phrase.
        
             | JoachimS wrote:
             | And please don't use 'brain dead', which is a mortuist
             | expression. Using 'brain dead' in a negative way may be
             | insensitive to zombies. Also avoid the expression 'zombie
             | process' or the word 'expired'.
             | 
             | You don't want to step on the toes of a zombie do you?
             | (It's probably gross.)
        
               | AshamedCaptain wrote:
               | The google guidelines already prevent something like
               | "hung process" because of the "unnecessary violence"
               | rule.
        
           | eesmith wrote:
           | Oh, you had to worry about legal. But since lawyers are
           | concerned with risk, if the source is all proprietary and
           | internal, the risk was lower.
           | 
           | When Mozilla went open source back in the 1990s, Netscape's
           | lawyers required the source first be bowdlerized. (Search for
           | "censorzilla" for some examples.)
        
         | wormius wrote:
         | It's what happens after Ballmer exceeds the peak.
        
       | bfors wrote:
       | Looking at this code is a nice reminder that I have virtually no
       | real understanding of how computers work, and every part I work
       | with is a nice polished abstraction that hides 99% of the
       | complexity involved in actually creating value with a computer.
        
         | _whiteCaps_ wrote:
         | You might like: https://www.amazon.ca/Definitive-Guide-How-
         | Computers-Math/dp...
        
       | MaxLeiter wrote:
       | ; At this time, for DOS 4.00, we only have maximum 11 bytes left
       | ; for translation.!!!!!!!!!!!!!!!!!!!!!
       | 
       | https://github.com/microsoft/MS-DOS/blob/main/v4.0/src/BOOT/...
        
       | jmclnx wrote:
       | What about DOS 3.3 ? to me that was better than 4.0, but maybe
       | people who know DOS 4 src and fix the issues :)
        
       | sponaugle wrote:
       | As Scott mentioned in the blog post, we were able to get this
       | running on one of my original IBM XTs with an original IBM
       | monochrome display adapter and display. It was very cool to be
       | able to switch between a running version of a small game, Turbo
       | Pascal, and a DOS prompt with a single key press.
       | 
       | It is always great to have period software on period hardware!
       | 
       | (added: Short video of it running -
       | https://www.youtube.com/watch?v=YPPNbaQaumk)
        
         | mattl wrote:
         | > It is always great to have period software on period
         | hardware!
         | 
         | Really is. This is why I keep a load of old hardware around.
         | Stuff like Mac OS 9 should be run on real hardware and same for
         | old MS-DOS.
        
           | at_a_remove wrote:
           | If not for space considerations, I would be right there with
           | you.
           | 
           | I still have hardware and software to get me back to NT 4.0
           | or Windows 95 (OSR 2, please, it wasn't tolerable before
           | that). I haven't needed to in a while, but in a previous job,
           | we'd run across old disks in some author's archive and I'd go
           | home to dig around, find a 5.25" drive and rig something up,
           | reach back in time.
           | 
           | I could _maybe_ do Windows for Workgroups 3.11.
           | 
           | If shipping weren't so brutal, I would love to send off my
           | old stuff to someone who would use it. I still have working
           | SCSI equipment! I bet somewhere there is someone stymied on
           | trying to liberate some ancient works but for the necessary
           | hardware/software setup.
        
             | metadat wrote:
             | SCSI drives almost never go bad. Compared to IDE/SATA, they
             | were significantly better built and had lower failure
             | rates. I still have a few 15k RPM Cheetahs that still work,
             | last I checked :).
        
               | HeckFeck wrote:
               | The SCSI drive in my Mac SE is older than me and it still
               | works. Delightfully clicky, in fact louder than the
               | floppy drive!
        
               | sponaugle wrote:
               | In general, it is surprising how many old hard drives
               | still work. I have a good number of old SCSI drives (even
               | Seagate!) that still work 40 years on. The ST225 in one
               | of my XTs still works great as well. I actually have a
               | ST238R still new in box, and I'll be curious to see if it
               | can spin up some day. I suspect the bearings might be a
               | stuck after all of these years!
        
             | sponaugle wrote:
             | Indeed - Space is a key for being able to collect and
             | restore this kind of stuff. I have most of my working
             | machine lined up along a wall in one of my garage/lab areas
             | (https://youtu.be/XHvdqB6LSg0). My wife has pretty much no
             | idea what those computers are for, and my daughter just
             | wants to play Oregon Trail on them.
             | 
             | They are fun to collect and restore. It is also helpful to
             | be good at replacing capacitors. ;). Those surface mount
             | ones on the Mac mainboards are almost always bad!
        
         | kasajian wrote:
         | https://www.os2museum.com/wp/how-not-to-release-historic-sou...
        
       | freedomben wrote:
       | Even just seeing some of these filenames is a major blast from
       | the past! Love it
       | 
       | CPY.BAT
       | 
       | MAKEFILE
       | 
       | RUNME.BAT
       | 
       | SETENV.BAT
        
         | dewey wrote:
         | Makefiles are still going strong!
        
       | conkeisterdoor wrote:
       | It looks like "brain damaged" was the developer's go-to insult
       | when frustrated :D
       | 
       | 2024-04-25 19:35 ~/sort/dl/MS-DOS % grep -nri 'brain[ -]damage' .
       | 
       | ./v4.0/src/DOS/STRIN.ASM:70:; Brain-damaged TP ignored ^F in case
       | his BIOS did not flush the
       | 
       | ./v4.0/src/DOS/PATH.ASM:24:; MZ 19 Jan 1983 Brain damaged
       | applications rely on success
       | 
       | ./v4.0/src/DOS/FCBIO.ASM:28:; MZ 15 Dec 1983 Brain damaged
       | programs close FCBs multiple
       | 
       | ./v4.0/src/DOS/FCBIO2.ASM:28:; MZ 15 Dec 1983 Brain damaged
       | programs close FCBs multiple
       | 
       | ./v4.0/src/BIOS/MSBIO1.ASM:82:; REV 2.15 7/13/83 ARR BECAUSE IBM
       | IS FUNDAMENTALY BRAIN DAMAGED, AND
       | 
       | ./v4.0/src/CMD/PRINT/PRINT_R.ASM:1772: ; See if brain damaged
       | user entered
        
         | blobbers wrote:
         | Let's bring back those DOS 4.0 period sayings.
         | 
         | Does this mean if you happen to be talking to BillG you could
         | talk about brain damaged programs and he'd nod appreciatively?
        
           | glhaynes wrote:
           | It was BillG who famously called the 286 "brain damaged"
           | after all.
           | 
           | EDIT: Upon doing a web search, actually it looks like it was
           | "brain dead".
        
           | asveikau wrote:
           | Somehow seeing the phrases "brain damaged" and "DOS 4.0
           | period" makes me think...
           | 
           | Bill Cosby's "Brain Damage" bit, from the album "Himself":
           | 1982
           | 
           | DOS 4.0: 1988
           | 
           | Those comments also could have also sat in the tree for a few
           | years.
        
           | mormegil wrote:
           | Oh, you mean like it's some period saying? I'm using it
           | normally. But then again, it's not like I'm keeping my finger
           | on the pulse of the current trends...
           | 
           | See also http://catb.org/jargon/html/B/brain-damaged.html
        
         | ssklash wrote:
         | Super cool to see MZ initials, which are for Mark Zbikowski.
         | They are still to this day at the beginning of every Windows
         | executable/PE file.
        
           | aquir wrote:
           | What? Is this what MZ means? Fascinating!
        
             | stubborngoat wrote:
             | "He was the designer of the MS-DOS executable file format,
             | and the headers of that file format start with his
             | initials: the ASCII characters 'MZ' (0x4D, 0x5A)" Ref:
             | https://en.wikipedia.org/wiki/Mark_Zbikowski
        
               | thrdbndndn wrote:
               | > In 2006, he was honored for 25 years of service with
               | the company, the third employee to reach this milestone,
               | after Bill Gates and Steve Ballmer. He retired the same
               | year from Microsoft
               | 
               | Considering he "only" joined MS in 1981 (which was found
               | in 1975?), I'm surprised no more people between him and
               | Bill stayed at MS.
               | 
               | Also shouldn't Paul Allen still count (from Wikipedia,
               | "Allen resigned from his position on the Microsoft board
               | of directors on November 9, 2000, but he remained as a
               | senior strategy advisor to the company's executives.")?
               | 
               | Edit: wow, never knew he worked at Valve, too.
        
               | hnthrowaway0328 wrote:
               | Early Microsoft seemed to be a pretty hardcore
               | environment. I guess many employees came and got burned
               | out in a few years.
        
               | knute wrote:
               | And/or they cashed out $TEXAS in stock and rode off into
               | the sunset.
        
               | hnthrowaway0328 wrote:
               | Yeah man. Meaningful work and loads of cash after IPO. I
               | have always wished to work in such an environment.
        
           | ktm5j wrote:
           | Looks like this is him?
           | 
           | https://github.com/microsoft/MS-
           | DOS/commit/2d04cacc5322951f1... https://github.com/mzbik
        
           | agumonkey wrote:
           | I can't recall where exactly but there's something similar in
           | systemd, some files have LPKS... in them, which are most
           | probably poettering, sievers and others early devs initials.
        
           | accrual wrote:
           | > Super cool to see MZ initials, which are for Mark
           | Zbikowski. They are still to this day at the beginning of
           | every Windows executable/PE file.
           | 
           | Another is "PK" as found in the header of ordinary .zip
           | files, after its creator Phil Katz (RIP).
           | 
           | https://en.wikipedia.org/wiki/Phil_Katz
        
         | HeckFeck wrote:
         | > ./v4.0/src/BIOS/MSBIO1.ASM:82:; REV 2.15 7/13/83 ARR BECAUSE
         | IBM IS FUNDAMENTALY BRAIN DAMAGED, AND
         | 
         | Hardly surprising. If you grep the leaked NT3.5 sources for the
         | f-word, you will find similar comments directed towards IBM.
        
         | sebtron wrote:
         | Looks as if someone did an s/retarded/brain damaged/g before
         | making the code public :)
        
           | Uvix wrote:
           | That was my first thought, but that wouldn't explain the
           | hyphenated versions in there.
        
       | moody__ wrote:
       | I appreciate the work in getting this open sourced but I find it
       | telling that this had to be done through an outside motivator.
       | There seems to be no internal "ticking clock" to get some of
       | these things out in to the open. That's fine no one is owed the
       | source code for this stuff or anything, but it would be nice if
       | there was more interest on the side of the companies to get some
       | of their formative history out so people can learn from it.
        
         | shanselman wrote:
         | That's valid feedback. There is no clock, but there maybe
         | should be. In this case, yes, Jeff and I had to PUSH. And
         | that's a hassle. I'll ask around.
        
           | dlachausse wrote:
           | I appreciate your hard work on open sourcing this!
           | 
           | If you're taking requests I'd love to see MS-DOS 5.0 or at
           | least QBasic next.
        
             | shanselman wrote:
             | Yep, I need to get 3.3 and then do 5, 6
        
               | atlas_hugged wrote:
               | Legend. Keep being the Bob Ross of IT. Love what you do.
               | Thank you.
        
               | justin66 wrote:
               | Ironically those words capture how those of us who bought
               | a computer with DOS 4.00 felt about it. :D
               | 
               | But this is really great.
        
             | raverbashing wrote:
             | True, I don't know when Qbasic (and Edit?) went into dos
             | (according to Wikipedia they were on 5.0)
        
           | macdice wrote:
           | This is fantastic work, thanks. Hmm, what else... let's
           | see... Xenix also really, really wants to be free! What a
           | magnificent piece of forgotten computer history it is.
           | https://en.wikipedia.org/wiki/Xenix
        
             | justin66 wrote:
             | That actually would be pretty wild.
        
           | davidferguson wrote:
           | It's fantastic work you've done. As someone who works at a
           | older software company (founded early 80s), I'm sad that
           | there isn't a push internally for us to make our old software
           | source available, or even just the binaries available!
           | 
           | What sort of tactics did you use to convince them? Maybe I
           | can apply them to where I work too...
        
           | HeckFeck wrote:
           | Windows 95 OSR5 - Open Source Release. Someday soon?
        
         | NewsaHackO wrote:
         | For some insight, look how people are combing for curse words/
         | devs making jokes about people being brain damaged etc. There
         | is no upside for the company, and all that has to happen is
         | some unsavory politically incorrect joke to get missed from
         | sanitization and the are on the cancelled chopping block.
        
           | userbinator wrote:
           | The "cancel" stuff only comes from a tiny minority of vocal
           | extremists. Everyone else is entirely unfazed.
           | 
           | Of all the things people here probably hate about the current
           | "modern" Microsoft and its products, political incorrectness
           | in decades-old code is far down the list or not even a
           | consideration.
        
             | sumtechguy wrote:
             | It is about 'risk'. These companies are deeply afraid of
             | being outed that way. They do not want to end up in court
             | over something silly. Just remember a bottle of windex has
             | the words 'do not drink' on it. 99.99% of people out there
             | would not have done it but there is that small cadre of
             | people who will do it and sue. Either for the power of it
             | or for money. Do not underestimate the depths that fools
             | will goto.
        
           | saagarjha wrote:
           | No upside for the company? Do you not see all the people who
           | are delighted to be able to browse the code?
        
             | ssdspoimdsjvv wrote:
             | No commercial upside for sure. Just some extra reputation
             | points among a very niche group and maybe some happy
             | employees.
        
               | smegger001 wrote:
               | Those niche people are the developers they want to use
               | their software. When that niche is the target audience
               | for whole product line of yours pleasing them is a good
               | idea.
        
           | HeckFeck wrote:
           | I think I lost it when they suggested we stop using the term
           | 'sanity check' or 'sane defaults' because they might offend,
           | well, brain damaged people.
           | 
           | I am close to writing a browser extension that does a find
           | and replace to reverse change these imposed, humourless,
           | coddled changes.
        
             | dmitrygr wrote:
             | > I am close to writing a browser extension that does a
             | find and replace to reverse change these imposed,
             | humourless, coddled changes.
             | 
             | I will be your first paying customer
        
           | Someone wrote:
           | Legal also may be concerned that having source makes it
           | easier to detect patent infringement and code copying. Even
           | if you deem the risk zero that that actually happened, why
           | run the risk of somebody claiming you did?
           | 
           | For the company there are as good as zero downsides to not
           | doing anything, and a few small upsides and a few low risk,
           | but potentially very costly (in dollars or reputation) if
           | they happen downsides.
           | 
           | That makes not doing anything the default choice for the
           | company.
           | 
           | For (former) employees who worked on this, the upsides are
           | higher; they'll get some of their work published for the
           | first time. That's why we see individuals push for this every
           | now and then.
        
         | chucky wrote:
         | It might not be a problem for DOS 4, but often the source code
         | of software that was only ever meant to be published as closed
         | source contains source code that was licensed from 3rd parties.
         | This license may not allow publishing the source code.
         | 
         | Doing an investigation of what licensed software was used and
         | possibly trying to get permission from the relevant rights
         | holders (if you can even figure out who owns the rights so many
         | years later) can be a big and expensive task, unfortunately. I
         | understand why companies might not want to take that on (even
         | though it sucks).
        
           | skissane wrote:
           | For DOS, I believe the core was only ever Microsoft or IBM.
           | Some DOS versions bundled add-ons by third parties, but they
           | are hardly essential for operation - e.g. MS-DOS 6 included
           | DEFRAG and MSBACKUP (both licensed from Symantec) and MSAV
           | (licensed from Central Point Software)
           | 
           | Similarly, with Windows, the third-party components are
           | generally inessentials such as certain device drivers, games,
           | some optional system components like the ZIP file support in
           | Windows Explorer-you would still have a usable OS with these
           | bits ripped out. Parts of NTVDM are third-party licensed,
           | although I believe that's mainly the software CPU emulator
           | used on RISC platforms, I think x86 was mostly Microsoft's
           | own code
        
             | chucky wrote:
             | Yeah, but it's the "mostly" and "I think" that will cause
             | lawyers to start sweating and force someone to do a bigger
             | and more expensive investigation.
        
               | lproven wrote:
               | DOS is relatively speaking tiny and actually pretty
               | modular. You can delete a handful of files, mostly
               | binaries and some help files, and that's it, code gone.
               | 
               | From the source it's a little different but there's
               | little integration between the bits.
        
             | lproven wrote:
             | Agreed.
             | 
             | From MS-DOS 6, remove the defrag, backup and antivirus
             | programs, and DoubleSpace/DriveSpace, and that should I
             | think cover all external code.
             | 
             | If I remember correctly, it didn't include CD-ROM drivers,
             | just MSCDEX to run on top of one... and the network stack
             | was an optional extra. I'm not even 100% sure it includes a
             | _mouse_ driver as standard.
             | 
             | IBM PC DOS 6.3, 7.0 and 7.1 include some additional IBM
             | code: Rexx in place of QBASIC, the IBM E editor, but not
             | much else.
        
             | rezonant wrote:
             | Isn't the zip support in explorer the stuff written by Dave
             | Plummer? I would imagine MS has the rights to that already,
             | and if they don't, I'd imagine Dave would, and I'm sure
             | he'd be fine with it being released.
             | 
             | He has lots of YouTube videos about the zip stuff.
        
               | nar001 wrote:
               | It was but Dave sold it to MS, so they own it
        
         | nolongerthere wrote:
         | It also sounds like the code didn't come from inside the
         | house... I wonder how many versions of the raw code for these
         | early OSes actually exist? Start ups are more concerned with
         | survival and not archiving their code. Like how many people at
         | their current company are putting in real effort to maintaining
         | early versions of their existing code bases?
        
           | jeffwilcox wrote:
           | The binaries for the multi-tasking bits did come from an
           | external source; however, the source code is from our corp
           | source code archives team. Even that was a bit less formal
           | back then...
        
       | xvilka wrote:
       | Is there anything useful that isn't already implemented in
       | FreeDOS?
        
         | accrual wrote:
         | It's more useful from a historical context. For the retro
         | community who plays games and creates/uses tools for the
         | hardware of this era, many appreciate having real period
         | correct DOS over FreeDOS, even though the latter is more
         | featureful. IMO FreeDOS is better for a DOS-like OS for modern
         | systems and less useful for retro hardware.
        
       | blobbers wrote:
       | Does this have a how to on hacking AUTOEXEC.BAT to avoid TSRs and
       | get enough of that sweet sweet 640KB to run whatever program you
       | needed?
        
       | galkk wrote:
       | Interesting, I expected it to have more C, but it's mostly
       | assembler with rare exceptions of C code.
        
       | userbinator wrote:
       | I believe MS has now officially released the sources to MS-DOS
       | 1.x, 2.x, and 4; but most of 3.x and 6.x were leaked many years
       | ago, so I wonder if that's the reason they skipped 3.
        
       | sponaugle wrote:
       | Here is a small video of it running on original IBM XT: This was
       | right after we got the floppies read successfully. Serious Kudos
       | to Scott for getting these floppies and the permission to release
       | them!
       | 
       | https://www.youtube.com/watch?v=YPPNbaQaumk
        
       | WalterBright wrote:
       | Ah, all the utterly useless knowledge about DOS that's taking up
       | space in my brain.
        
       | SuperHeavy256 wrote:
       | Does this benefit FreeDOS btw?
        
       | jmspring wrote:
       | My brain is rusty, but I feel like MSDOS 5.11 was where things
       | finally just worked. TSRs, memory managers, etc. Moving a lot and
       | not being a packrat I've lost some of that history.
       | 
       | It'd be interesting to see 5.x and 6.x released.
        
         | jagged-chisel wrote:
         | IIRC 6.22 was the pinnacle of MS-DOS, with all the comfort and
         | niceties one could expect at the time. Then began the Windows
         | era.
        
           | userbinator wrote:
           | I think the pinnacle goes to MS-DOS 7.1, which while bundled
           | with Windows was also usable as a DOS by itself and contained
           | features like FAT32 support. MS-DOS 8 was the last version
           | that came with the ill-fated Windows Me and significantly
           | neutered.
        
           | jmspring wrote:
           | 6.22 would likely be what I was remembering.
        
           | Zardoz84 wrote:
           | I had good memories of DR-DOS 5
        
         | ListenLinda wrote:
         | I think it was 3.3x where things started working. I don't
         | recall 4.x being around much. I do remember 5 and 6. For some
         | reason 4 never made a splash in my circle of friends.
        
           | lproven wrote:
           | 4 was, TBH, appalling for its time.
           | 
           | It took more base memory than ever. It had a complicated code
           | page system that most people didn't want, and a clunky early
           | version of IBM DOSShell that was scorned although it grew
           | into something useful.
           | 
           | But it supported disk partitions over 32MB, and for that
           | reason, it was reluctantly adopted. If you had a 286 or 386,
           | then there were measures that you could take with a memory
           | manager to make it not so bad, but on 8088/8086 class
           | hardware, it didn't leave enough free memory for many big
           | apps to run.
        
         | billforsternz wrote:
         | I was kind of happy with MSDOS 2.11, I felt that they'd got the
         | basics in place (in particular hard disk / subdirectory
         | support) and that bloat hadn't started. From memory I used this
         | for years and years although I was young so time didn't rush
         | past so quickly so who really knows. I kept a version of MSDOS
         | 2.11 debug.com around for decades (patched with itself so it
         | wouldn't just do a version check then quit). From memory it was
         | something like 12K bytes whereas debug.exe from MSDOS 6.x was
         | more like 60K bytes.
        
         | lproven wrote:
         | > My brain is rusty
         | 
         | It is. Because:
         | 
         | > but I feel like MSDOS 5.11 was where things finally just
         | worked
         | 
         | There was no MS-DOS 5.11.
         | 
         | It went 4, 4.01, 5, 6, 6.2, 6.21, 6.22.
         | 
         | IBM had a few extra versions as the divorce was occurring at
         | the time.
        
           | cesarb wrote:
           | > There was no MS-DOS 5.11.
           | 
           | There was Windows 3.11 which ran on top of MS-DOS 5.0, the
           | two numbers probably got mixed in their memory.
        
         | pyb wrote:
         | Perhaps you mean DOS 5.0. If I remember well, DOS 6 wasn't
         | different from DOS 5 internally?
        
       | hernandipietro wrote:
       | I remember looking at MSDOS binaries with hex editors and seeing
       | "MS Runtime Library", like many tools were written in C -- may be
       | my memory is completely failing ... but probably MSDOS 5.0
       | included many utilities written in C? I used 5.0 with a 386,
       | circa '93.
        
       | anothername12 wrote:
       | Curious if DOS 3.30 will follow soon. It felt like I was on that
       | version for ages growing up, messing with assembler on the
       | families Amstrad 2086.. good times.
       | 
       | Edit: really appreciate the effort being put into preserving this
       | software history btw
        
       | atlas_hugged wrote:
       | Scott is such a treasure. Love that guy.
        
         | jwnin wrote:
         | Agreed. He does this work repeatedly, no budget, and it's hard
         | to get people to spend time working on efforts like these,
         | whether it be technical or legal.
        
       | pavlov wrote:
       | When I was nine years old, I liked poking around with a hex
       | editor on my dad's PC.
       | 
       | I didn't speak English and MS-DOS wasn't yet localized to Finnish
       | in 1989, so I decided to try translating it myself with a
       | dictionary by manually finding and replacing strings in the
       | SYS/COM files. The result worked and my dad was suitably
       | impressed, if probably a bit peeved that nothing worked anymore
       | in the shell as expected (since I had replaced all the basic
       | command names too -- "dir" became "hak" and so on).
       | 
       | It's pretty cool to see those strings again in src/MESSAGES.
       | 
       | At the same time, it feels a bit sad that today's kids can't get
       | the same feeling that the computer is really theirs to modify.
       | Modern operating systems don't run binaries tampered with a hex
       | editor. Most kids are on operating systems like iOS where they
       | can't even run a C compiler.
       | 
       | They can play with code in various sandboxes locally and on the
       | web, but the computer fundamentally belongs to someone else
       | today.
        
         | stepupmakeup wrote:
         | >Modern operating systems don't run binaries tampered with a
         | hex editor.
         | 
         | do you mean non-system ones?
        
           | eru wrote:
           | Some OSs want their binaries to be signed and probably have
           | checksums etc. It would be hard to keep those valid when
           | mucking around with a hex editor.
        
           | grishka wrote:
           | MacOS is notorious for this. By default, it would only run
           | binaries signed with an Apple-issued certificate. You can
           | bypass this multiple different ways, of course, but that
           | requires knowing that it can be bypassed in the first place.
           | 
           | Then there are mobile OSes where you don't get to see the
           | binaries at all. Yes you can repack an apk but again, that's
           | a more involved process requiring specific tools and
           | knowledge (and _very_ awkward to do on the device itself),
           | and iOS is completely locked down.
        
             | andsoitis wrote:
             | > MacOS is notorious for this. By default, it would only
             | run binaries signed with an Apple-issued certificate. You
             | can bypass this multiple different ways, of course, but
             | that requires knowing that it can be bypassed in the first
             | place.
             | 
             | What do you mean? When I compile something with a myriad of
             | different language stacks or compiler toolchains, I'm not
             | aware of an Apple-issued certificate ever being involved
             | and those binaries run just fine.
        
               | grishka wrote:
               | Probably because the environment you use to compile it,
               | like the terminal or Xcode, is added to "developer tools"
               | under security settings. Xcode in particular does that
               | for itself automatically.
        
               | andsoitis wrote:
               | So I don't even need to know how to bypass it because it
               | happens automatically behind the scenes. Nice.
        
               | grishka wrote:
               | But if you edit a binary with a hex editor, invalidating
               | its signature, you _would_ need to know how to bypass it.
        
               | einherjae wrote:
               | Unlike your average user, if you have the knowledge to
               | apply a hex editor, then you probably can Google how to
               | work around the signature error.
        
         | josefx wrote:
         | > Modern operating systems don't run binaries tampered with a
         | hex editor.
         | 
         | Luckily that isn't universally true. I had to do a decent
         | amount of binary modifications on Linux to deal with bugs and
         | glibc compatibility issues.
        
         | smokel wrote:
         | I remember trying to rename LILO (from "Loading Linux" fame) to
         | PIPO [1] by simply editing the bytes with a hex editor.
         | 
         | Turned out that didn't work, because there was an additional
         | sanity check that halted the boot process if the "LI" bytes
         | were corrupted.
         | 
         | Of course I put through and was a happy user of PIPO for some
         | years, until Grub came along.
         | 
         | [1] https://en.m.wikipedia.org/wiki/Pipo_de_Clown
        
           | thaumasiotes wrote:
           | When I was running Gentoo, I wanted to replace the GNOME foot
           | that appeared on the dropdown menu with a Gentoo-fish-in-a-
           | wizard-hat icon.
           | 
           | I found documentation suggesting that the icon shown on the
           | menu was set in a certain configuration file, and changed
           | that file.
           | 
           | This meant that, when I was using the normal UI to customize
           | the GNOME topbar, the icon associated with that menu, in the
           | GUI, was the fish-wizard icon. But it did _not_ change the
           | icon displayed in the menu itself.
           | 
           | I always resented that. I still don't like the concept of
           | hiding configuration lest the user change it.
        
         | bilekas wrote:
         | > MS-DOS wasn't yet localized to Finnish in 1989
         | 
         | That's genuinely something today I appreciate but when putting
         | the 10th floppy in to update windows3.x. relative these days!
         | 
         | > it feels a bit sad that today's kids can't get the same
         | feeling that the computer
         | 
         | Can't agree more. trying to get my cousins and nephews
         | interested is in their term "Not important"
        
         | lm2s wrote:
         | I did that with GTA, translating it to Portuguese. It was then
         | that I learned that I could overwrite the strings with the Hex
         | Editor, but not insert anything because it would stop working.
         | And thus began my dive into computers.
         | 
         | Great memories, thanks for making me remember it.
         | 
         | * Actually now that I really think about it, it wasn't with an
         | Hex Editor, it was with Edit! Fun times.
        
         | zooq_ai wrote:
         | My favorite Hex Editor hack was when I cracked a Windows
         | software simply by changing the instruction "Equal to" to "Not
         | Equal to" where it matches for Software Key with user entered
         | key.
        
           | Jerrrry wrote:
           | branch if not equal.
           | 
           | and noops.
           | 
           | we were reverse engineers, make no mistake
        
           | shudza wrote:
           | It was something like: find "74", change it to "75" lol
        
         | squigz wrote:
         | Don't be too sad that computers have matured: hackers gunna
         | hack, no matter the generation ;)
        
         | hnthrowaway0328 wrote:
         | We can still give DOS to kids though. I'm going to try it out
         | when he reaches 6.
        
         | criddell wrote:
         | I wouldn't cry too long for the curious children of today.
         | There are more frontiers and available resources for kids today
         | than we ever had tinkering with an isolated TI-99/4A or VIC-20.
         | We could share a cassette with a friend and if we were super
         | lucky there was a local user group that met in a church
         | basement right after the AA meeting.
        
         | andsoitis wrote:
         | > At the same time, it feels a bit sad that today's kids can't
         | get the same feeling that the computer is really theirs to
         | modify.
         | 
         | Kids with a hacker mentality (let's face it, even in the 80s
         | those of us who hacked around with DOS etc. were the teeny tiny
         | minority) have more options than ever before, including but not
         | limited to FreeDOS, Linux, or a bunch of others
         | https://en.wikipedia.org/wiki/Comparison_of_open-source_oper...
         | 
         | Finding it is also super easy if you have the curiosity (and of
         | course a PC and an internet connection).
        
         | tombert wrote:
         | The DOS era was a bit before my time; I had a C64 as a kid but
         | I managed to break it before I got to do too much fun [1].
         | 
         | That said, I got into web dev when I was a pretty young kid,
         | about 9 years old, and I would have fun hacking together
         | different websites. Eventually I noticed the "edit" button on
         | top of the browser and learned you could mess with other
         | people's sites as well. I had lots of fun breaking stuff.
         | 
         | Computers are so cheap now, I think it's relatively easy for
         | most families to have a computer that can be programmed. For
         | that matter, the Raspberry Pi is cheap and has hundreds of
         | resources available to play with, many of which are kid
         | friendly.
         | 
         | [1] before you ask, I am not 100% sure what I did, I was
         | playing around with some code I found in a manual for it that
         | my dad gave my when I was 7-8, and I must have done something
         | bizarre cuz it stopped booting.
        
         | userbinator wrote:
         | You can still patch binaries on Windows.
        
       | ofrzeta wrote:
       | What the ..? Wake me up when they open source DOS 6.22. What's
       | holding them back?
        
         | voxadam wrote:
         | > What's holding them back?
         | 
         | Maybe they're embarrassed about DriveSpace/DoubleSpace.[0]
         | 
         | [0] https://en.wikipedia.org/wiki/DriveSpace
        
       | Karellen wrote:
       | Wait, why is `git pull` for an OS that ran on computers with
       | memory and floppy-disk sizes measured in 100s of KiB taking more
       | than a couple of seconds to download?
       | 
       | ...Oh, there's 100MiB of PDFs in there, which are high-resolution
       | scans of the paper technical documentation. Fair enough.
        
       | ircicq wrote:
       | Unfortunately this is only consumer's part of DOS. For us
       | developers, it is very desirable to have access to SDK sources:
       | MASM, C compiler, LINK.
        
       | hudo wrote:
       | Ah, good ol' days of configuring AUTOEXEC.BAT and CONFIG.SYS to
       | squeeze few more kb of RAM:) And setting IRQs for some weird
       | sound card that just doesn't work!
        
       | msoad wrote:
       | Some fun things I found in the source code
       | 
       | * "TWIDDLE" [1]                   ; DO THE 2 SECOND TWIDDLE. IF
       | TIME >= 2 SECONDS, DO A VOLID CHECK.
       | 
       | * "This is my employee serial!" [2]                   db '21',0,0
       | ;J.K. 11/8/86 This is my employee serial # !!!
       | 
       | * Lots os "brain damaged comments [3]
       | 
       | [1][https://github.com/microsoft/MS-
       | DOS/blob/2d04cacc5322951f187...]
       | 
       | [2]https://github.com/microsoft/MS-
       | DOS/blob/2d04cacc5322951f187...
       | 
       | [3]https://github.com/search?q=repo%3Amicrosoft%2FMS-
       | DOS+BRAIN+...
        
         | rep_lodsb wrote:
         | https://devblogs.microsoft.com/oldnewthing/20190924-00/?p=10...
        
       | lynx23 wrote:
       | Whenever I think about the good old DOS days, QEMM and DESQview
       | come to mind. Esp. DESQview which was a rather essential part of
       | my DOS experience... Sources for these would be fun to look at.
        
         | lproven wrote:
         | Many asked over the years. Sadly I think Symantec lost them
         | after it acquired Quarterdeck.
         | 
         | DESQview/X was amazing. FreeDOS with DV/X would be something
         | else: a multitasking DOS with a standard GUI, that spoke TCP/IP
         | and could serve remote Linux/BSD apps over X11.
        
       | tuzemec wrote:
       | I was having a chat with one of the young guys in the office
       | yesterday. He was complaining that his first PC had windows 7 and
       | was slow, because he only had 2GB of RAM. And I was thinking:
       | Gosh, probably he never typed "dir" or "c:" in his life... I feel
       | sooo old :/
        
         | dailykoder wrote:
         | Next year is 10th Windows 10 aniversary :-)
        
       | alexandrukis16 wrote:
       | https://github.com/microsoft/MS-DOS/blob/2d04cacc5322951f187...
       | 
       | still waiting for this one
        
       | dale_glass wrote:
       | There's a thing I've been curious about for a while, might as
       | well try and ask here.
       | 
       | What does "DEVICE=" in config.sys actually do? As in, why is this
       | in config.sys:                   device=c:\dos\emm386.exe
       | 
       | and not just:                   c:\dos\emm386.exe
       | 
       | in autoexec.bat?
        
         | lproven wrote:
         | The DEVICE line loads device drivers.
         | 
         | EMM386 is a device driver which needs to be started very early
         | in the DOS boot process for it to work -- because most of the
         | rest of DOS is then loaded into memory blocks that EMM386
         | provides.
         | 
         | It's an .EXE file because the command invocation gives some
         | useful data -- but it can't load that way, and if it could it
         | would be useless because then it was too late to load drivers
         | into the memory regions it created.
        
       | jayde2767 wrote:
       | What version of DOS was the latest when Win 3.1 was released? 4.1
       | or something, wasn't it? Just curious.
        
         | Maximus9000 wrote:
         | win 3.1 was released in early 1992. It looks like it was Dos
         | 5.0 and 6.0 by then.
         | 
         | https://en.wikipedia.org/wiki/Timeline_of_DOS_operating_syst...
        
       | leandrod wrote:
       | 'in the spirit of open innovation, we're releasing the source
       | code to MS-DOS 4' -- I should not be surprised. M$ long ago
       | eviscerated 'innovate' out of any meaning whatsoever.
        
       | billpg wrote:
       | I'm seeing FreeDOS mentioned here, but I do wonder what practical
       | use it is being put to. I only ever see it as something computer
       | makers write into the hard disk because they have to put
       | something there, which gets promptly wiped and replaced with a
       | variety of Linux. (Why they couldn't ship an empty HD, I have no
       | idea.)
        
         | suprjami wrote:
         | It was a workaround from the time the Microsoft OEM agreement
         | required them to ship _an_ operating system, but the contract
         | didn 't specify _which_ system.
         | 
         | Anyway, FreeDOS is useful for updating BIOS images, it also
         | seems to run a lot of legacy industrial equipment, you can play
         | retro games with it, and Jim Hall has a wonderful YouTube
         | channel where he regularly shows using FreeDOS as an
         | educational tool: https://youtube.com/@freedosproject
        
       | captaincrunch wrote:
       | The input handling for file names is shit -- the GETWORD and
       | MUSTGETWORD routines, doesn't check if the file name (or)
       | extension exceeds the length (8 characters for the filename and 3
       | for the extension).
       | 
       | GETWORD: CALL GETLET JBE NONAM ;Exit if termination character DEC
       | SI MUSTGETWORD: CALL GETLET JBE FILLNAM JCXZ MUSTGETWORD DEC CX
       | CMP AL,"*" ;Check for ambiguous file specifier JNZ NOSTAR MOV
       | AL,"?" REP STOSB NOSTAR: STOSB CMP AL,"?" JNZ MUSTGETWORD OR DL,1
       | ;Flag ambiguous file name JMP MUSTGETWORD FILLNAM: MOV AL," " REP
       | STOSB DEC SI
        
       | pradn wrote:
       | It's worthwhile to note the big impact a small set of driven
       | volunteers can have in archival and preservation work! This was
       | not inevitable!
        
       | garaetjjte wrote:
       | https://www.os2museum.com/wp/how-not-to-release-historic-sou...
        
       | jesuslop wrote:
       | Our lab pcs run about that, with password protected BIOS. DOS has
       | some filenames wired to devices (con, aux, prn)... as in linux
       | /dev. Don't recall why but one time I summoned "echo kk > clock$"
       | and not only did the real time clock lose sense of time, but upon
       | reboot the bios was struck with bios checksum failed, bad crc,
       | password protect forgotten and bios open to any mischief.
        
       | dev1ycan wrote:
       | The day they open source XP is the day the world will
       | collectively become better
        
       | theanonymousone wrote:
       | Is it only another 10 years until we get an MIT-licensed Windows
       | 95 source code?
        
       ___________________________________________________________________
       (page generated 2024-04-26 23:01 UTC)