8 ms·
PC DOS 1.1 from Scratch
- h2odragon 5y agoThe detailed, loving description of the baroque boot process takes me back to my days, shortly after that period, of cracking and making "boot only" floppies that either wouldn't show files if read normally, or showed different files; while having something else happen if you booted from it. Twitch and shudder "Pinball Construction Kit" was a commercial game that used their own floppy format.
- bitwize 5y agoMicrosoft Flight Simulator (before version 3) was another. The DOS view of the disk contained a single file, FS.COM, 60 bytes long.
- butterisgood 5y agoI returned two copies of Pirates! thinking the disk was not working until I realized you had to boot from the game disk and not DOS.
- dragonwriter 5y ago> "Pinball Construction Kit" was a commercial game that used their own floppy format. Software (IME, mostly games, but then my experience with software at the time was game-heavy) that worked that way was quite common.
- h2odragon 5y agoOne of my gigs was for someone selling essentially locked down spreadsheets. to their tiny niche markets, that was effective DRM and an appreciated convenience. > my experience with software at the time was game-heavy Well put. min too :)
- tpmx 5y agoAlso Sega Zaxxon iirc, the only original PC game I had back in the 80s. (I guess the copy protection scheme kinda worked?) "Cracked" copy: https://archive.org/details/msdos_Zaxxon_1984 https://archive.org/details/msdos_Zaxxon_1984 (it's kinda hard)
- DoctorNick 5y ago"To compile PC-DOS from scratch, first you must invent the universe." - Carl Sagan
- redleggedfrog 5y agoFor a minute I thought it was PC DOS 1.1 rewritten in the Scratch language, and I was ready to be impressed. Still a good article. I actually used DOS 1.1, when it came out. I'm old.
- h2odragon 5y agoAh, but did you have to program it? Have you known the horror of the FCB? https://en.wikipedia.org/wiki/File_Control_Block https://en.wikipedia.org/wiki/File_Control_Block
- OneEyedRobot 5y agoI think my fingers still know edlin.
- pjmlp 5y agoIn high school when we got introduced to text processing, it was on MS-DOS 3.3, using edlin, and those wonderful 8" dual sided floppies. I share the same sentiment.
- WalterBright 5y agoWhat's interesting about this is I feel I could write DOS from scratch with little effort these days. But it would have no value today. The software I write today is far more complex than what was available in the early 80's.
- tpmx 5y agoI've had similar thoughts about this development. (Not about myself being able to rewrite DOS without much effort - but I don't doubt that you could!) The sophistication of some individual projects today rivals major industry efforts back in the early 80s. I think it boils down to mostly these things: a) back then the number of software developers was perhaps 100x-500x smaller than today - so there was simply a much smaller pool of smart people. (But also: Today we have a much, much larger pool of kinda meh people.) b) there was no widespread internet access, so developers learned new concepts very slowly, often re-inventing them on their own. also, smart people often gut stuck in places where they had no chance of excelling. c) better tools now: much better screens, windowing systems, mice, better editors (edit: not necessarily IDEs), source code version control tools, SSDs instead of floppies, VMs, trivial networking, pdf readers, archive.org/etc, web browsers/services/sites, etc etc.
- WalterBright 5y agoI don't understand it, myself. The small size of DOS and its utilities make it look, in a word, trivial to me. I've read about the early days of Microsoft and how they struggled to get DOS finished, and from the perspective of today am more or less baffled. A part of the problem was they wrote in assembler. Today, I would not write it in assembler. I'd write it in C (or DasBetterC!) and get it all complete and debugged. Then, I'd hand translate it to asm. I expect this would go 10x faster. I'd also develop it on a Unix computer, using an emulator to debug it, much like how Gates/Alan developed Basic. (That was a really smart move by those two.) I don't use IDEs myself, but git is an absolute game changer.
- wvenable 5y agoYou have the advantage, in this case, of knowing what the end result is. I can re-write any of my own existing applications in a fraction of the time it took to develop them initially. But I agree that it all looks trivial. I'm developing an OS for a custom 8bit system and it's pretty slow going even though it's trivial. Of course, if I was cloning an existing OS it would go a lot faster but obsessing over the fine details is part of the fun.
- dingosity 5y agoApropos of nothing, I had a friend who always pronounced DOS like the Spanish for "two" (like DOHS). Most everyone else I ever met pronounced it like "DAWHS". One day this friend meets my boss at dinner. My boss, though a nice guy, was pretty strictly conservative about certain things. Apparently the pronunciation of "DOS" was one of those things. They went back and forth with "DOHS" / "DAWHS" for a while. When I left the table they were still at it. I stayed at the bar for a half hour 'cause I didn't want to know how long that was going to go on.
- yjftsjthsd-h 5y ago> The extra bytes in IBM’s file are mostly zeros, but there’s also a hundred bytes or so of what appears to be junk, more or less random data copied from a buffer that hadn’t been zeroed. Decades-old junk accidentally pulled from uninitialized RAM, saved to disk and now immortalized? That's curiously poetic, if true.