home *** CD-ROM | disk | FTP | other *** search
- ------------------------------------------------------------------------------
- Generic Split Screen Chat Utility 1.40 Wed 12 Feb 92
- Copyright 1992 by Chris Patterson, All Rights Reserved
- ------------------------------------------------------------------------------
-
- GCHAT is my solution to the split-screen chat problem. Every time I get a new
- chat program promising to the best program I have ever used, I find notices to
- register the program, delays and annoying beeps and whistles. Well, I finally
- had enough of the crap and wrote my own.
-
- GCHAT should work with any BBS that has a FOSSIL driver loaded. All of the
- options are passed on the command line, making it easy to work with almost any
- system out there.
-
- GCHAT has it's own internal ANSI and AVATAR terminal decoding functions. The
- entire package is written using my own QwikTools programming library for C
- programmers. No other libraries other than the Borland RTL were used. The
- QwikTools library will soon be available for all C programmers to use and is
- very powerful for creating DOS applications quickly.
-
- GCHAT DOES NOT PAGE THE SYSTEM OPERATOR!!! Do not use GCHAT as a menu exit
- which is available to users. The program goes immediately into chat mode
- without checking to see if the sysop is around, etc. It was written to be
- used with the RA 1.1x external chat command line. If you have an unregistered
- RemoteAccess, this option is not available and you need to register to use it.
- I may add the ability to page the sysop at a later date, however, I doubt it
- since I use the program with RA 1.11+. If enough people ask about it, I may
- sit down a write the code to do it.
-
- If you do not have RemoteAccess registered, you can use it with a function
- key exit. See the manual on how to setup an Alt-Fn key to run an external
- program.
-
- GCHAT includes the following great, easy to use features:
-
- * Full split-screen chat mode with ANSI support
-
- * Regular line oriented chat mode for non-ANSI callers
-
- * Word wrap at the end of text lines in both modes
-
- * The ability to clear the individual chat windows with
- a single keystroke (Ctrl-L)
-
- * The user and sysop names can be displayed in the lines
- which divide the chat areas in full-screen mode
-
- * User can exit chat when abandoned by the sysop (Ctrl-X)
- (removed in 1.30+)
-
- New features for 1.10 include:
-
- * AVATAR/0+ support
-
- * Chat windows scroll line-by-line in AVATAR mode for
- smoother conversations
-
- * On-screen clock in full-screen chat modes gives local
- time of day
-
- New features for 1.20 include:
-
- * Both SysOp and User screens look identical now, with either
- side having their text displayed on the bottom and the session
- partner on the top of the screen. This provides a more even
- thought pattern, and makes it so that the user does not have
- to adjust between being on the top or bottom depending on
- whether they are calling or answering.
-
- * The wordwrap code has changed and now all text in the chat
- window is maintained internally. There should be no more
- problems with straggled characters.
-
- * ANSI mode callers now have scrolling equal to two-thirds of
- the chat window for easier reading.
-
- * DESQview aware. If the program is waiting for input,the
- program will give away time-slices to the other processes
- which are running. I have not tested this code in this
- program, however, I tested it in a simpler test program
- using QEMM 6.02 and DESQview 2.42 and it worked without
- blowing up.
-
- New features in 1.30 include:
-
- * ALT-J Shell To DOS feature for sysop use. Allows sysop to
- exit to dos without exiting the chat mode. Full-screen redraw
- is performed on return, leaving chat text intact.
-
- * Program will swap to EMS/XMS/Disk when ALT-J is hit, allowing
- maximum available memory for DOS usage.
-
- * Screen redraw in case of line noise (Ctrl-R, sysop OR user)
-
- * Pressing ALT-A on sysop or user (via DOORWAY mode) will set
- the current emulation mode to ANSI while in chat mode only.
- If a user is calling with a non-AVT/0+ compliant program
- (such as Qmodem), they can switch it to ANSI for the scroll
- functions to work right.
-
- * Pressing ALT-V on sysop or user (via DOORWAY mode) will set
- the current emulation mode to AVATAR while in chat mode.
- Note that this will only work if AVATAR was originally the
- emulation used on startup.
-
- * There were several problems with the ANSI and AVATAR color
- routines that were introduced in version 1.20 that have now
- been fixed. All of the colors should appear correct in this
- new version.
-
- * File logging of chat sessions is now available. This log
- style is compatible with that used by RA, FD, GECHO, etc.
- The log is appended to if it already exists. The logging
- can be toggled on/off by using the ALT-L key. An indicator
- is displayed on the sysop side only.
-
- * The sysop can switch between the sysop and user chat window
- using the ALT-W combination. This is fun for playing tricks
- on users, such as stuffing in bad keys to create spelling
- errors, etc. But in the end, it will allow the sysop to edit
- the user's chat portion of the screen with the arrow keys so
- that while a user and sysop are discussing a piece of code or
- something, the sysop does not have to retype, etc. Quoting
- is also going to be added I think...
-
- New features for 1.31 include:
-
- * Fixed the bug which occurred if a user had only AVATAR codes
- on without ANSI codes. The program now works correctly for
- users with only AVATAR (2) turned on.
-
- New features for 1.40 include:
-
- * Help screen to instruct users on which keys are available while
- using GCHAT.
-
- * Fixed a display problem with the ANSI/AVT && AVATAR indicators.
-
- * Removed FOSSIL detection and only use the FOSSIL initialization
- call to determine if the program can continue, since the detect
- routine always dies when using DESQview.
-
- * GChat will use the current baud rate if no baud rate is specified.
- This option will work in most cases, however, your application
- may be different. (It works with RA 1.1x)
-
- * The program can now read the DORINFO1.DEF file (RBBS-style) which
- is created by RemoteAccess before running an external application.
- The board name, sysop name, user name, user location, modem port,
- and graphics mode are read from this file.
-
- * Support for the RemoteAccess 1.1x EXITINFO.BBS file is added.
- GChat can now obtain the user's name, location, and screen length
- without command line parameters.
-
- * The program can now read the RA 1.1x configuration files. The
- sysop name, board name, etc. can be read from the RA configuration
- files.
-
- * GChat can now be used with any length screen display. If the user
- has specified a screen length longer than the local screen can
- support, the length will be limited to that of the local screen.
-
- * If GChat is brought up with a com port of 0 or a baud rate of 0,
- it will startup in LOCAL mode without making any calls to the
- FOSSIL driver. So now you can chat to yourself while logged in
- using local mode.
-
- * Digraph compression. Digraphs are two characters which have a
- single sound. In the upper-128 bytes of the IBM character set,
- all of the foriegn language characters can be constructed using
- digraphs. By pressing the <Ctrl-D> key after entering a two-
- character digraph, if there is a foriegn language symbol for that
- combination, it will be replaced automatically. See below for a
- table consisting of all of the digraph combinations supported.
-
- * The sysop can disconnect the user by pressing Alt-H. Note that
- this will only work if the sysops modem is setup to hangup the
- modem when the DTR is lowered.
-
-
- To run GCHAT, use the following options:
-
- B<baud rate>
- Baud Rate - The speed in which the connection is
- currently established. If you are using a locked
- baud rate, use the locked baud rate here. Otherwise,
- use the *B macro (RA, QBBS) to pass the baud rate
-
- P<com port>
- Com Port - The com port to use. Can be passed using
- the *P macro from RA or QBBS (others?).
-
- A<0|1|2|3>
- ANSI Graphics Mode - the mode in which the program
- should operation. The *G macro (RA,QBBS) includes
- this information. Supported modes are:
-
- 0=text
- 1=ANSI
- 2=AVATAR
- 3=ANSI & AVATAR (uses AVATAR codes)
-
- "N<full user name>"
- The name of the user who is logged on the BBS. This
- can be done with "N*F *L" in RA,QBBS to include the
- first and last name of the user on the screen bars.
-
- "S<sysop name>"
- The name of the system operator. This is usually just
- hard coded on the command line.
-
- L<filename.ext>
- Log file name. If specified, the log file will be opened
- for append and the chat session will be logged, including
- a starting and ending time stamp.
-
- R<lines>
- Set the numbers of rows on the chat screen. The default
- is 23. If the number of lines exceeds the capabilities
- of the local display, the chat screen length will be
- confined to the local screen length.
-
- D
- Read configuration from DORINFO1.DEF file if it exists.
-
- E
- Extract configuration from the RemoteAccess 1.1x files
- such as CONFIG.RA and EXITINFO.BBS, etc. By using the
- E parameter, GChat will obtain as much information as
- possible from the existing RemoteAccess configuration.
- This option will read the users page length and adjust
- the screen chat length accordingly.
-
- That pretty much sums it up. A few examples:
-
- RemoteAccess 1.1x, configured as the external chat utility in
- RACONFIG->Options->Paging->External:
-
- GCHAT.EXE P*P B*B A*G "N*F *L" "SChris Patterson"
-
- Or for a locked baud rate:
-
- GCHAT.EXE P*P B38400 A*G "N*F *L" "SChris Patterson"
-
- Or to allow the program to use the current baud settings:
-
- GCHAT.EXE P*P A*G "N*F *L" "SSysop Name"
-
- Or the simplest approach, uses DORINFO1.DEF and EXITINFO.BBS:
-
- GCHAT.EXE D E
-
- ------------------------------------------------------------------------------
- Digraph Table
- ------------------------------------------------------------------------------
-
- The digraphs shown below are created by entering the two chars shown and
- pressing <Ctrl-D>. The two chars are replaced with the single foreign
- language character.
-
- Chars Result Chars Result Chars Result
-
- u" ü e' é a^ â
- a" ä a` à ao å
- e^ ê e" ë e` è
- i" ï i^ î i` ì
- A" Ä Ao Å E' É
- AE Æ o^ ô o" ö
- o` ò u^ û u` ù
- y" ÿ O" Ö U" Ü
- Pt ₧ a' á i' í
- o' ó u' ú n~ ñ
- N~ Ñ C, Ç c, ç
- o/ φ << « >> »
- !! ¡ ?? ¿ 12 ½
- 14 ¼ a- ª o- º
- Y= ¥ 96 æ C| ¢
- L- £ f- ƒ =- ≡
- +- ± >= ≥ <= ≤
- :- ÷ ~~ ≈
-
- ------------------------------------------------------------------------------
-
- GCHAT is a free program. I don't care what you use it for, as long as you
- do NOT try to sell it as your own. I retain all rights to the program and
- it's source code. No FEE's may be charged for it's distribution either.
- Either allow people to access it for free, or don't have it online. Simple.
-
- GCHAT is provided as-is. No warranties are expressed or implied. If it
- does not work for you, that's tough. I didn't write it for you. I wrote
- it for myself, and am allowing everyone who wishes to use it, that chance.
- I do not guarantee that GCHAT is for you.
-
- ------------------------------------------------------------------------------
- How to reach the author
- ------------------------------------------------------------------------------
-
- Chris Patterson, SysOp
- The Developers Network
- 1-918-251-6252 v.32bis/HST supported
- 24 hours daily
- Broken Arrow, Oklahoma USA
- 1:170/301@fidonet (CM,XA)
-
- ------------------------------------------------------------------------------
- Please send any program suggestions or bug reports via NetMAIL to the above
- address. If you do not have access to NetMAIL, then logon as a user and
- leave a comment to the sysop.
- ------------------------------------------------------------------------------
- ******************************************************************************
- If you are a shareware author, and you use this program, please consider
- sending registered versions of your software to the author of this program
- as a gesture of good faith. Thank you.
- ------------------------------------------------------------------------------
- HISTORY:
-
- 23 Jan 92 - 1.00
- ----------------
- Initial program release.
-
- 27 Jan 92 - 1.10
- ----------------
- Added AVATAR, clock and fixed a few small bugs
-
- 27 Jan 92 - 1.20
- ----------------
- Rewrote the entire program from scratch, using a new method.
-
- 03 Feb 92 - 1.30
- ----------------
- Drop To DOS Added (wEMS/XMS/DISK swapping), fixed many ANSI
- bugs, some AVATAR bugs, added limited DOORWAY support, file
- logging.
-
- 05 Feb 92 - 1.31
- ----------------
- Fixed the bug with the AVATAR only *G macro (2).
-
- 06 Feb 92 - 1.40.01b
- --------------------
- Fixed the ansi mode display bug, added help screen, cleaned
- up some FOSSIL check code, removed FORCE option, made init
- call the check.
-
- 10 Feb 92 - 1.40.02b
- --------------------
- Added support for reading DORINFO1.DEF and EXITINFO.BBS by new
- parameters on the command line.
-
- 11 Feb 92 - 1.40.03b
- --------------------
- Added digraph support, more help screen features, few fixes
- with the program here and there.
-
- 11 Feb 92 - 1.40.04b
- --------------------
- Added Alt-H to hangup. Added new QT.LIB for more ANSI/AVT
- support (internal). More digraphs added.
-
- 12 Feb 92 - 1.40
- ----------------
- Release version with above changes.
-
- ------------------------------------------------------------------------------
-
-