home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
C64Telecom
/
CBTERM-DOC1
< prev
next >
Wrap
Text File
|
2019-04-13
|
22KB
|
397 lines
********************************************************************************
* *
* CBterm/C64 *
* (C) (TM) 1985 by Chrisdos. All rights reserved. *
* Ver 4.5 *
* *
********************************************************************************
Note: This program OK to upload to local BBS systems ONLY. All Copywrite and
author notice must be preserved.
THIS PROGRAM MAY NOT BE UPLOADED TO ANY COMMERCIAL COMPUTER NETWORK OR
SERVICE WITOUT EXPRESS WRITTEN PERMISSION OF CHRIS DUNN. (A.K.A. Chrisdos)
--------------------------------------------------------------------------------
80 column routines (TERM80) (C) 1984 by Frank Prindle and Eric Lavitsky.
--------------------------------------------------------------------------------
OVERVIEW
========
CBterm/C64 (herein called CBterm) is a fine general purpose terminal program
for the Commodore 64 computer. Written in machine language, it provides the
following features:
40 or 80 column display with no extra hardware.
Split-Screen service in 80 column mode.
300/1200 baud operation.
Fast XMODEM Up and Downloading.
AUTO Dialer control supporting many types of dialers.
Hi and Med. Resolution CIS Graphics.
Hi Res. Screen Dump to a suitable printer.
ASCII/PETSCII File control.
CIS .IMG File compatibility.
22.5K RAM Buffer.
6 programable FUNCTION KEYS.
On Screen Clock.
Disk Directory and Functions.
Full/Half Duplex.
RAM Buffer Read/Write/Load/Save.
Special Line Feed handling.
Screen Color Control.
Help Screen.
And More........
And, if used with the CBTVTX subroutine file, the following functions
will be added to CBterm:
Semigraphics 4 (low Res.)
Vidtex screen Cursor Positioning.
Automatic RAM Buffer control.
Automatic switching between 40 and 80 column screens.
--------------------------------------------------------------------------------
Setup and Operation
===================
Simply load CBterm as you would any normal basic program and RUN. CBterm
relocates itself and sets up all important memory areas. CBterm will ask
you for an initial BAUD RATE to run at. Enter 3 for 300 or 12 for 1200 baud.
This setting may be altered later. Press <RETURN> after your entry and CBterm
will clear the screen and present the initial message in 40 column mode.
At this point you are in terminal mode, and if you are using a manual connect
modem, dial your phone and go on line.
Commands to CBterm
==================
Just about all commands and functions in CBterm are initiated with the C=
(Commodore) key. This key is held while pressing the letter or number key for
the function you want. For example, you might wish to alter the SCREEN COLORS,
this is done by holding the C= key and pressing:
+ to step the foreground colors (40 or 80 column)
- to step the background (Screen) colors (40 or 80)
@ to step the foreground color of the OUTPUT LINE in 80 column
* to step the background color of the OUTPUT LINE in 80 column
@ in 40 column mode to change the border color.
* in 40 column mode to stop/start the CURSOR FLASH.
Again, all the keys, unless otherwize stated, are pressed with the C= key too.
To view a list of C= Commands, press C= H. This will present the HELP SCREEN.
Modem Control
=============
CBterm has the ability to operate with a wide variety of modems, this includes
the CBM modems,MightyMo,HES and HAYES Smart(?) Modems. Simply connect the
modems to the computer, CBterm supports all modems at the same time.
Some 'CLICK' type modems require you set CBterm to 'NEGITIVE DIALING' this is
simply reversing the dialing pulses sent to the modem. This is done by pressing
C= 5. This is a toggle function and pressing c= 5 again will switch back to
'POSITIVE DIALING'. MightyMo and HES modems use negitive dialing. If you tell
cbterm to PICK UP and the modem HANGS UP insttead, you know you are in the
wrong mode.
The 1660 dialer uses Negitive dialing also, but does not support DCD (connect)
signals, so to help simulate this connect signal, when in Negitive dialing
mode, CBterm will send out a <RETURN> every 4 seconds. If a <RETURN> is echoed
back to CBterm (assuming a connect) then CBterm will go ON LINE.
The DCD Signal from the other modems must be present for a solid 4 seconds
for CBterm to respond online. This is to prevent modems that are fooled by
loud busy signals from tripping CBterm.
You may have an AUTO MODEM 'PICK UP' by pressing the C= 1 keys. To 'HANG UP'
press C= 2. Hayes modem users please note that C=1 will not work for your
modem, you must enter the pick up command from the keyboard.
When doing a 'HANG UP' there will be a 4 second delay before the modem is
hung up, this gives you time to stop the hang up by pressing the <CTRL> key.
(The <CTRL> key is used to ABORT alot of CBterm's functions.)
(Hayes users, if they abort, must issue the return to online command.)
CBterm will automaticly DIAL and REDIAL a phone number untill a connection is
made. (Automatic redial can only be used if your modem supports Data Carrier
Detect or is a Hayes type or in negitive mode and a <CR> is echoed.)
To start the dialing sequence, press C= 3. You will be prompted for the
telephone number you wish to dial. If you do not enter any digits, the function
will abort. After entering in the phone number digits (Numbers only, no
punctuations)and pressing <RETURN> you will be asked for an EXTRA WAIT DELAY
value. CBterm will initialy wait 20 seconds after dialing for the connection
to be made, if you require a longer time, enter a digit (1-9) for additional
20 second wait periods. (Entering a 2 would provide 60 seconds.)
CBterm will then dial the number and cycle, waiting for a connection.
(Hayes users please note that CBterm will try to dial the 'click' modems first
then send the dialing commands to the Hayes.)
If your modem does not support the Data Carrier Detect (DCD) signal to tell
CBterm when the connectin is made, then you must press <CTRL> after the number
has dialed to return to terminal mode, otherwize CBterm will hang up.
Anytime CBterm sees a change in the state of the Data Carrier Detect line
on the modem port, you will see the message: [DCD Switched]
If you were off line, you are now on and vice-a-versa. If you are in the middle
of a conversation and you see that message, you got knocked off line.
If you wish to change the BAUD RATE from the initial selection, press the C= 7
keys, this will toggle between 300 and 1200 baud. It also causes CBterm to
reset, so it should only be done offline.
Pressing C= X will toggle CBterm between FULL and HALF Duplex.
One other control is C= I. CBterm operates at 7 bits no parity. You may make
CBterm recieve and store in RAM all 8 bits by pressing C= I. This is a toggle
function and pressing it again will return to 7 bits.
SCREEN MODES
============
CBterm supports 40 and 80 column screens. The 80 column screen is software
generated HI-RES image and you will need a sharp TV or monitor to view it
without eye strain. To switch to 80 column mode press C= 8. To switch back to
40 column mode press C= 4. In 80 column mode you will note that the last line
is a different color. This is they OUTPUT LINE and anything you type will
display here. It may or may not display on the main screen depending on your
duplex setting. This OUTPUT LINE is very handy when using Compuserve's CB
Simulator because you can see what you are typing between messages.
The OUTPUT LINE does not scroll and when you type to its end the characters
are not displayed, but they are transmitted. The line will reset when <RETURN>
or a control character is sent. A special feature of the output line is the
BATCH MODE. This is toggeled on or off with C= B. When ON, all the typed
characters are held in a buffer and not transmitted untill a <RETURN> or other
control character is pressed. In batch mode, only 80 characters may be buffered
any past that but before the line is sent will be lost.
If you find a screen hard to read, try a different color combination.
SPECIAL SETUP CONTROLS
======================
The following controls are provided to give CBterm flexibility in dealing
with many types of host computer setups. They may seem a bit complicated, but
really provide great power in connecting to other computers.
C= A Output Extra LF
C= E Input Extra LF
C= M Mask/Local LF
C= F File Type (Ascii/Petscii)
When C= A is toggeled on, it meas that when ever a <RETURN> (hereafter called
<CR>) is sent from the keyboard or the RAM buffer, CBterm will send a LINE FEED
<LF> after it. This is used to talk to oter computers or terminals that require
a <LF> be recieved to goto the next line. Pressing C= A again turns this off.
C= E, when it is on, simulates the reception of a <LF> after a <CR> is recieved.
That is, when C= E is on and a <CR> is recieved, CBterm will act as if it has
recieved a <LF> too. It will also place a <LF> in the RAM buffer if it is open.
There is one exception and that is when C=M is on.
C= M is a varient on C= E and it operates like this: When C= M is on CBterm is
MASKING all recieved line feeds from the RS232 port, that is all <LF> are tossed
out, and never used or saved. (Even if C= E is on.) At the same time CBterm
provides a LOCAL screen <LF> after a <CR> is recieved so that the incomming
data is not all displayed on one line. In other words, all <LF>s are ignored
and a <CR> will now both return the cursor and force a new screen line.
C= M also is involved when READING or WRITING the RAM buffer and in XMODEM file
transfers. This will be explained.
C= F selects the file type to be used in READING, WRITING, or PRINTING RAM and
in XMODEM transfers. Please note the following information:
In 99% of the cases, CBterm wants ASCII data in its RAM or XMODEM buffers.
That is, mostly all communication between computers is done in standard ASCII
code, and this is what CBterm wants to see in its RAM or XMODEM buffers. It can
be translated when written to disk or printer, but 99% of the time it wants
ASCII. Does this mean CBterm cannot send/recieve Petscii files? No, CBterm has
a built in translation routine. You must follow the next statements:
An ASCII file is composed of standard ASCII code, and could have linefeeds
following its RETURN codes.
A PETSCII file uses a somewhat reveresed ascii and does NOT use linefeeds
because they are not needed, if anything, it might use CURSOR DOWN to start a
new line.
So the basic difference is ASCII code and may or may not have LINE FEEDS vs.
PETSCII code and never LINE FEEDS.
The 2 main functions for converting one to the other are C= F and C= M as will
be explained.
RAM BUFFER CONTROL
==================
CBterm's RAM buffer will capture MODEM RECIEVED DATA ONLY. (It wont capture in
half duplex.) The buffer is about 22.5K bytes long. You OPEN the buffer
with C= O. Close it with C= C and Zero it out (clear) with C= Z. You will
get a message telling you the amount of RAM left when you use any of the
3 controls. The number counts down to 0. If the RAM is open and it fills, you
will get a message and the buffer closes. You may see what is is the buffer by
pressing C= D (display), the buffer will display to the screen and you may
HALT the display by pressing the <SHIFT> (or <SHIFT LOCK>) key. You may abort
the display by pressing <CTRL>.
The setting of C= M effects the buffer display any may be set to best
display the file.
Don't forget that the settings of C= E and C= M effect the RAM as it is
RECIEVING the data too.
PRINTER CONTROL
===============
CBterm lets you send to the printer any data that is stored in the RAM buffer.
No provision was made to print in real time as this is a very slow process and
can lead to garbeled data.The printer is initialy opened as 4,4,5 and ASCII data
is expected. This is the setup for a Card/? +G and Gemini-10X printer.
There are a number of options that can be used with the printer and the first
is C= V. This will pronmpt you for a new SECONDARY ADDRESS to be sent to the
printer. Use this option to tell your printer what type of data to expect and
to add the optionl <LF> after <CR> if you need it. (See your printer
instructions for the proper secondary address.)
The second printer control is C= G. This allows you to send ESCAPE CONTROL codes
to your printer, perhaps to activate special features. When you press C= G, you
are placed in a mode where the keyboard cyode images are sent directly to the
printer. You may send the codes CHR$(0) thru CHR$(27), the capital letters
A thru Z, and some other values that correspond the the keyboard decode tables
in the C64. ESCAPE is CHR$(27) and is produced with a <CTRL> <:>. (Control
colon. Note: These keypresses are only for the printer control, not characters
being sent out to the modem.) This is because the keyboard decode value for
a <CTRL> <:> is 27. To send CHR$(1) thr CHR$(26) use <CTRL> <<A> thru <Z>.
<CTRL> <A> being CHR$(1) and so on to <CTRL> <Z> being CHR$(26). The upper
case ASCII letters A to Z are entered WITHOUT the shift key. So to send a
uppercase "B" you simply press <B>. The codes for lower case ASCII letters
were not included in the keyboard decode tables and cannot be sent. The code
for CHR$(0) may be produced by pressing <CTRL> <0>.
When a key is pressed, nothing will be displayed on the screen but a slight
click or beep may be heard to indicate the code was sent to the printer.
So to send, lets say, ESCAPE "B" chr$(3), which would put a Gemini-10X into
condenced print mode, you would press C= G to goto control mode, then press
<CTRL> <:> -Escape
<B> -No shift, just B.
<CTRL> <C> -C = Third letter = CHR$(3)
Then press <SHIFT> <CTRL> to exit printer control mode.
The third setting you might have to change is our old friend C= F. This tells
CBterm to convert the RAM data to PETSCII when sending to the printer. If the
data in RAM is ASCII (which is should be 90% of the time) and your printer
wants PETSCII, then set C= F to PETSCII MODE. More on C= F will be explained
later.
You PRINT the RAM buffer by pressing C= P. The data will be sent to the printer
and you may abort the process by pressing the <CTRL> key.
Here is how C= F and C= M change things in CBterm. If you are talking with
a mainframe computer or BBS system or just about any computer link, you are
using ASCII code to communicate. Most files stored on large systems and BBS's
are in ASCII code also. However, if you are talking directyly to another C64
(Which CBterm will do with no problem.) Then you may be in what is called
64 to 64 mode, in which case you are using PETSCII. And just about all .SEQ
files stored on a C64's disk are in PETSCII. As stated above there are some
differences between the two formats, notably the Case Swapping and the Line
Feed conversion. Now, in using CBterm's RAM buffer, you must be aware of the
type of dyata you are recieving and how you want CBterm to treat that data
once it is recieveyd. 90% of the time the data will be ASCII, you get PETSCII
when you are talking directly to another C64 or you are downloading a file
that was uploaded in PETSCII to begin with.
If you are going to capture an ASCII file in RAM, and you know you only want
to save or print it in PETSCII, then you may set C= M to ON, BEFORE doing the
capture. As the data is being recieved, all Line Feeds will be stripped as
PETSCII files do not use Line Feeds. Now you have an ASCII image in RAM minus
the linefeeds. You may now set the C= F mode to PETSCII and Write the file to
disk or Print it as PETSCII. If you failed to set C= M to mask the line feeds
before reciving the file, you may do so before Writing or Printing and the
linfeeds in RAM will be discarded.
If you were not sure if you wanted ASCII or PETSCII, you can allways leave C= M
OFF and C= F in ASCII mode, Write the file to disk (as ASCII then) and reread
and convert the file to PETSCII later if that is what you need. CBterm can
allways convert ASCII to PETSCII, and in most cases PETSCII to ASCII.
RAM BUFFER AND DISK
===================
Up till now we delt with recieveing data into the RAM buffer. Now here are the
other uses. You can READ a file into the RAM, and WRITE a file out to disk.
You can also LOAD and SAVE RAM. The difference is that LOAD and SAVE use ythe
C64's Kernal routines and store all data in a .PRG format. The data can be
sequential of course, but the kernal routines dont know this. This is the
format used by some word processing programs, and was included in CBterm
because it is fast. Also, no ASCII/PETSCII translation can be done on a LOAD
or SAVE, you get an exact copy of the disk into RAM or RAM to disk.
You activate the LOAD with the C= L keys, you will be prompted for the
file name. You SAVE with C= S.
You can READ a disk file to ram, or WRITE it to disk with C= R and C= W.
These will be the functions most often used. To read the the disk file into RAM
press C= R. You will be prompted for the filename and is the file is (S)eq or
(P)rg. CBterm will then check to see if the disk drive is on line and then
prompt you for the format of the file. You have 3 options:
(A)scii, (P)etscii, (N)o change.
If you select ASCII then the C= M (mask/local LF) and C= F (File type) flags
will be set to assume you are reading a ASCII file. (C= M off, C= F ascii).
Then the file will be read into RAM. If you select PETSCII the flags will
be set for a petscii type file. If you select NO CHANGE then the original
settings of the C= M and C= F flags will be used. (Note: If you change
the flag settings for a READ, WRITE, UPLOAD or DOWNLOAD, you will have to
manually change them back to what may require later on. Just be aware of the
flags and what you are doing. Ie. you may have to set C= F back to petscii
to send petscii to your printer.)
The WRITE function works in the same manner, it has all the prompts for READ,
it just stores the RAM to disk.
Once you have loaded the ram buffer, you can transmit it out to the host
computer with the C= T function. The buffer will be dummped to the modem and
you may abort the transmit by pressing the <CTRL> key. You may adjust the
speed of the transmit during the transmit by pressing the + or - keys.
+ will speed it up somewhat, and - will slow it down.
There are a number of disk functions built into CBterm. Pressing C= Y will give
you a directorY of your disk. Pressing C= Q will prompt you for a command to be
sent to the disk drive.
XMODEM UPLOAD AND DOWNLOAD
==========================
CBterm supports a fast (all ML) version of the popular XMODEM file transfer
protocol. This can be used to transfer files of any size and type to/from
Compuserve or any other computer or BBS that supports XMODEM checksum protocol.
DOWNLOADING
===========
You instruct the host computer to begin an XMODEM download of the file you want.
When the host indicates that it is ready, you press C= N to put CBterm into
dowNload mode. You are prompted for the file name you want to save the incomming
file as, and its file type (seq or Prg). If you enter download mode by mistake
you can exit by not entering a file name.
If you enter a file type of PRG then CBterm will go directly into download.
If you enter SEQ, you will be prompted for (A)scii, (P)etscii (N)o chenge
Just as in a RAM load. If the file you are downloading is an ASCII image,
and you want an ASCII image on your disk, then hit (A). If the file you
are downloading is an ASCII image and you want to store it on disk as PETSCII
then hit (P). No change will keep the present value of the C= M and C= F flags.
IMPORTANT: If the file you are downloading is a PETSCII image, and you
want to save it as a PETSCII image on your disk, select ASCII MODE.
. In other words, ASCII MODE does NO translation of the incomming file. If it
is PETSCII, it will remain PETSCII. You can think of ASCII mode as NO TRANSLATE
and PETSCII MODE as TRANSLATE.
CBterm will then start its protocol tansfer. The host computer will send its
data and CBterm will display [GOT BLOCK] ### for each block recived.
If the block is OK, it will be written to disk and a new block will be recived.
If the block fails a number of checks, you will see an error message and the
host computer will be instructed to resend the block. This continues untill
the entire file is recieved. CBterm will beep at then end.
(Note: If a .SEQ PETSCII file was uploaded to Compuserve with VIDTEX, it
will be in an ASCII ! image. VIDTEX converts PETSCII to ASCII on upload and
back again on download. If you are planning to upload a .seq file to a service
like CIS or a non-C64 type BBS, you should do it in ASCII, as a PETSCII image
file is no good to a non-c64 computer.)
UPLOADING
=========
Operates much the same as downloading, you instruct the host computer you wish
to upload a file and when it is read you press C= U. You are prompted for
file name, Seq or Prg and (A),(P) or (N).
If your file is a PETSCII image, and you want to upload it as ASCII then
pick (P)etscii mode (Translate). If your file is ASCII and you want to upload
Ascii, then pick (A). If you have a PETSCII image and you are transfering
it to another C64 or some other computer and you want to keep it PETSCII, then
pick (A) (no translate).
CBterm will then display the message [SENT BLOCK] ### as it sends out the file.
Continued in file CBTP2.DOC
F┼