home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
mskermit.tar.gz
/
mskermit.tar
/
msxapr.bwr
< prev
next >
Wrap
Text File
|
1988-08-16
|
6KB
|
135 lines
MS-DOS Kermit v2.27 for ACT Apricot
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
There should be no problem with assembling and linking this version,
except that the module 'msxdmb' should be linked first. This is to
ensure that the object segments are linked in the correct order.
Leaving out that module prevents proper use of PUSH, RUN, DIR, SPACE,
and LOCAL. What actually happens is this:
1) MS-DOS allocates the entire free memory to the currently running
program, so Kermit needs to de-allocate the space it doesn't use.
2) Kermit locates the end of itself by assuming that its stack seg
is its highest point in memory. It then calls the MS-DOS function
to shrink the allocated memory down to that point.
3) Kermit then calls the MS-DOS function to load and execute the
required program, which goes into the free memory.
4) Program loads, but Kermit has placed parameter control blocks in
its own data seg which tends to be placed ABOVE the stack seg by
the linker, so it gets zapped by the newly loaded program.......
5) Sudden death ensues...... Actually, I think you're left in an
inferior command process, if you try to EXIT back to Kermit, the
whole thing dies because its data seg has been blown away.
Any questions/problems should be addressed to:
Ralph Mitchell
Computer Centre
Brunel University
Uxbridge
Middlesex
UB8 3PH
------------------------------
14 August 1985
Dear Alan,
This file should arrive along with an updated copy of MSXAPR.ASM:
o The various procedures have been sorted by name so that it's
easier to find them...
o It now displays a mode line on line 25 when in CONNECT state.
This is displayed in high intensity rather than inverse video,
but that could be changed. I think inverse video can be a bit
hard on the eyes...
o The keyboard is re-programmed so that CTRL-[ and CTRL-] return
real control characters instead of printing characters. This
does not revert to normal on leaving Kermit. Thanks to
Dr. Akers for this fix.
o On Apricot PC and XI keyboards there is a dot-matrix LCD micro-
screen with six touch switches. The screen normally displays
the time and date. In CONNECT state it now also displays the
words 'BREAK CLOSE STATUS PUSH HELP LOG' and the keys are
programmed to supply the appropriate escape sequences for each
of these functions. This reverts to normal when the esc char
is typed.
Note: The LOG key toggles logging on and off only if logging
is enabled. i.e. It mimics CTRL-[Q or CTRL-[R, depending
on the current state of the switch.
o The screen is NEVER saved when leaving CONNECT state. This is
because I haven't yet figured out how to restore it. The
problem is that the screen memory holds 25.6 lines in a kind of
circular buffer and the screen is scrolled by changing a pointer
in the CRTC (I think). The extra 6/10 of a line means that for
every time a complete screen scrolls up, the origin (top left)
is advanced by 48 characters. I've tried saving and restoring
the CRTC registers, but it only works if the screen hasn't
scrolled since the last clear-screen. If anyone has any ideas
I'd be only too pleased to try them out...
o Key re-definitions are not available at the present time.
o XON/XOFF are handled by the Apricot 'hardware'. It is only
possible to change it by re-initializing the SIO, which drops
DTR and RTS. This is not always desirable, so I have left it
permanently on.
Apart from these differences, Apricot Kermit is just like the IBM-PC
version.
Regards
Ralph Mitchell
------------------------------
Date: Sun, 22 Jun 86 16:01+0100
From: Mitchell@UK.AC.BRUNEL
Subject: Re: Apricot Query
To: SYSKERMIT@UK.AC.LANCASTER.CENTRAL.VAX1
The Apricot screen driver looks like a VT52, but it can also handle a
lot of ansi control sequences... It DOES display a mode line in CONNECT
state, but it only redefines a few keys. What it does is this: there
is a micro- screen that normally displays a clock, but also has
"soft-keys" which can be labelled using the micro-screen display. The
keys can also be programmed to produce character strings. In connect
state, the soft-keys are redefined to give single-key-press CLOSE,
BREAK, STATUS, HELP, LOG toggle, and one other I can't remember. I've
tried doing screen rollback, but it's a real pain when copying back to
the screen. The screen memory is such that it has an extra .6-of-a-line
and somehow it gets scrolled when it hits the end. I haven't been able
to locate the pointers. If fact, doing ANYTHING to the screen once it's
been written is a pain... Screen dump and Print Screen would be nice I
guess, but it would have to go out the the Centronics port, and we don't
have a Centronics printer to spare... I generally ship output down to
the Multics... There is actually a key labelled PRINT, but it only
prints the screen when controlled by software; it's not a hardwired
function. Also, reading from the screen memory is a pain because what
you get is a pointer offset into a character table. The table is
pointed to by the contents of four locations at around 700H absolute,
and I'm not too hot on pointer arithmetic in 8086 assembler...
Actually, that may be wrong... There is a key definition table that's
used to find out what a key should return, that has a pointer at ~700H.
There's also a font table stashed somewhere else, and you can bet the
screen memory doesn't hold ASCII characters. More likely to be offsets
into the font table...
Ralph Mitchell
------------------------------