
all the memories
dr-dos was my favourite dos. at a time when dos applications were short of memory it could be safely configure to have 720k of base memory available for applications. that and netwars running across peer to peer network. :-)
With its recent switch to a different kernel, SvarDOS moves from being a distro of FreeDOS to greater independence. Until recently, the the SvarDOS project was essentially a distribution of FreeDOS. SvarDOS cut FreeDOS down into something that would run on even an 8086 or 8088 PC. SvarDOS came as four 360kB floppy images, or a …
My first computer was a clone 286 with 1MB of RAM and a 20MB HDD (WOO-HOO!). It came with DR-DOS install.
I was still young and knew no better, so I wanted MICROSOFT DOS - THE REAL DOS! I pirated a copy of MS-DOS from a friend and installed it.
Two weeks later, I re-installed DR-DOS and ran it all the way up to Version 6.
I think it was mine for a short time since it introduced things that Microsoft belatedly copied like moving stuff to high memory and disk compression. There was something magical seeing a 20Mb drive suddenly be capable of holding 1.5x as much data and transparently. But Microsoft caught up were also anti-competitive dicks and had a lock on OEM preinstallations on new PCs. It probably didn't help that DR DOS was sold to Novell where it got dragged into a networking war between Novell & Microsoft.
I think to be honest that once MS DOS 6.x turned up there wasn't much incentive for anyone to bother with DR DOS and interest died off completely in it. I think if DR DOS had capitalized on their early advantages and secured an OEM or two for preinstalls it might have enjoyed more success.
according to the article, "We gave the VM a 2GB virtual drive, and it automatically partitioned and formatted it as one big FAT32 volume."
so..sounds like "yes"
FAT16 did 2G volumes, but the block size was huge (64k, iirc). Back in the day of 1GB drives, which were actually a hair over 1GB in size, I would partition them to be a hair less than 1GB, tossing away maybe 8MB or disk space or so, which got a HUGE savings in wasted space due to the smaller block size at below 1GB as opposed to over 1GB. I started doing this after upgrading a client's almost full 200MB drive to a (hair over) 1GB drive, and after copying over all her tens of thousands of tiny files, ended up with less than 400MB free. Reducing the drive size below that 1GB boundary got us the almost 800MB free that she was expecting after the upgrade. FAT32 was a nice improvement.
> Does it support FAT32, and is there support for File Sharing?
FAT32: yes, as has already been pointed out I did specify that in the article.
File sharing: do you mean "can it act as a fileserver on a network?"
Without additional software: no.
Could you run umpteen flavours of peer-to-peer network from the 20th century? Yes. At different points DR-DOS was bundled with both Personal Netware and Netware Lite, which were different and (AFAICR) incompatible products. So it'as absolutely compatible and possible. Not much help in C21 though.
MS offered an add-on for its LanMan client software that added sharing:
https://jeffpar.github.io/kbarchive/kb/121/Q121086/
It's still out there. It will be some work. Bear in mind the LanMan client defaults to NetBEUI and you'll have to:
* install it
* find a NIC driver
* add TCP/IP
* remove all other protocols
* check that's working
* then add sharing
I think, from memory.
Is it worth it? Absolutely not, no.
Install on FAT16. Add Windows for Workgroups 3.11. Add the optional 32-bit TCP/IP stack.
https://winworldpc.com/product/microsoft-tcp-ip-32/tcpip-32-3-11b
Then use that.
Note -- this will almost certainly *not* work with FAT32 because WfWg's 32-bit file access is a complete 32-bit filesystem and it *only* speaks FAT16.
Does this enable Windows 3.1 (not NT) in Hyper-V? That question will not be answered today or in the next few days, but possibly before new year :D.
Thanks to TheReg for this article! And: I am among those MS-DOS memory optimizers... Some games had very difficult demands (EMS and a lot of conventional RAM...).
DOS could support 900KB on appropriate hardware, such as the S-100 systems made by Seattle Computer and others. MS used an SCP system to link the linker as the link process required more memory than what was available on a PC. The 640KB limit was set by the IBM PC's use of ROM BIOS and memory mapped video.
Although it was not often (ever?) used on IBM PC-compatible hardware, MS-DOS (and IBM PC DOS) had documented bit-map graphic primitives. There was no software reason to have memory-mapped video: it just ran much faster than DOS-compatible graphics.
I was no Microsoft, but I did compilation on a Fujitsu 80186 which was only an OEM DOS 2.11 machine, because on the 80186 the compilation cycles ran in seconds rather than minutes.
I think you are confusing "MSDOS" and the IBM PC BIOS. Granted, I stopped looking at MSDOS function calls around MSDOS v3, but up to that point, there was ZERO support for graphics in MSDOS itself. Text output. Even moving the cursor around the screen was a BIOS call, not a MSDOS call. (in the CP/M days, the BIOS was how the OS interacted with the HW. In the PC world, the BIOS became an extension to the OS itself -- beyond what the OS supported).
Yes, because of the ubiquity of the IBM PC and its BIOS, it's a fuzzy line, but as a one-time user and lover of a non-IBM PC MSDOS machine, it's an important line to me. Yes, the (IBM PC) BIOS graphics calls gave you a degree of device independence (but then, so did the ubiquity of PC compatible HW), but only on PC hardware with a PC BIOS. There were some attempts to emulate this in non-PC systems, but...as you indicated, they were doomed to failure because doing it yourself directly to the hw worked so much better. One of the things that impressed me early on with the IBM PC is just how bad the performance of going through the OS+BIOS was compared to writing to HW directly. My non-PC compatible MSDOS system needed to manipulate 27 bytes to put one character on the screen (8x9 matrix, three bits per dot for the three colors), compared to two bytes for the IBM PC. Writing directly to the HW, the IBM PC kicked my machine's butt (as expected), but going through the OS, my machine ran circles around the PC.
Heathkit H100, actually (a.k.a., Zenith Z100)
Pure graphic machine -- no "text mode"/"graphics mode". I used to have fun with friends by writing a quick-and-dirty random line drawing program in BASIC, hit CTRL-C to stop it, and the text output would pop out in the middle of the graphics. They'd jump with shock. Then I'd do a LIST to put some text on the screen, and the graphics would scroll. Then I'd hit CONTINUE, and watch them freak out as the thing drew lines THROUGH the text on the screen. That was pretty amazing stuff in the early 1980s consumer market.
Also...640x225x8 colors graphics resolution, 192k RAM devoted to just video (64k reserved for ROM, and 768k main memory...so entire 1MB address space accounted for!). A whole lot of showing what the IBM PC COULD have been.
The tantalizing part was how much "future" was designed into the machine. 16 bit expansion bus (IEEE-696 -- updated and standardized S-100) with 24 bit addressing space, so basically the IBM AT ISA bus several years earlier. I've heard stories of a prototype 286 version of the H100 at the factory, no idea if this was true, but as good as the H100 was, it was also clearly intended to be a stepping stone into the 16 bit future.
Well, it's not really a fuzzy line at all. DOS calls went through INT21h and would work on any MS-DOS compatible machine, anything else was BIOS or direct hardware hackery and would only work on pure IBM PC compatibles.
In my second job, I was working on a personnel database written in 8086 assembler, which had all the screen and keyboard IO handled by ring-fenced libraries so that the code could be re-assembled to run on any one of about a dozen different MS-DOS compatible machines. Fun times.
GJC
One of my favorite bad examples of "640k wasn't an MSDOS limit" was the 3Com 3+Share network software. As their software got too big to fit in the PC 640k limit, rather than rewrite their code for the then very available 80286 processor...they built NEW HARDWARE that didn't have video or floppies, but was otherwise PC-ish (80186 proc, though). Console and boot media was through a bizarre network application (because the then universal serial port was too simple, I guess. I did this once. I succeeded. But bootstrapping a network server over a network was definitely an interesting event in the mid 1980s). Gave them almost 900kB for their applicaiton...most of which was used. Caching data? nope. Their big sales pitch against Netware: "We are easier to manage if you have ten servers!" Novell basically ignored them, but their response could have been: "If your application and hardware didn't suck so bad, you wouldn't NEED ten servers!". 3+Share ended up being the basis of MS Lan Manager and then NT networking, hopefully just the protocols, not the 8088 code.
Other than the interrupt table in 8086 page zero, I can't think of any reason the entire 1024k RAM space of an 8086 couldn't be used by MSDOS. Sure, there's the boot code, but CP/M people figured that out long before -- disable the boot ROM once the OS is up and running. Display could be serial terminals (granted, that was very much out of favor by the time the PC came along).
> they built NEW HARDWARE that didn't have video or floppies, but was otherwise PC-ish (80186 proc, though).
I maintained a bunch of those things. Few remember them now and last time I looked there was zero info about them on the WWW.
Those memories are less nostalgic...
IIRC, the 900K or so limit for MS-DOS on the SCP machines was for program memory. I suspect the difference between ~900K and 1MB was from what DOS and IO.SYS took up. The original SCP monitor resided on a 2K EPROM, though might have been larger on the SCP machine(s) used by Microsoft, but not much larger. The monitor had an elementary debug capability that was expanded a bit with the DOS DEBUG application. The SCP assembler was very fast, with a 60K source file assembling in a few seconds.
86-DOS assumed the use of a serial terminal, with cursor control doing anything more advanced than <CR> and <LF> being the responsibility of the application, i.e. pretty much the same as CP/M. I remember setting Vedit for use with the Televideo 925 terminal and getting my first exposure to a screen editor.
86-DOS also assumed that the time of day would be provided by an AMD 9513 with a resolution of 10ms, which is reflected in the get_time function call.
Somewhere in the house, I have a set of Amstrad 5.25" 360KB floppies in red, green, yellow and blue plus the marroon/brown/weird coloured HD tools/installer disk. They may or may not work now. IIRC, the yellow one was the DR-DOS boot disk and either it or the blue one had Gem on it. Or was it the green one? Red was MS-DOS. Of course, they only ever got used to make a copy and then stored away, only being brought out if a new, pristine copy was to be created. I much preferred DR-DOS, and later snagged a copy of Concurrent DOS too.
True story from my family lore - many, many years ago, my parents had moved into a new house. My grandmother (on my mum's side) came over to see the new place. She was a lovely lady, but somewhat prone to malapropisms. Walking into the front room, Grandmother looked around approvingly and said to my mum, "You know what this room needs? One of those dildos round the walls."
She meant, of course, "dado rails".
I don't think my mum ever stopped laughing about that one.
Whilst I was working, it wasn't really an issue if I mislaid the old DOS floppy disks after moving up to XP (at which point every machine seemed happy to boot from CD and the emergency DOS boot floppy didn't seem so important).
But nowadays, reading articles like this, nostalgia - and the spare time to play - makes me wish I could still find all those huge boxes: Borland compilers and their manuals, BRIEF's fat ringbound manual, WordStar, yes,even a copy of Word. Weird that: nowadays I spend time *uninstalling* word processors that get dragged in just because I used the "install desktop" option, but back in the day I did actually buy my own copy of Word!
As http://www.cpm.z80.de/license.html is not a license, it is rather an permission grant;
"Let this paragraph represent a right to use, distribute, modify, enhance, and otherwise make available in a nonexclusive manner CP/M and its derivatives. This right comes from the company, DRDOS, Inc.'s purchase of Digital Research, the company and all assets, dating back to the mid-1990's. DRDOS, Inc. and I, Bryan Sparks, President of DRDOS, Inc. as its representative, is the owner of CP/M and the successor in interest of Digital Research assets."
Note that 7 out of the 10 requirements specifically mention "the license"; https://opensource.org/osd
The choice of wording still has an issue, as it has "and" where "and/or" should be and it can be argued that; "distribute, modify, enhance, and otherwise make available" doesn't give permission to distribute a modified version just like what the University of Washington pulled; https://www.gnu.org/licenses/license-list.html#ISC
Furthermore, if that text is regarded as a license, then a warranty has been inadvertently granted for the software, as there is no warranty disclaimer.
It may be source-available, but you'd have to check and confirm that no binary-only proprietary software has been included, which I've found in every (but one) non-toy OS I've looked at.
That's right, the only pure one is GNU, due to its dedication to freedom.
Virus?
It imposes a licence on things it interacts with, some people liken that to a virus.
It's not, but it does mean you have to be careful with GPL stuff, especially in large companies. If a developer accidentally includes some GPL library in your shipping software it's going to be an expensive mistake to correct, as you'll very quickly have to re-call and re-implement, which depending on the code in use may not be trivial.
Mind you, you have to be careful with licences in general.
you need to think about the concepts of goodwill,
Like respecting others views and not re-attributing their work if you don't like them or some aspect of the work in question?
sharing
Do you mean like bartering (ie, expecting something in return) or just giving stuff to people because it's beneficial, even if there's every chance they won't reciprocate in any way?
and freedom
As in not placing restrictions on what people can do with things?
Amen brother.
The GPL is fine, but 'freedom' is not something it gives you. (It gives you a set of restrictions that fit in with the idealistic vision of it's authors).
FreeDOS is unfortunately not "pure GPL" - it appears that some of it is licensed under GPLv2-ambigious (no mention if it's -only or -or-later) and other parts are under difference licenses.
FreeDOS also has the big problem how it can only be compiled with a proprietary compiler.
If you are really into sucky OS interfaces, I would personally recommend GnuDOS; https://www.gnu.org/software/gnudos/
Most of "FreeDOS" can indeed be compiled with a compiler that fits your definition of free software: GCC-IA16. At least the core parts of the distribution like the kernel, command interpreter etc. There is also OpenWatcom. But some consider this not being free software despite being open source.
That GnuDOS thing, well... has nothing to do at all with what people commonly expect under the term "DOS".
At one point, I could happily beat a DOS system into submission, complete with sniffing that the automatic tools with QEMM386 wouldn't get as good results.
I still have much from the DOS days on a directory, thanks to how little space it takes up and a long habit of putting the data from an old drive onto the newer larger one, including the floppy images I did c2000.
But I also remember how much of a pain much of it used to be, and think that running a handful of games in DOSBOX-X is enough.
I remember as a young teenager i spent two or three afternoons trying to get some particular DOS game yo work, but failing due to lack of a few KB of available extended memory. When i finally got it working I ran downstairs to proudly exclaim this achievement. Only to find out on my birthday a few days later my dad has installed an extra 2MB RAM!
> LOADHIGH and DEVICEHIGH arrived in MS-Dos 5 I think.
They did, but DR-DOS 5 did it first. MS-DOS 5 copied it. I think DR used HIGHDEVICE= and HILOAD but DR-DOS 6 and later accepted both.
Both copied the functionality from Quarterdeck QEMM386 and its rivals, though. DR was just the first to bundle it.
There is also EMS (Expanded Memory Specification) which back in the 8088/8086 days with a 1 MiB memory limit was a ISA bus page based hardware memory board. I believe it was also emulated in software in high memory extenders for backwards compatibility. Not sure about the 80286 with it[s 16 MiB memory limit, I avoided it like the plague. And XMS (Extended Memory Specification) which was a software interface in high memory extender software. When the 386/486 processors came out the Phar Lap DOS extender (expensive) allowed you to run full 32 bit programs with DOS as the underlying OS. I always liked the name of the Phar Lap interface to 16 bit DOS, it was called the thunking layer because you could hear the processors go thunk when it slowed down for DOS:) And finally for 386/486 computers there was the DJGPP C compiler that allowed you to compile and run 32 bit programs with its own DOS thunknig layer that was essentially free.
And not forgetting that EMS came in two "flavours", LIM EMS and AQA EEMS and later, XMS joined the party with a new standard just after LIM and AQA joined forces to make a common standard, so there were still two "current" standards as well as the two older (E)EMS ones which some software still expected to find.
We all know which XKCD is the relevant one :-)
> EMS came in two "flavours", LIM EMS and AQA EEMS
Jeez. I was an expert in this stuff and I'd never heard of AQA EEMS before. Turns out it was relatively short-lived and became part of the LIM Spec with version 4.
AFAICT it seems that the short-lived EMS 3.0 gave you 4MB of expanded RAM via a 16kB page frame.
3.2 upped it to 8MB via a 64kB page frame.
4.0 gave you 32MB via a page frame anywhere in RAM. Any page can be swapped for any other, ideal for multitaskers.
I thought this might be some fun for Christmas when I saw the headline, but it appears to be real.
Honestly folks, what's the point ? Happy to be enlightened, but CP/M was obscure in the 1980's so almost completely irrelevant now ?
Fun for some techie trainspotting, which to be fair is there to be enjoyed, so best of luck :-).
1) batch files in many directories that functioned as a menu system. Edit them to add/update items/actions several layers deep.
2) text based games especially in GWBASIC/IBMBASIC whatever was installed but you could break execution & edit the game code & read/change runtime variables.
3) adding games/apps from magazines/books by typing them in for BASIC etc.
4) Borland Sprint (word processor better than early MS Word for DOS) and early Print Shop Pro.
5) Replacing XT system with AT so we could use more RAM & better graphics. HIGHMEM
6) Soundblaster card came with a talking parrot app.
7) Dblspace disk compression from DOS 6.0 onwards.
8) XTreeGold.
9) Even with windows >3.0 needing to boot to DOS to run some games that couldn’t have anything else run.
"1) batch files in many directories that functioned as a menu system. Edit them to add/update items/actions several layers deep."
I still create/edit batch files - just the other day - I set up one to build the 4 targets on a VS 2022 solution.. Very easy, very portable and just works. Start it and walk away for 10-15 minutes..
(powershell is okay, but with all of the security/permission problems on Win10/11, writing/debugging a PS script has become more trouble that it's worth, most of the time)
"3) adding games/apps from magazines/books by typing them in for BASIC etc."
-yep!!! ComputerWorld (in the early years, later, not so much)
4) Borland Sprint (word processor better than early MS Word for DOS) and early Print Shop Pro.
- ah yes - for few years, Print Shop Pro was my goto app for creating Christmas cards for everyone in the family - using my dot-matrix printer....
"6) Soundblaster card came with a talking parrot app."
- moving the conflicting parallel port LPT (7 -> 5) interrupt so that I could get audio... Now what interrupt was that serial port using (3?).
"8) XTreeGold."
aaaaaaaaaaahhhhhhhhhhhhhhhhhhh!
I remember this well.. Still have an image of its UI forever burned into my brain... Easy and fast to use - compared to the command line. Split screen source/destination was leading edge on DOS machines.
Wasn't there another competing product? DOS Commander or Commander something?
Thanks for the trip down memory lane, but nowadays I don't have the time to reminisce - too busy trying to get the next release done... Maybe when I retire?
- moving the conflicting parallel port LPT (7 -> 5) interrupt so that I could get audio... Now what interrupt was that serial port using (3?).
IIRC, IRQ 7 was the LPT1:, and the optional LPT2: used IRQ5 so most Soundblaster users never hit that issue. Com1 and 2 were on IRQs 4 & 3.
I did once need to sort out a clients PC that had two printers and 4 com ports. That was fun (not!) It could have been worse. He only needed 3 com ports, mouse, modem and bank card reader for transaction authorisations, so disabling COM4: helped.
Gawd, my head is full of almost useless shit :-)
I still have a copy of Xerox Ventura Publisher (DOS-GEM) on both 3.5 and 5.25 floppies. I loved that program. Put in thousands of hours on it. My first hard lesson in consumer software: technical superiority is no guarantee of success in the market place. Last I looked, GEM is still the interface for the Xerox DocuTech system.
I used MS DOS 3.1 on my early PC, a 10Mhz 80286. I retro-fitted an AMD 80287 maths co-processor and then picked up an AST RAMpage combination Hercules/EGA card and Extended/Expanded RAM module.
This worked well for my early needs.
But I got the bug, bought a 80486 motherboard and 33 Mhz processor and then spent GBP 400 to populate it with 16 Mb of RAM. A Seagate 20Mb HDD came next, along with Quarterdeck QEMM386 then after that a nice NEC MultiSync VGA monitor and of course a SoundBlaster audio card.
The shareware 4DOS was found and it worked brilliantly. DOOM, QUAKE, Heretic and Hexen all worked flawlessly !!
Happy times :-)
"The shareware 4DOS was found and it worked brilliantly."
Wasn't 4DOS purely a replacement for COMMAND.COM interpreter? You still needed MS/PC/DR-DOS for the kernel and bootloaders.
4DOS could be started any time in DOS, taking over COMMAND.COM, with loss of some memory, so preferably just replace COMMAND.COM with SHELL statement on config.sys.
4OS2 and 4NT also improved much over the built-in CLI shells in OS/2 and NT.
Happy days asides from MS making sure cacheing would not work in DRDOS it was vastly superior and able to map drivers into upper memory blocks releasing ram more for hungry programmes . Yes I know with third party software we could rearrange the driver loading sequence to occupy the appropriate vacant upper memory blocks ah so long ago. I remember my copy of DRDos came with network support and a manual the size of Lord of The Rings.
> Is there any practical use for this?
Games, flashing BIOSes, writing EPROMs and controlling other hardware that needs DOS and DOS drivers. Quite a few parallel port devices.
To explore what DOS-based PCs and networking were like.
Software archaeology: exploring pre-32-bit GUIs, windowing systems etc.
As a simple programming environment.
Just for fun.
The last official MS-DOS release can't do FAT32. This can and all the source code is legitimately publicly available.
(Yes, it's possible to carve the DOS out of Win95 OSR2 or Win98 and get FAT32 support that way. I believe some people even wrapped an installation program on this. But it's clunky, incomplete, and the OS is not freeware.)
> Win98 and get FAT32 support that way. I believe some people even wrapped an installation program on this. But it's clunky, incomplete,
In my experience it was neither clunky or incomplete. My Win9x boxes all booted straight into DOS. And there was NOTHING missing since the tools (you know, when Norton Utilities still were good) soon supported FAT32, including the defrag program, diskedit and so on, without braking long names. All games worked without exception, all my tricks get get more conventional RAM and still have a mini-cache worked.
> and the OS is not freeware.
THAT is the true part.
But thank you for not mentioning Windows ME (in Germany called Windows Müll Edition). That one was a really whacked up DOS incomplete and clunky as you describe it.
About the hang... Are you sure it's a hang? I run Windows for Workgroups 3.11 on an actual PC (Pentium II with 256MB of RAM, a SiS 6326 AGP GPU and an unholy combination of a SoundBlaster AWE64 and a Gravis Ultrasound PnP, but also a overkill Realtek RTL8169 NIC from EdiMax. The motherboard was specifically chosen for it's insane combination of AGP, PCI and ISA slots) with the NDIS2 drivers, and the machine will appear to freeze for a minute or two as it tries to resolve DHCP or something. Eventually it would come around and proceed into the Windows 3.11 desktop with a ludicrous 256MB of RAM and gigabit ethernet.
> Back in the good old days of when computers were computers.. That is all....
You man back in the good old days when they were wearing skirts? When Neil Armstrong insisted that the then-new electronic computer calculations, the trajectories of Apollo 11, have to be verified by her team?