home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
kermit.columbia.edu
/
kermit.columbia.edu.tar
/
kermit.columbia.edu
/
acorn
/
ackerm.bwr
< prev
next >
Wrap
Internet Message Format
|
1988-08-15
|
5KB
From: Francis Wright <fjw@uk.ac.qmc.maths>
Date: Wed, 11 Feb 87 10:56:50 GMT
Subject: Getting Kermit to work on Acorn Cambridge Workstation
In reply to Dudley Long's query, yes, it does work at least on an Acorn
Cambridge Coprocessor, although attempts to change the line speed from within
kermit do not seem to work. However, the speed can be changed with *fx calls
before kermit is entered, and that seems to work.
We are actually running a version that we got on disc, which omits the files
ACKERM.DOC and ACKERM.HLP that are online at Lancaster. The latter is the
release notice, which contains a brief description of which source file does
what, and so is of some minor use. (However, I hope that there are less errors
in the source files than there are in ACKERM.HLP!) ACKERM.DOC is just an
identical (as far as I can see) copy of the Unix C-Kermit manual, with no
description of the peculiarities of Panos-Kermit, so I wasted my time pulling
it from Lancs!
[Ed. Actually, ACKERM.DOC is just a copy of the C-Kermit manual that I added to
the files. I don't have any Panos-specific documentation at all - if anyone has
some on a machine, please mail it in and I'll it to the files. ACKERM.HLP is my
typing in of the release notes that Acorn sent me. Any typographical errors are
my fault!]
From: Majoc@uk.ac.nott.maths 3-APR-1987 17:09
To: SYSKERMIT
Subj: ACW Kermit - baud rate bug fix
Received: from Tuck.Maths.Nott.AC.UK by Robin.Cs.Nott.AC.UK id a029132;
3 Apr 87 16:44 BST
Date: 03 Apr 87 15:44:02 UT (Fri)
To: syskermit@uk.ac.lancaster.central.vax1
Cc: my-kermit <majoc@uk.ac.nott.maths>
Subject: ACW Kermit - baud rate bug fix
From: Martin J Carter <majoc@uk.ac.nott.maths>
Sender: Majoc@uk.ac.nott.maths
There's a pernicious bug in Acorn's version of C-Kermit for the ACW443.
This prevents baud-rate changes from being obeyed when the poor unsuspecting
user goes into connect mode (to set up a remote server Kermit), but only
when ACW Kermit (attempts to) start file transactions. This is most
confusing, especially to first-time Kermiteers ...
The bug fix is to re-instate some missing code from conect() in
ckpcon-c (alias acpcon.c), which appears to have been rewritten from
scratch. Herewith the context diffs:
+++++++++++++++
*** oldpcon.c Mon Mar 2 12:19:42 1987
--- newpcon.c Fri Apr 3 08:48:06 1987
***************
--- 32,53 -----
#define send(c) putinbf(rs423outbf, c)
/****************************************************/
/* Procedures to do Unix termcap functions on ACW */
/****************************************************/
extern int XFindOutput() asm;
extern XSWriteByte() asm;
+ extern int speed; /* [majoc 870312] needed to pass on to ttvt() */
+ extern int flow; /* [majoc 870312] ditto (?) */
int rawvdu = -1;
vdus(s) char *s; { while(*s) XSWriteByte(rawvdu, *s++); }
#define vdu(c) XSWriteByte(rawvdu, c)
bbc_wipe(lx,ly,ux,uy) int lx,ly,ux,uy; {
if (lx > ux) return; if (ly < uy) return;
vdu(28); vdu(lx); vdu(ly); vdu(ux); vdu(uy); vdu(12); vdu(26);
}
***************
*** 230
! initrs(); emul_start(); send(CR);
--- 222,250 -----
/**************************************************/
/* C O N E C T -- Perform terminal connection */
/**************************************************/
conect() {
int key,max,min,block,doneCtrlS,ok,userok;
int head = 0, tail = 0, size = 0; char buf[BUFSZ];
printf("\nYou are now connected to your host computer\n");
printf("Press SHIFT-F0 to return to local kermit\n\n");
! /* Inserted 870311 by M J Carter [majoc], Nottingham Uni. */
! if (ttvt (speed, flow) < 0) {
! conres();
! printf ("Sorry: can't condition line (ttvt() failure)\n");
! return (-2);
! }
! /* else printf ("conect(): ttvt() succeeds\n"); /* debugging insult. */
! /* End of majoc's insert (copied from original ckucon.c). */
! initrs(); emul_start(); /* send(CR); */
doneCtrlS = 1; ok = userok = 1; max = min = 0;
for (;;) {
if (doneCtrlS) {
if (min+size < FEW) ok = 1;
if (ok && userok) { send(CTRL_Q); doneCtrlS = 0; }
} else if ((min+size == 0) || (max > FEW)) {
min = nrsbuf();
if ((min > LOTS) || (size > BUFHI)) ok = 0;
if (! (ok && userok)) { send(CTRL_S); doneCtrlS = 1; }
}
+++++++++++++++
I've also left a copy of the complete file in
/usr/spool/uucppublic/kermit/ac/acpcon.c
on cs.nott.ac.uk, in case that makes it any easier for you to update
the Lancs copy; if you can't get it, I can mail it you under seperate
cover.
Apologies for holding back on this ... I haven't even got round to that
nervous breakdown I promised myself once the rush was off.
Share and Enjoy,
Martin J Carter
PS: on scanning this code afresh before sending this message, it's occurred
to me that I probably haven't done things right. If anybody cares to do
it properly, I shall be duly repentent.