Kirk Gunsallus Apr 9 1992, 1:10 pm show options Newsgroups: rec.games.chess From: k...@theory.TC.Cornell.EDU (Kirk Gunsallus) - Find messages by this author Date: Thu, 9 Apr 1992 20:10:12 GMT Local: Thurs, Apr 9 1992 1:10 pm Subject: X Windows interface to ICS available Reply to Author | Forward | Print | Individual Message | Show original | Report Abuse Here is an X-Windows interface to the internet chess server ICS. I am only the distributor of this program so unfortunately I cannot help debug problems you might experience. It has been used on several machines and most problems are worked out. It allows mouse interaction with ICS to speed up play and lessen entry errors. More importantly, the board is displayed graphically aloowing for easier (and better?) play. It can be obtained by anonymous ftp from raj5.tn.cornell.edu (128.84.249.70) in /pub file xics.tar.Z. Type uncompress xics.tar.Z and tar -xvf xics.tar. Below is a copy of xics.man.formatted which is included in the archive. Kirk Gunsallus xics(PUBLIC) xics(PUBLIC) NAME xics - X-Windows interface to the Internet Chess Server SYNOPSIS xics servername portnumber DESCRIPTION xics is an X-Windows interface to the Internet Chess Server (ICS). ICS is a program that allows players to connect to a machine over the internet and play games with one another. Normally, the output of ICS is in ASCII format which discourages chess novices from playing, as they find it difficult to grasp quickly a chess board printed in ASCII format. xics parses this output and displays the chess board on the graphics screen. One can use the mouse to make moves (instead of typing them in on the keyboard). Currently, only a limited functionality has been incorporated, however, users interested in modifying the code are encouraged to do so and distribute the code freely to other ICS users. xics initiates a telnet session with the specified host (ICS) and connects to the given port number. It then opens up a graphics window displaying the chess board. Any board position printed by ICS is parsed and displayed by xics. When playing a game, moves are made by clicking the mouse on the piece to be moved and then clicking the mouse on the square where the piece is to be moved. xics will generate the proper move (e.g. a2-a4) and send it to ICS via telnet. The usual ICS interface (via the keyboard) is still available. You can use xics for watching others play chess too. Simply use existing ICS commands such as "observe number" and "refresh" to print the board, which will automatically be displayed in the graphics window. Please note that xics can parse boards printed using "style 1" (the default style) only. When invoking xics, keep the xterm window from which you invoke xics handy. You will need it for entering your name and password and most ICS commands. AVAILABILITY xics works only on UNIX(TM) machines running X-Windows. It uses only Xlib and is probably quite portable. I have tested it successfully on a Sun-3, a Sun-4, a DecStation 5000 and an IBM RS6000. TECHNICAL DESCRIPTION xics creates a bidirectional pipe between itself and telnet. This pipe is used to feed input to telnet as well as collect Page 1 (printed 3/29/92) xics(PUBLIC) xics(PUBLIC) output from it. xics multiplexes over 3 types of inputs: stdin - whatever is typed on the keyboard is sent to the telnet session output of telnet - is printed on the screen as well as parsed for displaying boards graphically mouse clicks - are used to generate moves that are printed on stdin and are also sent to the telnet session COMMANDS In addition to ICS commands that can be entered using the keyboard, xics will allow the following: move pieces using the mouse -- To move a piece, simply click on it and then click on the square where the piece is supposed to move. This is irrespective of whether you are capturing a piece, or simply moving a piece to an empty square or promoting it to another piece. When the mouse is clicked on a square, the corresponding position is printed in the status window (at the bottom), so you know what you are moving. When a move is made, no attempt is made by xics to see if the move is valid. The move is simply sent to ICS. ICS will take care of ascertaining the validity of the move. If the move is not valid, ICS will print "command not found". If the move is valid, ICS will generate the new board and print it. xics will grab this output and display it on the graphics board. Thus the check for correctness of moves is taken care of, indirectly. Switch Sides -- Since the notation "abcdefgh" "12345678" is always relative to white, if you are playing with black pieces, simply click on the menu button "WHITE". The button will change to "BLACK" and you can now play with black pieces. King Side Castle -- Simply click on the button "K CASTLE". The command "o-o" will be sent to ICS. Queen Side Castle -- Simply click on the button "Q CASTLE". The command "o-o-o" will be sent to ICS. Quit -- When the button "QUIT" is hit, xics will send "quit" to ICS and will itself terminate. BUGS None known, but doesn't mean there aren't any. LIMITATIONS Several. Most ICS commands cannot be executed using the mouse (they have to be typed in); the program will work only Page 2 (printed 3/29/92) xics(PUBLIC) xics(PUBLIC) on UNIX(TM) machines; its parsing abilities are dependent on the output format of ICS; not all output of telnet is represented graphically, etc., etc., etc. Perhaps the most serious limitation is that if the format of ICS output is changed, xics will cease to work unless its source is modified. Hopefully the person who maintains ICS will refrain from doing so. AUTHOR Wishes to remain anonymous because he is afraid that if his identity is known, he will have to support the program for the rest of his life. COPYRIGHT This software is free and can be distributed freely without permission. You can make modifications to it, but please don't break the program! ACKNOWLEDGEMENTS The bitmaps for chess pieces were obtained from gnuchess. SEE ALSO Answers to Frequently Asked Questions (FAQ) in the newsgroup rec.games.chess on USENET. Page 3 (printed 3/29/92)