================================== PMICS User Guide: version 1.0 BETA ================================== ------------ Introduction ------------ PMICS is an OS/2 interface for playing chess via Internet Chess Server (ICS). It supports access either through a dialup shell account, available through your favourite internet service provider, or SLIP/PPP protocols such as included with the OS/2 WARP Internet Connection (and also by some internet providers). PMICS comes with source (for what it's worth...) and is freely redistributable under the terms of the GNU General Public License. The author has no connection with the Free Software Foundation, so all bugs are his responsibility. Comments are welcome at chow@netcom.com. ----------------------- About this beta version ----------------------- Two executables are included. Use pmicstcp.exe if you have OS/2 Warp, and pmics.exe otherwise; you can delete the one you don't use. Both versions support 'shell account' connections to ics, and pmicstcp.exe additionally enables TCP/IP connection using the SLIP support in Warp. A note about bloat: The code uses the GUI class libraries in IBM C/Set++, which simplifies the logic but bloats the binary. When packaging an application one can either include the class library DLLs, which come to 1.5MB plus the application (pmics is 180K), or bind them statically with the application which results in a 600K pmics. So the static version looks like the lesser of two evils; in addition it loads faster. The format of the options has changed since pmics091. Options now have the form -option or -option=value with more intuitive names (you can use '/' instead of '-' and case is significant). If you used pmics091, please read through the options section for the new syntax. Fixes from the alpha version: * -xper and -yper options have been removed; the window now initializes itself properly. * autoflag won't call flag if you have run out of time, including when both flags have fallen. * reduced 'flashing' of the status display * removed translation of CR->LF. If the return key echoed '^J' on your host this should be fixed. * option "-bs=del" maps Backspace to ascii 127 instead of the default ascii 8; "-cr=lf" to map Enter to ascii 10 instead of the default ascii 13. these functions can also be selected from the Session... menu * option -localecho enables a simple local echo facility; the default is no local echo. this may be especially helpful under tcp/ip if you don't see your characters being echoed. it can also be selected from the Session... menu Bugs: * Help menu items don't do anything If you have C++/Set, there is an excellent book on using the UI class library published recently: "OS/2 C++ Class Library" by Leong, et al. VNR 1995 (ISBN 0-472-01795-2). ---------------- Installing PMICS ---------------- In addition to pmics.exe (pmicstcp.exe, if running os/2 warp), the file pmics.hlp must be copied to the working directory where you invoke pmics. The other files are source and are not needed to run the program. ------------- Running PMICS ------------- Typing "start pmics" will run the program in its own session. By default it assumes there is a modem on the serial port which will be used to dial into a shell account. It grabs the first openable COM port at 19200 baud. If this auto-mode doesn't doesn't work for you, specify your COM port and baud rate explicitly with -port=n and -baud=nnnn, e.g. start pmics -port=2 -baud=2400 for COM2 at 2400 baud. After the chessboard window comes up, connect to your host system by typing your modem's dial commands (e.g. ATDTnnnmmmm), then logging in and telnetting to ics. To use TCP/IP (which requires OS/2 Warp and SLIP access), specify the -tcp, -tcphost and -tcpport options instead of -port, -baud and -dial: start pmics -tcp -tcphost chess.lm.com If this is successful, pmics will start up with the ICS login page displayed. Once you are connected to ICS enter the command "style 12" so that pmics can parse the game status messages. If you are a registered user then ICS will remember the style setting next time you log onto the server and you don't need to specify it again. If the window is not the right size, use the command line parameters -x=nnn and -y=nnn to override the default window dimensions (currently the whole desktop). An invocation suitable for 1024x768 is: start pmics -medium -x=800 -y=768 These display options are orthogonal to the serial/tcp session options. Once you determine the right options it may be convenient to encode them in a shell script or desktop icon. Options summary: -small use small board and piece bitmaps (VGA). default. -medium use medium board and piece bitmaps (SVGA) -large use giant board and piece bitmaps (1280x1024) -port=n specify COMn port to use. default: autodetect -baud=n specify COM port baud rate. default: 19200. -dial=string specify a modem init string. this can be a dial command, e.g.: -dial=ATDT2614700 -dial="ATS11=40 DT2614700" -x=n specify X dimension of window in pixels -y=n specify Y dimension of window in pixels -commfont=fontname specify font to use for the comm window. default: "System VIO" -commfontsize=n specify point size of comm font. default: 14 -tcp applies only to pmicstcp.exe, which requires OS/2 Warp. use tcp/ip instead of serial port -tcphost specifies hostname or ip address of ICS machine. e.g.: -tcphost=chess.lm.com -tcphost=192.231.221.16 default: chess.lm.com -tcpport specifies port number of ICS machine. default: 5000 -autoflag enable autoflag (available as menubar option) -bs=del translate Backspace to ascii 127 instead of 8 -cr=lf translate Enter to ascii 10 instead of 13 -localecho enable local echo of characters typed in the comm window ------------- Playing chess ------------- Select a piece with the left mouse button and release the button over the target square. Clicking the right button reissues the last move you made. The Board menu has a Flip option to rotate the board 180 degrees. This is also mapped to the F3 function key. PMICS recognizes challenge messages and pops up a dialog informing you of the match parameters. This also works when PMICS is minimized. You can change the font used for the terminal window using the Board menu. You can grab the border separating the board and terminal windows and drag it to resize them. The main use of this is to temporarily enlarge the terminal window, e.g. for viewing large chunks of text or intense chat mode. If the displayed position or status gets scrozzled, press the refresh button. ----------- Future work ----------- - better default board size; bypass help file not found - Various improvements: make pushbuttons customizable, provide separate entry field for input - Hook up to gnuchess. Need to do lots of tedious work in gnuchess to communicate with separate process. I guess pmchess has laid the groundwork in this area. - I had a prototype working where gnuchess played on the ICS (under user 'fuzzy') through pmics, but need a faster machine to make this interesting. -------------- Update history -------------- 94/12/12 1.00 (beta) 94/11/22 1.00 (alpha) ---------------- Acknowledgements ---------------- PMICS was inspired by the excellent DOS interface, GIICS, written by Tony Acero. The bitmaps for the pieces are taken from the GNU program xboard. Serial port IOCTL magic was adapted from the PD comm program comtalk. Kevin Nomura chow@netcom.com 94/12/12