20 ms·
Open Sourcing DOS 4
- pjmlp 3y agoI guess now we can finally try to understand what went wrong with the multitasking attempt.
- h2odragon 3y agoGraphics. 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 3y agohttps://en.wikipedia.org/wiki/Multiuser_DOS https://en.wikipedia.org/wiki/Multiuser_DOS
- brightsize 3y ago> 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 3y agoFor 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 3y agoThere 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_Journal/v03n02.pdf http://bitsavers.trailing-edge.com/magazines/Microsystems_Jo...
- tiernano 3y agoDirect GitHub link to the repo. https://github.com/Microsoft/MS-DOS https://github.com/Microsoft/MS-DOS
- anticensor 3y agonow it's the turn for https://github.com/Microsoft/Windows https://github.com/Microsoft/Windows
- _mlbt 3y agoHoly 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 3y agoAre 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 3y agoIt 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 3y agoThis 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 3y agoDOS 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 3y agoYup. Boot DOS off a USB key and it suddenly speaks USB. :-) Only for drives, but still...
- thesuperbigfrog 3y agoInteresting 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://freedos.org/ https://github.com/FDOS https://github.com/FDOS
- tracker1 3y agoI'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.
- anthk 3y agoGet ReactOS' NTVDM. Mount the ISO, find the bigges CAB file on it (easy), extract it, and then use that DLL dropped into any DOS game folder.
- nullindividual 3y ago> ; 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/DIR2.ASM#L1128C1-L1130C2 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/COMMAND/TMISC1.ASM#L309 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 3y agoLOL. Nice find. Company open-sources old product? Search for curse words...!
- keyle 3y agoI obliged DOSHIT: INC [HIT_DOS]
- orthoxerox 3y agoYou can't write a plotter driver and not giggle at if (penIsDown) {
- smolsky 3y agoOMG, I remember copying official 5.25 disks back in the 90s...
- hi-v-rocknroll 3y agoClunk, 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 3y agoWeird 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 * https://github.com/microsoft/MS-DOS/tree/main/v4.0/bin/DISK1 https://github.com/microsoft/MS-DOS/tree/main/v4.0/bin/DISK1 * https://github.com/microsoft/MS-DOS/tree/main/v4.0/pdf 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 https://github.com/OwnedByWuigi/DOS/tree/main/v4.0
- nullindividual 3y agoIt is all the MT-DOS content; binaries and docs.
- qingcharles 3y agoMulti-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 3y agoThey just changed the folder. All of those files are now in https://github.com/microsoft/MS-DOS/tree/main/v4.0-ozzie https://github.com/microsoft/MS-DOS/tree/main/v4.0-ozzie
- willxinc 3y agoLooks like they were moved to the Ozzie subfolder: https://github.com/microsoft/MS-DOS/tree/main/v4.0-ozzie https://github.com/microsoft/MS-DOS/tree/main/v4.0-ozzie
- rnd0 3y agoThat 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.
- lchengify 3y agoSo 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 3y agoA lot of XP components are still in use in modern windows, whereas DOS was completely replaced around the time Windows XP came around.
- chx 3y agoAround 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 3y agoWindows 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 3y agothis 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 3y agoCan 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 ;-)
- glonq 3y ago4.0 was a buggy release. Where's the DOS 4.01 source?
- aap_ 3y agoI would assume that with some disassembling 4.01 could be reconstructed from 4.0 without too much trouble.
- hi-v-rocknroll 3y agoNo. The comments aren't there and 4.01 was also a major rewrite after Microsoft took the project back from IBM.
- aap_ 3y agoCrazy that they would only increase the version number by this little then. version numbers truly mean nothing...
- yuhong 3y ago[dead]
- 1970-01-01 3y agoI never thought I would be able to build DOS from scratch, but here we are!
- wesbarts 3y ago[dead]
- dosman33 3y agoMSDOS 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 3y agoThis 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 3y ago>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-ozzie/Multitasking%20DOS%20BETA%20-%20Device%20Drivers.pdf https://raw.githubusercontent.com/microsoft/MS-DOS/main/v4.0...
- zdimension 3y agohttps://github.com/microsoft/MS-DOS/blob/2d04cacc5322951f187bb17e017c12920ac8ebe2/v4.0/src/BIOS/MSBIO1.ASM#L82 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 3y agoWell they're not wrong, so maybe the comment was just prescient? :)
- freedomben 3y agoThis was the good 'ol days, back when you could put stuff in comments like that and not worry about legal
- elwell 3y agoNow you can't even say "sanity check", much less mention brain damage.
- steelbrain 3y agoWait, I missed the bus on this one. What's wrong with "sanity check"?
- rnd0 3y agoThese days it would be considered a problematic allusion to people with cognitive or emotional issues.
- Stratoscope 3y agoAs 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?
- bfors 3y agoLooking 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_ 3y agoYou might like: https://www.amazon.ca/Definitive-Guide-How-Computers-Math/dp/0471732788 https://www.amazon.ca/Definitive-Guide-How-Computers-Math/dp...
- MaxLeiter 3y ago; 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/BOOT.SKL https://github.com/microsoft/MS-DOS/blob/main/v4.0/src/BOOT/...
- jmclnx 3y agoWhat 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 3y agoAs 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 https://www.youtube.com/watch?v=YPPNbaQaumk)
- mattl 3y ago> 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 3y agoIf 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 3y agoSCSI 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 3y agoThe SCSI drive in my Mac SE is older than me and it still works. Delightfully clicky, in fact louder than the floppy drive!
- deleted 3y ago[deleted]
- freedomben 3y agoEven just seeing some of these filenames is a major blast from the past! Love it CPY.BAT MAKEFILE RUNME.BAT SETENV.BAT
- dewey 3y agoMakefiles are still going strong!
- conkeisterdoor 3y agoIt 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 3y agoLet'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 3y agoIt 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".
- wglb 3y agoHe went the only one. Most of us did.
- asveikau 3y agoSomehow 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 3y agoOh, 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 http://catb.org/jargon/html/B/brain-damaged.html
- moody__ 3y agoI 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 3y agoThat'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.
- _mlbt 3y agoI 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 3y agoYep, I need to get 3.3 and then do 5, 6
- atlas_hugged 3y agoLegend. Keep being the Bob Ross of IT. Love what you do. Thank you.
- justin66 3y agoIronically 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 3y agoTrue, I don't know when Qbasic (and Edit?) went into dos (according to Wikipedia they were on 5.0)
- xvilka 3y agoIs there anything useful that isn't already implemented in FreeDOS?
- accrual 3y agoIt'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 3y agoDoes 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 3y agoInteresting, I expected it to have more C, but it's mostly assembler with rare exceptions of C code.
- userbinator 3y agoI 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.
- deleted 3y ago[deleted]
- sponaugle 3y agoHere 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 https://www.youtube.com/watch?v=YPPNbaQaumk
- WalterBright 3y agoAh, all the utterly useless knowledge about DOS that's taking up space in my brain.
- SuperHeavy256 3y agoDoes this benefit FreeDOS btw?
- hernandipietro 3y agoI 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.
- jmspring 3y agoMy 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.
- ListenLinda 3y agoI 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 3y ago4 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.
- jagged-chisel 3y agoIIRC 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 3y agoI 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 3y ago6.22 would likely be what I was remembering.
- anothername12 3y agoCurious 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
- ingend88 3y ago[flagged]
- atlas_hugged 3y agoScott is such a treasure. Love that guy.
- jwnin 3y agoAgreed. 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 3y agoWhen 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 3y ago>Modern operating systems don’t run binaries tampered with a hex editor. do you mean non-system ones?
- eru 3y agoSome 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.
- ryandrake 3y agoThis is fine if the user was empowered to re-sign it after the mucking. The problem is that the user is rarely in charge of their own computer anymore.
- eru 3y agoOutside of mobile operating systems, eg on Linux, Windows and MacOS (and all the BSDs etc) it's fairly trivial to run binaries you built yourself. But: re-signing is an extra step that someone who's just starting out and mucking around with a hexeditor might not know how to do nor even be aware of.
- frank_bb 3y ago[dead]
- ofrzeta 3y agoWhat the ..? Wake me up when they open source DOS 6.22. What's holding them back?
- voxadam 3y ago> What's holding them back? Maybe they're embarrassed about DriveSpace/DoubleSpace.[0] [0] https://en.wikipedia.org/wiki/DriveSpace https://en.wikipedia.org/wiki/DriveSpace
- Karellen 3y agoWait, 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 3y agoUnfortunately 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 3y agoAh, 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!
- lynx23 3y agoWhenever 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 3y agoMany 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.
- msoad 3y agoSome 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/2d04cacc5322951f187bb17e017c12920ac8ebe2/v4.0/src/BIOS/MS96TPI.INC#L83 https://github.com/microsoft/MS-DOS/blob/2d04cacc5322951f187...] [2]https://github.com/microsoft/MS-DOS/blob/2d04cacc5322951f187bb17e017c12920ac8ebe2/v4.0/src/BIOS/MSBDATA.INC#L155 https://github.com/microsoft/MS-DOS/blob/2d04cacc5322951f187... [3]https://github.com/search?q=repo%3Amicrosoft%2FMS-DOS+BRAIN+DAMAGED&type=code https://github.com/search?q=repo%3Amicrosoft%2FMS-DOS+BRAIN+...
- rep_lodsb 3y agohttps://devblogs.microsoft.com/oldnewthing/20190924-00/?p=102915 https://devblogs.microsoft.com/oldnewthing/20190924-00/?p=10...
- tuzemec 3y agoI 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 3y agoNext year is 10th Windows 10 aniversary :-)
- alexandrukis16 3y agohttps://github.com/microsoft/MS-DOS/blob/2d04cacc5322951f187bb17e017c12920ac8ebe2/v4.0-ozzie/bin/DISK2/BIOS/IBMMTCON.ASM#L5 https://github.com/microsoft/MS-DOS/blob/2d04cacc5322951f187... still waiting for this one
- dale_glass 3y agoThere'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 3y agoThe 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 3y agoWhat version of DOS was the latest when Win 3.1 was released? 4.1 or something, wasn't it? Just curious.
- Maximus9000 3y agowin 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_systems https://en.wikipedia.org/wiki/Timeline_of_DOS_operating_syst...
- leandrod 3y ago‘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 3y agoI'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 3y agoIt 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 https://youtube.com/@freedosproject
- captaincrunch 3y agoThe 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
- rep_lodsb 3y agoIf it's longer than 8.3, the name is shortened, or runs into the extension field. It's a design decision, not a bug: https://devblogs.microsoft.com/oldnewthing/20071217-00/?p=24143 https://devblogs.microsoft.com/oldnewthing/20071217-00/?p=24...
- pradn 3y agoIt'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 3y agohttps://www.os2museum.com/wp/how-not-to-release-historic-source-code/ https://www.os2museum.com/wp/how-not-to-release-historic-sou...
- 1970-01-01 3y agoThis is important. If we're really trying to open source and preserve DOS, we need a better system. Someone at MS needs to create museuem.github.com and allow us to browse everything just as it was preserved on disk.
- jeffwilcox 3y agoI think it's a mix. We're learning a bit each time. I'm bummed in the rush to get this finally published we made a few errors. We first found what looked like the source back in September last year. Having the source on GitHub feels like a nice way for some people to peek through it... but there's clear compromise between archival and sharing some source.
- Too 3y agoGit does not tamper with file encoding. Only way file content modification can happen is automatic CRLF conversion, but that’s a local setting, not affecting the public archive, unless .gitattributes is present, not the case here. It is common sense that one should never enable this setting globally on your system, precisely because it can tamper with content unexpectedly.
- jesuslop 3y agoOur 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.
- sevensor 3y agoFond memories of DOS 4.0. We had an IBM PS/2 286 with a princely 30 MB hard drive. As a bored youth, I worked my way through the paper manual that came with it, running each command (in alphabetical order) up until I hit RESTORE (or was it RECOVER? Something like that.) It overwrote the hard drive with garbage, and that's how I learned about reinstalling the OS.
- therealmarv 3y agoI started with MS-DOS 3.3 but interesting to see that this version is not in the GitHub repo.
- theanonymousone 3y agoIs it only another 10 years until we get an MIT-licensed Windows 95 source code?
- dev1ycan 3y agoThe day they open source XP is the day the world will collectively become better
- jasomill 3y agoIt appears to be missing the code for DOSSHELL — the only references I see to SHELLB or SHELLC are in the SELECT (installer) source code.
- awwwithy 3y agoThings were a simpler time, but information was MUCH less accessible. In the 90s it was magazines, BBSs, and user groups. The information access we have today is orders upon orders of magnitudes more. Kids today have a limitless and open door to information to hack. Yes, Apple and MS might be more closed, but there are many other OSs.
- Animats 3y agoWhen will Windows NT 3.51 be open sourced? Windows 7?
- qwerty456127 3y agoI'm not sure but I feel like I can remember DOS 6.22, 6.0 or 3.0 (I'm not sure) source code leaked some year near 2000.
- ngcc_hk 3y agoVery happy hacking mvs and vm. Still not able to run apl 360 …
- ForOldHack 3y agoWow.MIT liscense: you can sell it. "Unlike the GPL, the MIT license is more permissive. It allows users to do almost anything they want with the code, including modify, distribute, and use it for commercial purposes, as long as they include the original copyright and license notices. " Feb 29, 2024