5 ms·
Writing a DOS Clone in 2019
- lloydatkinson 1y agoI feel like the article is just too short for the given topic. So much more detail could have been added.
- forgotpwd16 1y agoThere's a follow up post and there was supposed to be another one too but apparently was never written. Regarding code: >Once I return to work and get approval to open up the source code, I’ll make the repo public as well. Guess approval wasn't given?
- lloydatkinson 1y agoCrazy his job allegedly owned his hobby project code
- btrettel 1y agoUnfortunately, this is not uncommon. Check the agreements you signed with your current employer. You might be surprised.
- skywal_l 1y agoIf you want more detail, may I suggest "The MS-DOS Encyclopedia" by Ray Duncan [0]. [0]: https://archive.org/details/The_MS-DOS_Encyclopedia_Ray_Duncan https://archive.org/details/The_MS-DOS_Encyclopedia_Ray_Dunc...
- jmmv 1y agoYep, I thought so too! It’s a very interesting and fun topic. So… I cannot resist redirecting you to a set of articles I wrote about two years ago on DOS and memory management, which I think covers some of the basic parts. The first one is https://open.substack.com/pub/blogsystem5/p/from-0-to-1-mb-in-dos https://open.substack.com/pub/blogsystem5/p/from-0-to-1-mb-i...
- tombert 1y agoI have thought about doing this. I have no idea what would be involved, but given how many DOS-compatible OS’s were around in the 1980’s it must be comparatively easy to build than other operating systems. I remember playing with Caldara OpenDOS and Concurrent DOS years ago, and it always seemed like it might be fun to make my own.
- PeaceTed 1y agoI mean DOS is essentially just the frame work between the software and the BIOS/hardware. Once code is running the OS isn't doing too much. In that sense DOS programs run without any guard rails. Video memory is just a memory address where you can throw data in and it shows up on screen, but it also means that any kind of memory pointer issue can write over almost anything in RAM. It was trial and error to ensure everything worked and seeing as machines were not always online, there was a much smaller risk of security issues being leveraged.
- cout 1y agoRisk was minimized with the use of segmented memory. A bad pointer would generally only clobber something in the same (data) segment of memory. But there were no segfaults; a program crash means a reboot, which is why so many people optimized config.sys abs autoexec.bat for fast boot. Come to think of it, maybe things aren't so different today -- if something goes wrong in your container/vm, many teams just wipe it and start from a clean snapshot
- pimlottc 1y agoI suspect it’s 80% straightforward and 20% bug compatibility
- stevekemp 1y agoVery much so. If programs are well-behaved, and call "int 21", etc all is well. But a lot of programs would use undocumented things, such as the list-of-lists and they'd directly peek and poke into the operating systems code. I've had fun updating the shell, and code, of CP/M, in assembly, and writing emulators of it. But as always there is no shortage of programs making specific assumptions that make everything more complex than they should be.
- amypetrik8 1y agoI knew y'all techies we're fancy but just, what ?!?! >Recently I was lucky enough to take a one-month sabbatical away from work. While I spent much of that (sabbatical period) time traveling and staying away from a computer, I had no idea it was now en vogue to take a nice one month sabbatical from your big tech FAANG job to go time traveling. It raises so many questions. First of all, why the one month period. If he has a time machine couldn't the sabbatical be forever? Second, which tech company has, it seems, secretly developed time travel and time displacement science, produced a time machine, and offered it only to employees going on sabbatical? It seems like a google kind of thing but maybe it's a move from amazon's business, long shot netflix or valve out of left field with a new entertainment tech. In any case I for one welcome our new time traveling tech overlords and look forward to the time wars as the natural evolution to the space rocket wars