[comp.sources.wanted] Kermit for MP/M

yorick@kbsc.UUCP (Yorick Phoenix) (12/08/87)

I have a friend who is trying to transfer some files off of an Micromation
MP/M system.

He has so far moved the standard "Generic" CP/M Kermit (slowly) to the MP/M
machine but it doesn't seem to work correctly.

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.

	Yorick Phoenix
-- 
+------------------------------------------+ The Knowledge-Based Systems Center
|  yorick@kbsc.UUCP                        | 58 Northside, Clapham Common
|  ..mcvax!ukc!{idec,hrc63}!kbsc!yorick    | LONDON   SW4 9RZ   England
+------------------------------------------+ Voice: +44 1 350 1622

ciaraldi@cs.rochester.edu (Mike Ciaraldi) (12/16/87)

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

abp@j.cc.purdue.edu (Jeffrey J Wieland) (12/16/87)

In article <888@kbsc.UUCP> yorick@kbsc.UUCP (Yorick Phoenix) writes:
>I have a friend who is trying to transfer some files off of an Micromation
>MP/M system.
>He has so far moved the standard "Generic" CP/M Kermit (slowly) to the MP/M
>machine but it doesn't seem to work correctly.

If he hasn't tried it already, perhaps the Generic Kermit for CP/M 3.0
would work.  I seem to recall that CP/M 3.0 and MP/M have somthing in
common.

			Jeff Wieland
			abp@j.cc.purdue.edu