>>>>>>>>>>>>>>>>>>>>> CP/M-Net News <<<<<<<<<<<<<<<<<<<<<<<<

============================================================
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:

       SIG/M Volume 4 -  File 4.18: SURVEY.COM
                         File 4.19: SURVEY3.ASM

       SIG/M Volume 9 -  File 9.05: DISPLAY.COM
                         File 9.06: DISPLAY.DOC
                         File 9.07: DISPLAYP.ASM

       SIG/M Volume 17 - File 17.1: SCRAMBLE.DOC
                         File 17.2: SCRAMBLE.ASM
                         File 17.3: SORTV.DOC
                         File 17.4: SORTV-12.ASM

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.

               Keith Petersen, W8SDZ

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                     CP/M Book Reviews
                     =================

                    By: Mark Wehmhoefer


              --- Summarized Rating Chart ---

                          (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)

         --- Review 1: Osborne CP/M User Guide ---

Hogan,    Thom,    OSBORNE   CP/M   USER   GUIDE,   Berkely:
Osborne/Mcgraw-Hill 1981.  Price $12.99  - 283 Pages.

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.

Appendices:  Common  CP/M error  messages,  Hex  conversion
table,  ASCII  conversion table,  Ed control characters,  ED
commands,  Pip device names,  Pip keywords,  Pip parameters,
CP/M  (and MP/M) commands,  Command editing  controls,  CP/M
extension  types,   Supplies  (checklist),   Computer   room
organization (checklist),  Failure checklist,  Basic trouble
shooting rules.

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.

Appendices:  CP/M memory map, CP/M hardware suppliers, CP/M
software  suppliers,  CP/M diagnostics,  CP/M Users's Group,
and Glossary.

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]

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

              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

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.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++