                                  PCIGC 4.6
                         By Edward Blair and Jinhe Cui

        Pcigc is a IBM-PC client program for the Internet Go Server with 
    graphics and mouse support. Graphics include EGA 640x350, VGA 640x480  
    8514 640x480 and Hercules 720x348 monochrome. Ascii text displays are also 
    supported. Modem speeds up to 9600 are supported. Separate color sets 
    provide good monochrome and gray-scale viewing. 

        The Internet Go Server (IGS) is an international electronic forum 
    where people can play go 24 hours a day. It is available over the Internet 
    by "telnet"ing to the appropriate site. For example "telnet 
    bsdserver.ucsf.edu 6969" will connect to the California go server, 
    currently the most active (as soon as it comes up). There is also a server 
    at ftp.pasteur.fr port # 6969 This assumes that you have access to 
    Internet. If you don't you can't use this program. The opening screen 
    gives a list of the currently active sites. 

        A client program provides a custom made interface to the go server. 
    For example, by drawing a graphic go board, or letting you step through 
    moves to see how a game evolved. A client program may also include an 
    extended set of commands to provide control over client specific 
    operations. This client program implements a subset of the 'igc' unix 
    client program and many single key IBM specific commands. 

        Recommended equipment: IBM compatible pc with at least an EGA video 
    card and monitor. Pcigc also supports VGA, 8514, and Hercules. It may work 
    in ascii mode with older video cards. If you want to use a mouse, you 
    should use a real Microsoft driver. Other drivers have given us problems 
    in VGA mode. A modem or direct connection connected to com1, com2, com3, 
    or com4 is required to talk to the Internet. This program does NOT support 
    ethernet or other network cards on your PC, unless you can get them to 
    emulate a serial port. 

    COMMAND LINE OPTIONS
        There are two command line options: -c will allow you to access the 
    setup menu when you start the program, and -D(or -d) will create a dump 
    file. If you experience any problems, I would appreciate it if you could 
    use the -D option to create a dump file demonstrating the problem. This 
    will help me figure out what happened. You can also start a dump file 
    after you start PCIGC by using the "debug" command in client mode. There 
    is a new toggle that allows you to turn off terminal mode dumping. This 
    allows you to capture just the IGS portion of your session if you are not 
    having problems in terminal mode. 

        There are 4 modes: the setup menu, terminal mode, full screen client 
    mode, and board display client mode. 

    SETUP MENU
        You start in the setup menu if you do not have a "pcigc.cnf" 
    configuration file, or if you use the -c option on the command line. If 
    you use the -c option your configuration file (if any) is read first and 
    your defaults are set to reflect its contents. You can also enter the 
    setup menu later with the Alt-S command. The setup menu allows you to set 
    the communication options and most of the display options. You can only 
    change the communication parameters at the beginning of the session. If 
    you use Alt-S to enter the setup menu, changing the communication settings 
    will not affect the current session and will only take affect if you save 
    the settings and restart the program. 

        The setup menu should have a lot of "[ ]"'s, a few "[X]"'s, and one 
    should be in reverse colors (black on a white background). These are where 
    your choices are shown. The entry in reverse is called the highlight and 
    is the currently active entry. A field with an X in it is selected. Those 
    with spaces are not selected. The exceptions to this are the characters 
    line described below and the number in the beeps command. 

        For most options, all you need to do is select one of several possible 
    values. Use the arrow keys to move the highlight to the field representing 
    your desired choice and press space or return to select it. To change a 
    character entry, press space then press the desired character. This 
    character is used in the ascii text display mode. To change a numeric 
    entry, press space, enter the new number, then press return. 

        When you are done with the entries on the current page, highlight and 
    select one of the buttons on the bottom row to exit. The [ Save & Use ]  
    button will save the current settings into the configuration file 
    pcigc.cnf and return to the client program. The [ Use Without Save ] 
    button will use the settings without changing the configuration file. The 
    third button is the [ Go to Page # ] where # is either 1 or 2. This button 
    will take you to the other page of the setup menu. If you are on the 
    second page, you do not have to return to the first page before you exit 
    the setup menu. Choose the appropriate 'Use' button from either page. 

        The configuration file is an ascii text file that you could modify if 
    you want to. Use lowercase letters. 

        The communication parameters you can set in the Setup menu are: Com 
    port, Baud, and Parity. The display parameters are Multi-colored text, 
    White stone outlining, Piecemarks, Edge marks, Show Shouts, Show login 
    announcements, Show Game announcements, Say Beep, Tell Beep, use a debug 
    log file, record terminal mode activity in the dump file,  Board color 
    (yellow/brown), Board display mode, Who sort method, game sort method, 
    Color mode, and ascii text board display characters. 

        The Port and Baud selection is straight forward, select the desired 
    port and baud. The parity also sets the data bit length. Even/Odd parity 
    uses 7 data bits, None uses 8 data bits. All three use 1 stop bit. 
    
        The first 10 Display parameters are toggles, select the entry under 
    Yes if you want to use that particular feature and No if you do not want 
    to use it. 

        Multi colored text will print different kinds of text in different 
    colors. This can be useful to tell whether something is a message from the 
    go server, or PCIGC. This option can also be toggled with the F8 key when 
    not in the setup menu. 
    
        White stone outlining will draw a black ring around the edge of white 
    stones in graphics mode. This has no effect in ascii board mode. 
    
        Piecemarks are marks on the board near the last piece played. In ascii 
    mode, they look like "> <" around the stone, in graphics modes, a "+" is 
    drawn on the stone. Piecemarks can also be set with the 'piecemarks' 
    command in client mode, and turned off with the 'nopiecemarks' command. 
    
        Edgemarks are marks around the edge of the boards to indicate where 
    the last stone was played. This is only used in the ascii board display. 
    Edgemarks can also be set with the 'edgemarks' command in client mode, and 
    turned off with the 'noedgemarks' command. 

        Three options determine which "quiet" messages you will see if the 
    client receives them. When you have the igs quiet toggle turned on,  you 
    will receive 3 kinds of messages: Shouts, Login messages, and Game 
    announcements. You can choose to view any combination of these message 
    types. 

        Shouts and game announcements can either be all shown or all blocked 
    with a yes or no in the appropriate field. The game announcement 
    indicating the end of a game you are observing will be printed even if you 
    have the show games option off (assuming you have quiet off).  Login 
    messages can in addition to these two options also be restricted to a list 
    of "friends". Only if the name appears on the list will the message be 
    printed. This option is available on the second page of the setup menu. 
    See the command 'addlist' below for information on creating a friends 
    list. 

        You can also use commands to set these parameters. 'showshout' will 
    allow printing of shout messages and 'noshowshout' will disable shout 
    messages. similarly, 'showlogin', 'showgame', 'noshowlogin', and 
    'noshowgame' will allow or disable, login messages or game announcements, 
    and 'listshowlogin' will restrict the login messages to those people on 
    your friend list. Once again, these settings do not take effect unless you 
    turn the igs quiet toggle off. 

        The next two yes/no options are saybeep and tellbeep. These indicate 
    whether you want PCIGC to beep when you receive a say or tell message. You 
    can also set these options by giving the 'saybeep'/'nosaybeep' or 
    'tellbeep'/'notellbeep' commands in client mode. 

        The last two Yes/No toggle commands select what kind of log file to 
    make. If the first one "use Dump file" is selected, a log file will be 
    created every time you start pcigc. This will record all activity while 
    you are in client mode into a text file on your PC. If the second option, 
    terminal mode debug is selected, all text printed in terminal mode will 
    also be recorded in the dump file. By default, both options are off. In 
    client mode you can turn on the dump file with the "debug" command. This 
    command will not change the setting of the second option, which can only 
    be changed in the setup menu. 
         
        Next are the ascii board display characters where you select the 
    characters to be used in the text board spaces. The items are Empty board 
    position, Black stone, White stone, Dame, Black Territory, White 
    Territory, and Hoshi or star point. None of the characters can be a space, 
    the setup menu will refuse to let you set any character to a space. These 
    characters can also be set with the 'chars <s>' command in client mode. 
    Replace '<s>' with a of characters in the order listed above with no 
    spaces. 
    
        The Board display mode option sets how you want to view a board. You 
    are always in text mode when there is no board. You should only select a 
    graphic mode if you have the appropriate graphics capability. The EGA 
    screen can be selected if you have a VGA card, giving you a choice. 
    Otherwise only choose the graphic mode for the card you have.
    
        In full color modes, you have the option of having either a yellow, or 
    brown board. In true monochrome graphics mode you can have either an all 
    white board, or a textured board. In this case, "yellow" refers to the 
    textured board and "brown" to the all white board. This setting has no 
    effect in gray scale mode. The default color is yellow. 
    
        Color graphics users can also select between white and grey for the 
    background board screen color. I would like to hear if anyone likes or 
    prefers the white background. You can also use F7 to switch when in the 
    client mode. 
    
        You can set your default who sort method: Name, sorted alphabetically 
    by name; Rank, sorted by listed rank; Game, those playing games are listed 
    first; Idle, those players who have been idle the longest will be listed 
    first; and None, sorted by how long ago you logged into the server (sorted 
    by igs). You can also use the 'sort' command in client mode (i.e. 'sort 
    name' to choose name sort). 

        When in client mode, all lines will be terminated by your selection in 
    the end of line character(s) parameter. "CR '^M'" will use a carriage 
    return (or control-M) at the end of each line. "NL '^J'" will use a new 
    line (or control-J, or line feed) at the end of each line. "CR+NL" will 
    send both a carriage return and a line feed at the end of each line. Some 
    networks with line buffering will require one or the other of ^M or ^J. If 
    you are having no problems in terminal mode, but no response from igs in 
    client mode, try changing this value. The default is NL (^J). There are no 
    other commands to set this parameter. 

        The second Page of the setup menu contains the options for login 
    announcements, game sorting, color mode, and beeps. Login announcements 
    are covered above. The current options for game sorting are by numerical 
    order and by oldest first (this is the order that igs sends, the client 
    does no sorting). 

        The choices for color mode are Full color, Gray-scale, and Monochrome. 
    The first is for people who have a color monitor. The second is for people 
    with "Gray-scale" graphics monitors (EGA or VGA). The third is for people 
    who have non-grey-scale B/W monitors (Hercules etc). The Graphics 
    background color, and Multi-colored text options have no effect if Gray-
    scale or Monochrome is selected. The Board Color option has no effect in 
    Gray-scale mode. 
    
        The beeps entry indicates the number of times pcigc will beep when it 
    receives a beep command (issued by igc when a move or kibitz arrives, and 
    when someone issues a bug command). 

    TERMINAL MODE
        After exiting the setup menu, you are in terminal mode. This is 
    distinguished by having a blue background and white text on color 
    monitors. 

        The terminal mode will emulate a VT-100 terminal in most cases. It 
    will not handle lines longer than 80 characters very well. The arrow keys 
    will send VT-100 arrow codes for screen based applications like vi. 

        Client mode DOES NOT recognize vt100 control codes, so your telnet 
    should not try to manage the screen display. 

        Control characters are sent, but are not displayed on the screen when 
    received. If you need to send Delete characters instead of backspace 
    characters (you keep seeing ^H's) use the Delete key. Use the backspace 
    key once you are in client mode. 

        You can only quit pcigc from terminal mode. You can return to terminal 
    mode from client mode by pressing F2 or giving the "quit" command. You are 
    not allowed to go into terminal mode if you are playing a game in client 
    mode. Alt-Q or Alt-X is the command to quit to dos from terminal mode. 
    Alt-Z quits PCIGC without hanging up. 

         Once you enter terminal mode, give your modem dial command (atdt) and 
    connect to the go server. 

        If the last time you logged onto IGS you didn't leave normally (i.e. 
    the server crashed, your PC crashed, your host crashed, or your telnet 
    connection crashed) you will find that after you enter your IGS account 
    name you will receive a "1 1" line instead of "Password:". There is 
    nothing wrong with either pcigc or IGS. Enter your password and then hit 
    F3 after you receive the line "1 5".  Pcigc will restore the normal 
    prompts when you quit the server.  
    
    CLIENT MODE 
        Once you have logged into the server (i.e. you have a "#>" prompt), 
    hit F3 (or Alt-C) to enter full screen client mode. You have an underline 
    cursor on your prompt line near the bottom of the screen. Backspace 
    deletes one character, Control-U deletes the whole line. Messages are 
    displayed in the middle part of the screen. 
    
        The top line is a status line in all client modes. The first entry 
    tells the current game status of pcigc. The entry "No Game" indicates you 
    are neither observing nor playing a game. Otherwise you will see either 
    "Observing #" or "Playing #" meaning pcigc thinks you are observing or 
    playing a game. 

        The second field tells what mode will be used for board displays, and 
    the third field tells whether the board or input is the current window. 

    QUIET MODE SETTING 
        PCIGC no longer requires that you have quiet mode turned off to work 
    properly, due to stable game numbers. On the other hand, you will probably 
    find that game endings will work better if quiet is off. 
    
    BOARD DISPLAY 
        There are several ways to get a board display. These are observe, 
    peek, match, load, look, status, and localload (see below and igs 
    documentation for description). In the board display you will see a board 
    on the left side of your screen, and a server text window on the right 
    side. Text will be placed into the text window, and moves will be shown on 
    the board window. Every time you start playing or observing a new game, 
    the text window will be cleared. 

        If there is a board displayed, Escape will switch the active window 
    between the server command input window and the board window. In the board 
    window, a cursor will appear to mark your location which you can move with 
    the arrow keys, the number pad, or vi keys (hjklyubn). 's' or <Home> moves 
    to the start of a game record, 'e' or <End> moves to the end of a game 
    record, ',' or <Page Down> moves back one move, '<' or Control-<Page Down> 
    moves back 10 moves, '.' or <Page Up> moves ahead one move, '>' or 
    Control-<Page Up> moves ahead 10 moves, space or return sends the current 
    position as a move. This only effects the local copy of the game, not the 
    actual game record on igs. 

        You don't have to hit escape to switch to the board window to step 
    through the moves. Use <Home> to go to the start of the game, <End> to go 
    to the end. <Page Up> moves forward one move, <Page Down> moves backwards 
    one move. Control-<Page Up/Down> will step by ten moves. 

        If you are not looking at the last move in a game when a new move 
    arrives, the board will not automatically jump to the end of the game. 
    Instead, your display will remain at the same move and a message will 
    appear in the text window informing you of the new move. You can step to 
    the new move in the normal manner. Use <End> to jump there directly. 

        For those with Microsoft compatible mice, you can enter moves by 
    clicking on board spaces without having to switch to the board window 
    first. There have been some problems with non Microsoft drivers in VGA 
    mode with the background colors being overwritten. 

        In client mode, if a large block of text is to be printed at once, you 
    are paged through it. In full screen mode, a -more- appears on the prompt 
    line telling you to hit a character to see the next screenfull. When there 
    is a board displayed, the message will overwrite the board. Hit a 
    character to page through the message, and then once more to redraw the 
    board. Terminal mode has no paging functions. 

    NOTE ON ABBREVIATIONS
        Although the new server will recognize abbreviations of server 
    commands, you should be careful when using them. In particular, do not use 
    an abbreviation for observe, unobserve, or load. (Of course you can still 
    use ob and unob for observe and unobserve). Most other commands that just 
    display information shouldn't be a problem. 

    CLIENT TEXT COMMANDS
        The client supports several text commands: helpigc, ob, unob, 
    unobserve, peek, status, localsave, localload, noboard, clear, redraw, 
    refresh, [no]piecemarks, [no]edgemarks, [no]showshout, [no|list]showlogin, 
    [no]showgame, [no]saybeep, [no]tellbeep, sort, gamesort, beeps, goto, 
    chars, prefix, debug, addlist, removelist, printlist, and quit. 

        "helpigc" gives a short summary of the client commands. This help file 
    is also available with the F1 key in all modes, and with "helpigs" for 
    compatibility. 

        "ob" and "unob" are short for "observe" and "unobserve". Observe 
    requires a game number to observe. Unobserve does not require a game 
    number because pcigc will determine which game you are watching and will 
    stop observing it. You can enter a number if you want to, but it should be 
    the same as the game number listed next to the board. If you get an error 
    when trying to observe a game, you should enter the unobserve command 
    before attempting to observe again. You can only watch one game at a time. 

        "peek" and "status" will display the current state of a game, but will 
    not update when new moves are made. Both commands require a game number to 
    indicate which game you want to look at. These commands are similar but 
    have important differences. You can only observe or peek one game at a 
    time. This is because both commands record a list of the moves and allow 
    you to step through the game. Status, on the other hand, only shows a 
    snapshot of the current position. Use peek if you want to study the moves 
    of a game without having your display interrupted by incoming moves. You 
    can not use peek if you are playing, and you will unobserve any game you 
    happen to be observing. Use status when you want to look at the current 
    position of the board in a game, but don't want to unobserve or if you are 
    playing a game. 

        "localsave" will save the game being displayed into a Smart-Go format 
    file. You must include a file name with this command! If the file already 
    exists, you have the option of overwriting the file, thereby erasing the 
    previous contents. Only the names of the players, handicap, komi, and 
    moves are saved. If you want a complete record of the game with times and 
    results, you should have IGS mail you a copy of the game once it is 
    finished. 

        "localload" will load a game from a Smart-Go format file and display 
    the first move. You must include a file name with this command! The number 
    of moves in the game will be printed in the text area of the board window. 
    You can scroll through the moves normally, (i.e. <End> to go to the end of 
    the game). Only the main-line moves are read in. NO variations, NO pre-set 
    problems, NO comments. Be sure to strip the mail header from files mailed 
    to you from IGS before attempting to load. 

        This feature is intended primarily for reviewing games played on IGS. 
    You do not need to log onto the server to load a game. Start pcigc 
    (perhaps leaving your modem off), and press F3. Then enter the command 
    "localload <file_name>" and you can review the game. Remember that since 
    you are not actually connected to igs, the only command you should use is 
    localload. When you are done reviewing games, press F2 to return to 
    terminal mode, and Alt-X to quit pcigc. 
    
        "noboard" will remove the board from the screen if you are not 
    playing. If you are only observing a game, you will unobserve the game 
    before the board is erased. 

        "clear" will clear the text messages from the screen. Note that when 
    you start playing or observing a new game the text will be cleared from 
    the server window. 

        "redraw" will redraw the board.

        "refresh" will get a new listing of the moves from the server.

        "piecemarks" will turn on marks around the last stone played.
        "nopiecemarks" will turn piecemarks off.

        "edgemarks" will turn on marks around the edge of the board indicating 
    where the last move was. 
        "noedgemarks" will turn edgemarks off.

        "showshout" will allow printing of shouts if quiet is turned off
        "noshowshout" will not allow printing of shouts.

        "showlogin" will allow printing of connection and disconnection 
    messages if quiet is turned off. 
        "noshowlogin" will not allow printing of login messages.
        "listshowlogin" will only show a login message if the person is on the 
    friend list. 

        "showgame" will allow printing of announcements of games starting and 
    ending if quiet is turned off. 
        "noshowgame" will not allow printing of game announcements. If quiet 
    is off, game number changes will still be recorded. 

        "saybeep" will beep when you receive a say message.
        "nosaybeep" will not beep when you receive a say message.
    
        "tellbeep" will beep when you receive a tell message. 
        "notellbeep" will not beep when you receive a tell message. 
     
        "sort <whosort-method>" will choose the sort method used in who 
    displays. The choices are 'name', 'rank', 'game', 'idle', and 'none'. If 
    you do not enter one of these, your sort method will not change and you 
    will receive an "Unknown sort method" warning. 
    
        "gamesort <gamesort-method>" will chose the sort method used in games 
    displays. The valid choices are 'number' and 'none'. If the sort method is 
    not one of these, your game sort method will not change and you will 
    receive an "Unknown game sort method" warning. 

        "beeps" will set the number of beeps to sound when igs sends a beep. 
    the default is 1. 

        "goto" goes to the specified move in the displayed game.

        "chars" sets the chars that pcigc uses in ascii board displays. This 
    is a different command from igs's chars command. The order for the 
    characters is Empty space, Black stone, White Stone, Dame, Black 
    Territory, White territory, and Hoshi point. The characters should appear 
    without spaces between them. You can only use standard ASCII characters 
    with this command. If you want to use IBM graphic characters, you should 
    use the setup menu (Alt-S) 

        "prefix" defines a prefix string that is added to the beginning of 
    each line you type. Usually used for tell (or kibitz) so that you can just 
    type text and have pcigc add the appropriate command to the front. It is 
    important to put a space at the end of your prefix command to work 
    correctly. For example: "prefix tell vader " gives the prefix: "tell vader 
    ". With this as my prefix typing "hello tweet" sends "tell vader hello 
    tweet" to the server. if you want to send a different command use '!' as 
    the first character on the line. To stop using prefixes type "!prefix". 

        "debug" will toggle the state of your debug log file. If you are 
    currently not keeping a log file, this command will start one and you will 
    receive a message telling you the name of the file. If you are keeping a 
    file, this command will stop recording into that file and close the file. 
    The debug file will only record action in the terminal mode if you have 
    set the option in the setup menu. 
    
        "addlist <igs-login-name>" will add the given name into the list of 
    friends whose login messages we want to keep track of. The name of the 
    file is 'pcigclog.lst'. This is an ascii file with each login name on a 
    separate line. If you edit this file, make sure there are no spaces at the 
    end of your lines. 
    
        "removelist <igs-login-name>" will remove the given name from your 
    list if it is there. If the name is not in the list, you will get a 
    message telling you so. This will create a temporary file named 
    'pcigclog.new'. You should not make another file with this name, or it 
    will be overwritten. 
    
        "printlist" will print the list of your friends whose login messages 
    you wish to be notified of. Right not, it will not page this list so long 
    lists can be a problem. 

        "quit" this command will take you out of client mode (toggle client 
    false) before quitting igs. This insures that the next time you log in, 
    you will get full text login prompts. sometimes due to delays, the quit 
    command may not get processed by igs. if you have a normal prompt, type 
    "quit" again to quit, otherwise if you have numbers, either type "toggle  
    client false" then "quit", or reenter client mode with F3 before typing 
    "quit". This command will leave you in terminal mode. 

    ONLINE HELP FILE
    Client commands:
 observe # or ob #    observe game     |  unobserve or unob   unobserve game
 noboard          removes board display|  clear               clears the text
 redraw           redraws the board    |  goto #              goes to move #
 refresh          gets a new list of moves from the server.
 localsave <file_name> saves the game being displayed into the named sgf file
 localload <file_name> loads the moves from the named sgf file
 peek #  moves #  peek at a game without observing
 status #         get a snapshot of the current status of a game
 [no]piecemarks   whether to draw marks showing the last move
 [no]edgemarks    whether to draw marks along the edge showing the last move
 [no]showshout    whether to print shouts if quiet is off
 [no]showgame     whether to print game announcements if quiet is off
 [no]saybeep      whether to beep when you get a say message
 [no]tellbeep     whether to beep when you get a tell message
 [no|list]showlogin  whether to print all, none, or some of the login messages
 match            IGS command to start a match, if a graphic board display is
                  set, it will be drawn once the game starts.
 quit             in addition to quitting IGS, this command will toggle
                  client mode off and return you to terminal mode.
 sort {name|rank|game|idle|none} sets your who sort method
 user <name>      prints out <name>'s line from your last who
 gamesort {number|none} sets your games sort method
 addlist <name>   adds name to your list of friends
 removelist <name> removes name from your list of friends
 printlist        prints a list of login names to print with listshowlogin
 beeps #          sounds n beeps when a beep is received
 debug            starts or stops recording into a dump file
 prefix <string>  sets the prefix to <string>. Don't forget to include a
                  trailing space.
 !<command>       execute command without sending the prefix.
 !prefix          removes the prefix if there is one set.

 Esc switches between text and board windows when a game is being displayed.

    Board Window commands:
   Use arrow keys, number pad or vi keys (hjklyubn) to move cursor.
   Hit return or space to select the cursor position for your move.
 's' or <Home> goto start of game        'e' or <End> goto end of game
 ',' or <Page Down> go back one move     '.' or <Page Up> go forward one move
 Control-<Page Down> go back 10 moves    Control-<Page Up> go forward 10 moves
        <Home>, <End>, <Page Up>, and <Page Down> keys will work when either
    window is active.

        If you are playing, use the Mouse to select moves by clicking
    on the desired board space.

    Function key Summary:               Alternate command keys
    F1 = Help                           ("?", "helpigc" only in client mode)
    F2 = Terminal Mode                  Alt-T
    F3 = Client Mode/Ascii board view   Alt-C/Alt-A

    (These only available in color mode)
    F7 = toggles background color between White and Grey in graph modes.
    F8 = toggles multi-colored/shaded text

    Alt-S Setup menu. Allows you to set and save all options

    Alt-X or Alt-Q quits PCIGC from terminal mode.
    Alt-Z quits without hanging up.

    TROUBLE SHOOTING
        If for some reason you are thrown into terminal mode unexpectedly but 
    you remain connected to the server, you should first unobserve any games 
    you are observing before starting the client again (F3). 
        You should make sure that your telnet process ends when you quit the 
    server. This has been a problem with other client programs. I expect that 
    PCIGC users will have a problem mostly if you use ^] to suspend your 
    telnet session. Please make sure you either kill the suspended process, or 
    restart it, and issue a quit command to igs. 
        If you get a synchronization error when attempting to observe, enter 
    the unobserve command before observing again. 
        Client mode DOES NOT recognize VT-100 control codes. Lines must end in 
    newlines, and must NOT start with a cursor movement code. 

    Known Bugs:
     
    (some of the following has been taken from the man entry for "igc" the 
    unix go client by adrian that forms the basis of parts of this code); 

        Observing games with no moves in them can hang until a move is made. 
    (possibly I haven't tried this, Ed) 
        Sometimes you'll get a "premature move" error when starting a game.  
    If this happens you must restart your game. (I think this one is fixed?) 

        If someone who is playing a game changes their rank, the change will 
    not be reflected on the screens of other people watching or playing that 
    game. (I haven't tested this one either, Ed) 
        The program cannot handle boards larger than 19x19.
        The mouse can destroy background colors in VGA mode with some drivers. 
    The program was tested with Microsoft's mouse.sys version 6.25 on a color 
    monitor and works fine. 
        Sometimes the quit command doesn't get all of its command strings 
    processed by igs, thus leaving you connected and sometimes even still in 
    client mode. I have a delay after each command string to minimize this 
    hopefully. In any case, if you type quit again, you will quit igs. 
        Sometimes moves are missing. This appears to be a buffering problem 
    that may not be related to pcigc. Also might be a synchronization problem 
    with IGS. 
        Moves are not checked to see if they match the game being observed.
        Handicap positions are only defined for 9x9, 13x13, 19x19, 21x21, and 
    25x25 boards, the last two of which can't be displayed anyway. All other 
    board sizes will put all the handicap stones on the upper left hand corner 
    of the board. 
        The Status line sometimes draws strange colors, type redraw to fix.
        Unexplained Freezing of the program while observing game. Mouse sill 
    worked though. Had to break and reboot machine. (happened only once for me 
    a long time ago) 
        There are occasional stray plus highlights drawn, especially on an 
    empty board. hit redraw to clear them. (hopefully I fixed most of these) 
        If you receive the text "Connection closed." PCIGC will quit client 
    mode, assuming that the telnet connection was closed. Unfortunately there 
    is no way for PCIGC to determine if the message comes from telnet, or a 
    tell or kibitz string. If this happens to you and igs hasn't crashed, you 
    should unobserve any games before restarting client mode. 
        If input text is longer that one server line you can not go back and 
    erase stuff on the first line. Especially bad in board mode (aprox 30 
    chars/line). 
        Sometimes Mouse disappears. (fixed after setup menu in graphics modes)
        The prefix is not drawn correctly in some cases. 
        The printlist command will not page through the list. 
        Game start up is slower than earlier versions.
        Do not use abbreviations for observe or unobserve.

    Good future features:
        scroll back lines.
        separate windows for hidden quiet mode messages.
        save games to disk. (added 4.7)
        more graphic modes (CGA). (Hercules added 4.7!)
        read and display SG Files. (Limited ability 4.7)    
        Real terminal emulation.  (75% done)
        toggle larger stones in EGA mode.
        improve multiple line input. 
        support More baud rates.
        More game sorting methods (i.e. by rank, handicap, observers etc)
        Scroll the printlist command. 
        Use vt100 control codes in client mode to detect end of lines
            for some operating systems (like ibm mainframes).
        Speed up game startup. (stones are now drawn with bitmaps)
        I will probably remove all the function keys that are duplicated
            in the setup menu unless I hear comments from users.

    Authors:
    Jinhe Cui    jhc@psuphys1.psu.phys.edu  version 2.0
    Edward Blair vader@holonet.net          version 3.x 4.x 
    Pcigc4.7 incorporates a large portion of Adrian's ascii client igc.584 
                 adrian@u.washington.edu.

