home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Telecom / CBTERM-DOC1 < prev    next >
Text File  |  2019-04-13  |  22KB  |  397 lines

  1. ********************************************************************************
  2. *                                                                              *
  3. *                          CBterm/C64                                          *
  4. *        (C) (TM) 1985 by Chrisdos. All rights reserved.                       *
  5. *                            Ver 4.5                                           *
  6. *                                                                              *
  7. ********************************************************************************
  8.  
  9. Note: This program OK to upload to local BBS systems ONLY. All Copywrite and
  10. author notice must be preserved.
  11. THIS PROGRAM MAY NOT BE UPLOADED TO ANY COMMERCIAL COMPUTER NETWORK OR
  12. SERVICE WITOUT EXPRESS WRITTEN PERMISSION OF CHRIS DUNN. (A.K.A. Chrisdos)
  13. --------------------------------------------------------------------------------
  14. 80 column routines (TERM80) (C) 1984 by Frank Prindle and Eric Lavitsky.
  15. --------------------------------------------------------------------------------
  16.  
  17.     OVERVIEW
  18.     ========
  19. CBterm/C64 (herein called CBterm) is a fine general purpose terminal program
  20. for the Commodore 64 computer. Written in machine language, it provides the
  21. following features:
  22.  
  23.     40 or 80 column display with no extra hardware.
  24.  
  25.     Split-Screen service in 80 column mode.
  26.  
  27.     300/1200 baud operation.
  28.  
  29.     Fast XMODEM Up and Downloading.
  30.  
  31.     AUTO Dialer control supporting many types of dialers.
  32.  
  33.     Hi and Med. Resolution CIS Graphics.
  34.  
  35.     Hi Res. Screen Dump to a suitable printer.
  36.     ASCII/PETSCII File control.
  37.  
  38.     CIS .IMG File compatibility.
  39.  
  40.     22.5K RAM Buffer.
  41.  
  42.     6 programable FUNCTION KEYS.
  43.  
  44.     On Screen Clock.
  45.  
  46.     Disk Directory and Functions.
  47.  
  48.     Full/Half Duplex.
  49.  
  50.     RAM Buffer Read/Write/Load/Save.
  51.  
  52.     Special Line Feed handling.
  53.  
  54.     Screen Color Control.
  55.  
  56.     Help Screen.
  57.  
  58.     And More........
  59.  
  60.     And, if used with the CBTVTX subroutine file, the following functions
  61. will be added to CBterm:
  62.  
  63.     Semigraphics 4 (low Res.)
  64.  
  65.     Vidtex screen Cursor Positioning.
  66.  
  67.     Automatic RAM Buffer control.
  68.  
  69.     Automatic switching between 40 and 80 column screens.
  70.  
  71. --------------------------------------------------------------------------------
  72.     Setup and Operation
  73.     ===================
  74. Simply load CBterm as you would any normal basic program and RUN. CBterm
  75. relocates itself and sets up all important memory areas. CBterm will ask
  76. you for an initial BAUD RATE to run at. Enter 3 for 300 or 12 for 1200 baud.
  77. This setting may be altered later. Press <RETURN> after your entry and CBterm
  78. will clear the screen and present the initial message in 40 column mode.
  79. At this point you are in terminal mode, and if you are using a manual connect
  80. modem, dial your phone and go on line.
  81.  
  82.     Commands to CBterm
  83.     ==================
  84. Just about all commands and functions in CBterm are initiated with the C=
  85. (Commodore) key. This key is held while pressing the letter or number key for
  86. the function you want. For example, you might wish to alter the SCREEN COLORS,
  87. this is done by holding the C= key and pressing:
  88.     +    to step the foreground colors (40 or 80 column)
  89.     -     to step the background (Screen) colors (40 or 80)
  90.     @    to step the foreground color of the OUTPUT LINE in 80 column
  91.     *     to step the background color of the OUTPUT LINE in 80 column
  92.     @    in 40 column mode to change the border color.
  93.     *    in 40 column mode to stop/start the CURSOR FLASH.
  94. Again, all the keys, unless otherwize stated, are pressed with the C= key too.
  95.  
  96. To view a list of C= Commands, press C= H. This will present the HELP SCREEN.
  97.  
  98.     Modem Control
  99.     =============
  100. CBterm has the ability to operate with a wide variety of modems, this includes
  101. the CBM modems,MightyMo,HES and HAYES Smart(?) Modems. Simply connect the
  102. modems to the computer, CBterm supports all modems at the same time.
  103. Some 'CLICK' type modems require you set CBterm to 'NEGITIVE DIALING' this is
  104. simply reversing the dialing pulses sent to the modem. This is done by pressing
  105. C= 5. This is a toggle function and pressing c= 5 again will switch back to
  106. 'POSITIVE DIALING'. MightyMo and HES modems use negitive dialing. If you tell
  107. cbterm to PICK UP and the modem HANGS UP insttead, you know you are in the
  108. wrong mode.
  109. The 1660 dialer uses Negitive dialing also, but does not support DCD (connect)
  110. signals, so to help simulate this connect signal, when in Negitive dialing
  111. mode, CBterm will send out a <RETURN> every 4 seconds. If a <RETURN> is echoed
  112. back to CBterm (assuming a connect) then CBterm will go ON LINE.
  113. The DCD Signal from the other modems must be present for a solid 4 seconds
  114. for CBterm to respond online. This is to prevent modems that are fooled by
  115. loud busy signals from tripping CBterm.
  116. You may have an AUTO MODEM 'PICK UP' by pressing the C= 1 keys. To 'HANG UP'
  117. press C= 2. Hayes modem users please note that C=1 will not work for your
  118. modem, you must enter the pick up command from the keyboard.
  119. When doing a 'HANG UP' there will be a 4 second delay before the modem is
  120. hung up, this gives you time to stop the hang up by pressing the <CTRL> key.
  121. (The <CTRL> key is used to ABORT alot of CBterm's functions.)
  122. (Hayes users, if they abort, must issue the return to online command.)
  123.  
  124. CBterm will automaticly DIAL and REDIAL a phone number untill a connection is
  125. made. (Automatic redial can only be used if your modem supports Data Carrier
  126. Detect or is a Hayes type or in negitive mode and a <CR> is echoed.)
  127. To start the dialing sequence, press C= 3. You will be prompted for the
  128. telephone number you wish to dial. If you do not enter any digits, the function
  129. will abort. After entering in the phone number digits (Numbers only, no
  130. punctuations)and pressing <RETURN> you will be asked for an EXTRA WAIT DELAY
  131. value. CBterm will initialy wait 20 seconds after dialing for the connection
  132. to be made, if you require a longer time, enter a digit (1-9) for additional
  133. 20 second wait periods. (Entering a 2 would provide 60 seconds.)
  134. CBterm will then dial the number and cycle, waiting for a connection.
  135. (Hayes users please note that CBterm will try to dial the 'click' modems first
  136. then send the dialing commands to the Hayes.)
  137. If your modem does not support the Data Carrier Detect (DCD) signal to tell
  138. CBterm when the connectin is made, then you must press <CTRL> after the number
  139. has dialed to return to terminal mode, otherwize CBterm will hang up.
  140.  
  141. Anytime CBterm sees a change in the state of the Data Carrier Detect line
  142. on the modem port, you will see the message: [DCD Switched]
  143. If you were off line, you are now on and vice-a-versa. If you are in the middle
  144. of a conversation and you see that message, you got knocked off line.
  145.  
  146. If you wish to change the BAUD RATE from the initial selection, press the C= 7
  147. keys, this will toggle between 300 and 1200 baud. It also causes CBterm to
  148. reset, so it should only be done offline.
  149.  
  150. Pressing C= X will toggle CBterm between FULL and HALF Duplex.
  151.  
  152. One other control is C= I. CBterm operates at 7 bits no parity. You may make
  153. CBterm recieve and store in RAM all 8 bits by pressing C= I. This is a toggle
  154. function and pressing it again will return to 7 bits.
  155.  
  156.     SCREEN MODES
  157.     ============
  158. CBterm supports 40 and 80 column screens. The 80 column screen is software
  159. generated HI-RES image and you will need a sharp TV or monitor to view it
  160. without eye strain. To switch to 80 column mode press C= 8. To switch back to
  161. 40 column mode press C= 4. In 80 column mode you will note that the last line
  162. is a different color. This is they OUTPUT LINE and anything you type will
  163. display here. It may or may not display on the main screen depending on your
  164. duplex setting. This OUTPUT LINE is very handy when using Compuserve's CB
  165. Simulator because you can see what you are typing between messages.
  166. The OUTPUT LINE does not scroll and when you type to its end the characters
  167. are not displayed, but they are transmitted. The line will reset when <RETURN>
  168. or a control character is sent. A special feature of the output line is the
  169. BATCH MODE. This is toggeled on or off with C= B. When ON, all the typed
  170. characters are held in a buffer and not transmitted untill a <RETURN> or other
  171. control character is pressed. In batch mode, only 80 characters may be buffered
  172. any past that but before the line is sent will be lost.
  173. If you find a screen hard to read, try a different color combination.
  174.  
  175.     SPECIAL SETUP CONTROLS
  176.     ======================
  177. The following controls are provided to give CBterm flexibility in dealing
  178. with many types of host computer setups. They may seem a bit complicated, but
  179. really provide great power in connecting to other computers.
  180.     C= A    Output Extra LF
  181.     C= E     Input Extra LF
  182.      C= M    Mask/Local LF
  183.     C= F    File Type (Ascii/Petscii)
  184.  
  185. When C= A is toggeled on, it meas that when ever a <RETURN> (hereafter called
  186. <CR>) is sent from the keyboard or the RAM buffer, CBterm will send a LINE FEED
  187. <LF> after it. This is used to talk to oter computers or terminals that require
  188. a <LF> be recieved to goto the next line. Pressing C= A again turns this off.
  189.  
  190. C= E, when it is on, simulates the reception of a <LF> after a <CR> is recieved.
  191. That is, when C= E is on and a <CR> is recieved, CBterm will act as if it has
  192. recieved a <LF> too. It will also place a <LF> in the RAM buffer if it is open.
  193. There is one exception and that is when C=M is on.
  194.  
  195. C= M is a varient on C= E and it operates like this: When C= M is on CBterm is
  196. MASKING all recieved line feeds from the RS232 port, that is all <LF> are tossed
  197. out, and never used or saved. (Even if C= E is on.) At the same time CBterm
  198. provides a LOCAL screen <LF> after a <CR> is recieved so that the incomming
  199. data is not all displayed on one line. In other words, all <LF>s are ignored
  200. and a <CR> will now both return the cursor and force a new screen line.
  201. C= M also is involved when READING or WRITING the RAM buffer and in XMODEM file
  202. transfers. This will be explained.
  203.  
  204. C= F selects the file type to be used in READING, WRITING, or PRINTING RAM and
  205. in XMODEM transfers. Please note the following information:
  206.  In 99% of the cases, CBterm wants ASCII data in its RAM or XMODEM buffers.
  207. That is, mostly all communication between computers is done in standard ASCII
  208. code, and this is what CBterm wants to see in its RAM or XMODEM buffers. It can
  209. be translated when written to disk or printer, but 99% of the time it wants
  210. ASCII. Does this mean CBterm cannot send/recieve Petscii files? No, CBterm has
  211. a built in translation routine. You must follow the next statements:
  212. An ASCII file is composed of standard ASCII code, and could have linefeeds
  213. following its RETURN codes.
  214. A PETSCII file uses a somewhat reveresed ascii and does NOT use linefeeds
  215. because they are not needed, if anything, it might use CURSOR DOWN to start a
  216. new line.
  217. So the basic difference is ASCII code and may or may not have LINE FEEDS vs.
  218. PETSCII code and never LINE FEEDS.
  219. The 2 main functions for converting one to the other are C= F and C= M as will
  220. be explained.
  221.  
  222.     RAM BUFFER CONTROL
  223.     ==================
  224. CBterm's RAM buffer will capture MODEM RECIEVED DATA ONLY. (It wont capture in
  225. half duplex.) The buffer is about 22.5K bytes long. You OPEN the buffer
  226. with C= O. Close it with C= C and Zero it out (clear) with C= Z. You will
  227. get a message telling you the amount of RAM left when you use any of the
  228. 3 controls. The number counts down to 0. If the RAM is open and it fills, you
  229. will get a message and the buffer closes. You may see what is is the buffer by
  230. pressing C= D (display), the buffer will display to the screen and you may
  231. HALT the display by pressing the <SHIFT> (or <SHIFT LOCK>) key. You may abort
  232. the display by pressing <CTRL>.
  233. The setting of C= M effects the buffer display any may be set to best
  234. display the file.
  235. Don't forget that the settings of C= E and C= M effect the RAM as it is
  236. RECIEVING the data too.
  237.  
  238.     PRINTER CONTROL
  239.     ===============
  240. CBterm lets you send to the printer any data that is stored in the RAM buffer.
  241. No provision was made to print in real time as this is a very slow process and
  242. can lead to garbeled data.The printer is initialy opened as 4,4,5 and ASCII data
  243. is expected. This is the setup for a Card/? +G and Gemini-10X printer.
  244. There are a number of options that can be used with the printer and the first
  245. is C= V. This will pronmpt you for a new SECONDARY ADDRESS to be sent to the
  246. printer. Use this option to tell your printer what type of data to expect and
  247. to add the optionl <LF> after <CR> if you need it. (See your printer
  248. instructions for the proper secondary address.)
  249. The second printer control is C= G. This allows you to send ESCAPE CONTROL codes
  250. to your printer, perhaps to activate special features. When you press C= G, you
  251. are placed in a mode where the keyboard cyode images are sent directly to the
  252. printer. You may send the codes CHR$(0) thru CHR$(27), the capital letters
  253. A thru Z, and some other values that correspond the the keyboard decode tables
  254. in the C64. ESCAPE is CHR$(27) and is produced with a <CTRL> <:>. (Control
  255. colon. Note: These keypresses are only for the printer control, not characters
  256. being sent out to the modem.) This is because the keyboard decode value for
  257. a <CTRL> <:> is 27. To send CHR$(1) thr CHR$(26) use <CTRL> <<A> thru <Z>.
  258. <CTRL> <A> being CHR$(1) and so on to <CTRL> <Z> being CHR$(26). The upper
  259. case ASCII letters A to Z are entered WITHOUT the shift key. So to send a
  260. uppercase "B" you simply press <B>. The codes for lower case ASCII letters
  261. were not included in the keyboard decode tables and cannot be sent. The code
  262. for CHR$(0) may be produced by pressing <CTRL> <0>.
  263. When a key is pressed, nothing will be displayed on the screen but a slight
  264. click or beep may be heard to indicate the code was sent to the printer.
  265. So to send, lets say, ESCAPE "B" chr$(3), which would put a Gemini-10X into
  266. condenced print mode, you would press C= G to goto control mode, then press
  267.     <CTRL> <:>        -Escape
  268.     <B>            -No shift, just B.
  269.     <CTRL> <C>        -C = Third letter = CHR$(3)
  270. Then press <SHIFT> <CTRL> to exit printer control mode.
  271. The third setting you might have to change is our old friend C= F. This tells
  272. CBterm to convert the RAM data to PETSCII when sending to the printer. If the
  273. data in RAM is ASCII (which is should be 90% of the time) and your printer
  274. wants PETSCII, then set C= F to PETSCII MODE. More on C= F will be explained
  275. later.
  276. You PRINT the RAM buffer by pressing C= P. The data will be sent to the printer
  277. and you may abort the process by pressing the <CTRL> key.
  278.  
  279. Here is how C= F and C= M change things in CBterm. If you are talking with
  280. a mainframe computer or BBS system or just about any computer link, you are
  281. using ASCII code to communicate. Most files stored on large systems and BBS's
  282. are in ASCII code also. However, if you are talking directyly to another C64
  283. (Which CBterm will do with no problem.) Then you may be in what is called
  284. 64 to 64 mode, in which case you are using PETSCII. And just about all .SEQ
  285. files stored on a C64's disk are in PETSCII. As stated above there are some
  286. differences between the two formats, notably the Case Swapping and the Line 
  287. Feed conversion. Now, in using CBterm's RAM buffer, you must be aware of the
  288. type of dyata you are recieving and how you want CBterm to treat that data
  289. once it is recieveyd. 90% of the time the data will be ASCII, you get PETSCII
  290. when you are talking directly to another C64 or you are downloading a file
  291. that was uploaded in PETSCII to begin with. 
  292. If you are going to capture an ASCII file in RAM, and you know you only want
  293. to save or print it in PETSCII, then you may set C= M to ON, BEFORE doing the
  294. capture. As the data is being recieved, all Line Feeds will be stripped as
  295. PETSCII files do not use Line Feeds. Now you have an ASCII image in RAM minus
  296. the linefeeds. You may now set the C= F mode to PETSCII and Write the file to
  297. disk or Print it as PETSCII. If you failed to set C= M to mask the line feeds
  298. before reciving the file, you may do so before Writing or Printing and the
  299. linfeeds in RAM will be discarded.
  300. If you were not sure if you wanted ASCII or PETSCII, you can allways leave C= M
  301. OFF and C= F in ASCII mode, Write the file to disk (as ASCII then) and reread
  302. and convert the file to PETSCII later if that is what you need. CBterm can 
  303. allways convert ASCII to PETSCII, and in most cases PETSCII to ASCII.
  304.  
  305.     RAM BUFFER AND DISK
  306.     ===================
  307. Up till now we delt with recieveing data into the RAM buffer. Now here are the
  308. other uses. You can READ a file into the RAM, and WRITE a file out to disk.
  309. You can also LOAD and SAVE RAM. The difference is that LOAD and SAVE use ythe
  310. C64's Kernal routines and store all data in a .PRG format. The data can be 
  311. sequential of course, but the kernal routines dont know this. This is the
  312. format used by some word processing programs, and was included in CBterm
  313. because it is fast. Also, no ASCII/PETSCII translation can be done on a LOAD
  314. or SAVE, you get an exact copy of the disk into RAM or RAM to disk.
  315. You activate the LOAD with the C= L keys, you will be prompted for the
  316. file name. You SAVE with C= S.
  317.  
  318. You can READ a disk file to ram, or WRITE it to disk with C= R and C= W.
  319. These will be the functions most often used. To read the the disk file into RAM
  320. press C= R. You will be prompted for the filename and is the file is (S)eq or
  321. (P)rg. CBterm will then check to see if the disk drive is on line and then
  322. prompt you for the format of the file. You have 3 options:
  323.  (A)scii, (P)etscii, (N)o change. 
  324. If you select ASCII then the C= M (mask/local LF) and C= F (File type) flags
  325. will be set to assume you are reading a ASCII file. (C= M off, C= F ascii).
  326. Then the file will be read into RAM. If you select PETSCII the flags will
  327. be set for a petscii type file. If you select NO CHANGE then the original
  328. settings of the C= M and C= F flags will be used. (Note: If you change
  329. the flag settings for a READ, WRITE, UPLOAD or DOWNLOAD, you will have to
  330. manually change them back to what may require later on. Just be aware of the
  331. flags and what you are doing. Ie. you may have to set C= F back to petscii
  332. to send petscii to your printer.)
  333. The WRITE function works in the same manner, it has all the prompts for READ,
  334. it just stores the RAM to disk.
  335.  
  336. Once you have loaded the ram buffer, you can transmit it out to the host
  337. computer with the C= T function. The buffer will be dummped to the modem and
  338. you may abort the transmit by pressing the <CTRL> key. You may adjust the
  339. speed of the transmit during the transmit by pressing the + or - keys.
  340. + will speed it up somewhat, and - will slow it down.
  341.  
  342. There are a number of disk functions built into CBterm. Pressing C= Y will give
  343. you a directorY of your disk. Pressing C= Q will prompt you for a command to be
  344. sent to the disk drive.
  345.  
  346.  
  347.     XMODEM UPLOAD AND DOWNLOAD
  348.     ==========================
  349. CBterm supports a fast (all ML) version of the popular XMODEM file transfer
  350. protocol. This can be used to transfer files of any size and type to/from
  351. Compuserve or any other computer or BBS that supports XMODEM checksum protocol.
  352.  
  353.     DOWNLOADING
  354.     ===========
  355. You instruct the host computer to begin an XMODEM download of the file you want.
  356. When the host indicates that it is ready, you press C= N to put CBterm into
  357. dowNload mode. You are prompted for the file name you want to save the incomming
  358. file as, and its file type (seq or Prg). If you enter download mode by mistake
  359. you can exit by not entering a file name.
  360. If you enter a file type of PRG then CBterm will go directly into download.
  361. If you enter SEQ, you will be prompted for (A)scii, (P)etscii (N)o chenge
  362. Just as in a RAM load. If the file you are downloading is an ASCII image,
  363. and you want an ASCII image on your disk, then hit (A). If the file you
  364. are downloading is an ASCII image and you want to store it on disk as PETSCII
  365. then hit (P). No change will keep the present value of the C= M and C= F flags.
  366. IMPORTANT: If the file you are downloading is a PETSCII image, and you
  367. want to save it as a PETSCII image on your disk, select ASCII MODE.
  368. . In other words, ASCII MODE does NO translation of the incomming file. If it
  369. is PETSCII, it will remain PETSCII. You can think of ASCII mode as NO TRANSLATE
  370. and PETSCII MODE as TRANSLATE.
  371.  
  372. CBterm will then start its protocol tansfer. The host computer will send its
  373. data and CBterm will display [GOT BLOCK] ### for each block recived.
  374. If the block is OK, it will be written to disk and a new block will be recived.
  375. If the block fails a number of checks, you will see an error message and the
  376. host computer will be instructed to resend the block. This continues untill
  377. the entire file is recieved. CBterm will beep at then end.
  378.  
  379. (Note: If a .SEQ PETSCII file was uploaded to Compuserve with VIDTEX, it
  380. will be in an ASCII ! image. VIDTEX converts PETSCII to ASCII on upload and
  381. back again on download. If you are planning to upload a .seq file to a service
  382. like CIS or a non-C64 type BBS, you should do it in ASCII, as a PETSCII image
  383. file is no good to a non-c64 computer.)
  384.  
  385.     UPLOADING
  386.     =========
  387. Operates much the same as downloading, you instruct the host computer you wish
  388. to upload a file and when it is read you press C= U. You are prompted for
  389. file name, Seq or Prg and (A),(P) or (N).
  390. If your file is a PETSCII image, and you want to upload it as ASCII then
  391. pick (P)etscii mode (Translate). If your file is ASCII and you want to upload
  392. Ascii, then pick (A). If you have a PETSCII image and you are transfering
  393. it to another C64 or some other computer and you want to keep it PETSCII, then
  394. pick (A) (no translate).
  395. CBterm will then display the message [SENT BLOCK] ### as it sends out the file.
  396.  Continued in file CBTP2.DOC
  397. F┼