MS-DOS has been Open-Sourced! We Build and Run it!

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 พ.ค. 2024
  • Microsoft has released the code to MS-DOS 4.00 on GitHub; Dave takes you a tour of the code, builds it, and runs it on original hardware. For my book on life on the Spectrum: amzn.to/4bj29zo
    For Clarity on the timeline:
    - Microsoft licensed (non-exclusively) 86-DOS in Dec 1980 for $25,000
    - Paterson left SCP in April 1981 and worked for Microsoft from May 1981 to April 1982.
    - 86-DOS was purchased outright by Microsoft and renamed to MS-DOS on 27 July 1981 for $50,000
    - In March 1982, MarkZ became the dev mgr for MS-DOS 2
    The Code:
    github.com/microsoft/MS-DOS
    Remember that the code is open-sourced, but trademark law still applies!
    Any requests to contact me on Telegram, etc, are scams...
    Follow me on Facebook at davepl for daily shenanigans!
    Follow me on Twitter at @davepl1968
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 1.2K

  • @PeterRichardsandYoureNot
    @PeterRichardsandYoureNot 21 วันที่ผ่านมา +1317

    To this day I still laugh at the fact that Unix, macOS and dos all treat end of line differently. It has become a universal pain in the butt for developers.

    • @Z4KIUS
      @Z4KIUS 21 วันที่ผ่านมา +101

      I'd love git to just stop messing with these, you can set it up so but defaults are just destructive

    • @aftardog
      @aftardog 21 วันที่ผ่านมา +46

      Came from mainframe environment where file system had records. Took a while to get used to the idea that special character(s) determined records.

    • @slycordinator
      @slycordinator 21 วันที่ผ่านมา +138

      It's of note, though, that MacOS has used Unix line endings since 2001 (when they released X). It's only the classic Mac releases that use carriage return for line endings.

    • @nkronert
      @nkronert 21 วันที่ผ่านมา +42

      Good to hear that you can laugh about it. I cry about it on a weekly basis. Having said that, there are even worse things out there, like case sensitivity and the infamous special syntax regarding NULL in SQL.

    • @Elfcheg
      @Elfcheg 21 วันที่ผ่านมา +12

      @@nkronert I feel your pain. It's 2024 and we still can't have simple select statement to display national characters correctly.

  • @koopa2k
    @koopa2k 21 วันที่ผ่านมา +608

    only 6 years left until we'll be watching Dave compiling the ultimate MSDOS 6.22

    • @retinaquester
      @retinaquester 21 วันที่ผ่านมา +69

      We all want to see MS-DOS 7.1. Released as part of Windows 98. With long filename support and Fat32. That was the Ultimate DOS. (You do have to Hexedit the Win98 logo's out of it.)

    • @koopa2k
      @koopa2k 21 วันที่ผ่านมา +15

      @@retinaquester you didn't want to go all the way to the rather embarrassing Windows ME MS-DOS 8?

    • @retinaquester
      @retinaquester 21 วันที่ผ่านมา +6

      @@koopa2k I thought they took peaces out of that version of DOS. Until 7.1 it keeps getting better.

    • @pankoza2
      @pankoza2 21 วันที่ผ่านมา +18

      @@retinaquester I think you can just use the Logo=0 parameter in MSDOS.sys in Win98's DOS

    • @tenlittleindians
      @tenlittleindians 21 วันที่ผ่านมา

      I doubt Bill Gates will still be alive 6 years from now. Who's going to hold the keys to the castle after he's gone?
      Sooner or later it gets passed on to someone willing to sell it off or give it away because they have no interest in "grandpa's old junk" in a shoebox in a closet somewhere.

  • @dixie_rekd9601
    @dixie_rekd9601 21 วันที่ผ่านมา +276

    "my code is immortalised in the last major release"
    Dave, you've already immortalised your code and yourself through this channel. In 1000 years historians will turn to these videos to see what was really happening in the world of computer OS development during the era.
    and so the legend lives on.

    • @Logic44
      @Logic44 20 วันที่ผ่านมา +24

      It's kinda crazy that I've been experimenting with DOS since I was 14, know the installation like the back of my hand, and now I'm watching the dude who made that possible. I wasn't even born in the DOS era, I just like older OSs...
      (Shoutout to WinWorld for keeping ISOs/Floppy images of DOS for free...)

    • @belstar1128
      @belstar1128 20 วันที่ผ่านมา +7

      he is like the Archimedes of computers

    • @TonyWhitley
      @TonyWhitley 20 วันที่ผ่านมา +5

      Nah, that's ARM and used RISC OS 🤪

    • @belstar1128
      @belstar1128 20 วันที่ผ่านมา +2

      @@TonyWhitley I wanted to call him Plato but that existed too as a computer and Einstein too

    • @DavesGarage
      @DavesGarage  19 วันที่ผ่านมา +83

      Thanks for the kind words! I do hope they preserve the first program I wrote:
      10 PRINT "DAVE"
      20 GOTO 10

  • @spitefulwar
    @spitefulwar 21 วันที่ผ่านมา +424

    Marty! Fire up the DeLorean. We've got a date with history!

    • @lignow9762
      @lignow9762 21 วันที่ผ่านมา

      You mean skynet and the rise of the machines.
      " there is good money in killing people" - Bob Dylan - masked and anonymous

    • @stickoutofthemud
      @stickoutofthemud 20 วันที่ผ่านมา +3

      DeLorean just came out with an electric. Awesome looking ride.

    • @Robert08010
      @Robert08010 20 วันที่ผ่านมา +7

      One point twentyone Jiggawatts!?!?!?!

    • @aaronposey7003
      @aaronposey7003 20 วันที่ผ่านมา +2

      QDOS quick and dirty os. DOS. Dirty OS

    • @wishusknight3009
      @wishusknight3009 20 วันที่ผ่านมา

      @@aaronposey7003 Dirty Old Sock.

  • @alisharifian535
    @alisharifian535 21 วันที่ผ่านมา +53

    The MZ magic code that you see in the beginning of every MS-DOS executable (when opening them in a hex editor) is the initials of Mark Zbikowski.

    • @shimrrashai-rc8fq
      @shimrrashai-rc8fq 10 วันที่ผ่านมา +1

      Not only is "MZ" on DOS executables and earlier Windows executables, it is on modern PE Windows executables too _and_ all-platforms UEFI payloads (I was rather surprised and amazed, when working to help make the firmwares for a modern _ARM_ computer system - a Rockchip RK3588-based board called the Firefly ITX-3588J - that the UEFI payloads for the Linux[!] kernel had good ole "MZ" at the beginning!). The reason for this is not just legacy cruft; it's so that it can be abortively loaded by an old DOS/Windows system to spit out an error that it is not compatible with it :D

    • @TH-td7il
      @TH-td7il 5 วันที่ผ่านมา +1

      So Mark Zbikowski is the apex level digital tagger of all time then. He got his tag on the entire world. 😂 genius move

  • @paulscarlett4346
    @paulscarlett4346 21 วันที่ผ่านมา +177

    As a graduate of Waterloo in 79, I first saw a hierarchical file system on the Honeywell system operated by the Math faculty in my first year - 1974. The OS was GECOS -- and it had implemented the file system from Multics. I had heard of a system used by the grad students call Unix, but it was considered a toy compared to the Honeywell system. I believe this aspect of Multics, the file system, was it's greatest gift to the history of computer development.

    • @steveb1739
      @steveb1739 21 วันที่ผ่านมา +9

      Haha, I used WATFOR and WATFIV Fortran in South Africa way back when...

    • @seansingh4421
      @seansingh4421 20 วันที่ผ่านมา +4

      Honeywell was implementing ML into industrial food processing units at a huge scale before anyone even knew what ML was. I saw it with my own eyes 😳😳 and this is a pattern with them. Take an emerging tech or innovate such tech, implement it in its simplest form on a massive scale.

    • @IainShepherd1
      @IainShepherd1 20 วันที่ผ่านมา +3

      The obscure Centurion minis of that timeframe had a "Library" system. A library was a collection of files, rather like a directory, but I believe they weren't nestable.
      The Centurions are being restored and explored by @UsagiElectric - a wonderful retro tech channel.

    • @sakkasouffle
      @sakkasouffle 19 วันที่ผ่านมา +1

      just curious. do you still view Unix based architecture a toy nowadays? is there an evolution of Honeywell or equivalency? i'm a dummy and i'm being genuine.

    • @Ab_Irato
      @Ab_Irato 19 วันที่ผ่านมา +1

      Sometimes it is weird as a developer to imagine people having roughly twice the experience of your age.

  • @YdenPL
    @YdenPL 21 วันที่ผ่านมา +95

    I'm still not fully through the video but I saw Mark Zbikowski mentioned and haven't heard Dave mention that basically every .exe file there is, even today, starts with the magic number "MZ", Mark's initials. What a legacy, to be remembered in every piece of software for DOS and Windows to ever exist!

    • @JJFX-
      @JJFX- 20 วันที่ผ่านมา +3

      I had no idea, that's really cool. Thanks for sharing.

    • @benhetland576
      @benhetland576 20 วันที่ผ่านมา +5

      At least all the older files did. (COFF format if memory serves me right.) The newer ones use the Portable Executable format instead, where you find "PE" in the first few bytes of the file instead of "MZ".

    • @bighairycomputers
      @bighairycomputers 20 วันที่ผ่านมา +11

      "Every man dies two deaths. The one with his last breath, and the one with the breath of the last time someone says his name."
      Or something like that.

    • @YdenPL
      @YdenPL 20 วันที่ผ่านมา +14

      @@benhetland576 We both were partially incorrect. A PE format file actually includes everything we've mentioned.
      PE is based on the Unix standard COFF format, contains a 4-byte magic "PE\x00\x00" but also contains a stub DOS program (the one that just prints "This program cannot run in DOS mode") and that stub is right at the start, and still contains the "MZ" magic. So effectively PEs still contain "MZ" at the very start, with the "PE" magic coming later in the file.

    • @benhetland576
      @benhetland576 20 วันที่ผ่านมา +3

      @@YdenPL tnx for checking. Yes, and the MSDOS stub also imbeds another feature inherited from the pre-DOS era: the Ctrl-Z end of (text) file marker. So if you TYPE file.exe only this text, which is at the beginning, will print and not the rest of the binary "garbage".

  • @gdauch
    @gdauch 20 วันที่ผ่านมา +30

    'So, depending on who you believe - you cannot do this. But, I assure you that it works fine.'
    As I was listening to this while getting started with my day, it gave me a little chuckle. Can 100% appreciate the very gentle way of translating "hold my beer." Kudos sir.

  • @Epsilonsama
    @Epsilonsama 21 วันที่ผ่านมา +41

    Hopefully Microsoft releases 6.2 source code for preservation purposes. While this days DOSbox and FreeDOS are easier to work with from a user perspective this is still important for preserving history.

    • @LethalBubbles
      @LethalBubbles 3 วันที่ผ่านมา

      the fact that they chose to relese 4 is utterly sick. It's decades old and they still won't give us full freedom over our own systems, even massively outdated ones.

  • @robspiess
    @robspiess 21 วันที่ผ่านมา +26

    @8:29 oops, looks like you forgot to remove the "Title Text" from your onscreen animation. Love the video! Super interesting looking back at how MSDOS operated!

    • @jonnyphenomenon
      @jonnyphenomenon 20 วันที่ผ่านมา +7

      I love these imperfections. It shows Dave is human, and it's like Easter eggs for us watchers.

    • @GooseMugs
      @GooseMugs 14 วันที่ผ่านมา

      It's free engagement and quite clever

  • @JamieStuff
    @JamieStuff 21 วันที่ผ่านมา +45

    The 360K floppy in a 1.2M drive was a thing. While it generally worked, the problem arose if you used the 1.2 to overwrite a track already written by a 360 drive, then read it back on a 360 drive. The narrower 1.2 track would not completely erase the 360 track, and that "leftover" signal would appear as noise to the 360 drive. I never ran into the problem, but then I had both drives in my computer.
    BTW, formatting and writing a bulk erased disk on a 1.2 drive would read just fine on a 360 drive.

    • @jimpalmer1969
      @jimpalmer1969 21 วันที่ผ่านมา +2

      I always ran into trouble trying to read a 360K disk that had been overwritten with a 1.2M drive.

    • @pavelperina7629
      @pavelperina7629 21 วันที่ผ่านมา

      Uh, I'm young, I don't remember this. Always had 1.2M 5.25" drive and 720k 3.5" at least. If I don't count floppy attached to Sharp MZ-800. Brings back some memories when best PC games were F-15 Strike Eagle, Grand Prix, Lotus and the rest were few kilobytes games such as AlleyCat or Sopwith inferior to games on ZX Spectrum.

    • @stargazer7644
      @stargazer7644 21 วันที่ผ่านมา +2

      Came here to write this exact thing.

    • @therealjammit
      @therealjammit 20 วันที่ผ่านมา

      This is why I used one of those cassette bulk erasers when doing that.

    • @BrightBlueJim
      @BrightBlueJim 20 วันที่ผ่านมา

      @@pavelperina7629 There was a corresponding problem the other direction with 1.2M diskettes: you could read 720k diskettes on a 1.2M drive, but if you took a 1.2M diskette that had been formatted and used before, reformatting it for 720k would not produce floppies that could be read on a 720k drive, for the same track width reasons.

  • @deevs3973
    @deevs3973 21 วันที่ผ่านมา +61

    That takes me back to my old DOS (yes MS-DOS, but also PC-DOS as well, so I'm calling it just DOS LOL) programming days. I started doing network related programming, and was very dependant on the functions defined in "Share", which I'm sure you already know, wasn't added to DOS till version 3.10. The old INT 21 calls in DOS calls still seems as fresh as when I did assemble programming using MASM and later, Borland's Turbo Assembler back on the early to mid 80s. I was very dependant on the DOS technical reference manual (actually IBM's PC-DOS manual, since I worked in a mostly IBM facility), and other programming books, especially a book called "Undocumented DOS". I later became an IBM employee, mostly working their midrange systems, but that's another story for another day. In any case, thanks for the trip down memory lane. Love your content.

    • @YT-Observer
      @YT-Observer 17 วันที่ผ่านมา

      Yes, i was disappointed when the more "technical manuals" in the 5.25 binders were not provided after IBM DOS 2.0 i relied heavily on the information there - Just as i did the OS Data Structures and Systems Manuals for the 360 / system 3 / system 7 / System 34 & 36

    • @muzvid
      @muzvid 16 วันที่ผ่านมา

      I think I still have a copy of Undocumented DOS on my bookshelf! Turbo Assembler and Turbo C were *so* much better than their Microsoft equivalents. They were faster and generated smaller and more efficient executables. Turbo Debugger was also an excellent tool.

    • @BenEColeman
      @BenEColeman 15 วันที่ผ่านมา +3

      I mentored a recent college graduate back in the DOS days who, when he was a poor college student, had a computer, but only enough of DOS to boot the machine. None of the utility programs that come with DOS were included. He did, however, have Turbo Pascal, so he wrote his own utilities. He had what I came to call a "strangely shaped" knowledge of DOS. He knew nothing about the collection of utility programs that came with DOS, that the typical beginner *would* know, but he was very familiar with DOS internals, which he had to learn in order to write his own programs.

    • @deevs3973
      @deevs3973 15 วันที่ผ่านมา

      @@BenEColeman That's interesting. I worked for a company called DNA (Device Network Architecture) Networks, Inc. At the time (early 80s), they developed a PC networking system before such a thing existed around the early days of PCs and DOS. This is long before Ethernet. They started this before companies like Novell and Lantastic were even a thought in anyone's mind yet. They had their own hardware and cabling, and developed their own software around this, which had file and record locking done their own way. They wrote their own BIOS chips for the 1st PCs, and their network code lived in them. All of this had to work on PCs with as little at 128k of memory. It all started out as a way to share expensive printers on more that one PC. Honestly, what they did was quite an achievement in its day. What was particularly interesting to me while I worked there doing tech support was, none of the devolvement tools they used were from the outside world. They created their own in house Assembler and Linker, several BASIC compilers, a C compiler, an in-house Debuger that was network aware. All of these tools were wrote using the Assembler they wrote. I used to joke around with them as to how they wrote the Assembler before anything else, and they would talk about the "chicken and egg" thing. LOL I am not sure I ever got an answer to that for them. In any case, working there was a fantastic learning environment, and I learned to use all their tools, which unfortunately was pretty much useless in the outside world where they folded and I need to secure another job. In my opinion, the things they did were better than what the competition (Novell and Lantastic) was doing, that eventually put them out of business. But that's the way it goes. Just because you created something better, doesn't mean you get to become the standard. Anyone remember Wordstar? Those awful commands are still in every modern piece of word processing software today.

    • @deevs3973
      @deevs3973 15 วันที่ผ่านมา

      @@BenEColeman That's interesting because I worked for a company, DNA (Device Network Architecture) Networks, Inc., that created a PC networking product, before there was such a thing. They networked PCs together mostly, at the time, to share expensive printers and scanners, to reduce the cost of needing one attached to each PC in an office. They did it their own way, long before Ethernet and other types of networks (Novell, Lantastic, Ect) were even a thought in anyone's mind. It was back in the early days of the IBM PC and PC-XT, when the first versions of MS-DOS and PC-DOS were just getting started. The developers use their own in-house developed Assembler and Linker, their own versions of BASIC and C compilers, and an in-house developed Debuger that was network aware. They used nothing from the outside world. I remember once asking how they created their first Assembler before they has anything else, and was told a story about the "chicken and egg". LOL I'm not sure I ever got any sort of real answer. In the early days, all this needed to work on PCs that had 128k of RAM, and they wrote their own BIOSs with all the network code in them. As a side note, supposably they were sued by IBM for copying their BIOS code, and the developer printed out the source on a stack of green bar paper, and handed it to the judge and said "if anything is too close to their code let me know and I'll rewrite it". Take that with a grain of salt. That is the way it was told to me. They developed hardware and cabling as well. Remember, no Ethernet yet, so again, they did it their own way. While working there, I was around some really smart people, and learned a lot. I was a tech support person that did troubleshooting and minor code fixes and wrote utilities. As I learned to program using their tools, I came to realize, when the company ultimately folded due to competition from other companies that started developing networks (Novell and Lantastic), that my skills learnd there were unusable any place else unfortunately. It was an interesting time in my life, that I learn to appreciate later, and started to learn just how ahead of their time they really were. It is unfortunate that just because you have something that is better than the rest, it doesn't mean it will become the standard. Remember WordStar? Those awful commands are still in almost every modern word processor. I'm glad I got to tell there story again.

  • @mitchellstl
    @mitchellstl 21 วันที่ผ่านมา +33

    That PS2 looks like it just came out of the box from IBM. thanks for sharing your unique history perspective! Really cool!

    • @nezbrun872
      @nezbrun872 21 วันที่ผ่านมา +3

      We used these model 95 bad boys around 1993 or so for OS/2 & SQL Server backends, when IBM was also peddling their God awful SCSI RAID solutions.
      They had this feature where multiple drives would fail to start on cold boot, rendering the RAID invalid. The IBM engineer was called, he used the hammer in his toolkit to tap the drives to unstick the parked heads.
      The RAID config was stored in battery backed RAM on the HBA rather than across (or as well as) the drives... which was great until the HBA failed. OF course, there was no means to backup the config.
      That was the start of the death of IBM, we switched to Compaq. When your RAID solution is less reliable than a random bunch of disks, it's time to throw in the towel.

  • @brian2590
    @brian2590 21 วันที่ผ่านมา +22

    Sweet! I will have to build this. I had to learn MS-DOS, CP/M and DR-DOS as a teenager while working at a computer shop on the weekends. It was an odd time in the 80s as there was an equal demand for all three. Now in 2024 I see allot of interest in MS-DOS again with people wanting to build DOS only retro machines. Exciting times ahead, anxious to see what the community does with the code. Thanks for the video!

    • @zerog2000
      @zerog2000 20 วันที่ผ่านมา +3

      wow, DR-DOS, now there's a name I haven't heard in a long time...

  • @toddhill1465
    @toddhill1465 21 วันที่ผ่านมา +12

    IBM PC-DOS 3.11 was the gold standard when I was in college and also working at our local DuPont plant. They hesitated on 4.0 due to bad press and didn't advance until DOS 5.0 was released. We started using Windows 3.1 at the same time.

    • @MrVaskor
      @MrVaskor 15 วันที่ผ่านมา

      Similarly I recall going from MS-DOS 3.1 to 5 without ever seeing 4.

  • @bigal1863
    @bigal1863 21 วันที่ผ่านมา +132

    MSDOS 2.11 was what I cut my teeth on. Making an empty boot disk with the 4.0 boot sector wasn't cheating IMO. Here's your commendation for original thinking.

    • @macethorns1168
      @macethorns1168 21 วันที่ผ่านมา +8

      Same.

    • @DonaldDucksRevenge
      @DonaldDucksRevenge 21 วันที่ผ่านมา +6

      It was a common old school methodology

    • @chazcheadle
      @chazcheadle 21 วันที่ผ่านมา +9

      This kind of tinkering, before google, was a huge part of my youth. And when getting things to actually work (or fix what I’d broken) was the greatest feeling.

    • @MikkoRantalainen
      @MikkoRantalainen 21 วันที่ผ่านมา +5

      I think fdisk was able to write the required boot sector (which I think is hardcoded 512 bytes) so you could have checked how it was implemented if you didn't want to use the shortcut to use official boot disk to capture the image.
      Of course, without MS-DOS counterpart of POSIX "dd" command, writing the 512 byte image the boot sector might be a bit complex.

    • @lauram5905
      @lauram5905 21 วันที่ผ่านมา +7

      ​@@MikkoRantalainen now that it's open source, you can certainly make MS-DOS POSIX-compliant ;)

  • @KYMarty
    @KYMarty 21 วันที่ผ่านมา +36

    Love the stories. Takes me back to my early tinkering days. I started when everything was still DOS. I had an IBM PCjr. It was just enough different than an original PC that it forced me to learn a lot. I still have the original CPU that I swapped out for a V20 chip to double the CPU speed. Those were the days!

    • @lophilip
      @lophilip 21 วันที่ผ่านมา +2

      I'm from the same era! You learned a lot about computers at that time from tinkering around, and you had to tinker a bit to get software, games, or new hardware working! It was an exciting time to be in.

    • @TheRealScooterGuy
      @TheRealScooterGuy 20 วันที่ผ่านมา

      @@lophilip -- For some, it was aggravating as all get out.

    • @paulmadsen51
      @paulmadsen51 20 วันที่ผ่านมา +1

      @@lophilip Remember trying fix all the IRQ conflicts so your mouse, modem, sound card, and CD-ROM could all work at the same time? Ahhh yeah, those were the days. Had to get the modem going so you could log into the local BBS's! I still remember how much I loved my first modem (Supra 2400 baud). And don't ever forget the wonderful Telix terminal program! Yeah baby!

    • @greggv8
      @greggv8 20 วันที่ผ่านมา

      My PCjr with V20 CPU and 22NICE ran CP/M faster than my Xerox 820-II that had a Zilog Z-80. 22NICE was a Z-80 system emulator that could run on X86 CPUs *and* was able to activate the Z-80 hardware emulation in NEC's V20 and V30 CPUs so CP/M could run natively. 22NICE also set up the RAM and the rest of the system environment on a PC compatible for CP/M. I could use the same boot floppy on the Xerox, my PCjr and my 286.

    • @KYMarty
      @KYMarty 20 วันที่ผ่านมา

      My first modem was 300 baud. In 1 hour online downloading from a local BBS I could almost fill a 360k floppy drive before my hour was up! The good ole days!

  • @stefanbuscaylet
    @stefanbuscaylet 20 วันที่ผ่านมา +9

    XOR BX,BX was one clock cycle faster and one byte shorter than MOV BX,0 in the 8080 days. Great to see you MSFT guys knew this. I was using MASM pretty much the same time you were. I just didn’t work for Microsoft. Great job and thanks for posting this.

    • @TomStorey96
      @TomStorey96 20 วันที่ผ่านมา +1

      Optimisation 101
      The power of working directly from registers, and XORing a value with itself produces zero. No need for any more bus cycles to load an immediate value.

    • @stefanbuscaylet
      @stefanbuscaylet 20 วันที่ผ่านมา +2

      @@TomStorey96 Amen brother. I’d only use the c compiler if I knew ahead of time with the code it generated and agreed. My tattered and torn 8080 software reference guide (the one that told the number of clock cycles to execute) is still on my shelf and i know all these years later about half the 8080 instructions and the clock cycles the took. I still loved the 6502 better than 8080 instruction set.

    • @TomStorey96
      @TomStorey96 20 วันที่ผ่านมา +1

      I've found Turbo C to generate assembly that isn't too far off what I would write by hand. You can probably still do better by hand but I'll take the tiny performance hit for more easily readable code. :)
      I like assembly but I'm way more productive in C and will use it when I can.

  • @arothfuchs
    @arothfuchs 21 วันที่ผ่านมา +1

    I thoroughly enjoy your videos. I was a Systems Engineer at Compaq Computer from 1992 to 2001 and can relate to everything you talk about!! Thanks for all the trips down memory lane. Cheers!

  • @juanmacias5922
    @juanmacias5922 21 วันที่ผ่านมา +12

    This was awesome, I had heard how uploading the files to Github messed up the formatting as it was upgraded to UTF-8.

  • @DOSdaze
    @DOSdaze 21 วันที่ผ่านมา +4

    Would love to see some longer deeper dives into the code of DOS. Perhaps explaining some of the clever tricks you had time use to get around limitations, or things that just needed unorthodox solutions. I'm sure you going over even the most mundane details would be fascinating.

  • @phillee2814
    @phillee2814 21 วันที่ผ่านมา +5

    I was already a Digital Research user with CP/M on my prior 8-bit system, so stayed with them and went to DR-DOS when I eventually bought my first PC (a 286, which had a 40-MB HDD). That, at the time, was the only way to run the 40-meg HDD as a single partition, which made me pretty happy. The largest MS-DOS partition at the time was 32meg, and I saw no good reason to slice it up.
    I made some slightly strange OS decisions along the way, not using Windows personally until I could get NT, although I used a pile of variants of Windows at work, and CP/M-86 into the bargain. But for my own use, I kept up with the NT route, which proved to be the winning track to be on. I still run legacy versions on air-gapped machines locally, to get use out of a few programs that stopped being maintained by the writers, and which I was never able to get running on more recent versions of Windows.
    You are more likely to find me on an open-source OS these days.

  • @lorensims4846
    @lorensims4846 21 วันที่ผ่านมา +19

    On the Atari we called Atari DOS "DOS" because that was the BASIC command used to access the Atari DOS menu. DOS was just too generic a term back in the day to expect someone to just know which DOS you were talking about.
    The handheld Atari Portfolio used a version of MSDOS 2 because MSDOS 3 needed to be able to write back to itself and Atari needed the DOS to be in ROM.
    I've always thought of MSDOS 3.3 as the standard and everything that came later as just adding more bells and whistles.

    • @JCCyC
      @JCCyC 21 วันที่ผ่านมา +1

      3.3 was the sweetest spot. 5 was a close second. Edit: I'll be really really happy when MS releases either of these's source.

    • @david672orford
      @david672orford 21 วันที่ผ่านมา +2

      For a while in the late 1970's into the second half of the 1980's practically every personal computer with floppy drives had a DOS. The popular TRS-80 computers had TR-DOS. Heathkit computers had HDOS and so on.

    • @tachikomakusanagi3744
      @tachikomakusanagi3744 21 วันที่ผ่านมา

      I remember the Atari ST had TOS.

    • @DaFetrow
      @DaFetrow 20 วันที่ผ่านมา +1

      I always wondered why my portfolio had DOS2. Thanks!

    • @benhetland576
      @benhetland576 20 วันที่ผ่านมา

      @@JCCyC second that, 3.3 was quite "functional". However, I found that 2.11 was the last version not to mess with things behind the scenes, and instead do what you told it to. If you copied a disk, that's what you got, an exact copy. In ver 3 it started trying to be "smart", and for instance changed the disk label (identifier) on the copy.

  • @Fastball115
    @Fastball115 20 วันที่ผ่านมา

    Half the time I have no idea what you are talking about, but I love this channel! I remember booting up MS-DOS and playing my first games off floppy disks. Awesome to see how it works in the back-end.

  • @Placeholderhandle1
    @Placeholderhandle1 21 วันที่ผ่านมา +5

    Been waiting for this! Looking forward to hearing your takes!

  • @Nintendokater
    @Nintendokater 21 วันที่ผ่านมา +65

    MS-DOS is so important in computer history! So this step is fantastic

    • @Qohist
      @Qohist 21 วันที่ผ่านมา +12

      ever heard of unix? (leave me alone please i was just saying not trying to attack anyone like that one guy below did")

    • @Juanguar
      @Juanguar 21 วันที่ผ่านมา +8

      @@QohistUnix served a very different demographic

    • @TheInfidel_SlavaUA
      @TheInfidel_SlavaUA 21 วันที่ผ่านมา +4

      @@Qohist shooo shooo

    • @butsukete1806
      @butsukete1806 21 วันที่ผ่านมา +2

      @@Qohist It was ok, but VAX/VMS was better.

    • @Qohist
      @Qohist 21 วันที่ผ่านมา +1

      @@Juanguar i know ms dos was meant to be a desktop os unix was for servers but im just saying

  • @owenoj
    @owenoj 21 วันที่ผ่านมา +2

    I've really enjoyed your videos taking us all back in time of how the dev life was back at Microsoft. I live in the UK and I remember growing up with Windows 95/98, 2000, etc. Now I'm a senior software engineer working with .NET C#, it's always peaked my interest how Windows was built! Cheers Dave for that!

    • @Innesb
      @Innesb 20 วันที่ผ่านมา

      “Piqued”?

  • @frigifide
    @frigifide 20 วันที่ผ่านมา +2

    Super cool man. Glad you're around to keep this knowledge alive.

  • @bkbreyme
    @bkbreyme 21 วันที่ผ่านมา +10

    The requirement for "MS-DOS" specificity may have been a holdover from the 80's when we had multiple DOS's that were not necessarily related. For example, we had Atari DOS, Apple DOS, Commodore DOS etc. None of these things were related in any way. At the time DOS was just generic for "Disk Operating System" and did not have any specific meaning beyond that. DOS only became synonymous with MS-DOS as IBM "clone" PC's took over the market in the mid-to-late 80's, with almost full takeover by about 1990.

    • @chacal5844
      @chacal5844 20 วันที่ผ่านมา

      In the 70s there was also IBM DOS for the System\360 mainframe :)

    • @nickwallette6201
      @nickwallette6201 20 วันที่ผ่านมา +2

      No, I'm sure this was 100% a company-wide mandate to reinforce the mentality that "the only DOS is MS-DOS." Microsoft was _fiercely_ competitive at this time, and not above sabotaging compatibility with "Not-MS-DOSes". The FUD, along with OEM strong-arming, was successful, though. I had _heard_ of alternative DOSes, like PC-DOS (which wasn't really an alternative, at least until version 5 or 6), DR-DOS, etc. ... but I had never seen them. The closest I got was an AST machine that, while it shipped with MS-DOS, used PC-DOS naming convention of ibmbio sys and ibmdos sys instead of io sys and msdos sys. I'm not sure why the discrepancy, and the disks were definitely labeled MS-DOS and had an MS-DOS setup program. Still, it was drilled into your head that MS-DOS was the only way to fly. That was NOT an accident.

    • @OldAussieAds
      @OldAussieAds 20 วันที่ผ่านมา +1

      Not to mention DR-DOS.

    • @fcassia
      @fcassia 18 วันที่ผ่านมา

      Microsoft really really hated digital research getting into their turf with DRDOS

    • @OldAussieAds
      @OldAussieAds 18 วันที่ผ่านมา

      @@fcassia I don't doubt it. I reckon that was the reason for wanting everyone to say "MS-DOS". Anyone can say they're DOS, but only Microsoft can say they're MS-DOS.

  • @jfseaman1
    @jfseaman1 21 วันที่ผ่านมา +27

    I lived this. So, cool to see acurate history.
    Had CP/M systems as well.

    • @LarryRobinsonintothefog
      @LarryRobinsonintothefog 21 วันที่ผ่านมา

      Had it mainly in college.

    • @greenrocket23
      @greenrocket23 21 วันที่ผ่านมา

      If I may ask, what was your experience with CP/M like? Was it better, worse or about the same as DOS?
      Thank you for your time

    • @LarryRobinsonintothefog
      @LarryRobinsonintothefog 21 วันที่ผ่านมา +1

      @@greenrocket23 CP/M was pretty primative compared to DOS (especially later DOS with Unix like features), but at the time we took in stride. Never used CP/M+.

    • @jfseaman1
      @jfseaman1 20 วันที่ผ่านมา

      @@greenrocket23 Like Larry said. Primitive, simple. Source of "Int 21" and many of the command options. "DOS" copied "int 21" for "compatibility".
      It was the 80s, now I'm 66. There has been a lot of O/S and programming since.
      If I was a RETRO enthusiast, CP/M, CM/M+ with better directory structures, yeah, I'd play with that.

    • @mikafoxx2717
      @mikafoxx2717 20 วันที่ผ่านมา

      CP/M came first, in the 70's and worked on more primitive 8 bit CPU's. QDOS which turned into MS-DOS was based on CP/M in usage thanks to familiarity but took advantage of the more capable 16 bit 8086 and storage media at the time. Fat12 and on was a QDOS creation, CP/M used a more primitive method to keep track of used blocks on the drive, using a bit field, which scales poorly to larger drives.​@@greenrocket23

  • @Indrid__Cold
    @Indrid__Cold 20 วันที่ผ่านมา +2

    My journey with MS-DOS began in 1988 at version 3.1. It was infuriatingly obtuse. The best book you could buy on it was the equivalent of learning how to speak English by reading Websters dictionary. Had it not been for a salesman named Chauncey, I suspect I would have given up after a month or so. However Chauncey asked if I'd like a modem with my new computer (a laptop that featured a lead-acid battery). The modem allowed me to connect to Compuserve and actually do something interesting with my new PC. Six months later I had figured out MS-DOS and shortly thereafter joined the IT business.

  • @ACatTooFar
    @ACatTooFar 17 วันที่ผ่านมา

    Hey Dave - really glad I found your channel - we can wait to read your book. I have Asperger and have always considered a different way of processing as a blessing more than a curse

  • @asicdathens
    @asicdathens 21 วันที่ผ่านมา +7

    I remember a guy that made the interrupt.lst file (Ralf Brown's Interrupt List) for MS-DOS describing all INTXX calls, parameters and returns.

    • @maxmuster7003
      @maxmuster7003 21 วันที่ผ่านมา +3

      There is a html version online with a table of interrupt numbers. But the original is inside some zip files.

    • @nickwallette6201
      @nickwallette6201 20 วันที่ผ่านมา +2

      I bet that was ... fun ... to figure out. At least, the portions not well-documented and released to civilians.

  • @skesinis
    @skesinis 21 วันที่ผ่านมา +12

    This brings back so many memories!! MS-DOS 4.01 was my first operating system on my first PC back in 1991! I had a Samsung 386sx/16MHz at the time, with 2MB RAM, 40MB Seagate ST-157A IDE HDD, and a Tseng Labs ET3000 SVGA with half the video RAM installed, (I think it was 256Kb), along with a colour VGA monitor (just up to 640x480) which would be the bare minimum system to run Windows 3.0 in 386 enhanced mode!
    I don’t remember if the boot menus were introduced in later versions of MS-DOS, but I remember using them a lot to customise the memory configuration and drivers for each reboot, just to make enough space in RAM to run certain memory hungry programs or games of that era.

    • @starfrost6816
      @starfrost6816 20 วันที่ผ่านมา +1

      Boot menu was MS-DOS 6 fwiw

    • @skesinis
      @skesinis 20 วันที่ผ่านมา

      @@starfrost6816 I think that I was also using 4DOS a bit earlier than MS-DOS 6, and I first intruduced selective loading of programs in autoexec.bat back then, but I can’t remember for sure. It could just as well be on plain old MS-DOS 6 the first time I used boot menus… I definitely had multiple configurations much earlier with diferent boot diskettes for some games, or by copying config.sys and autoexec.bat pairs from a stash directory for the same purpose before the menus.

  • @AdamosDad
    @AdamosDad 20 วันที่ผ่านมา

    I started with DOS 2, later when 5 came out I could not put it on my machine because of the low density of my floppy drive. So, I took my machine to work and used Procomm to download it straight from the sever over a serial port. After win98 I used DR Dos. I realy enjoyed this one Dave.

  • @TropicalCoder
    @TropicalCoder 9 วันที่ผ่านมา

    In school we had a CP/M server with an array of Z80 powered terminals. It had a big Winchester drive that stored our accounts. Later my first computer was a 286 with a Hercules graphics card running MS_DOS. I'm not certain of the version but on the bookshelf beside me I have a copy of "DOS 6: A Developer's Guide", so it must have been that. That was the first computer book I ever purchased. I see now it still has a price sticker on it - $17.99 "Special" which makes me recall that I bought it at a computer book fair, and it was after I had already figured out a lot of stuff without such a reference. That book was my pride and joy and my capability to code in DOS really took off from there. I certainly remember the INT 21 with the command in the AH register was the key to it all.

  • @matt_b...
    @matt_b... 21 วันที่ผ่านมา +10

    I seem to remember MSDOS4.0 being somewhat plagued with issues, with folks rolling back to 3.3.
    I am already subscribed to the channel. You're welcome!

    • @stargazer7644
      @stargazer7644 21 วันที่ผ่านมา +3

      Yeah we refused to use 4.0. We stayed on 3.3 until 5.0 came out.

    • @schifoso
      @schifoso 20 วันที่ผ่านมา

      It was a bloated and slow.

    • @thenortherner3890
      @thenortherner3890 5 วันที่ผ่านมา

      @@stargazer7644 I remember that as well but considering there wasn't the internet it must have come from a review in some monthly computer magazine that I spent a fortune back in the day.

  • @shortguy1952
    @shortguy1952 21 วันที่ผ่านมา +5

    I used to install IBM XTs in the government with all their software. I was EXTREMELY popular. It changed how everyone did business. The snotty mainframe and PDP-11 people got left in the dust. Good times.

  • @llwellyncuhfwarthen
    @llwellyncuhfwarthen 20 วันที่ผ่านมา +2

    The reason it was always referred to as MS Dos was a lot of companies prior to MS Dos v5 had 'individual' versions of Dos that they had partially licensed from IBM or MS (lots of historical quirks in this era). I remember Tandy Dos (which was a MS dos clone with Tandy specific commands added into the base operating system code), there was of course IBM Dos, and MS Dos, I had a number of different system specific Dos because I was curious about electronics and each companies unique code.

  • @prte100
    @prte100 7 วันที่ผ่านมา

    You will not be here forever, and Im really thankful that you explain the work you didt like 30 years ago or so (sorry, Im 29, never touchd MS DOS in real life^^), so your videos are historical recordings for the future, to tell people and explain them how it was then.
    Thanks for sharing your work and how its built, its really fascinating :)

  • @markward4532
    @markward4532 21 วันที่ผ่านมา +2

    Thank you Dave, I remember using MSDOS and liked it, those were the days, editing autoexec.bat and config.sys to load drivers into small amounts of ram. Now computing is so complex!

    • @paulmadsen51
      @paulmadsen51 20 วันที่ผ่านมา

      Remember TSR (terminate and stay resident) programs? DOS wasn't multitasking, but this was a bit of a hack to get something running behind the scenes to provide background services. I don't remember what I was running, but I do remember fussing around with HIMEM.SYS and disk caching to try to clear up enough of that 640k because TSR's couldn't run in the high memory area or extended memory, as I recall.

  • @lucyinchat
    @lucyinchat 21 วันที่ผ่านมา +5

    I can’t wait until Dos6.2 is open sourced. freeDOS will love it.

  • @davidinark
    @davidinark 21 วันที่ผ่านมา +2

    I use GreaseWeazle for all kinds of disk formats and (other than operator headspace issues) have not had any issues using a 1.2mb drive to do it. Great vid btw!

  • @William-nw4sk
    @William-nw4sk 18 วันที่ผ่านมา

    I have a computer that used to run Windows 95 and MS-DOS 6.22. It is an IBM Sureone POS 4614 from 1996. Thank you for your work on those OS's! That computer is sitting next to my modern Windows 10 computer right now! It is currently running MS-DOS 3.31.

  • @3characterhandlerequired
    @3characterhandlerequired 21 วันที่ผ่านมา +12

    I hope this makes dosbox even better somehow.

    • @ralphmacchiato3761
      @ralphmacchiato3761 21 วันที่ผ่านมา

      It could

    • @unvergebeneid
      @unvergebeneid 21 วันที่ผ่านมา +7

      I mean, FreeDOS has been a thing for over a decade.

    • @nickwallette6201
      @nickwallette6201 20 วันที่ผ่านมา +4

      It probably won't. At this point, the free software investment in reverse-engineering DOS is pretty much complete.

  • @WyrdieBeardie
    @WyrdieBeardie 20 วันที่ผ่านมา +5

    Mark Zbikowski is why the DOS header starts the way it does... "MZ"

  • @derekhaddow
    @derekhaddow 21 วันที่ผ่านมา +1

    It's all way over my head, but im hooked none the less. ❤ your channel Dave.

  • @joshbydlon5205
    @joshbydlon5205 21 วันที่ผ่านมา +2

    I had an xt that ran dos 3.11. Me and a buddy upgraded to 6.22. The 360k floppy was just big enough to get the 6.2 sys command on it. Copied the rest of the files via telex and zmodem over 2400 baud between our houses. Took a few overnight copy sessions before it was complete.

  • @UncleKennysPlace
    @UncleKennysPlace 21 วันที่ผ่านมา +17

    The first release of MS-DOS 4.0 was extremely memory hungry, IIRC.

    • @mikejones-vd3fg
      @mikejones-vd3fg 21 วันที่ผ่านมา +6

      i hope you fed your hungry DOS

    • @mlegos
      @mlegos 21 วันที่ผ่านมา +3

      Memmaker

    • @stargazer7644
      @stargazer7644 21 วันที่ผ่านมา +4

      Yeah, it's been too long to remember the details, but I do remember 4.0 was a turd and we didn't use it. We stayed on 3.3 until 5.0 came out.

    • @BrightBlueJim
      @BrightBlueJim 20 วันที่ผ่านมา +6

      @@stargazer7644 Funny how they keep releasing source code for the versions nobody liked.

    • @rashidisw
      @rashidisw 20 วันที่ผ่านมา +1

      @@mlegos When MS-DOS 4.0 was first released, MemMaker wasn't available yet.

  • @AdamMPick
    @AdamMPick 21 วันที่ผ่านมา +3

    Stainless steel mouseball? Me likes.
    Love how your first impression of the code was "that is not how you keep the formating".

    • @concinnus
      @concinnus 14 วันที่ผ่านมา

      That ball alone, unless it's hollow, weighs more than a Finalmouse UltralightX.

  • @charlesdubats3740
    @charlesdubats3740 21 วันที่ผ่านมา

    So much fun to see operations that relied on the original BIOS/OS calls accessed by software interrupts. Did a ton of assembly language programming on the 8086/8087 processors for embedded control products, but also hacking out util programs. As we fled the mainframe and minicomputer crosscompilers to PCs, it was a wild ride. Peter Norton and Kim Watt were legendary.

  • @James1095
    @James1095 13 วันที่ผ่านมา

    My recollection from back in the days when my family had an original 8088 PC and a then-modern 386sx is that the 1.2MB drive would read and write 360k disks just fine, however a 360k disk written by the 1.2MB drive would usually no longer work in a 360k drive. The problem being that the tracks of a 40 track drive end up right down the middle between two tracks of an 80 track drive, the 80 track drive would need to be able to half-step in order to write a 40 track disk with the same alignment. I don't know if this was the case for all drives, but I do specifically remember having problems going back and forth between the original full height 360k drives in the IBM PC and the Teac 1.2MB drive in the 386.

  • @Chris.Brisson
    @Chris.Brisson 21 วันที่ผ่านมา +10

    Your dog isn't the only one snoring. 🛌 Just kidding, this is fun stuff. I can't wait to rewrite MS-DOS 4.0 using Borland C++.

  • @EboWalker
    @EboWalker 21 วันที่ผ่านมา +5

    Awesome 👍

  • @ConwayBob
    @ConwayBob 15 วันที่ผ่านมา

    That wasn't just your dog snoring! Seriously, this is great stuff, Dave. I loved MS-DOS 4.x when it was the latest and greatest sliced bread. I continued to use MS-DOS through version 6.22 for which I still have an unopened, shrink-wrapped box with the 5.25-in floppies. One of these days I'll pick up a vintage PC clone at a garage sale and give that old horse another ride.

  • @henrikstenlund5385
    @henrikstenlund5385 12 วันที่ผ่านมา

    I started using MS-DOS around 1982 and used it a lot after that. I also wrote a lot of ASM code, entire programs. I had all forgotten how tedious it was and what a bear to maintain and develop further.

  • @Plagueheart
    @Plagueheart 21 วันที่ผ่านมา +6

    Physical Box art for Applications back in the day were real art. I fell in love with the MS-DOS 6.x Box Art. Even Microsoft C++ 6+, The CD-ROM for C++ 6 was nice looking with the 3D Blocks Typography. Miss these days

  • @sebastianibanez7219
    @sebastianibanez7219 21 วันที่ผ่านมา +3

    love the kobayashi maru reference

  • @RobertCorrington
    @RobertCorrington 21 วันที่ผ่านมา +2

    The finest digital archeology on the interwebs. Keep up the great work, Dave.

  • @bryanramer6439
    @bryanramer6439 21 วันที่ผ่านมา +1

    Thanks again Dave. It feels like I have an insider to Microsoft every time I watch your videos

  • @BastetFurry
    @BastetFurry 21 วันที่ผ่านมา +4

    I bet the reason for insisting on calling it MSDOS in the office was because of DRDOS/NovellDOS. 😅
    By the way, you can set the reported DOS version in Dosbox, "ver set 4 00" should have done the trick.
    And i remember that not all commands checked for the version, MSCDEX didn't and i used it (yes, bad kitty, bad bad kitty) on NovellDOS because NVCDEX was somehow slow as molasses.
    And for testing such a system, 86box or PCem can emulate an old PC pretty good, even down to the dreaded CGA artifacts if you want.

    • @wmrg1057
      @wmrg1057 21 วันที่ผ่านมา +2

      Don't forget TRS-DOS, MICRO DOS, and others for the TRS-80

    • @nathanr7931
      @nathanr7931 20 วันที่ผ่านมา +1

      Yes it works.

  • @goodmanke
    @goodmanke 21 วันที่ผ่านมา +3

    I haven’t seen content about ReactOS on this channel but I’m curious on Dave’s opinion. It’s basically a GPL “rewrite” of Windows Server 2003 currently. I tried it in a VM recently, actually it was better than expected, could use total commander and firefox 53 and it didn’t crash 😂
    All the source is public and said to be using genuine non-MS code.
    PS: Task manager is implemented already :)

    • @gaius_enceladus
      @gaius_enceladus 19 วันที่ผ่านมา +1

      @goodmanke - I've played around with ReactOS - it's great! Huge respect to the devs there, they've done great work!
      I also have great respect for the Haiku devs - they're doing awesome work too!

  • @jlawton
    @jlawton 21 วันที่ผ่านมา +1

    Perhaps you can fork the repo and commit the changes/fixes you made to make the code compile? Thanks for all you do, Dave. We appreciate your insights!

  • @willynebula6193
    @willynebula6193 21 วันที่ผ่านมา +2

    The fact that you can simply explain what is happening in assembly Dave.
    I kindly ask you for MORE !!!
    Please and thank you.

  • @jantestowy123
    @jantestowy123 21 วันที่ผ่านมา +3

    Been waiting for this one...

  • @manojsahu-hr9qe
    @manojsahu-hr9qe 21 วันที่ผ่านมา +44

    Man ms dos was something every body loved and hated at the same time

    • @samuelhulme8347
      @samuelhulme8347 21 วันที่ผ่านมา +15

      Just like Windows.

    • @nezbrun872
      @nezbrun872 21 วันที่ผ่านมา +14

      Things were different. Instead of spending hours on the internet going into endless rabbit holes looking for solutions, you spent hours with jumpers, editing config.sys & autoexec.bat, and rebooting, on the impossible task of getting everything to work together.

    • @not_kode_kun
      @not_kode_kun 21 วันที่ผ่านมา

      ​@@samuelhulme8347 one must be getting a really fat check from Microsoft to dare claim they love Windows in this day and age

    • @jovetj
      @jovetj 20 วันที่ผ่านมา +1

      I never hated it. I don't hate Windows either... I do hate what it's become, though.

    • @BrightBlueJim
      @BrightBlueJim 20 วันที่ผ่านมา +1

      @@jovetj ..said somebody, at every new release.

  • @KibaSnowpaw
    @KibaSnowpaw 16 วันที่ผ่านมา

    I have fond memories of finding out where the game launch file was. I can't remember if they used .exe files in MS-DOS; it's been too long. But I do remember hopping from folder to folder using the keyboard, since it wasn't like Windows 3.1. It was before the OS had a real UI, or you could call it a UI but only barely by today's standards.
    Anyway, I grew up with MS-DOS and then Windows 95. I never had Windows 3.1 or NT, and all the others between 95 and MS-DOS. I did try NT later in life, about 20 years ago, when someone I knew had an old PC with it on. He even gave me the install disk, which I still think I have somewhere.
    Later, my dad got his PC dual-booted with Windows 98 and MS-DOS, and my mom got a Windows 98+ PC when that OS came out. So I've been on Windows since the beginning of time.

  • @wolfgangkoehler1299
    @wolfgangkoehler1299 17 วันที่ผ่านมา

    Your "old" hardware looks so pristine in the video - cool!

  • @nezbrun872
    @nezbrun872 21 วันที่ผ่านมา +18

    a) 1.2MB vs 360KB floppies, IME you got lucky there fella.
    b) "Memory test takes about a minute to run and then the system will finally boot": oh, and what amazing progress we've made on that in 40 years 😜

    • @nkronert
      @nkronert 21 วันที่ผ่านมา +2

      One would think that writing 360k floppies should work if one were to write 2 adjacent tracks using an 80 track drive with the same data, but issues with sync timing accuracy and track length differences would probably make an even bigger mess than just writing every other track (on a virgin floppy).

    • @BrightBlueJim
      @BrightBlueJim 20 วันที่ผ่านมา +2

      It really isn't a problem at all, if you either start with unformatted diskettes or degauss them before formatting. The problems only happen when there is anything at all written on the odd-numbered tracks.

    • @nurmr
      @nurmr 20 วันที่ผ่านมา +2

      Just be glad the memory test prints progress. The early ones don't, so the computer doesn't print _anything_ on the screen (not even a flashing cursor) until the memory test has completed.

    • @LRM12o8
      @LRM12o8 19 วันที่ผ่านมา

      Nowadays it's Windows updates that slows down your boot and they won't be done in just a minute! 😂
      (Not an issue on Linux though ^^)

    • @henningerhenningstone691
      @henningerhenningstone691 8 วันที่ผ่านมา

      Having to wait 1 minute with nothing on screen sounds oddly familiar to me as an AM5 user 😅

  • @DrFiero
    @DrFiero 21 วันที่ผ่านมา +8

    I remember typing in a program on his very early PC for a guy "way back when" since he didn't type very well.
    Then saving it... to.. cassette. :O

    • @kstricl
      @kstricl 20 วันที่ผ่านมา +1

      At the age of 7, my sister and I would sit down at the Vic 20. I would read and she would type.
      Only time we weren't fighting 😂

    • @Innesb
      @Innesb 20 วันที่ผ่านมา

      @@kstriclThat’s nice to hear. I hope you have more good memories.

  • @TomCee53
    @TomCee53 21 วันที่ผ่านมา +1

    The first pc I worked on was a dual floppy XT back in 83, as best I can remember. It was used by the secretary. I didn’t have one of my own until later. My real job was keeping an IBM 4341 running.

  • @c128stuff
    @c128stuff 21 วันที่ผ่านมา +1

    I tested support for multiple harddisks in DOS 4.0 fdisk on PS/2 machines for IBM. Fun to finally be able to see the code I tested at the time.

  • @jazzerbyte
    @jazzerbyte 21 วันที่ผ่านมา +3

    Would be interesting to explore some small multitasking demo

    • @overbored1337
      @overbored1337 21 วันที่ผ่านมา +1

      As far as I know, it was done by hooking the timer interrupt

    • @jazzerbyte
      @jazzerbyte 21 วันที่ผ่านมา +1

      @@overbored1337 The timer interrupt hook could be used with any version of DOS by any program, including Desqview to simulate multitasking. If MSDOS 4.00 was called "multitasking" out of the box, it should support simultaneous programs running or have a formal multitasking API.

    • @overbored1337
      @overbored1337 21 วันที่ผ่านมา

      @@jazzerbyte I always used the timer interrupt because of backwards compability, because even 386 instructions were discouraged in real mode dos programs long into the pentium era.

  • @skiprope536
    @skiprope536 21 วันที่ผ่านมา +5

    Open source for all.

  • @LuisCarlosBolanhosVillalobos
    @LuisCarlosBolanhosVillalobos 12 วันที่ผ่านมา

    Great video, description, history and museum. Thanks for sharing. Best regards.

  • @regth8208
    @regth8208 21 วันที่ผ่านมา

    Very cool insights today, thanks as always Dave!

  • @foolcat23
    @foolcat23 21 วันที่ผ่านมา +3

    I dimly remember that as a student, I wrote TSR (terminate and stay resident) programs with MASM, hooking into INT 8 to get called and executed periodically. There was a full-screen text mode editor simply called M (M.EXE), which was pretty advanced at the time; it supported column-based marking and copy/pasting.

    • @nurmr
      @nurmr 20 วันที่ผ่านมา

      I wrote a TSR that hooked the open file int21 function and printed the file name on the last line of the screen so that I could see what files were being loaded as programs started.

  • @Logic44
    @Logic44 20 วันที่ผ่านมา +3

    I bet seeing this code brought back a lot of memories.
    I've been experimenting with DOS 6.22 since I was about 13 or 14 years old. As someone born in 2003, that's pretty odd, but I didn't care.
    I've been a computer/IT nerd since I was 10, and now, a decade later, I finally get to see who made my favorite version of DOS possible!

    • @smiththers2
      @smiththers2 20 วันที่ผ่านมา

      im glad to see your birth year did not dissuade you from learning the older OS, as i was born 20 years earlier than you, and i never felt like i could get into the stuff that was even a little bit older than myself. i have always wished i was born about 15 years earlier so that i could be around when software was starting to be made from scratch. to this day i still have no idea how it all works on the hardware level. i tried taking some computer courses but ultimately it felt too much for me to pick up. i can use and build computers just fine, but i will always have this missing chunk of information....

  • @orychowaw
    @orychowaw 16 วันที่ผ่านมา

    This takes me back to the days when I made a local book shop order me a copy of "Dissecting DOS". They where far outside their depth, but manged to get it thanks to me having the ISBN... that was in the mid-90s

  • @LuneLovehearn
    @LuneLovehearn 21 วันที่ผ่านมา +1

    listening to you is like listening to that tech savvy uncle that is "boy, I will tell you a story about the old days of tech" and I can't get tired of listening

  • @ferrinkatz6796
    @ferrinkatz6796 21 วันที่ผ่านมา +3

    Could you please push your fixed version back to a fork on GitHub with the fixes you did?

  • @MrDowntemp0
    @MrDowntemp0 21 วันที่ผ่านมา +3

    I get why MS might not want to release versions of Dos past 6.2, the ones that are essentially part of Windows 95. But why do you suspect they haven't open soured 6.2?

  • @jeremiahlyleseditor437
    @jeremiahlyleseditor437 21 วันที่ผ่านมา

    Thanks Dave
    This is a throwback to the 80s for me.
    I might have questions about this in a few months depending upon how well I move through the code.
    Thanks Again

  • @borgfeidor4875
    @borgfeidor4875 21 วันที่ผ่านมา +1

    Great stuff as always! Caught this release from Lunduke and surprised you didn't give a not. Or perhaps that was what that Simpsons skit was. I am guessing you guys were on different floors.

  • @Pritam252
    @Pritam252 21 วันที่ผ่านมา +3

    Now i can see MS-DOS. Literally.

    • @SpeccyMan
      @SpeccyMan 21 วันที่ผ่านมา +1

      No. Actually.

  • @orchishgrunt7888
    @orchishgrunt7888 21 วันที่ผ่านมา +6

    I've always wanted an EXE file that loads a message saying "For my fan OrcisGrunt on {date}! - Mark Z" digitally signed by Mark Z. It would be cool to have a compiled application featuring the MZ header and Mark's Digital Signature.
    Why can't software rock stars compile and sign stuff like pop rock stars?

    • @RCShadow
      @RCShadow 21 วันที่ผ่านมา

      Here is a question for you. What makes an .exe vs a .com?? And no, I don't mean an internet domain name here. It's an MSDOS question and a very easy one.

    • @pankoza2
      @pankoza2 21 วันที่ผ่านมา

      @@RCShadow the format itself

    • @overbored1337
      @overbored1337 21 วันที่ผ่านมา +2

      @@RCShadow The com is basically just a small exe with the header omitted, replaced with default values, so its basically a raw binary program with defaults like shared code/data/stack segment, no entrypoint & no relocations to name a few

    • @ch2laughlin
      @ch2laughlin 18 วันที่ผ่านมา

      @@RCShadow .exe format starts w/ MZ. Com is older and was inherited from CP/M. IIRC the MZ format / exe's start with MS/PC DOS 2.0

    • @bobvines00
      @bobvines00 9 วันที่ผ่านมา

      @@RCShadow The ".com" files are up to 64K in size, ".exe" files are anything larger than that, if memory serves.

  • @JamsODonnell100
    @JamsODonnell100 21 วันที่ผ่านมา +1

    Dear Dave. You were on fire in this one. Loved it. Thanks

  • @christopherguy1217
    @christopherguy1217 20 วันที่ผ่านมา +1

    My first PC was an AT clone running MS-DOS 3.0 and it came with Windows 1.0. It had 360 KB 5.25 inch floppy and a 3.5 inch 720 KB rigid floppy disk. The optional 20 MB hard disk cost $600 so I learned to swap disks quickly.
    I learned to program in C (Borland Turbo C 1.5) and assembler on that machine. I used that PC on my first professional programming job running a 2400 bps modem to transfer files. Even back then 640 KB was too small for my work. It wasn't until the 80386 came out that we could access more.

  • @volvo09
    @volvo09 21 วันที่ผ่านมา +10

    I always love your "retro" Microsoft content!
    8:44 lovely full tower ps2!
    I dream of finding a full tower 486 some day.

    • @bobvines00
      @bobvines00 9 วันที่ผ่านมา

      I still have our 486 "tower-and-a-half." We built it using a case that was at least 30-inches (0.76-m) tall. I'll have to dig it out one day to see if it will still run. I *think* that I still have every computer (except one 386 system) that I ever had, starting with a TRS-80 Model III. All of my following machines ran either MS-DOS or different versions of Windows (3.11, NT, and up until Windows 7). Then came my PDP-8s (which take a *lot* of space, being rack-mounted), and I was given a C-64 by a coworker whose wife decided that he didn't need to keep it anymore. My original 8086 machine (a clone) "works," except that the ~10MB HDD finally died and decided to no longer turn (I suppose the heads stuck to the platter).

  • @archivushka
    @archivushka 21 วันที่ผ่านมา +3

    8:31 title text

  • @PabloGreg
    @PabloGreg 20 วันที่ผ่านมา

    Dave, this video totally blew my mind and memories. Ha ha... I've got one of those pcs at 10 Mhz...
    Wow... You drive me directly to those times...
    And you really know that stuff!
    Its a pleasure to see this video. Thanks

  • @wearwolf2500
    @wearwolf2500 21 วันที่ผ่านมา +2

    I believe the key with the 40/80 track drive thing is not to go back and forth. Clean the disk with an external magnet to get rid of any left over data, write it on the 80 track drive if that's what you have, use it on the 40 track drive. I think you mainly get into problems when you take a disk written on a 40 track drive, overwrite it with an 80 track drive and then read it back on the 40 track drive. The 80 track drive doesn't completely overwrite the data written by the 40 track drive and that can lead to interference when reading back on a 40 track drive which can see the part of the track that's been overwritten and the part of the track that hasn't.

    • @nickwallette6201
      @nickwallette6201 20 วันที่ผ่านมา

      Bingo.
      The assertion that "writing 360K disks on a 1.2MB drive works fine" is true if, and only if, the disk is _completely_ empty when you start, and you never ever mix writing to the disk on the different drives. Write once, read many -- fine. Write once, update on the 40-track drive -- probably fine. Write on the 40-track drive, then write on the 80-track drive -- discover the "lore" first-hand.

  • @iheartlreoy8134
    @iheartlreoy8134 21 วันที่ผ่านมา +5

    So you worked on developing msdos and I got the dynamic window manager working on arch Linux, were basically the same now 😅

    • @SpeccyMan
      @SpeccyMan 21 วันที่ผ่านมา +1

      All that and you never learned the important role played by the apostrophe in contractions!

  • @ultrametric9317
    @ultrametric9317 21 วันที่ผ่านมา +6

    You know I remember the early days but have completely forgotten why MSDOS 4 was a bust. But it was - a big bust. In real life, I dealt with MSDOS 3.30 and then the next common release was DOS 6.0, quickly followed by 6.2 with Stacker -er- DBLSPACE very quickly followed by 6.22 with DRVSPACE. Then it was now and history stopped.

    • @fuzzy1dk
      @fuzzy1dk 21 วันที่ผ่านมา +1

      I saw someone comment that MS have only released source for the versions of DOS that were unsuccessful ;)

    • @peterclifton8231
      @peterclifton8231 21 วันที่ผ่านมา +2

      Haven't checked the rest of the comments but back in the day we referred to 4.01 as A Mess DOS. Or where the heck did all my low memory go. MSDOS 5 felt like an apology and was the version I rocked right up until Windows 95.

  • @DamianMontero
    @DamianMontero 21 วันที่ผ่านมา

    love this video. Great experiment and great details. Thank you!

  • @NahNoThankYou
    @NahNoThankYou 21 วันที่ผ่านมา +1

    Your book changed my life. ❤

  • @Joss_The_VCat
    @Joss_The_VCat 21 วันที่ผ่านมา +4

    Microsoft finally doing something Open Source?!
    man... i am gonna break it's code >:D
    I'mma have fun with this, thanks Dave :D

    • @wasd____
      @wasd____ 21 วันที่ผ่านมา +1

      MS-DOS was always open source if you wanted to decompile it back to ASM :P
      It's not like PCs back then had stuff like TPMs that could be used to encrypt the code on-disk or block access to stop it from just being read plainly and seeing what was going on.

    • @Joss_The_VCat
      @Joss_The_VCat 20 วันที่ผ่านมา

      @@wasd____ tbh, not like if i had the brain enough to decompile it as it was...
      as well, i guess it was worth to have waited for MS to open source it instead of reverse-compiling it :P
      legal terms...

  • @sejtano
    @sejtano 21 วันที่ผ่านมา +8

    if github changes the file formatting, maybe they should release a zip file too, so files don't get ruined,
    the website modifying files is an unnecessary headache and a shame

    • @paulsaulpaul
      @paulsaulpaul 21 วันที่ผ่านมา +5

      It's a setting in git. I don't think github modified the files. How line breaks are converted when cloning the repo and when committing is configurable in the git config. He cloned the repo to a mac, so he likely had his git configured to convert the line breaks to unix format. When he exposed the file system to dosbox, he had broken line breaks.

    • @phillipsusi1791
      @phillipsusi1791 17 วันที่ผ่านมา

      @@paulsaulpaul Yep, totally how you configure git. It always stores files as-is, but you can ask it to translate the line endings when you check out the files.

  • @paulrobertmarino7623
    @paulrobertmarino7623 20 วันที่ผ่านมา +2

    Dave you didn't mention its clone competitor "DR DOS" which may have been part of the motivation for specifying MS-DOS, DR DOS is significant because it drove some innovations in MS-DOS and it was the basis for Novel Netware and was open sourced much earlier as "OpenDOS" by Caldera in 1997 under the GPL license.

    • @nurmr
      @nurmr 20 วันที่ผ่านมา

      Also 4DOS (which Norton licenced as NDOS and included with Norton Utilities v5 through v8)

  • @DonVintaggio
    @DonVintaggio 18 วันที่ผ่านมา

    13:40 many mice from that era came with a steel ball plus an exterior rubber shell so they had the needed mass to actuate over the X-Y rollers and enough traction to roll over a smooth surface, like glass.Which is an advantage over both the IBM steel ball model and light-operated mice.