CP/M and PCP/M for Sharp Machines, on
3.5" disks
written by Maurice Hawes / SUC/UK
Source: SUC-magazine March 2003, Volume 23 Number 1, pp. 12 - 16
|
Sharp Users Club - General Section - CP/M
and PCP/M on 3.5" disks |
( RECAP ) 5.25" versions for Sharp Computers
in Europe and Australia |
All the early Sharp Z80-based computers were designed for use with 5.25
drives, and many 5.25 versions of CP/M, some official and some
unofficial, were available for these machines. The official versions
included:-
Crystal Research |
|
CP/M 2.21 and 2.23 |
|
MZ-80K |
Microtechnology |
|
CP/M v.2.2.2.02 |
|
PC-3201 |
Sharp/D.R. |
|
CP/M v.2.2 ( A.1 ) |
|
PC-3201 |
Microtechnology |
|
CP/M 2.2.1.00 |
|
MZ-3500 |
Sharp/D.R. |
|
CP/M v.2.0A |
|
MZ-3500 |
Microtechnology |
|
CP/M 2.2.2.08-15 |
|
MZ-80B and MZ-80A |
Sharp/D.R. |
|
Personal CP/M ( PCP/M ) |
|
MZ-800 in the U.K. |
SDS/400 |
|
Personal CP/M ( PCP/M ) |
|
MZ-800 in Germany |
In addition to the above, the SUC was eventually able to offer:-
|
Microtechnology |
|
CP/M 2.2.2.15 |
|
MZ-700 ( edited by Dave Bagshaw ) |
Sharp/D.R. |
|
Personal CP/M ( PCP/M ) |
|
MZ-700 ( edited by Robin Hill ) |
|
3" and 3.5" versions for Japanese
Sharp Computers |
The Sharp/D.R version of CP/M 2.2 for the 'X1' was on a 3" Amstrad-type
disk, and Sharp's PCP/M system for the MZ-2500 was on a 3.5" disk.
But these computers were never sold to the general public in the U.K.,
so I shall not attempt to cover these two systems in the present review.
|
3.5" versions for Sharp Computers in Europe
and Australia |
As far as I know ( AFAIK ), no-one has ever tried to create 3.5"
versions of CP/M 2.2 for the MZ-80K, PC-3201 or MZ-3500. The reasons
for this vary; the MZ-80K is lumbered with a 40-column screen that is
very difficult to upgrade, and the PC-3201 and MZ-3500 were expensive
machines aimed at the business market, and never really took off as
'hobby' machines.
On the other hand, the MZ-80B, MZ-80A, and MZ-700 all became very popular
'hobby' machines in the U.K., and the MZ-700 and MZ-800 became very
popular in Europe, and especially in Germany. On account of this, I
now have copies of the following CP/M-type systems on 3.5" disks:-
Microtechnology |
|
CP/M 2.2.2.15 |
|
MZ-80B ( John Ibberson & others ) |
Microtechnology |
|
CP/M 2.2.2.15 'Hi Speed' |
|
MZ-80B ( Josef Arens (?) ) |
Microtechnology |
|
CP/M 2.2.2.12 |
|
MZ-80B ( Robin Hill ) |
Microtechnology |
|
CP/M 2.2.2.15 |
|
MZ-700 ( Robin Hill ) |
|
PCP/M80 |
|
Personal CP/M ( PCP/M ) |
|
80-column MZ-700 ( Robin Hill ) |
PCP/M80 |
|
Personal CP/M ( PCP/M ) |
|
MZ-800 ( Robin Hill ) |
SDS/768 |
|
Personal CP/M ( PCP/M ) |
|
MZ-800 ( Robin Hill ) |
This array of possible 3.5" systems is rather daunting, and for
this reason I have, until now, been unwilling to recommend any particular
version or versions from the above list. But I was recently forced to
get to grips with two of the above systems, to create the new 4-Drive
versions of Robin Hill's CONVxxxx.COM, and as a result I now feel able
to offer some initial recommendations as outlined on the following pages.
|
THE SIMPLE '1 to 1' WAY OF USING 3.5"
DISKS |
If you want a quiet life, and are only interested in transferring your
Library of 5.25" CP/M or PCP/M software onto 3.5" disks because
they are more robust and more easily available, there is a very simple
solution.
For example, under M-T CP/M v.2.2.2.15 on the MZ-80B, MZ-80A, or MZ-700,
you can use the original 35-track FORMAT.COM utility to format the first
35 tracks of a 3.5" disk, and then use the original 35-track BACKUP
utility to copy a 5.25" CP/M disk to the first 35 tracks on the
3.5" disk. This 3.5" disk will then behave in exactly the
same way as the original 5.25" disk.
And the same process may be applied to 40-track 5.25" PCP/M disks
on the MZ-700 or MZ-800 i.e. they may be copied to 3.5" disks using
the original 40-track FORMAT and DISKCOPY utilities in PCP/M, the only
difference being that, in this case, 40 tracks on the 3.5" disk
are formatted and filled.
|
OTHER WAYS OF USING 3.5" DISKS |
The '1 to 1' method is simple and free from pitfalls, but it wastes
at least half of a 3.5" disk, and you may therefore feel that a
more efficient alternative should be used. In order to understand the
alternatives, it is necessary to look at a typical 'Sharp-MZ' CP/M format
in a little detail.
In M-T CP/M 2.2.2.15 on the MZ-80B / 80A / 700 there are 35 tracks
on each side of a 5.25" disk, 70 'physical' tracks in all, each
of which can hold 5K; so the overall capacity of the disk is 350K; but
the outer track on each side of the disk is reserved for the CP/M system,
so only 68 'physical' tracks or 340K are available as 'User' space.
CP/M 2.2 2.15 divides this 340K into 170 BLOCKS of 2K, and numbers those
blocks $00 - $A9 hex ( 0 - 169 decimal ).
To take full advantage of the extra tracks on a 3.5" disk, you
can either increase the number of blocks, or you can increase the block
size.
In any CP/M 2.2 system the highest permitted block number is 255. If
you go to this limit and keep 2K blocks, the largest 'User' space you
can have on any disk is 512K. CP/M 2.2.2.15 uses a data density of 5K
per track, so 512K 'User' space requires 102.4 tracks, which is a fairly
efficient way of utilizing a 160-track 3.5" disk, and all that
can go wrong is that you forget to tell the system about blocks 170
- 255 and they cannot be accessed.
On the other hand, there is no limit to block size but the bigger you
make it the more disk space is wasted, because files must occupy whole
blocks. A sensible approach is to use blocks of 4K. In CP/M 2.2.2.15
the empty space on an 80-track system disk is 790K; this can hold 197
4K blocks, well below the 256 limit and offering 788K 'User' space.
|
THE DISADVANTAGE OF MIXING BLOCK SIZES |
The problem is that if the CP/M system is not told and does not know
that the blocks on a disk are 4K, it will assume that they are 2K. This
will cause it to 'read' a file from the wrong sectors on a disk, or
'write' a file to the wrong sectors on a disk. The result is chaos,
but this will not become obvious until the corrupted file is loaded
and 'run', when it will cause mayhem on the screen and almost certainly
crash the computer.
With all these factors in mind, let us now reexamine the 80-track systems
listed on the previous page.
|
DETAILS OF EXISTING 3.5" SYSTEMS |
Microtechnology |
|
CP/M 2.2.2.15 |
|
MZ-80B ( John Ibberson & others ) |
Microtechnology |
|
CP/M 2.2.2.15 'Hi Speed' |
|
MZ-80B ( Josef Arens (?) ) |
Both these Systems use 256 blocks of 2K, to give a 'User' space of
512K. The Directory occupies 4K, so the 'Free' space for files is 508K,
and this figure is confirmed by FILES.COM. In track terms, both these
systems use 104.4 of the 160 tracks on a 3.5" disk.
The 'Hi Speed' version, which came to us from Josef Arens in Holland
but probably originated in Germany, may have additional features. It
certainly boots up faster and more smoothly than the Micro-Technology
versions of CP/M that were traditionally used in the U.K.
Microtechnology |
|
CP/M 2.2.2.12 |
|
MZ-80B ( Robin Hill ) |
Microtechnology |
|
CP/M 2.2.2.15 |
|
MZ-700 ( Robin Hill ) |
Both these Systems use 4K blocks, to allow the use of all 160 tracks
on a 3.5" disk. Each 'physical' track can hold 5K, so the total
capacity of the disk is 800K. The 'User' space, including the Directory,
is 197 blocks or 788K, and the 'Free' space, as confirmed by 'FILES.COM',
is 784K.
Both these systems contain a new 'DISKDEF.COM' program, written by
Robin Hill, which can be used to tell the system which drives are '35T'
and which are '80T'. 'DISKDEF.COM' is described in detail at the end
of this article.
PCP/M80 |
|
Personal CP/M ( PCP/M ) |
|
MZ-700 and MZ-800 ( Robin Hill ) |
This system also uses 4K blocks and all 160 tracks. In PCP/M, a 'physical'
track has a capacity of 4K, so the total capacity of the disk is 640K.
The 'User' space is 159 blocks or 636K, but in this case 16K of that
space is used by PCP/M.SYS and 4K is used by the Directory; so the 'Free'
space, as confirmed by 'FILES.COM', is only 616K.
The DISKDEF.COM utility supplied with these 80-track systems was written
by Robin Hill. It is an extended version of the original MZ-800 40-track
DISKDEF.COM, and is described in detail at the end of this article.
SDS/768 |
|
Personal CP/M ( PCP/M ) |
|
MZ-800 ( Robin Hill ) |
The SDS system originated in Germany as SDS/400, on a 40-track 5.25"
disk using the same data density and block size as CP/M 2.2.2.15. The
total disk space is therefore 40/35 times that in CP/M 2.2.2.15, giving
a 'User' space of 384K and a 'Free' space of 380K ( cf. 340K & 336K
in CP/M 2.2.2.15 ).
SDS/400 contains fairly concrete evidence that its German authors were
planning an 80-track version called SDS/768. We do not know whether
this 'official' version of SDS/768 ever saw the light of day, but if
it did, it would not necessarily have been the same as Robin's Hill's
version, below.
Robin Hill's 3.5" version of SDS/768 uses blocks of 4K; but all
the other parameters the same as in SDS/400 so in theory SDS/768 should
have a 'User' space of 2 x 384K or 768K. But in practice Robin obtains
a 'User' space of 788K and a 'Free' space of 784K, the latter confirmed
by FILES.COM.
I have not been able to 'run' SDS/768, because I do not have 3.5"
drives on my MZ-800; but I suspect that its DISKDEF.COM program is the
same as that supplied with Robin's 80-track PCP/M80 Systems for the
MZ-700 and MZ-800.
|
New Utility Programs for 3.5" versions
of CP/M and PCP/M |
All the old 35-track CP/M and 40-track PCP/M systems offer programs
to format and copy 5.25" disks. PCP/M also offers DISKDEF.COM,
a program that can redefine 5.25" drives to read/write other CP/M
formats.
In the new 80T systems, new programs are needed to perform all these
very important jobs. For example, FORMAT80 to format 80 tracks, BACKUP80
to copy 80 tracks, and DISKDEF ( or however you choose to name it )
to tell the system which drives are 35 or 40-track, and which are 80-track.
|
New Utility Programs for 3.5" CP/M 2.2.2.12
and 2.2.2.15 |
FORMAT80.COM formats 80 tracks ( and in the Continental 'Hi-Speed' version
of MZ-80B CP/M 2.2.2.15 there is also a new FORMAT40.COM ).
BACKUP80.COM copies 80 tracks ( and in the Continental 'Hi-Speed' Version
of MZ-80B CP/M 2.2.2.15 there is also a new BACKUP40.COM ).
DISKDEF.COM, a NEW program in Robin's 80-track versions of CP/M for
the MZ-80B and MZ-700, allows the user to tell the System which drives
are '35T' and which are '80T', with an option to SAVE the settings to
the boot disk.
In the 'Hi-Speed' version of MZ-80B CP/M 2.2.2.15 there is no DISKDEF
or equivalent program. Instead, ALL DRIVES are set to handle block numbers
from 0 to 255. There are no problems READING a 35-track disk, but there
may be problems WRITING to a nearly-full 35-track disk because the system
assumes that ALL disks can hold 256 blocks, equivalent to about 53 tracks.
|
New Utility Programs for
MZ-700 PCP/M80 ( by Robin Hill ) |
Robin has adopted his usual policy of leaving filenames unaltered and
using screen messages to show that his new programs are different; and
also of including his new '.ASM' files on the system disk so that you
may see what changes he has made. The new 'Utility' features are therefore
as follows:-
FORMAT.COM displays the initial message 'Format 80 Tracks
Vers 1', and is listed in FORMAT.ASM.
DISKCOPY.COM displays the boxed heading 'MZ-700 P-CP/M80
- 80 Track Format' and is listed in DISKCOPY.ASM and COPYSYS.ASM.
DISKDEF.COM displays the boxed heading 'DISKDEF MZ-700 for
80 Track' and is listed in DISKDEF.ASM. This version offers more
CP/M formats than its predecessors, but you should also note that
Drive A cannot be redefined, the prefix 'HD' means 80-track,
and 'MZ800' may also be read as 'MZ700':-
A |
|
HDMZ800 |
|
|
|
|
|
|
B |
|
HDMZ800 |
|
1DIBMPC |
|
2DIBMPC |
|
2DMZ80B |
|
|
2DMZ3500 |
|
2DMZ5500 |
|
2DMZ800 |
|
SDS/400 |
|
|
SDS/768 |
|
|
|
|
|
|
( Drives C and D, if present, may be redefined in the same way as
Drive B )
|
New Utility Programs for MZ-800 PCP/M80 and
SDS/768 ( by Robin Hill ) |
I cannot RUN these programs because I do not have 3.5" drives on
my MZ-800; but I can read the directories, and they show Utility programs
FORMAT.COM, DISKCOPY.COM and DISKDEF.COM, the same names as in MZ-700
PCP/M80 above.
|
3.5" CP/M and PCP/M Systems - Recommendations |
Now comes the big decision; out of all these versions of CP/M and PCP/M,
which one(s) should we adopt as the SUC standard(s)?
As you probably recognize, these are decisions that I have been putting
off for a long time, perhaps in the subconscious hope that they would
go away. But early this year I was forced to sort out the various versions
of Robin Hill's extremely useful CONV.COM program, and this inevitably
led me to tangle with the 3.5" 80-track CP/M and PCP/M systems
disks on which the latest and 'bug free' versions of these programs
were supplied.
As a result of working with these 80-track CP/M and PCP/M systems during
the past 3 months, in a fairly intense way, I have come to the conclusion
that the advantages of using 4K blocks are outweighed by the potentially
lethal file corruption that can arise in a CP/M or PCP/M setup involving
the concurrent use of disks with 2K blocks and disk with 4K blocks.
So I am about to 'take the bull by the horns', and 'go out on a limb',
if only to try and provoke some sort of reaction.
I therefore suggest that, in order to transfer CP/M or PCP/M software
between ourselves, on 3.5" disks, we should all adopt the policy
of doing this on 3.5" disks which use 2K blocks and have been formatted
to 35 or 40 tracks using the original 5.25" CP/M or PCP/M software.
I know this sounds cowardly and retrograde, but my experiences with
other more complex and higher-capacity systems during the past 3 months
leads me to believe that any other way of doing things would lead to
so many complications that it would, in the end, be counterproductive.
However, I do accept that, if this proves a useful first step, it would
then be relatively simple to move up to the format used by the Continental
'Hi-Speed' version of MZ-80B CP/M 2.2.2.15, which still uses 2K blocks
but increases the number of permitted blocks to the maximum of 256 and
thereby utilizes 53 tracks and gives a 3.5" disk capacity of just
over 500K, which by any standards should be sufficient for the foreseeable
future.
I also accept that my problems with 80-track systems using 4K blocks
may have arisen from the fact that, in my attempts to rewrite CONV.COM
on two different machines, I was jumping about between the various systems
in a way that would not normally be necessary, and that a 1-machine
user who had become familiar with an 80-track system using 4K blocks
would easily be able to avoid the sort of problems I had when I was
try to 'mix and match' between 2K blocks and 4K blocks on two different
machines.
I would therefore be very happy to supply ANY of the CP/M or CP/M systems
I have just surveyed, to individual members, on an experimental basis.
But when it comes to software transfer in general, there is another
point to be considered. There are only 2 formats that EVERYONE can read
and write without any problems; one is the original 35T format for CP/M
2.2.2.x on the MZ-80B, MZ-80A and MZ-700, and the other is the original
40-track format for PCP/M on the MZ-800 ( a system that was later extended
by the SUC to work on the MZ-700 ). This, I think, clinches the argument
for using these two formats, and only these two formats, to transfer
3.5" CP/M and PCP/M software between ourselves or to and from our
CP/M Libraries.
So there!
|