I seem to have had a number of letters over the last month or so from newer converts to the 512, so some second hand 512s have found good homes with Forum readers!
Some of these letters contained requests for more basic hints and tips. I said a couple of months ago, let me know what you want to see in the Forum and these readers have done just that. Because of that and also because it's a while since we did so, this month we'll take a look at a few basic DOS commands.
Before going on to DOS commands though, as promised I'll carry on with a bit more information about MS-DOS, supplied by my anonymous correspondent. (I'll call him Bill for convenience.)
As an addendum to last month's DOS versions, I have been told that Amstrad's version of MS-DOS doesn't respond to this treatment, but that release 2.2 of Tandon MS-DOS 3.2 definitely does. Again though I must warn you to check copyright agreements before you try it.
As I mentioned, this dodge leaves even less memory than normal in the 512, so it's no help for general software use. Also, because the operating system calls ultimately must still be serviced by DOS Plus, if a program doesn't run in the 512 under DOS Plus on its own this trick won't provide a magical cure. In other words whatever limitations DOS Plus normally imposes still lurk behind the MS-DOS shell.
What you may find though, is that programs you can't install or configure on the 512 because they check the version of DOS in use, may be fooled into letting you set them up for eventual use under DOS Plus. Most of the programs in this category will produce a clear message of 'Requires MS-DOS version x' or 'Incorrect version of DOS' or something of the sort.
However, not all programs will necessarily be this helpful, and I've found that sometimes the error message produced in DOS Plus has little or nothing to do with the real problem. It seems the authors simply didn't think of DOS Plus when they wrote their program and the error message can be a bit of a lottery. If you have a program that can't be installed under DOS Plus, even if you get a different message or even none at all, its certainly worth trying to install it again this way (unless you've already tried configuring on a real PC and the resulting system still doesn't run).
For those without a Winchester, no doubt the majority of 512 users, another problem also occurs quite frequently when trying to install PC software. Some programs insist on being set up from drive C:. Why this is done I don't know. There's no logical reason, and an equally large proportion of PCs, again probably the majority, don't have a hard disc either.
There is, however, in MS-DOS a program called 'ASSIGN'. This program permits the user to nominate an existing drive to take on an 'alias' for another. In MS-DOS therefore, if you have only floppies you can, for example, pretend that drive B: is called drive C: to avoid this sort of problem. There are other ways to overcome this problem in the 512 directly in DOS Plus, as some readers will know, but those who don't will have to read Bernard Hill's reviews again to find out about them (see Essential Software reviews in Vol.8 No.5 and Vol.9 No.1).
The point is that if you have been able to load MS-DOS as described, ASSIGN can be used in the 512 for the purpose of software configuring. ASSIGN will not, however, run directly under DOS Plus.
Bill has configured Finesse version 1.1 using this technique (he hasn't yet tried version 2), but warns that although Finesse then runs under GEM 2 you'll have to delete the desktop accessories first to create enough free memory in an unexpanded 512. Even so, he warns that there's only enough free space to load the three smallest fonts (Swiss or Dutch), but apparently it's quite usable within this limitation.
Bill also says that it's not possible to use the bitstream software supplied with Finesse without a Winchester. The problem is that there's just not enough disc space, even with 800K floppies. He says, and I quote, "...it needs about a megabyte just to install, and a phenomenal amount to create fonts...".
Bill also tells me that GEM 3 can be used too, but it leaves even less free memory and so is even more restrictive than version 2. If memory isn't a problem you should replace the standard CGA driver with AcomBW.SYS from the 512'S GEM disc, and then the mouse can be used (presumably those with a Tull Mouse driver can use that instead – I haven't tried it myself, but GEM 3 is shown in Tull's manual as compatible).
Now on to some of the basic commands in DOS, starting with common disc commands. These are, in the main, very easy to use and very flexible, much more so than in the BBC's filing systems, but I wonder how many of you have fully explored them. If you haven't you might be making things harder than they need to be.
Let's start with 'COPY'. Suppose that you wanted to copy all the files in the current directory in drive A: to drive B:. Assuming drive A: is the current drive, I wonder how many of you would enter:
COPY *.* B:
COPY A: B:
would do just as well. O.K., that only saves one character, but what about:
COPY . B:
You've all seen the single and double dots in a directory display. In case you didn't know the single dot means the current directory and the double dot means the parent of the current directory. If you thought they were just for decoration let me tell you they're not, they are very useful.
Suppose you're in a directory three levels down from the root and want to copy all 'EXE' files to the directory above the current one. Let's assume for simplicity that the directories are called 'DIR1', 'DIR2' and 'DIR3', but bear in mind that directory names are usually longer, with more chances for typing errors. Doing things the hard way you could enter the command as:
COPY \DIR1\DIR2\DIR3\*.EXE \DIR1\DIR2
With longer names and done this way, it becomes a very lengthy command. The first point of course, and it's one that you should all have spotted at once, is that the current directory name needn't be specified at all. If you don't supply a directory name the current one is used by default, which makes things a bit better, but the command is still rather clumsy in its revised form:
COPY *.EXE \DIR1\DIR2
when you could much more easily and simply used the double dots. In DOS these are the equivalent of '^' in ADFS, meaning the parent directory of the current one, so the command can be made very much shorter and simpler by entering:
COPY *.EXE ..
with very little chance of error.
So far I've used copies to the same disc for these examples, but if you actually want to move the files to a different directory on the same disc, rather than to duplicate them, this isn't the right way to do things. One reason is that you need to delete the original directory contents afterwards, but worse is that during the copy you need twice the disc space, and copying takes a long time.
Far better is to rename files, when DOS only needs to move the directory entries leaving the original files intact. Clearly it's very much faster, it requires no extra disc space because only one copy of the file ever exists, and there's no need to delete old versions afterwards because there aren't any. Our first command therefore becomes:
REN *.EXE ..\
Next, there are a few points to make about copying between different drives. No-one was surprised when I mentioned that the current directory can always be defaulted. You probably use the fact without even thinking about it, especially on floppies when the number and depth of paths tends to limit complexity. Even so, when you issue a command like:
COPY A: B:
remember you're actually telling DOS to copy from the current directory in drive A: to the current directory in drive B:, because you've defaulted both of them. Yes, all very simple I agree, but had you realised that the single and double dots can also be used between drives?
For example, to copy all the files from the current directory in the current drive (A:) to the parent of the current directory in drive B: the command can be simplified to:
COPY . B:..
which is just about as short as you could hope for.
One criticism of these short-cuts is that they're rather cryptic, and it's sometimes easy to overlook just what's going on. This is quite true, but it's always easy to copy the contents of the wrong directory unless full and explicit path names are specified. Of course, being in the wrong directory is a pretty elementary mistake, but I'd guess that most hard disc users, if not a few floppy users, would admit they've done it at least once.
This prompts me to mention another easily overlooked command, 'CD'. As you know this means 'change directory' if a directory name is supplied with it, but how many of you remember that it also means 'current directory' and displays the current path when it's issued on its own? It can be very useful when you're swapping frequently between different discs and directories (and the phone rings so that you forget where you'd got to when you get back, as usually happens to me). You can also apply it to other drives, so that:
will display the current path for drive B:, so it's always easy to check where you are. The reason that this facility is under-used is, I think, that the BBC micro has no such facility. The current directory isn't visible, short of cataloguing the discs.
I used copy to illustrate these short-cut path names, but they can also be used with other disc commands where appropriate. For example, to delete files in the current directory in drive B: you can type:
because again the '*.*' isn't necessary. Equally you can use double dots, so that.
deletes all files in the parent of the current directory on drive B:, while:
will change the current directory in drive B: to the parent of the previous one. Obviously you need to take care with some commands, but used sensibly they can save a lot of typing.
That's it for this month, we'll continue with more DOS command facilities in the next Forum.