The main item this month results from a reader's letter, which also reminded me of comments David Harper made when he sent the latest copy of PCCE to me.
A while ago John Sutton wrote to me with his observations on the programs from 28 cover discs of various PC magazines over the past couple of years. In fact there's so much information that I can't see how to use it directly here, and of course it relates to magazines which you either already have, or you don't. However, it does prompt me to mention magazines as one cheap potential source of DOS software which some of you might not have tried.
You probably remember that (8-bit) BBC micro magazines included a cover disc from time to time, although it was a pretty rare event. Moreover, however infrequent they were they were never regular, I'd guess partly because of cost, but equally because of content.
8-bit BBC magazine cover discs invariably contained either a demonstration of a new application or, more likely, a cut-down version of a game. These were obviously promotions, intended to tempt the reader into buying the full version of the software, usually at full price. Without doubt the software publishers contributed most if not the entire cost of the disc, since it was really just another form of advertising.
While a free preview or demonstration of software is no bad thing if you happen to be interested in that particular (type of) program, I'd guess that few users really found these disc of much interest. However, you did at least gain a free disc out of the deal if nothing else.
In short, cover discs on BBC micro magazines were of limited interest or use despite their rarity. They never contained fully working software as I recall, and no publisher ever made the mental leap from a promotional disc to a cover disc containing, for example, reader supplied usable and useful utilities, though BEEBUG has always supplied a magazine disc as an optional item.
In many ways this mirrors the fact that, despite the number of 8-bit BBC micros sold (estimates vary, but over 1.5 million is a conservative figure) neither shareware nor PD got off the ground until very late in the machine's life. I reckon that Alan Blundell had his work cut out starting his BBC PD operation and he deserves all the support he gets, especially now that some 512 discs and ex-commercial programs are included.
In contrast to BBC micro magazines, the majority of PC magazines nowadays do include a cover disc, many of them every month and in some cases two discs are provided. Of course, the use of the word 'free' is open to debate, but you can't complain if a magazine offers a cover disc (or two), has more pages than Acorn User or Micro User have ever had (combined!) and still costs no more than either of them did several years ago.
There are good reasons for the difference, so we shouldn't judge Redwood or Europa too harshly. PC magazine publishers aren't just being altruistic, they have a much larger circulation than BAU or MU ever did. You'll also find that out of, say, 400 pages half is advertising space in most of them. Volume production means low unit costs anyway, but add high advertising revenues too and it equals a low cover price without pain. Those are the economics, but all the reader need do is be pleased with the situation and take advantage of it.
I haven't surveyed the market for you, a visit to any large newsagent will accomplish that, but a good example is Computer Shopper. (No, I have no connection with it except as an occasional purchaser.) 'Shopper' doesn't always have a cover disc, but it does always include sections for Archimedes, Amiga, Atari and Macintosh as well as PCs, yet only this year it increased its price from £1.20 to £1.49. How dreadful!
PC Direct also sells at a similar price, but some publications are distinctly more profit oriented. At the other end of the scale are magazines costing twice that amount and more. One that comes to mind, although it does have a cover disc and occasionally hits 500 pages, has an advertising content just as high as any but only glossier paper to justify its stunning price. I suggest that neither the thrifty nor the environmentally concerned should be amongst its customers.
A quick look at the contents, and one or two judicious test purchases, will soon show which magazines are the best value, are the most interesting, and are the most likely to offer useful programs for your 512. There are occasionally demos on PC cover discs just as there were on BBC discs, but just as often a few and sometimes 50 or more small DOS utilities will appear on a disc.
One problem for most 512 users is that most PC cover discs are 3.5 inch these days. Some magazines are still published with both 3.5 and 5.25 inch discs and you buy the one that suits, though note that 5.25" discs are always 360K while 3.5" discs are 720K, so the two don't always provide the same (or the same quantity of) software in any given issue. Others are produced only with 3.5" discs, but you can return the disc to swap it for a 5.25", although that's obviously less convenient.
With regard to the programs you'll find on PC cover discs, overall the range of problems is typical for the 512, but some general guidelines will help a bit.
All executable PC programs are one of two types, .COM or .EXE (there are no .CMD files in MS-DOS) and this is the first indicator. Both types contain machine code, but they're quite different internally and in how they were produced. A bit more explanation will help you to see why this is and how it can affect 512 compatibility. Naturally these points can be applied to programs from other sources too.
COM programs are written in assembly language which is directly converted into a program file by a single operation. Note that direct program assembly always produces a COM file, even if the source code is in several separate files and/or uses a library. Because of this one-shot approach, COM files must be less than 64K in size, although they can access any memory in the machine and expand internal storage as much as they like once they're running.
An assembler's job is only to convert source code directly into machine code by a straightforward look-up procedure, without adding anything and without making any assumptions. As a result, if the programmer didn't write the instructions in the source it doesn't happen in the program. There are no 'pre-packed' facilities in assembly code, so external functions are normally accessed via standard DOS interrupts. This is simple, fast and memory efficient, prime reasons for using an assembler in the first place.
In general most COM programs are written with XT computers in mind, and since these, like the 512, have limited memory and run only DOS, COM programs are a good bet for the 512. One or two magazines definitely tend to cater for this market as much or more than Windows, and so they're always worth checking when you pass the magazine racks.
Magazine cover disc COM programs will be utilities, covering a wide range of purposes, some it must be said pretty obscure, but always remember that disc utilities are generally the least reliable sort of program for the 512.
Despite potential disc problems, and the fact that some programs seem to be answers looking for questions, one or two gems appear from time to time. For example, a while ago I came across a program called CODE which I find extremely useful. You can supply either a telephone exchange name when you call CODE, in which case it will return the STD dialling code for that exchange, or you can supply a dialling code and it will tell you the exchange it belongs to. CODE is simple and neat, when I have a dialling code I want to identify, it's just about the perfect tool for the job.
By contrast, EXE programs, even if written for DOS, are much less likely to run in the 512 than COM programs. In detail there are a large number of causes of potential problems in the 512 but, graphics apart, troubles can, in general, be explained as follows.
Producing an EXE file isn't a single process. Various modules or sections of the final program can be and often are written separately, sometimes using different languages. These modules (even if there is only one) are first assembled or compiled into separate object modules. This produces one or several lumps of machine code, but these aren't yet programs, they must be converted into an executable program file which is done by a linker. This, as its name implies, links the various raw pieces of code together to form the finished program.
If all the source modules are written in assembler it's probable that the resulting program will be as likely to run in the 512 as a COM file. However, since EXE programs can be larger than COM files and not many people have assembler expertise, source code is usually written in a highlevel language such as C. This is easier and faster to write in than assembler, in part because I/O functions in high level languages are provided by libraries of 'standard' routines which can be called, such as STDIO (standard I/O) in C. These routines are written by the compiler's authors, not the program's, and are added into the program at compile time.
Unfortunately, the subroutine libraries of many recent PC compilers, regardless of language, either rely heavily on, or make assumptions about the environment in which they run and will produce programs that display similar characteristics. For example, rather than using DOS interrupts for keyboard input or printer output, both of which are slow, but they all work even in the 512, some languages' library routines insist on reading or writing ports directly.
The truth is that these devices are slow too, so in fact the DOS functions are perfectly adequate for most purposes and peeking or poking memory-mapped I/O gains nothing. Even so, it's a common technique and if that's how a language's library routines work that's how all the programs compiled by that language will work too, with the result that they won't work in a 512. Knowing this doesn't make life any easier, but it's important to remember it's not usually the application itself that's the cause of troubles, it's the way it was produced. This is why compatibility is a more common problem with recent versions of some EXE programs.
Finally, leaving program types and getting back to magazine discs, it hardly needs saying, but I'd better – any magazine (disc) aimed primarily at Windows will be a waste of time and money for 512 users.
Despite some problems, many PC magazines do offer another worthwhile source of programs for the 512. You can not only keep up to date with latest PC developments, you can have a good read and perhaps gain a useful utility or two by spending only a couple of pounds or so.
I don't yet know how popular the software offer in last month's Forum will be, but I've decided to do it again and throw in three of my own programs which, like David's were originally written for my own convenience.
This time you get a disc copying program called FASTBACK which, unlike PC programs does handle 800K discs (plus the other sizes) and which will duplicate a disc as fast as the 512 can do it by using all the available memory for both reads and writes. By comparison DISK is 50% slower.
Accompanying FASTBACK are two other programs. The second is SAK (Seek And Kill) which locates any file or files matching a given name (which can be wildcarded) in any directory on any drive. For each occurrence of a matching name you have the option of deletion. This can be very useful if you sometimes find you have a number of redundant *.TMP, *.BAK or similar files hanging around wasting disc space.
The third program is DESTROY, which likewise accepts a (wildcarded) name and offers deletion, but this time the matched object can be either a file or a directory, in the latter case including any subdirectories and files. One DESTROY command can replace any number of separate DELs, CDs and RDs and effectively also offers a way of wiping a complete disc clean which is very much faster than reformatting.
Both SAK and DESTROY can remove system and hidden files directly, but both are totally safe because positive confirmation is needed before either deletes anything. Also, to delete directories and all their contents in DESTROY you really have to insist that it does so.
You won't need these programs every day, but when you do they can save a lot of effort and time. The cost's the same as before, £2.00, so at 60p a program it doesn't take much to justify them. As before, write to me c/o Essential Software if you'd like them.
If anyone else has a masterpiece of code that they think might be useful to fellow 512 users (and which is all your own work) send me a copy and, if I agree with you and can accumulate two or three of them there'll be another offer.
Next month I'll finally get round to PKZIP.