[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)