jTerm 0.01 Documentation
Written by Captain Bibble
File transfer by G.W.Babb
Copyright Notice
----------------
This program is FREEWARE and may be used under the following conditions:
I retain all rights as author and copyright owner of this software.
You are free to distribute this program, but when it is being distributed the
entire, complete and unaltered archive supplied must be provided. This
includes this text.
You may not modify or remove any part of jTerm without my express approval.
I accept no responsibility for any loss, financial or otherwise, caused
directly or indirectly through use of this software or through use of the
advice given by it.
Introduction
------------
Although it still needs quite a bit of work on it, jTerm is a comprehensive
terminal package for the BBC Micro and Master series of computers. It comprises
several terminal types and features, and supports the terminal types VT52,
Viewdata, and Wizzo.
If running in Sideways Ram, jTerm should be loaded into a spare SRAM socket. If
not running in Sideways Ram, then jTerm should be blown onto an EPROM and
placed in a spare ROM socket.
There is currently no stand-alone version of jTerm, although a stand-alone
Wizzo terminal is available which supports Xmodem and 40-column Wizzo *only*.
You can obtain this from CCl4, the number is below.
If you have any comments, suggestions etc. (or if you just want a copy of the
latest version) then I can be contacted on CCl4 Viewdata (0482 798249, all
speeds up to v32bis) as "Captain Bibble", or you can email me on the Internet
by sending a message to: s.j.rowbottom@dcs.hull.ac.uk
Commands
--------
jTerm supports the following commands:
*TERM (<options>) This enters the terminal emulator
*NUMBERS Shows a list of BBs numbers
*PLAY <fsp> Plays back a logfile
The Terminal Emulator
---------------------
To enter the terminal emulator, type '*TERM'. You can also specify command-line
arguments to configure the terminal upon startup. These arguments all begin
with a dash (-) and are:
-L<number> Enter with terminal level <number>
These levels are: 0 - VT52 Terminal (Wizzo 0)
1 - Teletext Terminal (Wizzo 1)
2 - Viewdata
3 - Wizzo Level 3
4 - Wizzo Level 4
-R<baud> Set receive speed to <baud>. Baudrates may be 75, 150,
300, 1200, 2400, 4800, 9600, or 19200.
-S<baud> Set transmit speed to <baud>. Baudrates are as for the
receive parameter.
-1<fsp> Create a spoolfile (logfile) called <fsp>, deleting
<fsp> if it existed previously.
-2<fsp> Append spoolfile <fsp>, create it if it doesn't exist.
-V Start emulator in Viewdata mode and disable Wizzo
negotiation.
-T Start emulator in 80-column terminal and disable Wizzo
negotiation.
-Q Don't start the terminal, but just show the keypress
help-screen.
-W Sets jTerm to ignore any attempts at Wizzo negotiation.
So for instance:
*TERM -R1200-S75-L3-1Log
Sets the baudrate to 1200 receive, 75 send, sets the terminal to Wizzo level 3,
and creates a spoolfile entitled 'Log'.
If the emulator is started without any command line options, then the terminal
will be configured to Wizzo level 4, 9600-baud receive, 9600-baud transmit,
Wizzo negotiation enabled, and without any spoolfiles open.
Keys used while in the Terminal Emulator
----------------------------------------
The following function keys may be used while in the terminal emulator
enviroment:
f0 Help page Shift+f0 MOS Command
f1 Open/close spoolfile 1 Shift+f1 Alter Transmit Speed
f2 Open/close spoolfile 2 Shift+f2 Alter Receive Speed
f3 Shift+f3 Alter Parity Setting
f4 Shift+f4 Alter Wizzo Level
f5 Download file(s) Shift+f5 Save Teletext Screen
f6 Upload file Shift+f6
f7 Shift+f7 Toggle Wizzo negotiation on/off
f8 Show terminal status Shift+f8
f9 Exit emulator Shift+f9
ESCAPE Transmit ESC character (CHR$27)
TAB Transmit TAB character (CHR$9)
Cursor keys output characters 8, 9, 10, 11, therefore they may be used to move
around the screen in message/frame editors, etc.
Spoolfiles
----------
The user may have two spoolfiles open at once. Spoolfile 1 is created every
time, even if the file already exists then the existing one is deleted.
Spoolfile 2 is different in that if it already exists then any data is added
onto the end of the file. If spoolfile 2 does not exist then jTerm will create
the file. Thus it is possible to have one file which contains the log for just
that call, and one file which contains the log for all your calls. Spoolfiles
may be played back using *PLAY.
Since the spoolfiles are output exactly as they appear, with character codes
etc. there are few utilities which will play back these files without
substituting character codes (for instance, the Master 128 *TYPE utility
modifies control codes with a pipe (|) thus displaying the file incorrectly).
*PLAY is provided for this purpose.
During display of files, the display may be paused by pressing the spacebar.
jTerm will pause at the end of the file and wait for you to press a key.
eg. to play a spoolfile called 'thisfile', you would use the command:
*PLAY thisfile
Downloading and Uploading
-------------------------
File transfers protocols supported are: Xmodem, Xmodem crc, Xmodem-1k,
Ymodem-batch and Ymodem-batch-g.
Xmodem-1k is labelled on some boards as Ymodem. Ymodem-batch and Ymodem-batch-g
is labelled Ymodem on some boards as well. If you see Xmodem-1k listed then
anything listed Ymodem will be Ymodem-batch. If it says Ymodem but when you try
to download using Ymodem-batch the first block you receive is a block 1, revert
to Xmodem-1k. Ymodem-batch-g is only suitable for error corrected links (eg.
MNP or v42)
Ymodem-batch(-g) will transfer groups of files at one time and preserves the
file names and file lengths. (Currently, it is only possible to upload one file
using Ymodem-batch(-g), this will be rectified in later versions). On boards
which support extended headers (eg. ARCbbs, VHost) or when using jTerm on both
ends of the link then the load and execution addresses of the file will be
preserved.
While downloading in Ymodem-batch(-g) you will be offered the chance to change
the filename. If you press ESCAPE instead of RETURN to accept the filename, you
will no longer be asked if you wish to change the filename of any subsequent
files.
It is not recommended that these file transfer routines be used with any filing
system which does not support block loading (such as Acorn's DFS 0.90 which
does a very slow byte-by-byte load instead), unless you are sure that all the
download will fit into memory. It's best to use it with ADFS/Econet/DFS 1.2
onwards really.
Wizzo
-----
Wizzo is a new terminal type which is becoming increasingly more and more used
since it allows much faster communication, a rudimentary form of compression,
and true 8-bit file transfer. Wizzo offers a number of terminals, the first 3
(0 to 2) being normal terminal types, above 2 and things get more away from a
"recognised" terminal type.
When jTerm automatically changes to another Wizzo level (such as from 40-column
to 80-column) a small message will be displayed at the bottom of the screen
signalling a change in level.
The terminals are numbered as such:
0 - Scrolling Terminal (80 column)
1 - Teletext (BBC mode 7)
2 - Standard Viewdata
3 - Basic Wizzo
4 - Level 3 with compression
Currently all Wizzo terminals are based on a Viewdata displayable screen,
though it could be used on a Teletext screen, the host assumes the screen
*might* scroll if it moves off the top/bottom of the screen. It allows assumes
normal ASCII codes for _# and not the Viewdata mapping, double height is
assumed to take 2 lines and not the Viewdata 1.
All levels except 2 (Viewdata) are 8N1, so 'proper' file transfer can take
place and features of the Wizzo levels can be used fully. Wizzo levels are
based on Teletext with some features of Viewdata, as the link is 8 bit no
escape codes are used and the proper teletext attribute codes are sent.
Future improvements
-------------------
Dial store facility
Command to allow direct talking to serial port
ANSI/VT100/VT220 in 80-column scrolling mode
CET file transfer in Viewdata
Built-in message packet reader
Viewdata frame upload as ESC codes
Wizzo Level 5 with sound
Wildcarded batch upload
Configurable download/upload path for net/hard disk users
Improved cache implementation for file transfer
Use of 2nd processor/shadow memory if available
Call costing utility
Terminal Emulation (c)1994 Captain Bibble
File Transfer (c)1992 Gareth Babb.
Wizzo documentation reproduced from the freely available Wizzo-4 specification.