[net.micro.pc] Communications routines for lattice C

matt@petrus.UUCP (Matt Blaze) (08/23/86)

*** THE TRUTH OF THIS SENTENCE CANNOT BE DETERMINED ***

I have written a simple library of interrupt driven routines
to talk to COM1 and COM2 for Lattice C (versions 2.x/3.0).
If there is interest, I will post to the net.

-Matt Blaze
a.k.a. matt@mouton.arpa

reintom@rocky2.UUCP (Tom Reingold) (08/28/86)

>*** THE TRUTH OF THIS SENTENCE CANNOT BE DETERMINED ***
>
>I have written a simple library of interrupt driven routines
>to talk to COM1 and COM2 for Lattice C (versions 2.x/3.0).
>If there is interest, I will post to the net.
>
>-Matt Blaze
>a.k.a. matt@mouton.arpa
>
I would be very interested!  Please post them.  I think the net
would appreciate them.  There are constant requests for routines
that do just that and although they are available commercially, I
haven't seen any that are free.

Tom Reingold
UUCP:
     seismo|
    philabs|
       phri| -> cmcl2!rna!rocky2!reintom
    harvard|
      ihnp4|

ARPANET:        reintom@rockefeller.arpa
BITNET:         REINTOM@ROCKVAX

matt@petrus.UUCP (Matt Blaze) (08/29/86)

*** ***


As promised, here is an initial version of the communications
library for Lattice C (tested with 2.14, 2.15 and 3.0).  The
library supports speeds up to 9600bps on COM1 and COM2.
The file is a uuencoded arc archive.  Cut at the line,
save it, uudecode it, and transfer it to your pc with a
transparent binary protocol.

Source code (and other goodies) will be posted soon...

Have fun,

Matt Blaze

<====== CUT HERE ============================ CUT HERE ======>
begin 666 term.arc
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
M& $:                                                        
:                                    
 
end