xics(1) xics(1) 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. 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). The default port number is 5000. 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 releasing the mouse on the square where the piece is to be moved to. 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. Use existing ICS commands such as "observe 0" 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" or "style 8" 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 otherwise quite portable. TECHNICAL DESCRIPTION xics creates a bidirectional pipe between itself and telnet. This pipe is used to feed input to telnet as well as collect 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 stdout and are also sent to the telnet session - 1 - Formatted: November 9, 2024 xics(1) xics(1) 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, drag it to the destination square. This is irrespective of whether you are capturing a piece, or simply moving a piece to an empty square, capturing a pawn "en-passant", or promoting it to another piece. 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. One can castle by moving the king to the proper destination. Play -- This button can only be used to respond to match requests from other people. If you want to ask a match with someone else, you need to use the keyboard. Flag -- Sends the command "flag" to ICS. Refresh -- Sends the command "refresh" 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 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 modifying the board style. AUTHOR Shirish Chinchalkar (chinch@cs.cornell.edu) gets the blame for helping people waste their time playing chess instead of making them spend their time doing more productive work. Urban Koistinen (md85- epi@nada.kth.se) modified the program so that one could move pieces as in xboard. Nelson Minar (nelson@reed.edu) modified telnet.c to take care of the tty and busy wait problems. Patrick Surry (pds@epcc.ed.ac.uk) added code to display a continuously ticking clock. - 2 - Formatted: November 9, 2024 xics(1) xics(1) COPYRIGHT This software is free and can be distributed freely without permission. You are more than welcome to make modifications to it, but if you want to share your improvements with the rest of the world, send me a copy of your code. ACKNOWLEDGEMENTS The bitmaps for chess pieces were obtained from xboard and xchess. SEE ALSO Answers to Frequently Asked Questions (FAQ) in the newsgroup rec.games.chess on USENET. - 3 - Formatted: November 9, 2024