Plusterm V1.0 Jan 1990
Plusterm is a full feature terminal program for the CBM Plus/4 computer using a CBM 1670 modem. It is comparable to any of the better C=64 terminal programs. I am releasing it as Freeware - you may copy and distribute it (and its accessory programs) but you may not sell it. With that out of the way I will now give the details of its operation.
Plusterm uses a combination of Basic and ML. The Menus and the setups are in Basic. The terminal , buffer and transfer routines are ML. It will load and run as if it were all Basic. Once it is run the ML will be protected and you can then make minor changes to the Basic if needed. To resave a modified version enter the monitor and type - s"Newname",8,1001,5fff [return] . Note : there is not much room for additions to basic , the code just fits aloted space as is.
After running Plusterm the program will check your disk drive for setup files. If it doesn't find them it will use its default setup. After setting up the program will enter the Main Menu.
>>> MAIN MENU <<<
From the Main Menu you can select Terminal , Autodial , Buffer , Setups , Define Function Keys , Disk Commands or Exit To Basic.
1) Terminal Mode
When selecting this option the program opens a channel to the modem and goes to the terminal routine. You may address the modem with any of its commands as outlined in its manual. There are many commands available while in terminal mode. All are a combination of pressing the C= key along with the command key. The top row of the screen is a status line. The first number is the word length. Then the code for parity followed by the number of stop bits (for most systems it is 8:N:1 but these can be changed in the setup option). After these three codes the baud rate is displayed. Once you have entered the terminal mode you will have to re-run Plusterm or use Autodial for changes of these options to take effect. The next three characters represent ASCII Text (A) / (G) Color Graphic mode, Duplex (Full or Half) and Buffer Status (Open or Closed). Finaly there is a Page counter for the amount of text saved in the buffer. Each page is 256 bytes long or just over 1 disk block (this made more sence to me than total bytes)
1A) Terminal mode commands
C= C Closes the capture of text to the buffer C= D Toggles the Duplex between Full and Half C= G Toggles between ASCII and CBM color graphics mode. Custom characters are used in ASCII mode. This also includes the 'standard' CBM text mode characters which are coppied from ROM to the RAM character data location at $F000. While in ASCII mode the C= / Shift keys character mode change is disabled. In color graphics mode both the graphics and text characters are available and are obtained from the normal ROM location. The C= / Shift keys character mode change are enabled in this mode C= H Displays a list of the terminal commands (Help) C= K Erase the text buffer. This only resets the pointers. The text can be recovered with the Buffer option from the Main Menu if nothing else is saved to the buffer. C= O Opens the text buffer Note: the buffer will quit saving text when the counter reaches 144 C= Q Opens the disk command channel. Pressing the [return] key alone returns to terminal mode. Use the standard commands as if they followed a print#15, (for example s0:filename to scratch a file , i0 to initialize a disk , n0:filename,id to format a disk , etc.) C= R Recieve a binary transfered file. The default protocol is always Xmodem when Plusterm is loaded but this can be changed at the Setup option. follow the host's procedure for setting up a transfer and when its "file is ready" prompt is displayed then enter this option. You will have to enter the filename you want to save the download as, then press either the "s" or "p" keys for Seq or Prg filetypes. The computer will then take over. If there is a error with the disk drive it will autoabort the transfer. Any time during the transfer pressing the C= key will abort the transfer. The block numbers, data and checksums are displayed as screen codes at the top of the screen as they are recieved. Also there is a Good block / Bad block counter at the bottom of the screen. Note: there is a ten second (20 for 1k Xmodem) timeout for retransmit the block and ten bad blocks (3 for 1K Xmodem) in a row will cause an autoabort. After the transfer is finished or aborted the program returns to the terminal mode C= S Uploads a binary file. Procedure is much the same as for downloads. Note: You can use wildcards when selecting the filename from your disk. C= U Uploads a text file. This is mostly for uploading messages. There is not any error checking on the transfer. Note: You will need to set the True ASCII flag to "Y" from the setup menu if uploading true ASCII and "N" if PETSCII. C= V Will display the disk directory (will not be transmited or stored in the text buffer , for reference only) C= Z Will return to the Main Menu. This does not terminate the connection unless you choose the Autodial option from the Main Menu. After saving the text buffer to disk or whatever you needed from the main menu just return to Terminal mode and resume your online session. C= = Puts the modem back on line (sends ATO to the modem) C= - Hangs up (sends ATH to the modem) C= @ Returns to the Autodial Menu. This will auto disconnect and hang up. C= * Toggles the screen color ( just the color not the luminance , usefull mostly when connected with a color graphics board)
Use the standard "+++" to take the modem off line and into command mode
Note: when entering any of the transfer routines entering no filename will cancel the transfer option in this software. Then send the control X or whatever the host requires to cancel the transfer
Any control code can be sent by pressing the control key and the letter for the code key at the same time. The [esc] key sends a true escape code (27)
2) Autodial
This option will let you establish a phone directory of up to 9 phone numbers. This directory can be saved to disk and will autoload next time Plusterm is used. Then to dial a number just enter the 'Dial from Directory' option and select the number. The program will then dial that number and wait for a connection. If after a delay (which can be adjusted from the setup menu) there is no answer or a busy signal it will keep redialing and trying that number (great for busy BBS's). Any connection that is not to another modem at the proper baud rate will auto hangup and return to the select list. If you decide to give up pressing the [esc] key after the dialing sequence is finished will stop the autodial. Also there is an option to enter a number for a one time autodial.
3) Buffer Menu
From here you can review / mark , save to disk or printer the contents of the text buffer.
3A) Search Buffer Commands
Z - Returns to buffer menu S - Sets a pointer for the start of selected text to match the current display pointer E - Sets a pointer to the end of selected text (Note: If you accidently reset the buffer pointers in term mode these markers will alow you to recover the text for a save). With these pointers you need only save the portion of the buffer you want. B - Backups display (and select if set) pointers one page (Note: will not backup beyond start of buffer - or start selected text unless the end pointer is set) F - Skips display (and selected if set) pointers one page forward. D - Will restart display at the start selected pointer. X - Will resume general buffer display from the display selected text option (also at the end of selected text a general display will resume) N - Will slow scan the buffer (use this for exact placement of set pointers) Spacebar - Pressing the spacebar will fastscan thru the text buffer.
Note: there are 2 counters at the top of the screen. One is for the buffer being displayed and the other is a count of text pages selected.
From Buffer Options you can select to save all or selected text to either disk or printer
4) Setup Menu
There are many items which can be varied in this terminal program and this option is used to make those changes. After you have a setup that you like it can be saved to disk to be autoloaded every time you use this program (except transfer protocol - it can be changed here but Xmodem is always part of the program on startup).
5) Function Keys Setup
This option lets you define each of your function keys to output a string of characters when in terminal mode (macro keys). Great for your name and paswords. These definitions can be saved for future autoloading.
6) Disk Comands
This functions the same as when in terminal mode. You can output commands to the disk drive.
7) Exit to Basic
This just clears the screen and dumps you into basic. It does not reset the computer so if you need to just enter run and the program will restart.
Misc Notes
I have tested and tested this program. I think that all of the serious bugs are out but who knows. If you obtained this program from somewhere that I distributed it to there was also a file that contained custom character sets to go with it. They are all archived in one file. Just load and run "PTCUSTCHRS" with a disk that has 50 blocks free in the drive. This program will then write the individual character set files. Any CBM custom character set that you may have could be made to work with Plusterm. As long as it is upper/lower case characters and you set it up to load from $f400 thru $f7ff.
Also the 1K Xmodem protocol is a file you must obtain by itself. Xmodem is also available as a stand alone file so it can be reloaded after using 1K Xmodem.
If you try to load a protocol file that either does not exist on the disk in the drive or there is a load error the protocol displayed will be "none". At this point make sure the protocol you desire is on the disk and if it still will not load you will be stuck with using the Xmodem that is incorporated as part of the Plusterm program.
If you try to load a character set that does not exist on the disk or there is a load error the character set will default to the 'standard' CBM set.
Memory Usage $1001 thru $407F - Basic code $4080 thru $4DFF - Basic strings and variables $4E00 thru $57FF - Terminal & Buffer ML $5800 thru $58FF - Xmodem temp buffer $5900 thru $5EFF - Transfer routines ML $5F00 thru $5FFF - RS232 IRQ modifications ML $6000 thru $EFFF - Text buffer $F000 thru $F3FF - 1K Xmodem temp buffer $F400 thru $F7FF - Custom character set data
Finaly I would like to thank the efforts of Mike Zukerman for the figuring out the IRQ wedge and George Hug for the Assembler which made this project practical.
If you have any comments , questions or suggestions I can be contacted on GEnie at G.VANGELDER or write me at Gary VanGelder 6701 April lane Pgh Pa 15236
Happy Modeming… |