ÖÄÄÄÄÄ¿ ÖÄÄÄÄÄ¿ º º ³ ÓÄÄÄÄÄ¿ Ò Â ÖÄÄ¿ Ò Ò Â ÇÄÄÄÄÄ´ ÖÄÄ¿ ÖÄ¿ ÄÒÄ ³ ÇÄÄ´ º ³ º º ³ º ³ º ³ ÓÄ¿ º ÓÄÄÄÄÄÙ Ð Á ÓÄÄÙ ÓÄÐÄÙ Ð Á Ð Á ÓÄÄÙ ÄÐÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ShowAnsi version 1.01 An ANSI/RIP File Viewer Copyright (c) 1994 Richard Thomas All rights reserved Contents Shareware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Copyright. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Thank You. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 File List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 ShowAnsi.cfg file . . . . . . . . . . . . . . . . . . . . . . . . . .5 Sample ShowAnsi configuration file . . . . . . . . . . . . . . .5 Archive Setup. . . . . . . . . . . . . . . . . . . . . . . . . .6 Protocol Setup . . . . . . . . . . . . . . . . . . . . . . . . .6 Sample Batch Files . . . . . . . . . . . . . . . . . . . . . . .6 Board Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Drop File. . . . . . . . . . . . . . . . . . . . . . . . . . . .7 The Command Line . . . . . . . . . . . . . . . . . . . . . . . .7 Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 The Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Tag Files. . . . . . . . . . . . . . . . . . . . . . . . . . . .7 View Files . . . . . . . . . . . . . . . . . . . . . . . . . .8 Download Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 Upload Files . . . . . . . . . . . . . . . . . . . . . . . . . .9 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . .9 Quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Sysop Functions. . . . . . . . . . . . . . . . . . . . . . . . .9 The Sysop Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Add Record . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Yes . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 No. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 View. . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Quit. . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Delete. . . . . . . . . . . . . . . . . . . . . . . . . . 10 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . 11 Delete Files . . . . . . . . . . . . . . . . . . . . . . . . . 11 Y=from the database . . . . . . . . . . . . . . . . . . . 11 N=no. . . . . . . . . . . . . . . . . . . . . . . . . . . 11 B=database AND disk.. . . . . . . . . . . . . . . . . . . 11 Quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Sysop Keys . . . . . . . . . . . . . . . . . . . . . . . . . 11 ALT-C Sysop chat. . . . . . . . . . . . . . . . . . . . . 11 ALT-H Hangup . . . . . . . . . . . . . . . . . . . . . . 11 ALT-J Dos shell. . . . . . . . . . . . . . . . . . . . . 11 ALT-K Key lock . . . . . . . . . . . . . . . . . . . . . 11 Registration. . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Benefits of Registering . . . . . . . . . . . . . . . . . . . . . . 12 Costs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Registration . . . . . . . . . . . . . . . . . . . . . . . . . 12 Postage and packing. . . . . . . . . . . . . . . . . . . . . . 12 Order Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Shareware ShowAnsi is Shareware. This does not mean it is free. After a trial period if you decide to continue using ShowAnsi you are expected to pay for it. It is only $US 15.00 after all. ($NZ 20.00 for New Zealand residents). I have done my work and provided a fully functioning product. I hope some of its users play the game and pay for it. I consider around 30 days a fair trial period. Registration is valid for all future versions. Disclaimer I disclaim all warranties and guarantees either expressed or implied in this documentation or in the program ShowAnsi. I accept no responsibility for any damages, loss of data, or other untoward events directly or indirectly caused by use of ShowAnsi. If you do not accept this, do not use this program. Distribution ShowAnsi can be distributed via any means possible with the limitations that: If distributed by a Shareware vendor and distribution is via disk, ShowAnsi must be the only product on the distribution disk, the exception being CD-ROM disks. If a vendor should wish to bundle ShowAnsi with other programs they must get my permission before doing so. Only a nominal fee be charged for distribution. $5.00 would be considered a reasonable fee. (If ShowAnsi is included on a CD-Rom this does not apply to the CD-ROM in question). It must be distributed in its original form with all the necessary files for its correct use and with any documentation files or other files provided by me - see PACKAGE.TXT for the list of included files. no other files are added to the archive for any reason by any person the exception being bulletin board disclaimer files. no part of the distribution files are altered by any method for any reason by any person. Copyright I retain all rights to ShowAnsi. This includes the program files, the documentation files and any other programs/files that I provide with ShowAnsi. Thank You David of Magpie's Nest BBS Upper Hutt New Zealand. 64-04-527-7286 Brian Pirie, author of Opendoors. Opendoors is a door programming toolkit for C/C++. The latest version (upto 22/8/95) is Opendoors 5.00. Introduction ShowAnsi is an ANSI/RIP file viewer designed for use on a bulletin board. It was written because we had over 2 megabytes of ANSI files on our bulletin board and couldn't find what we considered a decent ANSI viewer. All that we looked at seemed to be lacking a feature of some kind, or were crippleware, or were bloody annoying in some manner. RIP viewing was thrown in as an after thought when version 5 of Brian Pirie's Opendoor programming library came out. (It's that easy to use folk!) ShowAnsi is simple to setup and easy to operate. It is also fully functional. That is, it is NOT crippled in any way though there is a small time delay nag - but I am sure you can cope with that until you register it. ShowAnsi enables the user to - tag files for viewing or download - view ANSI/RIP files online - download files in a variety of compressed formats - upload an archived file of ANSI/RIP files to be included in the database - add descriptions as the files are imported - delete a file before it is imported should the user decide it is crap after all. - Quit The Sysop of the board on which ShowAnsi runs gets a couple of extra functions. They can - Add files at any time - Edit descriptions of any file at any time. - delete groups of files from the database (including deleting them from the disk if desired.) - restrict viewing of selected files to selected baud rates so that animated ANSIs or RIPS aren't viewed by people with S-L-O-W modems. - have the ability to import ANSI/RIP files from other directories instead of having to have them already in the specified directory - Quit back to the main menu - Chat to users (should they so wish) - Hang up the line - Drop to dos (and prevent the user from entering any keystrokes while in dos) Showansi also checks uploaded ANSI files for escape sequences that redefine keys and deletes the files that do. It also keeps a text log file of the user's name, the date and time he/she logged on, and the names of any files they uploaded or downloaded. Setup File List The following files need to be in the ShowAnsi work directory: showansi.exe - very important! showansi.cfg - yup, this too. showansi.ans/rip - main menu shansisy.ans - sysop menu ansiinfo.ans/rip - screen header file sh_erase.ans - sysop delete file introduction screen instruct.ans/rip - user instruction screen. systruct.ans - sysop instruction screen. ShowAnsi has no local RIP capability so there are no RIP screens for the sysop functions. When a rip screen is being displayed to a remote user a small window pops up at the local end telling the sysop which file is being sent. ShowAnsi.cfg file Sample ShowAnsi configuration file ; This line is a comment line SysopAccessLevel 255 MaximumDownloadSize 20 AnsiFileDirectory c:\ansi ShowAnsiHomeDirectory c:\bbs\doors\showansi [ARCHIVES] ; archive header pkzip c:\tools\compress arj c:\tools\compress lha c:\tools\compress zoo c:\tools\compress [PROTOCOLS] ; protocol header Zmodem c:\bbs\doors\showansi\zmodem.bat Ymodem c:\bbs\doors\showansi\ymodem.bat The rules for this file are quite simple. There must be a space between the variable name and the variable itself. The variable name must be as shown above complete with Upper case letters. The [ARCHIVES] section must come before the [PROTOCOLS] section. Unpredictable things will occur if it is not. The [ARCHIVES] section format is Archive-program-name followed by the path to the archive program files. The [PROTOCOLS] section format is Protocol-name (NOT the program name) followed by the path AND the batch file used to run it. (See below for setting up your protocol batch files). Any line that starts with a ';' is considered to be a comment line and is ignored. Comments may be placed at the end of configuration lines. ie. SysopAccessLevel 255 ;this is comment! Any line that starts with a space is ignored. The four leading variables are fairly self explanatory. They are: 1) the level required for access to the sysop menu 2) the maximum size file (in kilobytes) that can be downloaded. 3) the directory where the ANSI/RIP files reside 4) the directory where the Showansi program files reside. Archive Setup Showansi recognises four archiver programs: Pkzip, Arj, Lha, and Zoo. Do not include any other archiver program other than these four. The necessary information for the use of these programs is coded into Showansi so all it needs is the names of the available protocols and the paths to where the program files exist. ie. [ARCHIVES] pkzip c:\tools\computils arj c:\tools\computils Only include the programs that you actually have available for use. Including unavailable programs will result in errors if the users attempt to use them. Protocol Setup When uploading or downloading files Showansi passes four parameters to the protocol process. They are in order: 1) the com port 2) the current baud rate 3) sz or rz (sz send, rz receive) 4) the filename These can be combined in any order in batch files to produce the relevant parameter strings for your protocols. Sample Batch Files @echo off rem ***** rem sample batch file for zmodem using DSZ. rem ***** DSZ port %1 speed %2 D restrict p %3 %4 With protocols that do not use the sz/rz format for the send/receive parameters the following batch file can be used. rem ********** rem sample batch file for non-DSZ upload/download rem protocols. Replace SEND/RECEIVE parameters with rem whatever command your protocol uses. rem ********** if "%3" == "sz" goto :SEND if "%3" == "rz" goto :RECEIVE :SEND PROGRAM %1 %2 SEND %4 goto :END :RECEIVE PROGRAM %1 %2 RECEIVE %4 goto :END :END It is recommended to use DSZ as that is the only protocol that Showansi has been tested with. It covers the three most common protocols - Zmodem, Xmodem and Ymodem. Board Setup ShowAnsi handles all modem communications so if your BBS software supports door communications you need to turn that off else the remote users screen will turn to garbage every time something is sent down the line. If you run a fossil driver you can leave it operational or turn it off as you wish. ShowAnsi writes to the disk on various occasions so disk writes must be enabled if your BBS software supports disk protection. Drop File ShowAnsi supports the following types of door information files: Dorinfo1.def - RBBS, QuickBBS, Remote Access, Searchlight Chain.txt - WWIV Door.sys - Remote Access, PCBoard, GAP, Teleguard, Wildcat 3.0+, Searchlight SFdoors.dat - Spitfire, Tritel Callinfo.bbs - Wildcat 2.xx The ability to run one of these is required for ShowAnsi to run. Showansi expects the drop file to be either in Showansi's home directory or else the path to it to be on the command line. The Command Line The path to the drop file can be placed on the command line though it is not necessary if the drop file is in Showansi's home directory. This path does NOT include the name of the drop file. Showansi automatically looks for any of the files named in the previous section. ie. The following line is correct: showansi c:\bbs\doors\showansi whereas this is not: showansi c:\bbs\doors\showansi\dorinfo1.def Usage The Main Menu The program starts off in the main menu. I couldn't see any point in having a fancy opening screen to slow things down any more than necessary - besides, they are bloody hard to draw and I'm not good at them. There is a short time delay of upto 10 seconds before the main menu screen appears. Register ShowAnsi and the nag will go away. You and your users will be much happier and so will I. Tag Files Selecting this takes the user to the select files screen. This is where files are tagged for either viewing or downloading. Up to 13 files are listed down the screen along with their file size, the minimum baud rate for viewing, the number of times they have been downloaded, and the description of the file. A blue information line is printed on line 24 with the key information on it: 'D' - travel down the file list 'U' - travel up the file list Space - tag files. Enter - next screen of files in the list 'Q' - quit to the main menu. 'E' - edit file descriptions (sysop level only). The 'E' (edit) shows on the line if the user has sysop access and it is printed in red too, so it really is quite ‚litist. There is a little arrow like arrangement of characters to the left of the file names. This points at the current file so the user knows where he or she is in the file list and it moves up or down when the relevant keys (D,U) are hit. When the space bar is hit a yellow asterisk appears between this arrow and the filename to show the file has been tagged. The pointer will also move down one file if it is not already at the end of the list. Hitting the space bar on any already tagged file will cause it to be untagged, the yellow asterisk will disappear and the screen will be a little duller than it was. View Files This is where the user gets to see what they have tagged. The files are displayed in the same order as they appear on the list. Once a file has displayed the program will pause until the user hits any key. When that happens the next file will be displayed. If there are no more files to be displayed the main menu will be redisplayed. Download Files NOTE: This option will not work locally! All work in this function takes place in a temporary directory. To use this option the user must first have tagged 1 or more files. The user will then be prompted as to which archiver program to use. The tagged files are archived according to their choice. The user is then prompted as to which protocol to use for the download. As stated before ShowAnsi passes various parameters to the protocol programs named in SHOWANSI.CFG. The parameters passed are designed for use with DSZ zmodem but it should be relatively easy to setup a batch file to run another protocol using ShowAnsi's passed parameters where applicable. Most protocol programs that I have come across really only need to be passed the port number and filename and they will quite happily work out the rest. No user will be able to download a file larger than the size stipulated on the second line of SHOWANSI.CFG. This figure has to be in kilobytes rather than an actual size. If you don't want a user to be able to download a file larger than 100,000 bytes then make the line read '100'. If they have managed to select enough files to create .ZIP file larger than your stipulated figure then the download will be aborted returning them to the main menu. After the download is completed all temporary files and the temporary directory are deleted. Upload Files NOTE: This function does not work locally. All work in this function takes place in a temporary directory. The user is prompted for the name of the file that they wish to upload. They are then prompted for the protocol to use and then the upload proceeds (hopefully) as uploads normally do. Upon successful completion the user is prompted for the unarchive program. The unarchiver is called. If the uploaded file is not in the correct format or something goes wrong then the upload process is aborted and the user is returned to the main menu. If the file is successfully unarchived ShowAnsi then searches for any files with an .ANS or .RIP extension. Any other extension is ignored. When an ANSI file is found it is checked for any ANSI key redefinitions and if any are found the file is deleted. (I could see no point in allowing users to be able to upload nasties to a bulletin board). The database is then checked for duplicate names. If the name is found it is assumed that the file already exists and so the newly uploaded file is deleted. If the file makes it this far the user is prompted as to whether they really do wish to add the file to the database. Should the user decide 'yes' they are then prompted for a description. They can also choose to delete the file at this point too. If they don't the file information is added to the database, the file itself is copied to the ANSI directory named in the configuration file, and ShowAnsi looks for the next file. When all files have been processed the archive file, the unarchived files, and the temporary directory are all deleted and the user is returned to the main screen. Instructions Instructions on how to use ShowAnsi. Basically a shortened version of what you are reading now. Quit Exit the program. Sysop Functions Takes the user into the sysop menu which is outlined next. The Sysop Menu The sysop menu looks similar to the main menu except that it has different options on it. The extraordinarily simple layout is the same, the colours are the same etc. Pretty dull really. Add Record The sysop uses this option to add files locally. The sysop is prompted as to whether they wish to search the Showansi base directory (where the ANSI files are stored) named on the third line of SHOWANSI.CFG or whether they wish to import files from another directory. If the sysop chooses to import files she/he is prompted for the path to the directory containing the ANSI/RIP files. Showansi then searches in the directory of choice for any files with a .ANS or .RIP extension. No other file extensions may be imported into ShowAnsi. The search may take sometime if the directory contains a lot of files or if most of the files in it are already loaded into ShowAnsi. Once a file is found it is compared name by name with the database to make sure that it does not already exist in there. If it isn't its name and size are displayed on the screen and a prompt line is put on line 24. The prompt line asks Add File? and offers the following options: Yes Selecting Yes causes the sysop to be prompted for a minimum baud rate and a description for the file. The description can be up to 40 characters long. If the word 'DELETE' is typed in capitals with no leading or trailing spaces then the file will be deleted from the disk. The sysop is prompted whether or not they really wish to delete the file. No Selecting No causes ShowAnsi to ignore the file and continue searching for others. In this case the file will remain on the disk and will be offered for addition the next time the Add Files function is used on the same directory. ShowAnsi does not keep a record of rejected files. View View displays the file on the screen. The sysop is prompted whether or not they wish to add the file - (yes/no) or delete the file. If the sysop selects Yes or No the program behaves in the same manner as outlined above. Delete will delete the file from disk - as per usual the sysop will be prompted before the deletion occurs. Quit Quit exits the add files function back to the sysop menu. Delete Delete deletes the file from disk. Yes - the sysop is prompted as to whether or not they really mean it. (I believe in safety first when it comes to file deletions). And so it goes until either all the available files have been processed or until the sysop chooses Quit. When a file is added to the database it is checked first for any ANSI key redefinitions. Unlike the user ANSI-bomb check the sysop can still add the file to the database if she/he so wishes. The file will NOT be displayed from the users view file option OR from the sysop view file though users will still be able to select it for download. Instructions Instructions on how to use the sysop functions of ShowAnsi. A vastly shortened version of what you are reading now. It all fits on one screen and is probably barely understandable. Good thing you chose to read this. Delete Files A screen is displayed that tagged files will be deleted upon exiting this function. From there the sysop is put into the Tag files screen. This is exactly the same as the user Tag files screen and it has the same functions. The sysop can edit file descriptions, view files etc. if he/she chooses to do so. Files are tagged and untagged with the space bar. The file pointer is moved with the 'D' and 'U' keys. Blah blah blah. If you have read this far then you should have read how to operate the tag files screen. Upon exiting the tag files screen each file is individually displayed with its description. A prompt line is displayed with that asks 'Delete this File?' and has the following options: Y=from the database This will cause the filename and information to be removed from the database. It will remain on disk and will be submitted for addition to the database whenever the Add Files function is used. N=no The file will not be deleted from the database. B=database AND disk. The file will be deleted from both the database and the disk. (Be careful now!) Quit Exits back to the main menu. Sysop Keys The following functions are available to the local sysop: ALT-C Sysop chat The current screen is saved and will be restored on exiting the chat session. ALT-C or ESC will exit the session. ALT-H Hangup Hangs up the phone line. ALT-J Dos shell Drops to DOS. Type EXIT to return to the program. This option will not work if the system is low on memory. ALt-K Key lock Prevents the user from entering any keyboard commands until ALT-K is pressed again. Registration Registration of ShowAnsi is via a key file. Upon registering I will send you either a disk containing the latest version of ShowAnsi and your key file or via uuencoded Internet e-mail. If you choose the latter option then, if your version of Showansi is up to date, I will only send you the key file. Naturally if I send via e-mail there will be no postage and packing charge. Registration of ShowAnsi entitles the user to use one registered version of ShowAnsi per registration key file. In other words, if you wish to run more two copies of ShowAnsi then you must register it twice in order to obtain two legal key files. Registration of ShowAnsi only needs to be done once as your registration key will be valid for all future versions. Benefits of Registering Since ShowAnsi is not crippled any benefits are limited to: Removal of the time delay nag Removal of the yellow UNREGISTERED COPY from the main menu My undying gratitude Your peace of mind and knowledge of your own honesty Costs Registration Overseas registration (ie. USA) . . . . . $US 15.00 New Zealand registration. . . . . . . . . $NZ 20.00 Postage and packing (if applicable) Overseas orders . . . . $US 2.00 New Zealand orders . . . . $NZ 2.00 Payment should be in the form of a bank draft in New Zealand currency. NOTE: A bank draft is NOT the same as a bank cheque! I can accept personal cheques but the purchaser should realize that New Zealand banks take around 45 days to clear a foreign personal check. Why it takes this long in this age of instant information I don't know - it just does. I will accept cash but the purchaser should understand that they send cash at their own risk. Should cash payments go missing in transit I will not accept responsibility for reimbursement. I cannot accept any money orders, international or otherwise, as New Zealand banks no longer accept them. Neither can I accept Bank Cheques from foreign banks. No orders will be processed until the form of payment has been deposited in my account and cleared. Should you feel any qualms about sending money to someone you don't know and don't know whether or not the postal address is still current, you can e-mail me (Richard Thomas) at the following address: Internet: tich@wn.planet.gen.nz Failing that snail mail me at the address below. If I don't reply from either of them don't send any money!. Hopefully I will be around to answer and that will allay your suspicions somewhat allowing you to send me the registration fee. Bank Drafts should be made out Richard Thomas. Send the order form to: Richard Thomas 57 Tama Street Alicetown LOWER HUTT NEW ZEALAND ShowAnsi RIP/ANSI File View Order Form Last name:___________________ First name:__________________ Address:__________________________________________________ __________________________________________________ City:_______________________ State _________________ Zip:__________ Country:______________________________ Phone Numbers: BBS:_________________________ FAX:_________________________ VOICE:_________________________ Net Addresses: Internet:_________________________ Fidonet:_________________________ Other net:_________________________ (include its name) I prefer to receive my key file via ___ Post (with disk) ___ uuencoded Internet e-mail Disk size [ ] 3.5 (if Post preferred) [ ] 5.25 I am paying via [ ] Bank Draft (preferred method) [ ] Personal cheque (this will take a long time!) [ ] Cash (not recommended) Registration fee (in currency used) . . . . . . . . . . . . $_________ (ie $US15.00) Postage (if via Post) . . . . . . . . . . $_________ (see above) TOTAL . . . . . . . . . . $_________ Signature:_____________________________ Date:________________ Feedback This is where you get to make comments about ShowAnsi and where I get some information for interests sake as well as for product improvement. You don't have to fill it in but I would appreciate it if you did - moreso if your comments are related to possible bugs you have found. ShowAnsi ANSI File Viewer Feedback Software BBS:_________________________________ Mailer:_________________________________ (if any) Other:_________________________________ Where did you get ShowAnsi from?________________________________________ _______________________________________________________________________ Comments (bugs found, dislikes, likes, suggestions etc):_______________ _______________________________________________________________________ _______________________________________________________________________ _______________________________________________________________________ _______________________________________________________________________ _______________________________________________________________________ _______________________________________________________________________ _______________________________________________________________________ -----------------------------------------------------------------------