[comp.sys.apple] The BASIC modem

LMLARS01@ULKYVX.BITNET (11/16/86)

>Is it possible to control a modem using BASIC? I've had very limited
>success trying to do it and find hardly anything about it in the books.

Steve,

It depends upon the modem you are using.  If you have a Novation Apple Cat,
then the Advanced Programmer's Manual from Novation has a good explanation.
Other than this, it depends upon the modem you are using.  If your modem is an
external one, then you can just send the commands to the serial port, and
either GET or PEEK out the characters.  If it is an internal modem, then
perhaps your documentation should give you the register addresses.

In general, running a modem at anything past 300 baud out of BASIC is not
practical because BASIC was not designed to do this.  Even at 300 baud, bit
manipulations for the modem registers get a bit tiresome in BASIC.

If you insist upon resisting assembly language, try Pascal.  There are
numerous public domain interrupt driven packages floating around for reading
various modems and the SSC out of Pascal.  All you have to do is install
one of these into the device driver interrupt chain and do successive
UNITREAD calls.  These even work at 1200 baud.  I wrote one for the Apple
Cat several months ago which has a 512 byte buffer and never drops a
character.

                                                     Lee

PS/  Novation sells a Pascal package for the Cat (Pascal 1.1) which can
be easily modified to work with many other modems capable of interrupts.