In volume 5 issue 9 of INDUGs Format magazine John Wase reviewed Pro-DOS.
Sam's what!!!??? Metamorphosis - a change from one thing to something quite different. What
is it? How well does it work? Read on! You will have seen the adverts in FORMAT, from
B.G.Services, for a program called Pro-DOS for SAM. You might well have seen that this
implements CP/M. You might even be asking just what it is and if it's any use to you. Well,
here's the lowdown.
Once upon a time, in the 1970's, there were, as now, all sorts of computers just appearing on
the market. These (in those days) were eight-bit jobs. CP/M was devised by a company called
Digital Research as an operating system which would work on various makes of computer.
Although each of these makes was different from the next, provided the computer could run the
operating system, it could run a program designed to run under that operating system. In
other words, although all different, each computer could then run the same program. Lots of
computers, all running the same programs. So programs which would run under CP/M
proliferated.
Incidentally, a company called IBM (heard of 'em?) had some disagreement
with DR in the late 70's-early 80's. So they chose a small, unknown company,
one Microsoft, to develop a successor to CP/M. 'Twas called MS-DOS; the dreaded MS-DOS,
and I guess you must have heard of that one.
Anyway, back to the fore-runner; CP/M. A version was devised to run on SAM after
a conversation between Brian Gaff (of Micronet fame) and Chris Pile, the principal author.
They were looking for a new project after experiencing comms problems with a quirk in
SAM's RS232 interface (see last month's "Short Spot"). CP/M came up in their discussions.
Knowing that, at a guess, DR would have
charged anything upwards of £10,000 for the original CP/M code,
Chris, indicated that it would not be too difficult to reverse-engineer an
implementation - and he was sober, too! So he observed RAM layout and the
specified entry and exit conditions, and wrote the code appropriately
to do the same job.
What came out was to be compatible with CP/M version 2.2.
You see (at the risk of teaching Grannies to suck eggs), there is backward compatibility -
CP/M 2.2 will run all programs designed for it or earlier versions, but not (necessarily)
later ones. So CP/M+ programs will not necessarily run on CP/M 2.2. Unfortunately, Chris
had insufficient documentation to emulate anything above version 2.2. Rest assured though,
2.2 will do. Most of the programs out there in the real world run in 2.2 or earlier.
So Chris carried on with his programming, Brian checked, bug-tested and criticised
and Wayne Weedon, the third member of the team, collected and collated programs which
he thought ought to work, mostly PD (which are available through him as a PD disc collection).
There were some hiccups - SAM is pretty unobliging when it comes to reading the keyboard,
which sports an enormous "bounce", leading to double inputs or none at all - try the original
SAM version of Tasword 2 if you don't believe me. Some pretty involved code obviated this
problem. And finally, there was a further delay when Brian persuaded Chris to implement some
"extra" keys at a rather late stage. However, in the end, all was well, and in due course
the expected parcel thudded on my met.
Inside was a package containing a
23
Boot disc, a System disc and a 68-page A5 plastic spiral bound lie-flat
instruction book. I like A5 lie-flat books - very practical.
The instructions are, in general, clear and easy to understand,
though there are a lot of grammatical liberties.
Can't sit staring at the box all day.
In with the boot disc; press F9. Frantic activity inside
the drive. A big blue screen, which contains some advice about which
drives are connected and the size of the RAMdisc. And a line, asking
me to press any key. And then... the familiar A> prompt which has
caused so much apoplexy in the past... And that's about the size
of it. Just one point. The system disc contains lots of utilities,
like FORMAT.COM and COPY.COM which you need to keep the system going.
So the first thing is to make a copy of the system disc and put the master
disc away where it won't get damaged. (Wase does this beautifully, year
in and year out. And then can't remember where the disc is when it is wanted.
So, if you have a number of discs to store; consider a filing system).
And this is where a feature of Pro-DOS I just mentioned comes in - the RAMdrive.
Pro-DOS will recognise the memory extension to 512k if you've got one, and will
configure the size of the RAMdisc accordingly. Unfortunately, it doesn't acknowledge the
existence of the add-on RAMpack. Or is this fortunately; see later? Anyway,
all you've got to do is to copy all your system files to the RAMdrive
using COPY *.* C: it's pretty quick at that. Then if you do C: COPY *.* B:,
a copy of everything will fly from the default disc (disc A) to disc B. Without
the RAMdisc, you cannot copy from A to B without a copy of COPY.COM on disc A.
And it's slow, too. All the utilities in RAM make things happen much more quickly and smoothly.
Unfortunately, the boot disc is uncopiable. I'm not very happy about that,
though I appreciate the reasoning
So there we are. We've formatted a new disc and copied all
the system files over to it.
What
else will it do? Well, the answer lies in the wide variety of professional
and PD software already available to run on CP/M computers. You can
get word-processors, databases and spreadsheets. In variety. More
than 57 varieties. I now had Brian Gaff's PD disc to play with. And
I also have three of Wayne's discs - 1 (file and disc utilities), 2
(file compressors and archivers) and 5 (text processing). As each
disc is full of compressed files, you can get up to 1300k's worth
of bits and pieces. Like the file and disc utilities issue contains
30 files. And the cost? Two quid, including postage and all. A real
labour of love for Wayne. The other discs contain such goodies as comms,
programming (lots of languages - fancy Forth? Or a "C" compiler?) and
games. Wonderful! Can't but be good value.
Actually, there's not a lot I can say about Chris Pile's
implementation It does all the things one would expect
of an operating system. I ought to, since it is. It does many
them clumsily, because it's CP/M, not because Chris Pile wrote it. Apart
from a couple of special features, i fades happily into the background. Are so it should.
Features? There's a special comma to read
SAMdiscs. And another one change screen colours.
CP/M has ba of possibilities, like the origin "model T".
"paper" and "ink" o colour for each. The default is bl with white
letters, and I find this pretty usable combination: a go choice.
There's one or two interesting bits on Brian's PD disc.
For one of them, I must first digress a little bit. If you have an Amstrad 6128
(or a Tatung Einstein, for that matter), you'll probably know that they both run CP/M
as an operating system. And they both have those ghastly 3" discs: well, they're all
right, but very, very pricey, and they don't hold that much, either. You'll also recall
how our favourite barrer-boy bought up the ailinq Uncle Clive's outfit,
glued a data-recorder on his investronicas (sounds painful)
24
following with a swift stick-on 3" disc job;
the Spectrum +3. What is perhaps not so well known is
that the +3's disc drive operating system was imported
(I don't know if they ported the code over or merely rewrote it,
and I don't really care) from Amstrads' existing knowledge
base. So it's essentially CP/M; bodged to accommodate the
Spectrum header. There are lots of loose ends, like the dodgy
implementation of user-areas, but it (mostly) works.
I'm lucky. I've got a Spectrum +3.
And an add-on drive; drive B: which formats standard 3.5"
discs to 706k. And these can be read directly on SAM with
Chris Pile's CP/M program. So now we have a fascinating situation,
haven't we. Indeed, experts like Brian Gaff are already well
aware of the possibilities: on his PD disc, there's a little
utility to strip off Spectrum headers... As well as the odd
word processor, data base and spreadsheet. Nice one, Brian.
So I could have a nice little play. For instance, I got hold of a copy of
"Wordstar 3.00"; yes, the dreaded "Wordstar" on 3" disc. Transferred it
to 3.5" on the +3 - no header trouble: just use COPY "A:*.*" TO "B:" and
everything grinds across. Then I started to get problems. Once "Wordstar"
is set up, it winds in various overlays from the disc. They come complete
with instructions which are fed into the panel at the top. One overlay
wouldn't. Cussed, decided I'd got a defective version. So I went back to
the Spectrum +3 and copied some ASCII files and some Tasword +3 files,
and tried to look at those. Funny, they seemed to lack the start. Maybe
the header.... Look for Brian's PD disc. Invoke his bit of header-stripping
sorcery. No joy.
Things definitely went down-hill from then on. Eventually,
in desperation, I sent Brian a collection of discs. He reported
that there sure was some problem. Textfiles had the first sector. marked by CP/M, but that was all;
completely blank; no ASCII codes. Even the COPY.COM
program was defective. A crazy situation. At that point, I baulked.
I just hadn't the time to spend endless hours playing. Up to this point
fate had been, to say the least, unhelpful. Now, at last, there was a positive
intervention. I needed to see Andy Wright. He asked me if I could transfer "Wordstar to
3.5 disc. I took a sample over to him, mentioning the problem - and then stood,
amazed, when the overlay quietly loaded in the version I handed to him.
I went home that night in some confusion.
I made two more copies. I checked them. Neither worked on my SAM.
I put one of them in my pocket and SAM in the car boot. Next day,
I called on Andy in the lunch hour - poor Andy: I always interrupt
his lunch.
You've guessed it. It worked on his, but not on mine.
We then started playing with the add ons. If you took the
backplane (complete with other bits and bobs) out of the
output port, all was well. Mystified, I went home and did a systematic
test on SAM's backplane with a I Megabyte RAM and a parallel printer port/drive
controller. My results were as follows:-
So there you have it. We're back to the -old problem. Just like the good
old days of Uncle Clive. Not quite enough power to run the add-on bits and bobs.
The result was weird, looking like RAM failure. Indeed, I mentioned that in a previous "Short Spot"
and got a RAM check from Brian. Moral; something about counting chickens. Funnily enough,
this was about the same time that Bob failed to run a demo disc when the backplane was
25
connected. So watch out, there can be trouble there.
And that all but wraps it up.
I just ought to mention that Waynes PD library is called FDOS.
Odd name but good value. Overall, this is a good and bug-free
implementation (provided there aren't too many add-ons).
You have all the standard CP/M facilities. You can get ASCII from SAMdiscs.
You can change the screen colours and you can get lots of software cheaply,
either through the FDOS or other PD libraries. At thirty quid, it's good.
My only reservation is that there is only one programmer, who has distanced
himself from the one seller, who is also responsible for technical backup.
Fine, until something goes wrong. You could then be left with a legacy of useless
programs, as the boot disc is heavily copy protected. This is by no means the only
program sold in this way: if you're prepared to take the risk; great.
26