
[5145] (87 lines) Network_Server.        04/10/85  1715.7 hrs Wed cpm
Subject:  carriage returns in wordstar
Date:  Wednesday, 10 April 1985 13:42 hrs
From:  Samuel Lam <SKLM%mtsg.ubc.cdn%ubc.csnet at CSNET-RELAY>
To:  edelheit at MITRE
cc:  Info-Cpm at AMSAA
Mmdf-Warning:  Parse error in preceding line at CSNET-RELAY.ARPA
Mmdf-Warning:  Parse error in preceding line at CSNET-RELAY.ARPA

The following has been taken, verbatim, from the May 1984 issue of the
UBC Computing Centre Newsletter, published by the Computing Centre,
University of British Columbia.

It should solve your problem with carriage return and WordStar.

... Samuel Lam

CDNnet:  SKLM@mtsg.ubc.cdn
Mailnet: Samuel_Lam@UBC.Mailnet

_____________________________________________


     WORDSTAR FILES AND CARRIAGE RETURNS
                -- Glen Cooper

FMԠ t WordSta user hav bee encounterin  bothersom 
problem--ever tim the down- loa th forme t th latte eac 
lin end i  har carriag retur (makin WordStar
think every line is its own paragraph).

WordSta normall end eac lin wit  "soft carriag retur 
(8 hex a wel a  lin fee (0 hex) bu fo an lin whic 
happen t b a th en o  paragraph th sof carriag retur 
i mad "hard (0 hex b havin th higher-orde bi turne 
off Thi differenc i require becaus WordSta justifie 
paragraphs no lin ranges an th progra need t kno wher 
eac paragraph ends.  

Unfortunately WordSta doe no distinguis betwee sof an 
har return i it editin command s user canno easil mak 
har return soft MicroPr suggest deletin th har return 
an reformatting Thi ca b ver tediou whe larg file 
produce b othe program nee t edite b WordSta an al th 
return ar hard Fo example file produce o  mainfram an 
downloade ont  microcompute b  communication progra ma 
onl hav har returns.

A easie wa aroun thi proble i demonstrate i th 
followin MicroSof Basi progra whic take  fil o driv  
(calle HARD an transform i int  ne fil o driv  
(calle SOFT wher al carriag return ar mad soft:



   100 REM
   110 REM from hard to soft carriage returns
   120 REM
   130 OPEN "I",#1,"B:HARD"
   140 OPEN "O",#2,"B:SOFT"
   150 IF EOF(1) GOTO 190
   160 LINE INPUT #1,L$
   170 PRINT #2,L$+CHR$(141)+CHR$(10);
   180 GOTO 150
   190 END

Not tha thi progra assume eac lin o B:HAR end i  har 
carriag return 
Afte runnin th progra yo ca the us WordSta t mar th  
en o paragraph b hittin th retur ke anywher o thos 
line whic en the (makin sur inser mod i of t avoi 
unwante lin breaks) Anothe wa t d thi woul b t en 
eac paragrap beforehan wit  specia symbo (i.e. on whic 
i no use fo anythin els i th file an the us 
WordStar' globa fin an replac comman t chang al specia 
symbol t har returns 

---[5145]--- 

[5153] (74 lines) Network_Server.        04/11/85  2217.4 hrs Thu cpm
Subject:  Re: random numbers
Date:  Thursday, 11 April 1985 14:15 hrs
From:  Eldridge.es at XEROX
To:  ssalzman.es at XEROX
cc:  info-cpm at AMSAA, info-pascal at BRL-VOC

Thi messag describe severa "linea congruential rando 
numbe generators.

 characteristi o th linea congruentia metho i tha th 
maximu perio i determine b th precisio o arithmeti used  
Fo example usin 16-bi binar arithmetic th maximu possibl 
perio i 65,535 T mak th perio reasonabl large 32-bi 
binar arithmeti shoul b used  Th selectio o栠 th 
multiplie an constan als affec th perio an distributio 
o th rando numbers (Fo mor o thi refe t Knuth Semi-
Numerica Algorithms)

Her i th rando numbe generato fro  Uni system  I run 
o a VAX which has 32 bit words.










/* @(#)rand.c       4.1 (Berkeley) 12/21/80 */
static    long      randx = 1;

srand(x)
unsigned x;
{
          randx = x;
}

rand()
{
          return((randx = randx * 1103515245 + 12345) & 0x7fffffff);
}



I yo hav rea arithmeti available yo migh wan t tr th 
followin rando numbe generator  I generate  rea i th 
rang     1  Thi on ha  perio o  million  I come 
fro th HP-67 library.

NewSeed := Frac(9821. * Seed + 0.211327)

Caution b sur t avoi  startin see equa t (1 - 
0.211327)/9821 Tha see wil produc  resul o zero  Thi 
formul assume tha th precisio o th arithmeti i te 
decima digit o better.


Mos rando numbe generator produc uniforml distribute 
numbers Sometime i i desirabl t hav normall (Gaussian 
distribute numbers  Th followin formul ca b use t 
conver uniforml distribute number int normall distribute 
number wit  give mea an standar deviation.


T = sqrt(-2*ln(rand1))*sin(360*rand2)

G = StdDev*T + Mean

where

rand1 : random number in the range 0 < n < 1
rand2 : another random number in the range 0 < n < 1
StdDev : standard deviation of desired distribution
Mean : mean of desired distribution

Reference
Knuth, Semi-Numerical Algorithms p. 104

Th onl drawbac i tha transcendenta function mus b 
evaluated Thi ca b speede u a th expens o memor b th 
us o tabl look-up.
George
---[5153]---

[5156] (9 lines) Network_Server.        04/12/85  1421.7 hrs Fri cpm
Subject:  Re: chess programs for cp/m?
Date:  Friday, 12 April 1985 12:05 hrs
From:  Ghenis.pasa at XEROX
To:  hnij at BNL
cc:  info-cpm at AMSAA

The Software Toolworks (publishers of the C/80 compiler) have MYCHESS,
which they claim beats SARGON (don't know which version of SARGON) and
can play at close to B level.
Price is $30 or $40.
---[5156]---

[5158] (25 lines) Network_Server.        04/13/85  0225.3 hrs Sat cpm
Subject:  a newsletter for Wa-Tor
Sender:  daemon%decwrl.uucp at BRL-TGR
Date:  Thursday, 11 April 1985 09:15 hrs
From:  Milt Boyd 381-1351 ZKO1-2/D13 <boyd%advise.dec at BRL-TGR>
To:  info-cpm at AMSAA
Newsgroups:  net.micro.cpm

          I am soon to publish an irregular newsletter "Running Wa-Tor",
concerned with the water world simulation devised by A. K. Dewdney,
and described in his column "Computer Recreations" in the Dec 84
issue of Scientific American.  Sharks and fishes locked in eternal struggle.
          There is enough material for two issues, to start.  I am
earnestly soliciting more material, and subscribers. I intend to
carry listings, analysis, experiments, theory, epic poetry, cartoons,
whatever comes in that will get past legal.
          Send me a SASE, and get back more info.  I can't afford to
subsidize this, so I'll have to charge, but I think you'll get
value for money.

          Milt Boyd
          PineTree
          PO Box 267
          Amherst NH 03031-0267

Posted:   Thu 11-Apr-1985 11:13 EST/ Milt Boyd, 381-1351 ZKO 1-2/D13
To:       RHEA::DECWRL::"net.micro.cpm"
---[5158]---

[5160] (33 lines) Network_Server.        04/13/85  0225.3 hrs Sat cpm
Subject:  Re: Random Numbers
Date:  Wednesday, 10 April 1985 09:42 hrs
From:  Dave Sweeney <dms%dciem.uucp at BRL-TGR>
To:  info-cpm at AMSAA
Newsgroups:  net.micro.cpm

Nick Cuccia writes:
>
>
> function Random(var x: integer): real;
>
> const
>         A = 2047;           (* = 2^11 - 1, a prime number *)
>         M = 524287;                   (* = 2^19 - 1, a prime number *)
>
> begin (* random *)
>     x := (A*x) mod M;                 (* finding new seed value *)
>     Random := x / M;                  (* finding next number in series *)
> end; (* function random *)

While A (= 2047) and M (= 524287) are mutually prime (HCF = 1), which
is all that is required for the algorithm, A is not a prime number:

          2047 = 23 * 89

which will hopefully discourage 16-bit-machine users from using it
for M (which must be prime for the series to have full period).
Here at DCIEM we use an implementation of the generator described
on p. 464 of Knuth's vol. 2, with k = 55, j = 31.  As no multiplications
or divisions are involved, it is reasonably fast.
--
          Dave Sweeney, DCIEM
          {allegra,ubc-vision,linus,ihnp4,uw-beaver,floyd}!utcsrgv!dciem!dms
or        {allegra,ihnp4,linus,decvax}!utzoo!dciem!dms
---[5160]---

[5163] (227 lines) Network_Server.        04/14/85  1433.4 hrs Sun cpm
Subject:  Help needed - TURBO & Anchor XII (Long)
Date:  Sunday, 14 April 1985 10:46 hrs
From:  Jim Forrest <JFORREST at SIMTEL20>
To:  INFO-CPM at AMSAA
cc:  JFORREST at SIMTEL20

A friend has a Kaypro10 (like mine) and has an Anchor XII modem. His BBS users
are unable to get in at 300 Baud with the following routine, although it
works at 1200 baud and works on a Hayes at 300/1200 fine. Greatly need help.
Jim

begin
  mem[$FF7C] := t[0];
  mem[$FF7D] := t[1];
  mem[$FF7E] := t[2];
  mem[$FF7F] := pred(t[3]);
  mem[$FF80] := pred(t[4]);
  mem[$FF81] := t[5]
end;


const
{ Machine specific constants }

  DataPort   = $04;          { Data port }
  StatusPort = $06;          { Status port }
  RatePort   = $00;          { Data rate (bps) port }

{ StatusPort commands }

  RESCHN     = $18;          { reset channel }
  RESSTA     = $10;          { reset ext/status }
  WRREG1     = $00;          { value to write to register 1 }
  WRREG3     = $C1;          { 8 bits/char, rx enable }
  WRREG4     = $44;          { 16x, 1 stop bit, no parity }
  DTROFF     = $68;          { dtr off, rts off }
  DTRON      = $EA;          { dtr on, 8 bits/char, tx enable, rts on }
  ONINS      = $30;          { error reset }

{ StatusPort status masks }

  DAV        = $01;          { data available }
  TRDY       = $04;          { transmit buffer empty }
  DCD        = $08;          { data carrier detect }
  PE         = $10;          { parity error }
  OE         = $20;          { overrun error }
  FE         = $40;          { framing error }
  ERR        = $60;          { parity, overrun and framing error }

{ Smartmodem result codes }

  OKAY        = '0';         { Command executed with no errors }
  CONNECT300  = '1';         { Carrier detect at 300 bps }
  RING        = '2';         { Ring signal detected }
  NOCARRIER   = '3';         { Carrier lost or never heard }
  ERROR       = '4';         { Error in command execution }
  CONNECT1200 = '5';         { Carrier detect at 1200 bps }

{ Rate setting commands }

  BD300      = 5;            { 300 bps }
  BD1200     = 7;            { 1200 bps }

function mdcarck: boolean;
{ Check to see if carrier is present }
begin
  port[StatusPort] := RESSTA;
  mdcarck := ((DCD and port[StatusPort]) <> 0)
end;

function mdinprdy: boolean;
{ Check for ready to input from modem }
var
  bt: byte;
begin
  if (DAV and port[StatusPort]) <> 0
    then
      begin
        port[StatusPort] := 1;
        if (ERR and port[StatusPort]) <> 0
          then
            begin
              port[StatusPort] := ONINS;
              bt := port[DataPort];
              mdinprdy := FALSE
            end
          else mdinprdy := TRUE
      end
    else mdinprdy := FALSE
end;

function mdinp: byte;
{ Input a byte from modem - no wait - assumed ready }
begin
  mdinp := port[DataPort]
end;

procedure mdout(b: byte);
{ Output a byte to modem - wait until ready }
begin
  repeat
  until (TRDY and port[StatusPort]) <> 0;
  port[DataPort] := b
end;

procedure mdinit;
{ Initialize the sio channel and the Hayes Smartmodem 1200 }
const
  sio_init: array[1..9] of byte = (RESCHN, 4, WRREG4, 1, WRREG1, 3, WRREG3, 5, DTROFF);
var
  i: integer;
  mdm_attn : string[2];
  mdm_init : string[41];
  bt       : byte;
begin
  for i := 1 to 9 do
    port[StatusPort] := sio_init[i];        { initialize the SIO channel }
  port[StatusPort] := 5;                    { pull DTR high }
  port[StatusPort] := DTRON;
  mdm_attn := 'AT';
  mdm_init := 'ATE0Q0V0M0X1 S0=0 S2=3 S4=255 S5=255';
  port[RatePort] := BD1200;                 {set the 8116 to 1200 baud}
  delay (500);                              {let the modem settle for a bit}
  for i := 1 to 2 do
    begin
      bt := ord(mdm_attn[i]);               {force the modem to 1200 baud}
      mdout(bt)
    end;
  bt := ord(CR);
  mdout(bt);
  delay (2000);                             {wait a sec...}
  for i := 1 to 41 do
    begin
      bt := ord(mdm_init[i]);               {initialize the modem}
      mdout(bt)
    end;
  bt := ord(CR);
  mdout(bt);
  bt := mdinp;                              { clear any previous rings }
  bt := mdinp
end;

function mdring: boolean;
{ Determine if the phone is ringing }
begin
  if mdinprdy
    then mdring := (RING = chr(mdinp))
    else mdring := FALSE
end;

procedure mdhangup;
{ Hangup modem }
var
  i        : integer;
  mdm_hang : string[4];
  bt       : byte;
begin
  repeat
    port[StatusPort] := 5;             { setup to write register 5 }
    port[StatusPort] := DTROFF;        { clear DTR, causing hangup }
    delay(2000);
    port[StatusPort] := 5;
    port[StatusPort] := DTRON;
    if mdcarck
      then
        begin
          mdm_hang := 'ATH0';
          for i := 1 to 3 do
            begin
              bt := ord(ETX);
              mdout(bt)
            end;
          delay(1500);
          for i := 1 to 4 do
            begin
              bt := ord(mdm_hang[i]);
              mdout(bt)
            end;
          bt := ord(CR);
          mdout(bt)
        end;
  until not(mdcarck)
end;

procedure mdans;
{ Detect and set system to rate at which modem answered phone }
var
  mdm_answ : string[3];
  code     : char;
  i        : integer;
  bt       : byte;
begin
  repeat
  until mdinprdy;
  bt := mdinp;
  mdm_answ := 'ATA';
  for i := 1 to 3 do
    begin
      bt := ord(mdm_answ[i]);
      mdout(bt)
    end;
  bt := ord(CR);
  mdout(bt);
  repeat
  until mdinprdy;
  code := chr(mdinp);
  if code = CONNECT1200
    then
      begin
        port[RatePort] := BD1200;
        rate := 0.02075;
        delay(500);
        bt := mdinp;
        bt := mdinp
      end;
  if code = CONNECT300
    then
      begin
        port[RatePort] := BD300;
        rate := 0.083;
        delay(500);
        bt := mdinp;
        bt := mdinp
      end;
  if code = NOCARRIER
    then mdhangup
end;
-------
---[5163]---

[5177] (14 lines) Network_Server.        04/18/85  0254.7 hrs Thu cpm
Subject:  ZCPR3 Manual Publication
Date:  Wednesday, 17 April 1985 16:43 hrs
From:  Steve Noland <NOLAND at USC-ISI>
To:  info-cpm at AMSAA

Contrar t ZCPR Newslette #108 th ZCPR Manua (book i NO 
read fo shipment  Conversatio wit th publishe (Zoetrope 
thi A.͠ indicate tha the wer jus preparin t prin th 
camer copy an tha shipment woul (hopefuly begi i June  
Som proble wit th automati typesetter
reading Wordstar files.

Hold tight.

Steve Noland
-------
---[5177]---

[5178] (30 lines) Network_Server.        04/18/85  0254.7 hrs Thu cpm
Subject:  Reply to: cp/m bios blues...
Date:  Wednesday, 17 April 1985 18:44 hrs
From:  mknox <mknox at UT-NGP>
To:  maxwell%eiffel.DEC at DECWRL, info-cpm at AMSAA

The scheme you are using [not bringing in the CCP until the system is
up] *should* work just fine.  "There must be a bug there somewhere ..."
[Big help, right?]

Anyway ther i anothe schem whic CC use an migh b o 
us t you  I yo measur closely CP/M-2. wil fi i tw 
track o  singl sided singl densit diskett *JUS BARELY*  
ɠ believ i ha betwee 38 an 51 byte lef free dependin 
o bootstrap.

Wha CCӠ doe i pu th syste ou ther wit a absolutel 
minima BIOS jus bi enoug t forc BDO t ru  progra 
whic read i BIOS.SY int  memor buffer cop i u ove th 
mini-bios an exi wit  col o war boo (a yo choose)  
Yo don' nee an dis write fanc erro checking seria port 
Obviousl th syste i loade a a addres whic leave roo a 
th堠 to o栠 memor for the full size BIOS.

A advantag ove th CC scheme i tha i simplifie warm-
start afte ever ^C th CC an BDO ar i th syste track 
wher the belong Anothe advantag (i yo pla wit the BIO 
lik  do i tha al yo hav t d t tes ou  ne BIOӠ i 
t simpl replac th BIOS.SY file N muckin abou wit PUTSY 
GETSYS, or the like.

---[5178]---

[5180ݠ (9 lines Network_Server    04/18/8  0254. hr Th cpm
Subject:  New PD Program to save memory
Date:  Wednesday, 17 April 1985 21:24 hrs
From:  Eric Stork <STORK at MIT-MC>
To:  info-cpm at AMSAA
cc:  STORK at MIT-MC

 This message announces the availability of SYA.LBR.1
 in SIMTEL-20, Directory MICRO:<CPM.WSTAR>
               CONTENTS
 Filename                Type     Bytes   CRC
 SYA.AQM                 BINARY   18048  BD9EH
 SYA.DQC                 BINARY    3968  C3B0H
 SYA-WS.COM              BINARY    2816  7185H

 The following is an extract from the DOC file:


 It shouldn't happen -- but it does.

 You're  using  your  favorite word processor -- a report, letter,
 program, what-have-you -- and a glitch locks up the terminal.

 Of  course, if you know a lot about how CP/M's memory works, have
 DDT   or   its   equivalent   available,   don't   overlay   your
 text-in-memory  with  DDT  or  its  clone,  know  where your word
 processor's edit space begins, know how to move  the  content  of
 memory  to 100H, know how to find the end of your text in memory,
 know how to figure the number of pages to save -- if you know ALL
 of the above you can save your assets and start over.

 But now there is a better way to SAVE YOUR ASSets - enter SYA.

 SYA is a 3k program that you should keep handy.  Menu-driven,  it
 can  be figured out easily even if yu've not used it for a while.
 If you screw up, just exit SYA and invoke it  again.   Since  you
 don't  have  to  move memory around, you can try as many times as
 you like so long as you don't turn the power off.

 Here's what SYA does:

     .   Starting at the beginning of  the  editor's  storage
         space, SYA dumps memory to the console.

        ..  DUMPing can be a screen-full at a time, or a line
            at  a  time.   Set and reset as you like with the
            'L' command.

        ..  All control characters (exept CR,LF, &  TAB)  are
            filtered  from  the  console,  to keep the screen
            from doing weird graphic things.

        ..  If you DUMP past your text, you'll get garbage on
            the screen, but that will stop eventually.   Then
            you can do 'L', 'B', or 'T' -  see below.

        ..  If you get a long run of garbage without stopping
            (because   SYA   doesn't   encounter  a  stopping
            character), hit any key to  interrupt  the  DUMP,
            then do 'L', 'B', or 'T'.

     .   After each screen, or each line in single-line mode,
         a SPACE or CR will continue DUMPING.

     .   'B' will ask you how many lines you want to back up.

     .   'T' puts you at the TOP of the storage space  again,
         and DUMPS from there.

     .   'L'   (for   LINES)  asks  if  you  want  PAGING  or
         SINGE-LINE dumping.

     .   'S'  will SAVE your file from its beginning to where
         you were when you typed 'S'.

     .   'M' gives you a MENU of options.

     .   'X' will EXIT.  So will ^C.


         I wrote SYA for my own and some friends' use.  As of
         now  it  works  only with Wordstar 3.0, and with the
         old TSC line editor.

 You can easily set up SYA.ASM for YOUR favorite editor, or for any
 other  program  that  uses a defined area   of memory for data (it
 should work for dBASE-II, SUPERCALC, etc.).


 Eric Stork
 STORK%MIT-MC

                                ###

---[5180]---

[5183] (13 lines) Network_Server.        04/18/85  1500.1 hrs Thu cpm
Subject:  Re: METAL Message System
Date:  Thursday, 18 April 1985 11:39 hrs
From:  Rick Conn <RCONN at SIMTEL20>
To:  NOLAND at USC-ISI
cc:  RCONN at SIMTEL20, info-cpm at AMSAA

Steve,

          I think Echelon sells METAL now.  If not (or anyway), you
can find out more by leaving a message on Z-Node Central.  Z-Node Central
runs METAL.

                    Rick
-------
---[5183]---

[5184] (40 lines) Network_Server.        04/18/85  1500.2 hrs Thu cpm
Subject:  Re: Help needed - TURBO & Anchor XII (Long)
Date:  Thursday, 18 April 1985 09:37 hrs
From:  Pencin.dlos at XEROX
To:  Jim Forrest <JFORREST at SIMTEL20>
cc:  INFO-CPM at AMSAA

Using the Anchor Mk XII within BYE.COM

To use the Mk XII you must ascertain if you have the proper rom set.
This can be done by connecting up the modem and typing ATI1 the result
will be a number if the number is 218 then you are ok, if not get on the
phone to Anchor and get them to replace the roms in your modem. This fixes
a nasty habit of the Anchor's which will cause a seizure of the worst kind
if someone calls your modem at 300 baud. Apparently the modem gets confused
when it answers and has to switch baud rate hanging up the entire system.
Thanks to Ed Richter for this information. This tip and the following mod
allow the Anchor to function as a Hayes clone in a BBS situation.

D. Pollock 4-7-85

DTR Hangup mod for Anchor MK XII   by Barry A. Cole  30 JAN 1985
----------------------------------------------------------------
This will cause a full reset when DTR is brought high(-12v).  This
follows the standard definition of RS232 and makes the Anchor
compatible with the Hayes Smartmodem for usage within "BYE.COM".
     Installation:
1)Open the modem case using a wide blade screwdriver.  Pry the top
  separate from the bottom.
2)Solder the banded end of a small switching diode such as 1N914 or 1N4148
  to the RS232 connector pin 20.  Keep the lead long and insert in a piece
  of sleeving stripped from a wire.  Looking from where the ribbon cable
  enters the board, this is the center of the 7 pins in the 2nd row from
  the outside of the case.
3)Solder the other end of the diode to a piece of wire.  Slide sleeving
  over the exposed diode lead for insulation.
4)Solder the other end of the wire to the plus(+) side of capacitor C48.
  This was in the farthest corner of mine.  On newer boards, it is near
  the center of the board.
-----> That's all- not bad for 10 cents!  If you run a Kaypro, see my
       program HANGUP.ASM to see how to use this.  Most versions of BYE
       try to drop carrier via DTR even if they think you don't have it!
---[5184]---

[5185] (13 lines) Network_Server.        04/18/85  1500.2 hrs Thu cpm
Subject:  METAL Message System
Date:  Thursday, 18 April 1985 10:24 hrs
From:  Steve Noland <NOLAND at USC-ISI>
To:  INFO-CPM at AMSAA
cc:  INFO-HZ100 at RADC-TOPS20

Does anyone know where I can get my hands on the METAL message system
software?  I am trying to assemble a RCPM using ZCPR3, and I hear that
METAL works well in that application.

Thanks in advance

Steve Noland
-------
---[5185]---

[5186] (130 lines) Network_Server.        04/18/85  1859.8 hrs Thu cpm
Subject:  BYE333 available from SIMTEL20
Sender:  KPETERSEN at SIMTEL20
Date:  Thursday, 18 April 1985 12:17 hrs
From:  Keith Petersen <W8SDZ at SIMTEL20>
To:  Info-Cpm at AMSAA

Thanks to Steve Noland <NOLAND@USC-ISI.ARPA> we now have available
from SIMTEL20 the newly-released (15-Apr-85) BYE333 and its COMPLETE
set of new overlays.

For those who want the whole package:

Filename            Type       Bytes     CRC

Directory MICRO:<CPM.BYE3>
BYE3-OVL.LBR.1                BINARY    105600  32E0H * see note below
BYE333.LBR.1                  BINARY     55936  105AH

I have extracted all the files from both .LBRs so users can select the
overlay they need:

Filename            Type       Bytes     CRC

Directory MICRO:<CPM.BYE3>
ASMB3.SUB.1                   ASCII       1580  3AACH * see note below
B3-2718.IQS.1                 BINARY      4992  5228H
B31602-4.IQS.1                BINARY      3456  9DBDH
B32718-4.IQS.1                BINARY      4992  639BH
B3ACAT-6.IQS.1                BINARY      4224  94B6H
B3APMN-8.IQS.1                BINARY      4224  48A5H
B3CCS-3.IQS.1                 BINARY      5632  F93FH
B3CERM-5.IQS.1                BINARY      3712  08A5H
B3COMP-9.IQS.1                BINARY      5888  C3D8H
B3DATA-6.IQS.1                BINARY      4224  6260H
B3DCH-6.IQS.1                 BINARY      3456  E32BH
B3EPQX-3.IQS.1                BINARY      4096  FE97H
B3HZ10-6.IQS.1                BINARY      4608  85AEH
B3HZ89-6.IQS.1                BINARY      4224  B406H
B3IM-3.DQC.1                  BINARY      3840  A875H * see note below
B3KPRO-8.IQS.1                BINARY      3968  EE44H
B3LBD-6.IQS.1                 BINARY      4992  F85DH
B3MD-4.IQS.1                  BINARY      5120  EEAFH
B3MMII-6.IQS.1                BINARY      3840  0615H
B3OSCP-6.IQS.1                BINARY      4224  69F3H
B3SB-1.IQS.1                  BINARY      3968  DD0BH
B3SIO-6.IQS.1                 BINARY      4480  CAA7H
B3T802-6.IQS.1                BINARY      5376  B644H
B3TRS1-6.IQS.1                BINARY      3584  61D6H
B3USR-4.IQS.1                 BINARY      4096  40E6H
BYE333.AQM.1                  BINARY     49408  D977H
BYE333.INF.1                  ASCII       3218  E6A7H
BYE333.IQF.1                  BINARY      2432  B445H

Notes:

* B3IM-3.DOC - Adapts all modems using Hayes protocol to BYE333 (or
higher) and intelligent modems like:

           Hayes Smartmodem (300 or 1200 or 2400)
           Racal-Vadic Maxwell 1200V or 2400V
           U.S. Robotics (300 or 1200 or 2400)
           Promodem, Anchor and others

* Many of the inserts in the BYE3-OVL.LBR have been corrected
since BYE332 was released.  Be sure to get the latest version
for your port (BYE3-OVL.LBR dated 4/15/85 which is the one we have
here at SIMTEL20).

* ASMB3.SUB shows how to (more simply) edit and assemble BYE33n.ASM
for multiple versions and/or many changes...  WITHOUT always editing
the humongous 80K source each time.

* BYE3 inserts currently available - BYE3.ASM takes full advantage of
the result codes returned by modems using "AT" protocol.  It uses the
terse mode to recognize the speed of the incoming signal and
automatically adjusts the computer I/O to that speed, without the user
needing to type any CR's.  This is of particular benefit for RCPM
systems using the new 300/1200/2400 modems.

Versions of BYE2 and BYE3 prior to BYE331 have relied on the old PMMI
routine to match the incoming speed by adjusting the I/O baud rate
until recognizing a CR from a string of CR's sent by the user.  That
method is not needed by modems using "AT" result codes.  The PMMI does
not support 1200 or 2400 bps in any event, hence very few are
currently in use.

All the inserts below have been altered to work with the new versions
of BYE3.  2400 bps was added to each from information supplied by the
manufacturer's data sheets and/or overlays developed for MDM7, MEX1,
etc.  BYE3 has an equate to set with the highest speed available for
your modem, whether 300 or 1200 or 2400 bps.

BYE3 includes smartmodem routines developed for use with modems using
the "AT" protocol pioneered by Hayes.  No external smartmodem inserts
are thus needed, except for systems such as the Cermetek which use
their own protocol.  The included smartmodem routines also allow
answering on first ring, with optional echo-checking offered by some
modems for insured accuracy of command accectance.

     REMEMBER:  These are inserts, not overlays.  They go into
                BYE3 at the area specifified by the ++++ char-
                acters, near the start of the program.

                        Hardware specific inserts
                        -------------------------
B32718-4.INS  CCS2718 serial board
B31602-4.INS  TRS80 Model III with 1602
B3ACAT-6.INS  Apple II with Novation Apple-Cat modem card
B3APMN-8.INS  Apple II with Mountain CPS serial card and external modem
B3CCS-3.INS   CCS2719 & Sierra Data Science SIO/CTC
B3CERM-5.INS  Cermetek Infomate 212a control code
B3COMP-9.INS  CompuPro Interfacer 3 or 4, System Support 1 systems
B3DATA-6.INS  Datapoint insert (8251A and CTC timer to set baud rates)
B3DCH-6.INS   Apple II with Hayes Micromodem 100 or 80-103 modem card
B3EPQX-3.INS  Epson QX-10 with 7201 MPSC and 4618 RTC as timer
B3HZ10-6.INS  Heath/Zenith -100 series (2661B at 4.9 MHz.)
B3HZ89-6.INS  Heath/Zenith H89 (8250 I/O at 2 MHz.)
B3KPRO-8.INS  KayPro (Zilog SIO)
B3LBD-6.INS   AMPRO "little board" with Zilog Dart I/O and CTC baud rate
B3MD-4.INS    Morrow MicroDecision computer
B3MMII-6.INS  Apple II with Hayes Micromodem II card
B3SB-1.INS    Intertec Superbrain (8251 and BR1941 timer)
B3OSCP-6.INS  Osborne OS-1 with COMM-PAC internal modem (300 baud only)
B3SIO-6.INS   Zilog SIO insert with CTC timer to set baud rates
B3T802-6.INS  TeleVideo TS-802 with external modem
B3TRS1-6.INS  Radio Shack TRS-80 Model I
B3USR-4.INS   US Robotics S-100 plug in modem board (8251)

              (Others will be added as they become available.)

--end--
---[5186]---

[5188] (19 lines) Network_Server.        04/18/85  1859.8 hrs Thu cpm
Subject:  Re: METAL Message System
Date:  Thursday, 18 April 1985 15:05 hrs
From:  Sam Hahn <Samuel at SU-SCORE>
To:  RCONN at SIMTEL20
cc:  NOLAND at USC-ISI, info-cpm at AMSAA

Delphi Data Systems has the Metal RBBS system.  The address is:

          Delphi Data Systems
          POBox 391567
          Mountain View, CA  94039-1567

It is running on the Piconet (user group) system, which is reachable at:

          408-965-4097 (300/1200 baud).

-----
I'm not connected with Delphi, tho its president used to be president of
Piconet, which I'm a member of.                   -- Sam Hahn
-------
---[5188]---

[5189] (21 lines) Network_Server.        04/19/85  1104.0 hrs Fri cpm
Subject:  Revised MODEM/XMODEM protocol document
Sender:  KPETERSEN at SIMTEL20
Date:  Friday, 19 April 1985 01:03 hrs
From:  Keith Petersen <W8SDZ at SIMTEL20>
To:  Info-Cpm at AMSAA, Info-Micro at BRL-VGR
cc:  Info-Modem7 at SIMTEL20, Info-Modemxx at SIMTEL20

Since there were so many versions of the MODEM/XMODEM protocol
documentation floating around the net recently, I decided to call Ward
Christensen's RCPM and get the very latest, which was in two pieces
(the second of which is the CRC info).  I merged the two and the
result is available via ANONYMOUS ftp from SIMTEL20 as:

Filename                      Type       Bytes     CRC

Directory MICRO:<CPM.MODEM2>
MODMPROT.003.1                          ASCII      15817  9571H

--Keith <W8SDZ@SIMTEL20.ARPA>
Usenet: ...!decvax!brl-bmd!w8sdz
  or    ...!unc!brl-bmd!w8sdz
  or    ...!seismo!brl-tgr!w8sdz
---[5189]---

[5190] (22 lines) Network_Server.        04/19/85  1104.0 hrs Fri cpm
Subject:  BYE3-OVL.LBR revised - missing install file added
Sender:  KPETERSEN at SIMTEL20
Date:  Friday, 19 April 1985 02:22 hrs
From:  Keith Petersen <W8SDZ at SIMTEL20>
To:  Info-Cpm at AMSAA

One more file (which was previously missing) has been added to the
BYE3-OVL.LBR, thus changing its size and CRC.  The new file is:

Filename                      Type       Bytes     CRC

Directory MICRO:<CPM.BYE3>
BYE3-OVL.LBR.2                          BINARY    110464  0827H

If you alreay got the one I announced a few hours ago just get the
missing file and add it with LU.COM.

Filename                      Type       Bytes     CRC

Directory MICRO:<CPM.BYE3>
B3RS2-3.IQS.1                           BINARY      4864  D85BH

--Keith
---[5190]---

[5192] (18 lines) Network_Server.        04/20/85  0839.8 hrs Sat cpm
Subject:  Potential configuration trap for MEX users
Sender:  KPETERSEN at SIMTEL20
Date:  Friday, 19 April 1985 12:00 hrs
From:  Keith Petersen <W8SDZ at SIMTEL20>
To:  Info-Modem7 at SIMTEL20
cc:  Info-Cpm at AMSAA

Info on potential trap for MEX users: Modem7 contained default code
for the PMMI modem in the user area.  Some overlays took advantage of
that when no change was required by placing DS's there instead of the
required ANI and CPI code.  No problem with Modem7, but MEX doesn't
work then because there is a RET NOP NOP there.  Two MXO overlays
ACTUALLY exist with this problem - they could never have worked! (Irv
strikes again?).  MXO-DP??.AQM and MXO-TV??.AQM.
 los u t tw hour tryin t figur tha on out Th progra 
locked up immediately because the ANI and CPI stuff was missing!

--Keith

---[5192]---

[5194] (41 lines)
Subject:  Re: StarCard (a plug from a happy hacker)
Date: Thursday, 18 April 1985 23:02 hrs
From: ma3751az%unm-cvax.uucp at BRL-TGR
To:  info-cpm at AMSAA
Newsgroups:  net.micro.apple,net.micro.cpm
Xref:  seismo net.micro.apple:1995 net.micro.cpm:4309

> I heard that the StarCard CP/M card that can be bought with
> Wordstar is really a PCPI 6mhz card.  If this is true,
> does any one know if it comes with the CP/M utilities and
> manuals?.
>
> I saw a place advertising it for ~$150....
>

*** MASSAGE THIS LINE WITH YOUR PLACE ***

Yeah, the PCPI 'starcard' is one of the best CP/M cards available on the
apple.  I got it for ~ $185 and thought it was a steal.  If you see it lower,
GET IT!  It comes with CP/M primer, Wordstar 3.3 + manual, CP/M system disk
which includes drivers for 80 col cards or 70 col hi-res (goes slow, but
works).  The card itself is fast.  It also comes with the starcard manual
which explains all you need except for one of the drivers. ( I still can't
figure out what RAMDISK.DVR is used for.  Maybe for the 256K Add-on ramdisk
you can install...)  The WS manual is geared for using the PCPI card, too.

You have your basic cp/m utilities: stat, submit, etc. & one called adosxfer
which transfers files back and forth between dos 3.3 and cp/m.  There is also
a file called dosrdsk or something, which, when transferred to dos 3.3, can
make the extra 64K on the starcard emulate a ramdisk.  When you're using the
card, you can change the apple memory into a printer buffer (35K or so!)

I have used my card for about 3 weeks now (I only have 1 drive and am in
pain...you really need 2 ++).  I do recommend it to *anyone* with a //e
who wants cp/m.  I've used cp/m 3.0 before, but the novelty of cp/m on an
apple makes me forget the problems of cp/m 2.2 .


-------------------------------------------------------------------------------

Stefan "leach" Chakerian                                    CIS 74365,231
{convex,ucbvax,gatech,csu-cs,anl-mcs,lanl-a}!unmvax!unm-cvax!ma3751az
---[5194]---

[5200] (37 lines) Network_Server.        04/21/85  1647.8 hrs Sun cpm
Subject:  Floppy disk squeal fix
Sender:  KPETERSEN at SIMTEL20
Date:  Sunday, 21 April 1985 10:55 hrs
From:  Keith Petersen <W8SDZ at SIMTEL20>
To:  Info-Cpm at AMSAA, Info-Micro at BRL-VGR

The following was recently seen on Ward Christensen's personal
bulletin board system (312-849-1132) and is relayed here for its
informational value.
--Keith

From: Ward Christensen
To:   All
Re:   Squealing diskettes solved

A month or so back I solicited opinions on squealing diskettes.
Yesterday I solved it with a replace of the PRESSURE PAD on the
Shugart 801 drives.  I also WD-40'd the stepper lead screw, and now
seeking is as smooth as velvet, IN SPITE of maintenance people's
advice to leave it "dry" so it doesn't attract dust.


From: Gary Elfring
To:   Ward Christensen
Re:   WD-40 and Shugart

I have lubricated my lead screws for a number of years.  One of my
drives started acting up and I noticed that it was very hard to
manually move the lead screw.  I cleaned the screw completely with a
freon based solvent and then lubricated with a light machine oil.
This speeded up disk access significantly!  Anyway, the choice of
lubricant makes a BIG difference.  After about 6 months I had to go
clean and relubricate the screw.  It got all gummed up.  This time I
used a silicon based spray product.  That attracted less dirt and
lasts about a year.  Cleaning and spraying once a year doesn't bother
me much.  It also a good idea to check the pressure pads at least once
a year.  As they wear out the disk reads and writes become less
reliable.
---[5200]---

[5207] (16 lines) Network_Server.        04/22/85  1653.6 hrs Mon cpm
Subject:  Anchor Mark XII
Date:  Monday, 22 April 1985 13:16 hrs
From:  Lee.Sailer at CMU-CS-C
To:  info-cpm at AMSAA

Ther wa  pos awhil bac abou ho t tel i yo nee t ge 
 ne RO fo you Mar XII  Min faile th test s  calle 
Anchor  The sai tha th ATI comman report  checksum an 
tha i yo ge 254 083 o 104 the yo shoul cal them   
go 129 an the sai that is fine.

Also i AT respond wit a "Error" thi mean tha yo hav  
RO tha i capabl o sendin  Break  I not th upgrad i 
$40.

At least, this is what I think he said.

-------
---[5207]---

[5216] (149 lines) Network_Server.        04/23/85  1259.0 hrs Tue cpm
Subject:  Basic unsqueezer
Date:  Wednesday, 10 April 1985 12:36 hrs
From:  NBaheti.ES at XEROX
To:  INFO-MICRO-REQUEST at BRL-VGR, INFO-CPM-REQUEST at AMSAA
cc:  NBaheti.ES at XEROX

----------------------------------------------------------------
From: NBaheti.es @ PARC-MAXC
Date:  9-Apr-85 16:22:00 PST
To: Keith Peterson <KPETERSON@SIMTEL20.ARPA>
cc: NBaheti.es@Xerox

Keith--

I picked this up on a local BBS with NO DOCUMENTATION, but I still
think it may be of use to the users of SIMTEL20's repository.

--Arun [NBaheti.es@Xerox]

-------------------------

10        '***************************************************************
20        ' PCUSQNEW.BAS - Version 1.0 - 3/17/85
30        '    by Kim Levitt - 213-653-6398 (MBBS, 300/1200 baud)
40        '    Update of original 11/25/84 version of USQ.BAS by
50        '    Dave (it can't be done) Rand - 805-493-1987 (voice)
60        '
65        '         This WILL run on an IBM-PC under interpreter BASICA,
66        '         but VERY SLOWLY.. When I compiled it under BASCOM
67        '         and LINKed it with BASCOM.LIB on the PC-AT, it ran
68        '         fast enough to be useable..
69        '
70        '**************************************************************
80        ' INITIALIZATION
90        '
100       DEFINT A-Z : GETC$=" " : GETW$="  " ' for speed!
110       DIM USQ.TABLE%(1,257), BUF$(128), OUTF$(127)
120       FILE$="" : SF%=0 : FO%=-1 : CSL%=0 : CSH%=0 : OD$=""
340       '***************************************************************
350       ' COMMON CODE
360       '
370       ' Common code, accessed with blank command line or begining of
380       ' non-CP/M versions.. (Interactive version)
390       '
400       SF%=-1
410       PRINT : PRINT "PCUSQNEW.BAS -- A SLOW But Sure BASIC Unsqueezer"
420       PRINT
430       PRINT "(Enter name of file to 'unsqueeze'. Use upper case ONLY.)"
440       INPUT "Name of squeezed file";FILE$ : ID$=""
450       PRINT : PRINT "(Enter 'O' for console output only)"
460       INPUT "Console output? (Y/N/O)";CO$
470       IF CO$="O" OR CO$="o" THEN FO%=0 : GOTO 520
480       IF CO$="N" OR CO$="n" THEN SF%=0
490       PRINT : PRINT "(Enter return only for current disk)"
500       INPUT "Output drive";OD$
510       IF LEN(OD$)=1 THEN OD$=OD$+":"
520       PRINT : PRINT "Unsqueezing ";ID$;FILE$;" --> ";
530       OPEN "R", 1, ID$+FILE$, 128
540       GET #1, 1
550       IF EOF(1) THEN PRINT "[File not found]" : CLOSE #1 :
             KILL ID$+FILE$ : SYSTEM
560       FOR X=0 TO 127 : FIELD 1, X AS D$, 1 AS BUF$(X) : NEXT X
570       GOSUB 900
580       IF USQ.ERR%<>0 THEN
             PRINT "[Error in header, or not squeezed]" : SYSTEM
590       PRINT "(";OD$;OLD.NAME$;")";
600       IF FO%=0 THEN PRINT " (console output only)" ELSE PRINT
610       PRINT
620       IF FO%=0 THEN 650
630       OPEN "R", 2, OD$+OLD.NAME$, 128 : OUTR%=1 : OUTS%=0
640       FOR X=0 TO 127 : FIELD #2, X AS D$, 1 AS OUTF$(X) : NEXT X
650       USQ.EOF%=0
660       GOSUB 1170
670       WHILE NOT(USQ.EOF%)
680          IF INKEY$=CHR$(3) THEN 800
690          IF SF% AND USQ$=CHR$(26) THEN SF%=0
700          IF (SF% AND USQ$<>CHR$(10)) THEN PRINT USQ$;
710          IF FO% THEN GOSUB 840
720          CSL%=CSL%+ASC(USQ$) : CAR%=INT(CSL%/256) : CSL%=CSL%-(256*CAR%)
730          CSH%=CSH%+CAR% : CSH%=(CSH% AND 255)
740          GOSUB 1170
750       WEND
760       NCS%=CVI(CHR$(CSL%)+CHR$(CSH%))
770       IF NCS%<>OLD.CHECK% THEN PRINT : PRINT "[USQ checksum error"; :
             IF FO% THEN PRINT ", check output file]" ELSE PRINT "]"
780       CLOSE 1 : IF FO% THEN IF OUTS% THEN PUT #2, OUTR% : CLOSE 2 ELSE CLOSE 2
790       SYSTEM
800       CLOSE : IF SF% THEN PRINT : PRINT
810       PRINT "[USQ aborted]"
820       IF FO% THEN KILL OD$+OLD.NAME$ : PRINT "[";OD$;OLD.NAME$;" killed]"
830       SYSTEM
840       '***************************************************************
850       ' TRANSPARENT FILE OUTPUT ROUTINE
860       '
870       LSET OUTF$(OUTS%)=USQ$ : OUTS%=OUTS%+1
880       IF OUTS%=128 THEN PUT #2, OUTR% : OUTR%=OUTR%+1 : OUTS%=0
890       RETURN
900       '***************************************************************
910       ' OPEN SQUEEZED FILE AND EXTRACT NAME, CHECKSUM AND TABLE
920       '
930       CUR.PNT%=128 : CUR.REC%=-1 : USQ.ERR%=0 : GOSUB 1120
940       IF GETW%<>-138 THEN USQ.ERR%=1 : GOTO 1040
950       GOSUB 1120 : OLD.CHECK%=GETW%
960       GOSUB 1050 : OLD.NAME$=""
970       WHILE GETC$<>CHR$(0) : OLD.NAME$=OLD.NAME$+GETC$ : GOSUB 1050 : WEND
980       GOSUB 1120 : COUNT%=GETW%
990       FOR X=0 TO COUNT%-1
1000         GOSUB 1120 : USQ.TABLE%(0,X)=GETW%
1010         GOSUB 1120 : USQ.TABLE%(1,X)=GETW%
1020      NEXT X
1030      REP.CNT%=0 : USQ.LFT%=0
1040      RETURN
1050      '****************************************************************
1060      ' GET CHARACTER FROM SQUEEZED FILE
1070      '
1080      IF CUR.REC%<0 THEN CUR.REC%=0
1090      IF CUR.PNT%>127 THEN CUR.PNT%=0 : CUR.REC%=CUR.REC%+1 : GET 1,CUR.REC%
1100      LSET GETC$=BUF$(CUR.PNT%)
1110      CUR.PNT%=CUR.PNT%+1 : RETURN
1120      '***************************************************************
1130      ' GET WORD FROM SQUEEZED FILE
1140      '
1150      GOSUB 1050 : MID$(GETW$,1,1)=GETC$ : GOSUB 1050 : MID$(GETW$,2,1)=GETC$
1160      GETW%=CVI(GETW$) : RETURN
1170      '***************************************************************
1180      ' GET UNSQUEEZED CHARACTER
1190      '
1200      IF REP.CNT%<>0 THEN USQ$=USQ.LAST$ : REP.CNT%=REP.CNT%-1 : GOTO 1250
1210      GOSUB 1260 : IF USQ$<>CHR$(144) THEN USQ.LAST$=USQ$ : GOTO 1250
1220      GOSUB 1260 : REP.CNT%=ASC(USQ$)-2
1230      IF REP.CNT%=-2 THEN
             REP.CNT%=0 : USQ$=CHR$(144) : USQ.LAST$=USQ$ : GOTO 1250
1240      USQ$=USQ.LAST$
1250      RETURN
1260      '***************************************************************
1270      ' TABLE LOOKUP ROUTINE
1280      '
1290      CUR.USQ%=0
1300      IF USQ.LFT%=0 THEN GOSUB 1050 : USQ.BYTE%=ASC(GETC$) : USQ.LFT%=8
1310      BIT%=USQ.BYTE% AND 1 : USQ.BYTE%=INT(USQ.BYTE%/2) : USQ.LFT%=USQ.LFT%-1
1320      CUR.USQ%=USQ.TABLE%(BIT%,CUR.USQ%)
1330      IF CUR.USQ%>=0 THEN GOTO 1300
1340      IF CUR.USQ%<-255 THEN USQ.EOF%=-1 : GOTO 1360
1350      USQ$=CHR$(-CUR.USQ%-1)
1360      RETURN
1370      END

-------------------------

----------------------------------------------------------------


[5229] (12 lines) Network_Server.        04/26/85  1317.2 hrs Fri cpm
Subject:  Re: Floppy disk squeal fix
Sender:  MEDIN-T.S%cc82 at NOSC
Date:  Wednesday, 24 April 1985 08:46 hrs
From:  Ted Medin <medin at NOSC-COD>
To:  W8SDZ at SIMTEL20

Just a note about using wd-40. I have a friend who is a maintenance
chief for the navy at Miramar naval air station. He says that the navy
will not allow wd-40 to be used because of its corrosive actions.  I
have personaly noted some things on my watch buttons that verify the
statement. I personally use wd-40 to free up stuck things (and it does
do a good job) but then I make sure I clean and reoil the part
affected.
---[5229]---

[5239] (20 lines) Network_Server.        04/28/85  2220.2 hrs Sun cpm
Subject:  Re:  Kaypro Termcap Entry - Comparison with ADM-3A
Date:  Sunday, 28 April 1985 21:18 hrs
From:  Network_Server.        (info-cpm-request@AMSAA.ARPA@AMSA)

Date:     Sun, 28 Apr 85 10:41:38 EDT
From:     "Richard G. Turner"@AMC-HQ.ARPA, PERI-ET@AMC-HQ.ARPA,
          USARI <rturner%usadhq2.arpa@AMC-HQ.ARPA>
To:       David Towson (SECAD) <towson%amsaa.arpa@AMC-HQ.ARPA>
cc:       SECRIST%OAK.SAINET.MFENET%lll-mfe.arpa@AMC-HQ.ARPA,
          INFO-CPM%amsaa.arpa@AMC-HQ.ARPA

Dave,

Sorry, but I am not the author of the Kaypro II termcap entry that you
credited me with. I received that from someone else on the net, and found
it useful.

I'll look around and see if I can determine who sent it, but I'm afraid the
source is lost.

rick
---[5239]---

[5256] (21 lines) Network_Server.        04/30/85  1430.2 hrs Tue cpm
Subject:  AMSAA hardware problems.
Date:  Tuesday, 30 April 1985 11:37 hrs
From:  David Towson <towson at AMSAA> (SECAD)
To:  info-cpm at AMSAA

Fellow CP/Mers - For nearly two months, the machine from which info-cpm is
distributed has been having hardware problems.  These have been sporadic in
nature, with frequent crashes at times, and then "quiet periods" during which
the machine stayed up for several days.  Things now seem to be building to
some sort of climax.  So far today, the machine has crashed at least eight
times.  With luck, the thing will go down and stay dead so that DEC maintenance
can find the problem.  Without luck, we may limp along for weeks.

     It is possible that mail processing will be noticeably slowed by these
frequent crashes.  Please be patient if info-cpm traffic becomes erratic.
Those of us who are homed on this machine are just as unhappy about the
situation as you are.


Dave
towson@amsaa.arpa aka info-cpm-request

---[5256]---

[5258] (50 lines) Network_Server.        04/30/85  1831.1 hrs Tue cpm
Subject:  MAILORDERS
Date:  Tuesday, 30 April 1985 14:47 hrs
From:  brake at ARI-HQ1
Reply-To:  brake at ARI-HQ1
To:  info-cpm <info-cpm at AMSAA>
Mmdf-Warning:  Parse error in preceding line at AMSAA.ARPA
Mmdf-Warning:  Parse error in preceding line at AMSAA.ARPA

I made the mistake last February of thinking that I could
place a mail order for a floppy disk drive and receive
the new drive in a reasonable time. I looked in various
magazines for the best price and finaly placed an order
with P1E for:

            1 Mitsubishi 8" disk drive,
            1 box of diskettes, and
            1 30"/60" cable

After waiting a few weeks for the drive to be stocked, I
received:

            1 dual 8" disk drive cabinet w/power supply,
            1 30"/30" cable, and
            1 invoice that listed correctly my original order

I called P1E and was informed that they would ship me the
correct order only after I returned the incorrect items. On
my original order I included $9.50 for shipping and handling.
When I shipped the incorrect order back to P1E the shipping
cost me $11.50 since the cabinet was heavier than my original
order. When I asked the service people about getting my
money back, they said that I would have to eat the cost for
their mistake.

The final twist of this whole mess is that they have confirmed
that they received my order on 4/9/85 but as of today no
shipment back to me has been made.

One thing that has saved me money on this whole mess is that
you do not have to use the long distance number to get P1E.
I have been able to use the 800 number and have them connect
me to customer service. If it wasn't for that I think my
phone bill would be larger than my original order.

This has been my third order (and last) with P1E and they
are batting 3 for 3. In the future I will pay the higher
east coast prices just to be able to get my hands on
the vendor when things go wrong.

Dennis [BRAKE@ARI-HQ1]
------
---[5258]---

[5265] (43 lines) Network_Server.        05/01/85  1538.9 hrs Wed cpm
Subject:  Help! I need a better C compiler.
Date:  Monday, 29 April 1985 20:52 hrs
From:  Rick Fairfield <zadco%ssc-vax.uucp at BRL>
To:  info-cpm at AMSAA
Newsgroups:  net.micro.cpm

Recently, I have been using the Whitesmiths C compiler (1980 version) on
a CP/M 2.2 system. I'm really unhappy with this compiler and would like
suggestions on a replacement. The only other CP/M C compiler I know of is
one called BDS (?), which I have not had occasion to use.

Here are some examples of things I hate about the Whitesmiths C and would,
therefore, like to avoid in a replacement:

1) The names of many (most) of the "standard" library functions are very
different than for my 4.2 bsd C compiler; many of these functions require
unusual arguments and return unusual values. Most blatant example: putfmt,
instead of printf.

2) All externals need to be initialized (yes, even pointers and arrays,
although array names can be initialized to the null pointer).

3) You can have multiple functions in a single source file but, apparently,
NOT in the file that contains main().

4) putfmt (printf) doesn't flush the buffer until a NEWLINE is issued.

5) The compiler runs in 3 passes (preprocessor plus two compiler passes)
which are invoked separately from a script; it is a VERY slow process and I
can't figure out how to make it stop if an error occurs in an early phase
(short of hitting the reset button).

6) Generally flakey implementation of I/O functions, particularly those
that perform character I/O (text).

I could go on but I think you get the idea. Any suggestions for a replacement
will be appreciated. Also, please include $ amounts if you know them.

                                                                      Thanx,
                                                                      zzzzzadco

                                                                      aka Rick Fairfield
                                                                      Boeing Aerospace Co
                                                                      206-773-1004
---[5265]---

[5270] (39 lines) Network_Server.        05/01/85  1939.6 hrs Wed cpm
Subject:  Re: Help! I need a better C compiler.
Sender:  newsreader at LANL
Date:  Wednesday, 1 May 1985 07:42 hrs
From:  jp at LANL
To:  info-cpm at AMSAA
Newsgroups:  net.micro.cpm

> Recently, I have been using the Whitesmiths C compiler (1980 version) on
> a CP/M 2.2 system. I'm really unhappy with this compiler and would like
> suggestions on a replacement. The only other CP/M C compiler I know of is
> one called BDS (?), which I have not had occasion to use.

Whitesmith's C is indeed reputed to be a dog for the reasons which you list.
BDS C, on the other hand, is a pretty good product.  It is speedy and produces
relatively small object files.  But it is not a full implementation of C.
One of the things that is missing is floating point math, although there are
subroutines for doing floating point indirectly.  If you want a full implemen-
tation, I suggest you look at Computer Innovations CI-86.  It has a good
reputation and I think it supports an 8087 math coprocessor.   The ad in
May BYTE says that there is a new version available aimed at the IBM PC/AT
(Is this an irresistible trend??).  But there used to be a CPM-86 version
available.

Contact CI at

Computer Innovations, Inc.
980 Shrewsbury Avenue
Tinton Falls, NJ 07724

Call

800-922-0169 for "further information"

or

201-542-5920 for "technical assistance"

Good luck,

Jim Potter   jp@lanl.arpa
---[5270]---

[5271] (27 lines) Network_Server.        05/01/85  1939.6 hrs Wed cpm
Subject:  Re: Help! I need a better C compiler.
Date:  Wednesday, 1 May 1985 18:43 hrs
From:  Jordan Hayes in his room <jordan%ucbarpa at UCB-VAX>
To:  info-cpm at AMSAA, jp at LANL
Home-Phone:  (415) 835-8767
Uucp-Path:  ...ucbvax!jordan

>>> FLAME ON <<<

The question specifically stated a CP/M 2.2 system (you even put that
part in your reply) -- CI-86 (as the name suggests... ;-) is for
CP/M-86 -- 8087 support is not going to help any on a 2.2 system.

>>> FLAME OFF <<<

Anyway, the CP/M-86'ers out there probably appreciate the tip...

Waste not, want not, so here's a question of my own : Does anyone
know if there is a version of xlisp (or any other public
domain lisp package) around? Is it on simtel20? I'm running
CP/M+ (that's 3.0 -- the one with the good-features but no software...)
on an Osborne Executive. Thanks.

/jordan
ARPA : jordan@BERKELEY.ARPA
UUCP : ...!ucbvax!jordan -or-
       sunybcs!canisius!jordan

---[5271]---

[5272] (24 lines) Network_Server.        05/01/85  1939.6 hrs Wed cpm
Subject:  Re: Help! I need a better C compiler.
Date:  Wednesday, 1 May 1985 16:55 hrs
From:  Paul Milazzo <milazzo at RICE>
To:  Rick Fairfield <zadco%ssc-vax.uucp at BRL>
cc:  info-cpm at AMSAA

Rick:

I have both the BDS and Manx (Aztec II) C compilers for my CP/M system.
For Unix compatibility, I recommend the Manx compiler.  I have written
a fair number of programs which compile and execute without change
under both CP/M and 4.2bsd on VAXen and SUN-2 workstations.  I have
also ported, with minimal effort, several programs originally written
under 4.2bsd.

While the BDS compiler often seems to produce tighter code, I almost
always use the Aztec II compiler because it is much closer to the K&R
standard.  Manx has also recently added a number of the Berkeley
extensions such as "void" declarations.

If someone is interested, I could post a review of the Aztec II compiler.

                                        Paul G. Milazzo <milazzo@rice.ARPA>
                                        Dept. of Computer Science
                                        Rice University, Houston, TX
---[5272]---

[5273] (20 lines) Network_Server.        05/01/85  2340.7 hrs Wed cpm
Subject:  Re: Kaypro connected to LAN at 9600 baud
Date:  Wednesday, 1 May 1985 17:59 hrs
From:  Bridger Mitchell <bridger at RAND-UNIX>
To:  Tom Reid <treid at MITRE-GATEWAY>
cc:  info-cpm at BRL, bridger at RAND-UNIX

The Kaypro 4-84 boards (new kaypro 2's, kaypro 4's and kaypro 10's) --those
with reverse video, etc. -- use screen memory that is accessible only
through the video controller.  The Kaypro factory roms are rather slow and
fall behind when scrolling (e.g. when the cursor gets to the bottom of the
screen and a linefeed is sent). 1200 baud is about the limit for
continuous-stream text.

Plu*Perfect Systems is writing a new rom for Kaypros that includes a
snappier video driver.  I've  used a test version effectively at 4800 baud,
and with almost no glitches at 9600. That seems to be the limit of what can
be done in firmware, given the hardware memory interfacing.

When ready, it will be available from them and Advent Products.

--bridger mitchell
---[5273]---

[5274] (5 lines) Network_Server.        05/01/85  2340.7 hrs Wed cpm
Subject:  Re: Help! I need a better C compiler.
Date:  Wednesday, 1 May 1985 19:38 hrs
From:  James Potter <jp at LANL>
To:  info-cpm at AMSAA, jordan%ucbarpa at UCB-VAX, jp at LANL

Right you are.  Some mornings I'm not as bright as others.
---[5274]---

[5275] (22 lines) Network_Server.        05/01/85  2340.7 hrs Wed cpm
Subject:  Re: Help! I need a better C compiler.
Date:  Wednesday, 1 May 1985 21:06 hrs
From:  ABN.ISCAMS at USC-ISID
To:  jordan%ucbarpa at UCB-VAX
cc:  info-cpm at AMSAA, jp at LANL

Jordan,

Re your query for a version of xlisp... look in Volume 118 of the SIGM
Archives at SIMTEL20 - the whole volume is full of one.
That would be
micro:<sigm.vol118>give.me.it.all.you.fool

(just kidding - you gotta cwd first)

Now for CP/M 86...
Same place, same crowd, but
micro:<sigm.vol153>

Regards,
David Kirschbaum
Toad Hall
(ABN.ISCAMS@USC-ISID)
---[5275]---

[5276] (22 lines) Network_Server.        05/02/85  0743.3 hrs Thu cpm
Subject:  Software Toolworks C/80 v3.0
Date:  Wednesday, 1 May 1985 18:39 hrs
From:  Larry Yudelson <yudelson%aecom.uucp at BRL>
To:  info-cpm at AMSAA
Newsgroups:  net.lang.c,net.micro.cpm
Xref:  seismo net.lang.c:5259 net.micro.cpm:4381

<>

          I have been happily using Software Toolwork's
C/80 on my Osborne for some time noow, except....

the #ifneed directive placed beffore the routines
in stdlib.c doesn't work; that is, ththe routines
will not be included.  Yes, I do put #include "stdlib.c"
at the end of the program.  Any clues?

          Larry Yudelson

          philabs!aecom!yudelson

"Do I look like I'm ready to graduate?  I mean, try
toimagine me out in the real world, totally on my own!"
---[5276]---

[5277] (18 lines) Network_Server.        05/02/85  0743.4 hrs Thu cpm
Subject:  C compilers and random flames
Date:  Thursday, 2 May 1985 05:07 hrs
From:  HUNEYCUTT at GUNTER-ADAM
To:  Info-Cpm at AMSAA
cc:  jp at LANL

Before said random flames cause confusion, C-86 is indeed NOT a CP/M 2.2
compiler, but works instead under CP/M-86 <<and>> MS-DOS/PC-DOS, with the
later version having switches for 80286 optimization.  It really won't
meet the needs of a 2.2 user.

BDS-C is an excellent system, but is unfortunately not one of the 'standard'
compilers (meaning that code from Un*x version whatever won't cross without
substantial effort).  But the price is hard to beat.  Walt Bilofsky has a
CP/M-based C compiler and will shortly release the MS-DOS version.  His
Software Toolworks, Inc. has a reputation for good software at very good
prices.

-------
---[5277]---

[5278] (45 lines) Network_Server.        05/02/85  0743.4 hrs Thu cpm
Subject:  XLISP12
Sender:  KPETERSEN at SIMTEL20
Date:  Thursday, 2 May 1985 06:04 hrs
From:  Keith Petersen <W8SDZ at SIMTEL20>
To:  ABN.ISCAMS at USC-ISID
cc:  Info-Cpm at AMSAA

There is a newer version of XLISP than the one in Volume 118 of the
SIGM collection.  It's available from SIMTEL20 as:

Filename                      Type       Bytes     CRC

Directory MICRO:<CPM.XLISP>
PT.LQP.1                                BINARY      2688  157FH
XLBFUN.CQ.1                             BINARY      5376  7603H
XLBIND.CQ.1                             BINARY      1152  F56DH
XLCONT.CQ.1                             BINARY      4224  8807H
XLDMEM.CQ.1                             BINARY      4736  40F4H
XLEVAL.CQ.1                             BINARY      5760  A2B0H
XLFIO.CQ.1                              BINARY      6656  0727H
XLFTAB.CQ.1                             BINARY      3200  7EC6H
XLINIT.CQ.1                             BINARY      1792  AB12H
XLIO.CQ.1                               BINARY      2432  9D82H
XLISP.CQ.1                              BINARY      1408  AF8BH
XLISP.HQ.1                              BINARY      4096  7B9CH
XLISP.MQM.1                             BINARY     24576  4BDDH
XLISP12.FIX.1                           ASCII        462  7384H
XLISP12.LBR.1                           BINARY    117504  E343H
XLLIST.CQ.1                             BINARY     12160  068EH
XLMATH.CQ.1                             BINARY      4480  E2B3H
XLOBJ.CQ.1                              BINARY     11648  B221H
XLPRIN.CQ.1                             BINARY      2432  EE6FH
XLREAD.CQ.1                             BINARY      5760  EAA1H
XLSTR.CQ.1                              BINARY      3200  B91FH
XLSTUB.CQ.1                             BINARY       384  C441H
XLSUBR.CQ.1                             BINARY      2048  7336H
XLSYM.CQ.1                              BINARY      3584  27F6H
XLSYS.CQ.1                              BINARY      2304  FC85H

Get XLISP12.LBR instead of the individual files if you want the whole
package at once.

XLISP14 does exist on the net, but it for 16-bit machines only (it's
too big to work on 8-bit machines, I've been told).

--Keith
---[5278]---

[5281] (12 lines) Network_Server.        05/02/85  1143.5 hrs Thu cpm
Subject:  Re: Software Toolworks C/80 v3.0
Date:  Thursday, 2 May 1985 09:13 hrs
From:  Chris McMenomy <christe at RAND-UNIX>
To:  Larry Yudelson <yudelson%aecom.uucp at BRL>
cc:  info-cpm at AMSAA, christe at RAND-UNIX

Larry--

#include "stdlib.c" has to be the last line and must be followed by a
carriage return.  I'm pretty sure that works: we had the same problem
for a while.

--Christe
---[5281]---

[5290] (48 lines) Network_Server.        05/03/85  1642.9 hrs Fri cpm
Subject:  Using the Anchor Mk XII within BYE.COM
Sender:  KPETERSEN at SIMTEL20
Date:  Friday, 3 May 1985 11:44 hrs
From:  Keith Petersen <W8SDZ at SIMTEL20>
To:  Info-Cpm at AMSAA

>D. Pollock recently posted:
>Re: Using the Anchor Mk XII within BYE.COM
>
>To use the Mk XII you must ascertain if you have the proper rom set.
>This can be done by connecting up the modem and typing ATI1 the result
>will be a number if the number is 218 then you are ok, if not get on
>the phone to Anchor and get them to replace the roms in your modem.
>This fixes a nasty habit of the Anchor's which will cause a seizure of
>the worst kind if someone calls your modem at 300 baud.  Apparently the
>modem gets confused when it answers and has to switch baud rate hanging
>up the entire system.  Thanks to Ed Richter for this information.  This
>tip and the following mod allow the Anchor to function as a Hayes clone
>in a BBS situation.
>
>D. Pollock 4-7-85
>
[DTR Hangup mod followed here]

Jim Zajac, a user of RCPM Royal Oak is getting conflicting answers from
the Anchor modem people.  He would like to contact Ed Rickter for more
details.  I hope we can find someone to help.  It annoys me to see a
manufacturer apparently giving out different information to different
people.  If there is a problem they should admit it.  We would all
have greater respect for them and be more inclined to buy their product
because we knew they gave good user support.
--Keith <W8SDZ@SIMTEL20.ARPA>

---forwarded message from RCPM Royal Oak (313-759-6569)---

Date: 30-Apr-85
From: Jim Zajac
To:   Ed Rickter
Re:   ANCH-BYE.FQX

Dear Ed,  where did you get the info concerning the fix for the
Anchor MK12 modem?  Anchor says that there is no such fix or ROMs
available.  Could you upload a more specific file concerning the
details of your conversation with Anchor or whoever for the rest
of us.  Thank you .

.....Jim Zajac

---end of forwarded message---
---[5290]---

[5294] (36 lines) Network_Server.        05/04/85  2312.3 hrs Sat cpm
Subject:  Re: Help! I need a better C compiler.
Date:  Friday, 3 May 1985 15:52 hrs
From:  Melinda Shore <shor%sphinx.uchicago.uucp at BRL>
To:  info-cpm at AMSAA
Newsgroups:  net.micro.cpm

[]
> From: jp@lanl.ARPA
> I suggest you look at Computer Innovations CI-86.

Whoops!!  The original poster was looking for a compiler for a CP/M 2.2
system.  The C-86 compiler is for MS-DOS systems.  Perhaps there's a C-86
for CP/M-86, but this still won't run on a humble z-80.

There are a number of reasons not to go with the BDS compiler, the primary
one being slight non-standardness.  I have the Manx Aztec C.  It's quite
standard and is rather nice to work with.  The problem with it is that it
generates lousy code (n.b. mine is rather old.  I understand newer releases
are somewhat tighter).  No discussions of CP/M C compilers would be complete
without mention of Software Toolworks' C/80.  Very inexpensive, very solid
compiler, but *very* incomplete.  I bought one two years ago.  At that time
the rather tiny library was in assembler.  I think that right now the most
appealing of the compilers is EcoSoft C.  I don't have one, but I understand
that they generate good, fast code and are reasonably K & R standard.  I
think it also supports post-K & R constructs.

Hope this helps ...

--

Melinda Shore
University of Chicago Computation Center

uucp:     ..!ihnp4!gargoyle!sphinx!shor
Mailnet:  staff.melinda@uchicago.mailnet
Bitnet:     shor%sphinx@uchicago.bitnet
ARPA:       staff.melinda%uchicago.mailnet@mit-multics.arpa
---[5294]---

[5298] (43 lines) Network_Server.        05/05/85  1115.4 hrs Sun cpm
Subject:  Re: Help! I need a better C compiler.
Date:  Sunday, 5 May 1985 06:08 hrs
From:  Ralph E Droms <droms at PURDUE>
To:  info-cpm at AMSAA

> ...  No discussions of CP/M C compilers would be complete
> without mention of Software Toolworks' C/80.  Very inexpensive, very solid
> compiler, but *very* incomplete.  I bought one two years ago.  At that time
> the rather tiny library was in assembler.  ...
>
> Melinda Shore

I recently purchased C/80 V3.1.  The library seems very complete, and
*C* sources are included.  The most significant limitations to V3.1
include:

          Float, double, entry and typedef keywords not implemented
          Float and long constants and arithmetic (Float and long may be
                    added with the optional [$29.95??] "mathpak")
          Typedef not implemented
          Bit fields not implemented
          #line directive not implemented

    **  Function calls must have the same number of arguments as the
                    called function definition.  (There is a hack to make
                    [s]printf work correctly.)
          #define does not allow arguments
          Blocks: declarations are allowed only at the beginning of a
                    function

For $49.95, I've found C/80 V3.1 to be a very useful tool.  My biggest
complaint is inherent in the nature of it's recursive descent
algorithm; once an error is discovered, the compiler "discovers" MANY
more errors until it gets itself resynched with the input.

                                                  - Ralph

Ralph Droms                                                 ihnp4!purdue!droms
445 MATH                                          droms@purdue.arpa
Dept. of Computer Science                         droms@purdue.csnet
Purdue University
West Lafayette, IN 47906

----------
---[5298]---

[5301] (49 lines) Network_Server.        05/06/85  1522.9 hrs Mon cpm
Subject:  CP/M 80 emulation for MS-DOS (WARNING: PRODUCT ANNOUNCEMENT)
Date:  Monday, 6 May 1985 10:17 hrs
From:  Liudvikas Bukys <bukys%rochester.uucp at BRL>
To:  info-cpm at AMSAA
Newsgroups:  net.micro.cpm,net.micro.pc
Xref:  seismo net.micro.cpm:4399 net.micro.pc:4168

[posted for a friend.  don't reply to me.  tell 'em you saw it here on usenet.]

"
                    CP/EM Makes CP/M 80 Available to the IBM-PC

          The ICU Group announces CP/EM - CP/M 80 Emulation that gives
          IBM PC/XT/AT and compatible computers the ability to run
          thousands of CP/M 80 programs without the expense of additional
          coprocessor board.

          CP/EM efficiently emulates the CP/M 80 environment on an MS-DOS
          based personal computer.  CP/EM allows MS-DOS redirection of
          input and output devices to be used to alter device assignments
          allowing CP/EM access to all standard MS-DOS devices and any
          installed device drivers.  CP/EM uses the standard MS-DOS file
          system allowing data files to be shared between CP/M and MS-DOS
          applications.  The Command Interpreter provides all of the
          standard commands provided by the CP/M 80 console command
          processor.

          Serial communications programs are included with CP/EM to aid
          in the transfer of programs and data between CP/M and the
          MS-DOS computer.

          CP/EM is written in assembly language by the same people that
          implemented the BIOS for the Wang Professional Computer.  Their
          expertise in writing fast efficient programs has been proven in
          many Wang products and now in CP/EM.

          CP/EM runs on any MS-DOS, version 2.0 or later, based personal
          computer with at least 32K of memory available for application
          programs.

          CP/EM is available now for $79.95.

                    Contact:  Michael Klos
                                        The ICU Group
                                        P.O. Box 10118
                                        Rochester, NY  14610
                                        +1 716 425 2519

                              [CP/M and MS-DOS are trademarks.]
"
---[5301]---

[5302] (9 lines) Network_Server.        05/06/85  1523.0 hrs Mon cpm
Subject:  Re: Help! I need a better C compiler.
Date:  Monday, 6 May 1985 14:23 hrs
From:  Chris McMenomy <christe at RAND-UNIX>
To:  info-cpm at AMSAA
cc:  randvax!christe at RAND-UNIX

The current Dr. Dobbs Journal has a clear and concise review of Software
Toolworks C/80 3.1, both the standard C compiler and the Mathpak.

--Christe
---[5302]---

[5308] (43 lines) Network_Server.        05/08/85  1134.5 hrs Wed cpm
Subject:  Summary of CP/M C compiler suggestions
Date:  Monday, 6 May 1985 10:23 hrs
From:  Rick Fairfield <zadco%ssc-vax.uucp at BRL>
To:  info-cpm at AMSAA
Newsgroups:  net.micro.cpm

                        May 6, 1985

     I received many replies to my request for a better CP/M
C  compiler  than  Whitesmiths.  Everyone  agrees  that Whi-
tesmiths C Compiler is a dog.  How can they  get  away  with
selling such trash at such a high price (about $700.00) - is
the market asleep?.  Anyway, here is a  summary  of  what  I
learned:

1)   The nearly unanimous favorite was the  Aztec  'C'  com-
piler from Manx Software. This compiler costs about $200.00.
The Aztec C compiler was liked because of its similarity  to
the 4.2 bsd Unix C compiler, because it includes source code
for the library, and because of it has pretty good  compila-
tion  speed.   However, a common complaint was that the code
generated is not very efficient, making for rather long pro-
gram  files. Since I am writing large programs this may be a
problem for me.

2)   There are a number of inexpensive  C  compilers  (under
$100.00),  all of which appear to produce efficient code and
sport fast compilation times.  These compilers suffered from
varying  degrees  of "non-standardness".  The BDS C compiler
was the most well liked in this class.

3)   Several people mentioned the  Eco-Soft  C  compiler  as
being the most modern, standard, and complete CP/M implemen-
tation. However, none of these people had actually used  the
compiler;  all  were  reporting second hand information.  If
anyone has any hands-on experience with  this  compiler  I'd
like to hear from you.

                                                            Thanx,
                                                            zzzzzadco

                                                            aka Rick Fairfield
                                                            Boeing Aerospace Co
                                                            206-773-1004
---[5308]---

[5314] (22 lines) Network_Server.        05/08/85  1534.9 hrs Wed cpm
Subject:  Kaypro II at high baud rates
Date:  Wednesday, 8 May 1985 14:16 hrs
From:  Mike Chepponis <Michael.Chepponis at CMU-CS-C>
To:  info-cpm at AMSAA

I have been using my Kaypro II ("old" style) at 19200 baud regularly for about
two years now.  In addition, I never need to use the flow control characters
^S and ^Q, so EMACS works without key rebindings.

It's true that you need to write your own terminal emulator which is interrupt
driven.  Incoming characters cause an SIO interrupt so even if an "expensive"
operation is happening, like clearing the screen, the character is grabbed and
stuffed into a circular buffer.  The queued-up characters are processed when
the "expensive" operation completes.  I also bypass the ROM screen handling
routines and write to video ram directly. (Apparently on the "new" 2 and 10
the video controller chip limits the thruput to something around 9600 baud or
less, even when you write software to drive it and bypass the ROM.)

The Kaypro II hardware can operate at high baud rates; too bad standard
software doesn't bother to do it.

-Mike
-------
---[5314]---

[5316] (14 lines) Network_Server.        05/08/85  1935.7 hrs Wed cpm
Subject:  kaypro high baud
Date:  Wednesday, 8 May 1985 16:43 hrs
From:  "riggs, austen" <garey at UT-NGP>
To:  info-cpm at AMSAA
cc:  garey at UT-NGP

Someone was complaining that the kaypro doesn't work well emulating
a terminal at high baud rates.  Someone else replied that it was possible
but you had to write your own emulation program to get it to work.

Microcornucopia magazine (P.O. Box 223, Bend, Ore. 97709 503-382-8048)
has a public domain version on one of their user disks (disk k23).
This is interrupt driven.  A friend of mine has used it so he could
use his kaypro as terminal to a surplus S-100 machine he picked up
cheap.
---[5316]---

[5329] (28 lines) Network_Server.        05/09/85  1946.7 hrs Thu cpm
Subject:  YAM modem program documentation available
Date:  Thursday, 9 May 1985 17:14 hrs
From:  CSTROM at SIMTEL20
To:  Keith Petersen <W8SDZ at SIMTEL20>
cc:  CSTROM at SIMTEL20, INFO-CPM at AMSAA, INFO-MODEM7 at SIMTEL20

I thought you might like to know the reason for the appearance of
YMODEM.DOC at this point. Due to the new proliferation of 2400 baud
modems, a lot of people are acutely aware of the shortcomings of
Christensen protocol's use of 128 byte blocks. There has been a
protracted discussion of this on Compuserve's CP/M interest group, and
at present we expect that Ward Christensen will be authoring an
article destined for Byte which will summarize his protocol as well as
suggest an expansion. There is a good possibility that the extensions
will be the YMODEM protocol as implemented in YAM, with or without
some as yet unspecified additions. In fact, the father of YAM, Chuck
Forsberg, may be a co-author.

In the meantime, Irv Hoff is planning on making some modifications to
MDM740 to support 1K blocks. Several of us have lobbied hard for him
to follow the YAM format and I think that he has agreed at least in
princpal. One of the strengths of Christensen protocol is its
simplicity, and YAM expands upon it, adding functionality while not
making the implementation unreasonably complex. In any case, my
feeling is that Ward's article will define the protocol extensions and
if Irv or anone else were to go off on another path, it would only
muddy the waters and damage the universal strength of Christensen protocol.

-Charlie
---[5329]---

[5334] (24 lines) Network_Server.        05/10/85  1952.9 hrs Fri cpm
Subject:  Software Toolworks C/80 C Compiler
Date:  Friday, 10 May 1985 01:32 hrs
From:  Phil Thompson <phil%kcl-cs.uucp at BRL>
To:  info-cpm at AMSAA
Newsgroups:  net.micro,net.micro.cpm
Xref:  seismo net.micro:10880 net.micro.cpm:4431
Xpath:  kcl-cs westo west44

<>
          As there has been some mention of this compiler recently I thought
I'd just mention this. There is a UNIX V7 compatible library available for the
Software Toolworks C compiler (v3.1 only). It contains about 130 functions
and is written in assembler (requires a Z80 and CP/M v2.2). The Mathpack
is not needed. It costs 50 pounds sterling and is available from:

Grey Matter Ltd.,
4, Prigg Meadow,
Ashburton,
Devon TQ13 7DF,
England.

My only connection with the product is that I wrote it.

Phil Thompson,
{UK}..!ukc!kcl-cs!phil
---[5334]---

[5335] (23 lines) Network_Server.        05/10/85  1952.9 hrs Fri cpm
Subject:  YAM/MODEM new generations
Date:  Friday, 10 May 1985 18:08 hrs
From:  Rex Buddenberg <BUDDENBERGRA at USC-ISI>
To:  info-cpm at AMSAA
cc:  cstrom at SIMTEL20, BUDDENBERGRA at USC-ISI

Charlie Strom mentions an overhaul of MODEM/YAM apparantly in the
offing.  First, let me compliment all the folks that made MODEM7 et al
operate as well as it does -- Ward Christiansen and conspiracy
have done well.
          Now some suggestions when the new model is worked up:
-*-*- Larger blocks will improve throughput on quiet lines, and that
capability is a worthwhile pursuit.  But some of us live with noisy lines,
at least some of the time.  The option of reverting back to smaller
blocks should be preserved for that and compatability reasons.
-*-*-  Has anyone considered adding error correcting coding?  There exists
a CCITT standard.  Since processing power is cheaper than communications
power, this might be worthwhile.
-*-*-  A little systems integration might be in order here.  To
do business, I need MODEM7 to work with my micro friends and Kermit
to talk to the net.  Could we all get together?
-*-*-  Suggest writing the code in as high a level language a practical
to facilitate porting.
-------
---[5335]---

[5338] (22 lines) Network_Server.        05/11/85  0755.6 hrs Sat cpm
Subject:  Re: Kaypro connected to LAN at 9600 baud
Date:  Monday, 6 May 1985 09:43 hrs
From:  Hugh Redelmeier <hugh%hcrvx1.uucp at BRL>
To:  info-cpm at AMSAA
Newsgroups:  net.micro,net.micro.cpm
Xref:  seismo net.micro:10895 net.micro.cpm:4437

>I have had the same problem with both a Kaypro 2 and a Kaypro 4 when they
>are connected to a Sytek LAN here at NOSC.  It skips part of a line at
>any speed greater than 1200 baud.  I have used Kaypro's TERM program,
>MODEM7, KERMIT, and the NOSC TRANSFER terminal programs on the Kaypros
>with the same result.

The Kaypro does scrolling by moving all the characters in the video
RAM up one line (using a Z80 block move instruction).  This takes a
long time.  The solution is to use a program that can accept input
from the host while the scrolling is being done.  This is not
trivial because it requires an interrupt handler that bypasses the
BIOS.  It might be necessary to have XON/XOFF handshaking too.  I wrote
such a program and use it regularly on my Kaypro II (talking at
9600 Baud to my UNIX machine).  Micro Cornucopia also has one on
a public-domain disk (and much other stuff of interest to Kaypro
hacks).
---[5338]---

[5340] (17 lines) Network_Server.        05/11/85  1156.4 hrs Sat cpm
Subject:  YAM/MODEM new generations
Date:  Saturday, 11 May 1985 09:28 hrs
From:  CSTROM at SIMTEL20
To:  Rex Buddenberg <BUDDENBERGRA at USC-ISI>
cc:  CSTROM at SIMTEL20, INFO-CPM at AMSAA

While I see your points, there seems to be a consensus among those who
are planning to actually implement the changes to the protocol that if
things are made significantly more complex we will lose the
universality of Christensen protocol. Anyone is of course free to add
whatever bells and whistles he likes (Pro-YAM for example supports
Christensen, YAM [1K blocks], Kermit and Compuserve B protocols) but
the basic definition of the protocol should not be made needlessly
complex.
By the way, YAM's protocol allows an arbitrary mixture of 128 and 1024
byte blocks, and SOH signaling the former wile an STX the latter.

-Charlie
---[5340]---

[5342] (12 lines) Network_Server.        05/13/85  1208.7 hrs Mon cpm
Subject:  Disk drive squeel
Date:  Thursday, 9 May 1985 12:46 hrs
From:  medin at NOSC

Just a note about using wd-40.  I have a friend who is a maintenance
chief for the navy at Miramar naval air station.  He says that the
navy will not allow wd-40 to be used because of its corrosive actions.
I have personaly noted some things on my watch buttons that verify the
statement.  I personally use wd-40 to free up stuck things (and it
does do a good job) but then I make sure I clean and reoil the part
affected.
                                   Ted
                                    milnet address "medin@nosc"
---[5342]---

[5348] (35 lines) Network_Server.        05/14/85  2118.4 hrs Tue cpm
Subject:  Re: MODEM7 PROTOCOL
Date:  Sunday, 12 May 1985 10:35 hrs
From:  Chuck Forsberg WA7KGX <caf%omen.uucp at BRL>
To:  info-cpm at AMSAA
Newsgroups:  net.micro.cpm

> A recent file was distributed outlining the CHECKSUM and CRC protocol used
> in the modem7 (CHRISTENSEN) program series.  It was named MODMPROT.003.
> This was great,  as I was working on a modem program to be compatable with
> these protocols.  However,  it was missing the BATCH protocol.
  
> Is there any documentation on the BATCH protocol commonly used id ... complaint was that a
 character-by-character echo was used, which is not a generally recognized
 technique.  It should instead have been something like Forsberg uses with YAM -
 a block 0 with the filename.  I have had transfers drive me nuts, because the
 other end echoing the outgoing filename causes enough distortion that it tried,
 and tried, and tried, and tried..   but when it finally made it, the FILE
 itself made it with no hitch.  The weakness was the echoing.

I posted an article recently concerning the availibility of the YMODEM spec
that Ward is writing up for an article in Byte.  If there is sufficient
demand, I will post the file to net.sources or somewhere directly.
--
Chuck Forsberg WA7KGX         ..!tektronix!reed!omen!caf
Omen Technology Inc 17505-V NW Sauvie IS RD Portland OR 97231
Voice: 503-621-3406 Modem: 503-621-3746 (Hit CR's for speed detect)
---[5348]---

[5358] (24 lines) Network_Server.        05/17/85  0933.7 hrs Fri cpm
Subject:  A reminder.
Date:  Friday, 17 May 1985 06:39 hrs
From:  Dave Towson <cpmlist at AMSAA> (info-cpm-request)
To:  info-cpm at AMSAA

Fellow CP/Mers - I have noticed an increasing volume of mail erroneously
directed to "info-cpm-request", so it seems to be time for a little reminder:

     Articles to be posted to the distribution list should be sent to

                                  info-cpm@amsaa.arpa

The ONLY types of mail that should be sent to "info-cpm-request@amsaa.arpa"
are requests for addition/deletion to/from the list, complaints concerning
delivery of info-cpm, and requests for assistance that do not seem approp-
riate for submission to the whole list (you be the judge).

     Thanks for your cooperation.



Dave Towson
info-cpm-request@amsaa.arpa


---[5358]---

[5360] (47 lines) Network_Server.        05/17/85  0933.7 hrs Fri cpm
Subject:  REFS update available
Date:  Thursday, 16 May 1985 18:42 hrs
From:  Ross A. Alford <alford%ecsvax%mcnc.csnet at CSNET-RELAY>
Address:  {decvax akgua unc duke ihnp4}!mcnc!ecsvax!alford

I've found a small bug in my Turbo Pascal REFS program that slipped
through all my initial testing.  If it reads a file that happens to be
a multiple of 128 bytes in length and not end with a ^Z, it tries to
read past EOF.  A <= sign is in the distributed version where there
should be a <.

The new version is now available from SIMTEL20 as:

Filename                      Type       Bytes     CRC

Directory MICRO:<CPM.TURBOPAS>
REFS13.LBR.1                            BINARY     12288  E598H

A short review of what REFS is:

REFS finds references in scientific manuscripts.  It will list references
found and the number of times they are occur to a file, a printer, or
the system console.  It  should work with references of the forms:

       Smith, 1980                   |Smith (1980)
       Smith, 1980a                  |Smith (1980a)
       Smith, 1980a, b               |Smith (1980a, b)
       Smith, 1980a, 1980b           |Smith (1980a, 1980b)
       Smith and Smith, 1980         |Smith and Smith (1980)
       Smith et al., 1980            |Smith et al. (1980)
       Smith's 1980                  |Smith's (1980)
       Smith, Smith, and Smith, 1980 |Smith, Smith, and Smith (1980)
       Smith-Smythe and Smith 1980

and with most any similar style.  It also allows the last digit of the
year to be replaced by a letter, as Smith, 198x, for cases where the
exact date is uncertain.  It may not work entirely properly on
references in tabular formats, specifically if a reference of the form
Smith 1980a,b is split between lines so that the 'b' is widely
separated from the 'a'.

Month, year dates, as July, 1980, also are treated as references.  You
never know when some person might have the same name as a month.

Please let me know of any bugs found, bug fixes made, or improvements
made.

Ross Alford
---[5360]---

[5363] (44 lines) Network_Server.        05/20/85  0952.4 hrs Mon cpm
Subject:  MAKSRL makes self-relocating COM files
Sender:  KPETERSEN at SIMTEL20
Date:  Friday, 17 May 1985 11:14 hrs
From:  Keith Petersen <W8SDZ at SIMTEL20>
To:  Info-Cpm at AMSAA

MAKSRL.LBR was recently released to the RCPM community and is now
available from SIMTEL20:

Filename                      Type       Bytes     CRC

Directory MICRO:<CPM.ASMUTL>
MAKSRL.LBR.1                            BINARY      8832  1CF7H

Here is a message from the author:

Date: 09 May 85 08:54:27 CDT
From: ROGER LANGE
To:   ALL
Re:   MAKSRL Uploaded

For anyone that's interested, I'm uploading MAKSRL.LBR, which allows
you to create what I call SRL (self-relocating) COM files.

There's been a scad of ways used at one time or another to produce COM
files which, when executed, will determine where high memory is, then
relocate the bulk of the code into the highest possible memory
location for execution.  The most difficult example I've come across
is in BYE, which has a whole section devoted to examining its own code
to determine which bytes must be modified.

MAKSRL lets you do it fairly easily.  The MAKSRL.COM program takes two
object files which have been created by L80 with MAKSRL.SUB or
MAKSRL.DO from an M80 REL file and produces a COM file which does the
whole thing with practically no fuss at all.  The whole process comes
down to creating an M80 source file which expects to execute in high
memory, then SUBMIT MAKSRL <name>, or (in Tdos) DO MAKSRL <name>.

MAKSRL is loosely based on and heavily modified from the MAKELUX
program in LUX40.LBR which creates LUX.COM.

--Keith
Arpa:  W8SDZ@SIMTEL20.ARPA
uucp:  ...{decvax,unc,hao,cbosgd,seismo,aplvax,uci}!brl-bmd!w8sdz
uucp:  ...{ihnp4!cbosgd,cmcl2!esquire}!brl-bmd!w8sdz
---[5363]---
