Well... after much work, modification, improvised workarounds, et al, I think I have finally arrived at a "final" version of my two PCBoard PCP/Win scripts. Both use a single "library" of routines to handle the various prompts that PCBoard systems can throw at you. Just for information.... I've experienced errors when there is more than one comment line in a script. This just may be my box, or it may be something more general. You can try it with the comments included, but if you get an error 111, or 112 when it first runs, try eliminating them. These scripts have been tested after applying the SPEEDASP patch only, so I can't guarantee how they will run without that patch applied. They have however, been tested with log ins at speeds ranging from 1200 bps to 12,000 bps, and have worked at all speeds I was able to test. The first one, PCBLOG.WAS, is fairly simple. It requires no setup other than it be compiled, and run from a dialing directory entry. Simply copy PCBLOG.WAS and PCBPROMT.INC to your Aspect directory, and compile PCBLOG.WAS. Nothing else should be needed to log on to a PCBoard system (I hope ). PCBMAIL.WAS is a little different than PCBLOG.WAS. It still uses PCBPROMT.INC however, it does require certain items be set in certain ways in the dialing directory entry that uses it. These are : 1) The "name" field in the dialing directory entry MUST include, as the first item in the name, the Qmail ID used by that board, followed by a space. You can find this by simply taking the root of a QWK from that system. As example, I have a packet CRS.QWK. The Qmail ID for Canada Remote Systems is CRS. My dialing directory entries are : CRS line 1, CRS line 2, etc. 2) The Miscellaneous field (the very last field in a dialing directory entry) MUST contain the following information, separated by a comma, and not to exceed 15 characters total : A) the particular door name or number needed on that board to access the QMail door. i.e. on Canada Remote, it can be either 67 or Qmail. B) The directory you use to store mail (since the script will move a DL'd QWK from your specified download directroy, to that mail directory.) There should be no trailing backslash. As example, for Canada Remote, my Miscellaneous field looks like this : 67,f:\mail That's really all that's needed. The script will use your dialing directory for UserID, Password, etc., and for the information specified above. Oh yes... as the script stands right now, it will only work with a single QWK packet downloaded. If you have the QMail door set for multiple downloads, it might be an idea to turn that off until I can write, and test a procedure to handle that occurence. (I'm working on it, but it is really hard to test, since I never get more than one QWK. CRS message limits are 400 per conference, and 2000 per packet, so I have to reconfigure the QMail door to lower message limits any time I want to test the multiple QW? download procedures. A real headache! ) The same applies to PCBMAIL.WAS. Simply copy it, and PCBPROMT.INC (if it's not already there), to your Aspect directory, and compile PCBMAIL.WAS. Set up your dialing directory entry as specified above, and that should be it. PCBPROMT.INC is a "library" file used by both PCBLOG.WAS and PCBMAIL.WAS. It contains the routines to determine, and respond to, the prompts sent by PCBoard systems. By using a single when target command in either WAS, the majority of prompts sent by PCBoard systems can be handled, with that when target remaining active throughout the script, so that ANY time the prompt appears, it can be handled properly. (The line in either WAS is "when target 0 "?" call get_prompt") PCBMAIL.WAS uses two other when target commands to catch two unique prompts, one that is the "ready to receive" signal from ZModem during a REP upload( "^xB01"), the other that is used if QMail finds no mail during it's scan ("were found!"). I have found that using the "^xB01" string is more successful than any other possible string to check for, for a couple of reasons.... 1) it is always the same on any board, and 2) it indicates that the board is completely ready for the upload, thus resulting in fewer CRC errors etc. during the initial part of the upload. PCBPROMT.INC uses a simple function call to check and see if the prompt "keywords" are in the string taken from the terminal. This funtion returns an integer, 0 if the keyword was not found, 1 if it was, which allows for easy conditional testing of keywords. I would appreciate any comments or criticisms, and would be glad to assist with any problems that arise when using these scripts. Gregg Hommel, 72537,552