Date : Wed, 16 Dec 1987 03:12:35 GMT
From : rochester!ciaraldi@bbn.com (Mike Ciaraldi)
Subject: Re: Kermit for MP/M
In article <888@kbsc.UUCP> yorick@kbsc.UUCP (Yorick Phoenix) writes:
>
>Has anybody ever managed to get Kermit to work under M/PM? Is there a simple
>set of differences between C/PM kermit and M/PM Kermit. We have the full
>source code for C/PM Kermit.
Yes, I have been using various versions of CP/M Kermit on my
Z-80 S-100 MP/M system for several years. The latest is
CP/M Kermit 4.05, but I have also used the Turbo Pascal
QKKERMIT.
All I did was use the standard technique of putting in my
initialization code and code to read and write the correct
I/O ports for my serial board. So, it is really just like CP/M.
How did I manage this? Well, my modem is on a serial port that
is known to MP/M as a user terminal, but I tricked MP/M into ignoring
it by pulling the jumper on the board so that the input interrupt
is disabled. Ordinarily, as soon as a character came in from the modem
MP/M would service the interrupt, grab the character, and put it in
the input buffer for that user. Since I wanted Kermit to be able
to test for and grab the character, I had to disable the interrupts.
So, MP/M never knows that a character has come in.
If you have to use a port that is serviced by MP/M, you will have
to access it through the operating system.
I see two ways to do this. One is to do BIOS calls, putting in the
correct terminal number in the right register so as to sense
and fetch from (and send to, of course) the right serial port.
The other is to use the BDOS status and in/out calls, which always
refer to the "attached" terminal. Then keep giving the
BDOS (actually XDOS) calls that attach and detach the two terminals,
namely the one assigned to your console and the one assigned to the modem.
Hope this helps.
Also, I seem to recall that when the MODEM700 series of terminal
programs came out several years ago, someone generated suggested
patches for MP/M. Maybe these would give you some ideas.
Mike Ciaraldi
University of Rochester Computer Science Department
arpa: ciaraldi@cs.rochester.edu
uucp: seismo!rochester!ciaraldi