============================================================
Number 8 August, 1981 Volume 1, Issue 8
============================================================
In This Issue
=============
Contacting the RCPMs- An Update
by: Al Byrne
SIG/M Diskette Fix for CP/M 1.4 Incompatibility
By: Kelly Smith, CP/M-Net "SYSOP"
CP/M Book Reviews
By: Mark Wehmhoefer
A First...Amateur Radio Digital Communications!
By: The Vancouver Amateur Digital Communications Group
CP/M-Net "Tip-of-the-Month"
Patch to make ZSID.COM the same Dump Display as DDT and SID
By: Bob Fisher - De Paul University
Printed monthly (at worst quarterly) to inform user's of
RCPM Systems to the latest software news, information, and
updates of public domain software accessible via
telephone/modem transfer. Yearly subscription for copies of
the CP/M-Net News may be obtained by mailing $18.00 (check
or money orders only) to Kelly Smith, CP/M-Net, 3055 Waco
Street, Simi Valley, California 93063. CP/M-Net is a non-
profit orginization and all money received on subscriptions
are utilized for the sustaining and enhancments of the CP/M-
Net System.
If you would like to contribute an article, include a
column containing your area of interest and expertise, or
participate in an open forum for conversation and transfer
of ideas, feel free to send it to the CP/M-Net System and
indicate that you would like it to be included in the CP/M-
Net News...if possible, use WordStar (trademark, MicroPro
International) or Electric Pencil (trademark, Micheal
Shrayer) in 60 column format.
NOTE: CP/M is a registerd trademark of Digital Research
Contacting the RCPMs- An Update
===============================
by: Al Byrne
Though I am using MODEM4, it was my intention to get MODEM7
because of the AUTODIAL feature. But I thought I'd try to
add that myself, so I now have six phone numbers stored in
my MODEM4 program that I can dial by simply pressing a key
on the keyboard- five are RCPMs and the sixth is the local
computer store that I used for checking out the routine. I
did it this way just to see if I could do it.
I also changed the buffer from 2K to 16K since the memory
was just sitting there doing nothing but I don't know
whether this has helped anything or not.
I don't use a commercial terminal but a modified TV for
display and a surplus keyboard for entries so I don't have a
BELL. But I had a spare serial output port and a speaker in
the junk box so I tied them together to give me a
programmable buzzer. I use this to alert me to a completed
RCPM contact so that I can get those carriage returns out
before the connection is broken. Though I have a screen
message, the buzzer is useful since I no longer have to
devote full attention to the screen.
I wasn't able to find DISPLAY.ASM, as mentioned in the June
VCC Newsletter, but I did find DISPLAYP.ASM. I was sure the
second P stood for PAGE but, alas, it stands for PATCH. If
you aren't an RCPM Sysop, you don't need DISPLAYP.ASM.
Anyhow, I got DISPLAY.OBJ and it worked perfectly except
that it displays 23 lines and I have a 16 line screen! I
lucked out in finding the locations of this value by
scanning through the code. If you're in the same position,
change the bytes at 0212, 0576 and 05CF from 17H to 0FH.
This seems to do the job unless you're looking at an 80
column file with a 64 column screen. In this case, a line
with more than 64 bytes will require 2 lines to display, but
DISPLAY counts it as one, so you may want to change those
bytes to 0E or 0D.
I also changed the disconnect, if there's a D secondary
option, so that the computer does it automatically (just as
if by magic) instead of having the program wait for a CR
from the operator.
I have continued to record the number of checksum errors
and timeouts that occur on each transfer but have been
unable to extract any significant information from the data.
On only one occasion, out of more than twenty, were there
enough errors to cause an abort and nearly all contacts were
at 600 BAUD. The one that aborted was on a call to Dave
Hardy in the Detroit area and the TV stated there was some
very bad weather in the area, including a tornado in
Ohio.
Using my expensive, aerospace-age timepiece (I didn't know
a solid gold band would leave a ring on your arm!), I was
able to accurately time the transfer of two files and, in
each case, the throughput was slightly less than 49 bytes
per second at 600 BAUD. This reflects the additional
housekeeping that has to be done in addition to sending the
program- SOHs, ACKs, NAKs, checksum comparisons, etc. I am
convinced that if I can't get it at 600 BAUD , I can't get
it at 300 BAUD either so I now use 600 BAUD whenever
possible.
SIG/M Diskette Fix for CP/M 1.4 Incompatibility
===============================================
By: Kelly Smith, CP/M-Net "SYSOP"
If you have received copies of the SIG/M diskettes and are
using CP/M version 1.4 (or any CP/M version less than 2.0),
you will be unable to execute, rename, assemble, erase, or
pip certain files on the following SIG/M diskettes:
These files are "tagged" as READ ONLY files on CP/M version
2.0 (or greater) and as such, are not recognized by CP/M
version 1.4 (or less) as compatible files. They will appear
in your directory but as such, are useless. The files are
recoverable however by RESETTING the "tagged" T1 byte of the
most significant bit (bit 8) of the first character of the
file type (for instance, the "C" in "COM" is normally an
ASCII 43 hex, but when "tagged" as READ ONLY, it becomes a
C3 hex). Possible fixes to recover the files are:
1. Find a friend using CP/M version 2.0 (or greater) and
have him/her reset the READ ONLY files as follows:
STAT filename.type $R/W<cr> <--- set file to read/write
2. "Patch" the diskette directly with DU (DU-V75.COM from
SIG/M Volume 16, File: 16.4).
3. "Patch" the diskette directly with DUMP (DUMP.COM from
CPMUG Volume 14, File: 14.6).
4. "XMODEM" the files from the CP/M-Net System; Volume 4 and
9 are on disk E:, User 0, and Volume 17 is on disk F:,
User 0.
FURTHER NOTES FROM KEITH PETERSEN
There is a simpler way: use DIR-FIX. That's a program I
wrote quite some time ago which corrects this problem. It
is meant to run on CP/M 1.4, CDOS or MDOS. It examines the
directory to find any files with high-order bits in the file
names, builds a table of these names and does a simple
"rename" function of NEWFILE (without high bits) equals
OLDFILE (with high bits). It works great and avoids all the
hassles of doing it the ways Kelley mentioned.
(1) (2) (3) (4) (5)
Index x x x x no
CP/M User group address x no x no x
Software list x no x no x
Hardware list x no no no x
Command summary x x x x x
CP/M version differences x x no no no
Glossary no no no no x
(1) Osborne CP/M User Guide (The best overall)
(2) The CP/M Handbook (Excellent reference guide)
(3) CP/M Primer (Best to read before buying CP/M)
(4) Using CP/M (Read before buying a computer)
(5) How to Get Started with CP/M (Read only if you like to
read books)
Chapters one thru eight: Intro to CP/M and Operating
systems, CP/M built-in commands, CP/M transient commands,
Assembly language utilities, Other transient programs and
CP/M, MP/M, CP/NET and CP/M derivatives, Technical aspects
of CP/M, Putting it all together: the systems approach.
Appendices: CP/M command summary, ASCII character codes,
Comparisions of CP/M versions 1.3, 1.4 and 2.0, CP/M
prompts, Diskette selection, Annotated bibliography and CP/M
address book.
I rate this book the best overall because its easy reading
style will get you familiar with all the CP/M commands very
quickly. And it explains some of the more difficult to
understand CP/M facilities (e.g. modifying the BIOS),
without talking over the beginner's head. Appropriate
comments on the different versions of CP/M are liberally
used in this book and will not confuse the beginner. Its
best features include: an extensive magazine article list on
CP/M, languages, and utilities, error messages for each CP/M
command are listed immediately after its description, a
brief description of the more popular languages and a list
of different CPU diskette formats. Also explains the CP/M,
MP/M, CP/NET commands as well as describes other CP/M
derivatives.
Boo-boos - In chapter 7, page 222 "Routine from
MODEM527.ASM by Ward Christiansen(sic)".
--- Review 2: The CP/M Handbook ---
Zaks, Rodney, THE CP/M HANDBOOK with MP/M, Berkeley: Sybex
1980. Price $14.95 - 321 Pages.
Chapters one thru eight: Intro to CP/M and MP/M, CP/M and
MP/M facilities, Handling files with pip, Using the editor,
Inside CP/M (and MP/M), Reference guide to CP/M and MP/M
commands and programs, Practical hints, and The future.
This book is the best reference guide of all the CP/M books
because CP/M versions 1.4, 2.2 and MP/M commands are
distinguished throughout. It uses a brute force method of
explaining the various command options otherwise I would
rate it equal to the Osborne CP/M User Guide. This is the
only book that describes the MP/M commands and it should be
next to the console when using CP/M.
--- Review 3: CP/M Primer ---
Murtha, Steven M and Waite, Mitchell, CP/M PRIMER,
Indianapolis: Howard Sams Co 1980. Price $11.95 - 92 pages
Chapters one thru eight: Intro to CP/M, A CP/M
microcomputer: Hardware and Software concepts, Starting up
and first using a CP/M system, System initialization:
FORMAT, SYSGEN and MOVCPM, STAT and PIP, ED the CP/M editor,
ASM the CP/M assembler, and DDT: the CP/M dynamic debugging
tool.
Appendices: The internal structure of CP/M, CP/M compatible
software, CP/M reference.
This book is recommended for the person deciding to buy
CP/M. Liberal use of charts, diagrams and illustrations
make it read like a novel, yet all the basics are covered.
Unfortunately, the cover states "Latest CP/M Version 2.0"
yet I could find only two minor references to version 2.0 in
the book and most command examples are in version 1.4. Its
best features include a very handy cut-out reference card of
CP/M commands and its description of ASM and DDT. In fact,
you are walked thru an actual session of both ASM and DDT
with a sample program.
--- Review 4: Using CP/M ---
Fernandez, Judi N and Ashley, Ruth, USING CP/M - A SELF
TEACHING GUIDE, New York: John Wiley & Sons, 1980. Price
$8.95 - 243 pages.
Chapters one thru ten: Intro to CP/M, Typing CP/M commands,
CP/M built-in commands, CP/M transient programs, The STAT
command, Using PIP, Intro to ED, Editing existing files,
Advanced ED functions, and Submitting command files.
Appendices: Changing device assignments, Pip parameters,
and Reference summary.
I cannot stand the style of this book because after every
one or two paragraphs, five or six questions are asked. All
the CP/M commands are covered but much detail is lacking on
the majority of commands. This book contains only one or two
slight blurbs on version 2.0. Its best feature is three
chapters on the editor but it could have been presented
better by walking the reader through a complete session.
--- Review 5: How to Get Started with CP/M ---
Townsend, Carl, HOW TO GET STARTED WITH CP/M, Beaverton:
Dilithium 1981. Price $9.95 - 127 pages.
Chapters one thru ten: Who needs an operating system, CP/M
overview, Shopping for CP/M hardware, Your first CP/M
session, Files, records and disks, Using the utilities,
Backup procedures and disk care, The editor - Introduction
Word processing and spoolers, and CP/M compatible
programming languages.
I cannot understand whether the author wanted to explain
CP/M or instead promote all the various commercial and user
group CP/M programs. The chapters lack continuity and
meaning to the beginner, although in there somewhere is a
paragragh on all the CP/M commands. Nothing is ever said
about the different versions of CP/M. This book is supposed
to be part one of two books, with the next book containing
all "The more complex features"?. Also it is the only book
without an index, but it does contain a glossary of terms,
most of which the beginner could care less about.
Boo-boos - Chapter 10, page 82, Table 5 "peak/poke (sic)".
And in appendix C there is this note: "..because the Radio
Shack TRS-80 has a prom, standard CP/M programs must be
modified...the prom limits the CP/M usefulness..". If the
author went to so much trouble to place that note here, why
didn't he tell the whole story? The Mapper I from OMIKRON
allows TRS-80 users to run standard CP/M and very little, if
any, modification to programs is needed.
A First...Amateur Radio Digital Communications!
===============================================
By: The Vancouver Amateur Digital Communications Group
Another first for Amateur Radio Digital Communications was
accomplished today (July 8, 1981) when the information
packets were passed between Ottawa and Vancouver via
satellite as the first step in an experiment to interconnect
Amateur packet radio networks in these two cities. The
satellite u
sed was the Anik-B geostationary satellite
operated by the Canadian Department of Communication which
is providing communications channels for the experiment. The
packets exchanged were in HDLC format using the ASCII code.
The digital equipment used at both ends was the packet radio
controller developed by the Vancouver Amateur Digital
Communications Group. The purpose of the experiment is to
develop efficent hardware and software techniques for
interconnecting local communication networks over widespread
geographical areas and additionally, to demonstrate
satellite packet techniques. It is expected that the
expertise developed will be of direct application to the
amateur environment in the near future.
The Canadian DoC has installed a 20 watt TWT (Travelling
Wave Tube) transmitter at one of their Earth Stations near
Vancouver to provide an additional telephony channel to
conduct the experiment. This transmitter operates in the
14/12 GHz. satellite band.
This project is jointly sponsored by the Canadian Radio
Relay League (CRRL) and the Canadian Amateur Radio
Federation (CARF). However, the funding, equipment and
technical work to interface the channel to the amateur radio
networks is being provided by the Vancouver Amateur Digital
C,mmunications Group (VADCG) and by the Ottawa packet radio
group.
For further information contact either Hugh Pett, VE3FLL,
36LLismer Cr., Kanata ON, K2K 1A2 or Doug Lockhart, VE7APU,
1263 Balfour Ave., Vancouver BC, V6H 1X6 (Tel. 604-738-
5683).
[Editor: I have been following the efforts of the VADCG for
over a year, and thought you might be interested in some
additional information: A Terminal Node Controller is
available from the VADCG (blank board only) for $30. Write
to: VADCG, 1263 Balfour Ave., Vancouver, BC, Canada V6H 1X6
or telephone (604) 738-5683. The board is 7.75 by 8.5 inches
made of double-sided G-10 glass epoxy, with plated-through
holes...well worth the price! The board needs: an Intel 8085
CPU, an Intel 8273 Data Link Controller, an Intel 8255 for
parallel I/O, a National INS8250 for serial I/O, 4k 2708
EPROM, and 4k 2114 RAM...further details are available in
the Amateur Radio Research and Development Corporation
(AMRAD) Newsletters of June and November. You can contact
AMRAD at 1524 Springvale Avenue, McLean, Virginia 22101]
Patch to make ZSID.COM the same Dump Display as DDT and SID
By: Bob Fisher - De Paul University
A>ZSID ZSID.COM<cr> <--- Load ZSID into memory with ZSID
ZSID VERS 1.4
NEXT PC END
2900 0100 A9FF
#S125F<cr>
125F 5F AF<cr> <--- Put in XOR A
1260 ?? .<cr> <--- End substitution
#S12C0<cr>
12C0 CD 18<cr> <--- Put in a relative jump
12C1 ?? 01<cr>
12C2 ?? 00<cr>
12C3 06<cr> <--- No change, here
12C4 06 01<cr>
12C5 ?? .<cr> <--- End substitution
#S12E1<cr>
12E1 CD 18<cr> <--- Another relative jump
12E2 ?? 04<cr>
12E3 ?? 00<cr>
12E4 CD 18<cr> <--- Yet another relative jump
12E5 ?? 01<cr>
12E6 ?? .<cr> <--- End substitution
#G0<cr> (or Control-C<cr>) <---Exit ZSID, return to CP/M
A>SAVE 40 ZSID-FIX.COM<cr> <---Save fixed version of ZSID
When ZSID relocates itself, an offset is added to bytes
12C2, 12E3, and 12E6 hex.