[HN Gopher] Open Sourcing DOS 4
___________________________________________________________________
Open Sourcing DOS 4
Author : ndiddy
Score : 131 points
Date : 2024-04-25 21:42 UTC (1 hours 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 snatches 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
| 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.
| 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
| 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.
| 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!
| 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
| 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...!
| smolsky wrote:
| OMG, I remember copying official 5.25 disks back in the 90s...
| 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
| 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.
| 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.
| shanselman wrote:
| Ya sorry we're moving stuff around
| 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.
| 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.
| 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.
| 1970-01-01 wrote:
| We need to wait for the NSA backdoors to expire first ;)
| 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.
| 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)
| 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? :)
| 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.
___________________________________________________________________
(page generated 2024-04-25 23:00 UTC)