BTN: Birmingham Telecommunications News COPYRIGHT 1988 December 1988 Volume 1, Issue 8 Table Of Contents ----------------- Article Title Author Policy Statement and Disclaimer................Mark Maisel Editorial Column...............................Mark Maisel The EZNET System...............................Tim Straughn The Sex Life Of Guppies And It's Relationship To Telecommunications....................Co-SysOp One, Channel 8250 A Tutorial Of Unknown, Unpredictable Length....Blake Miller E-Mail.........................................Barry Bowden The New Look: Graphics Interchange Format.....Gary Steven Godsey The Realm Of Tarot BBS: An Overview...........Dean Adams ProFile: Tim Straughn..........................Chris Mohney Reader Survey..................................Barry Bowden My BBS.........................................Joe Kearley Message Board..................................Barry Bowden Known BBS Numbers..............................Mark Maisel ----------------------------------------------------------------------- Disclaimer and Statement of Policy for BTN We at BTN try our best to assure the accuracy of articles and information in our publication. We assume no responsibility for damage due to errors, ommisions, etc. The liability,if any for BTN, its editors and writers, for damages relating to any errors or ommisions, etc., shall be limited to the cost of a one year subscription to BTN, even if BTN, its editors or writers have been advised of the likelihood of such damages occurring. With the conclusion of that nasty business, we can get on with our policy for publication and reproduction of BTN articles. We publish monthly with a deadline of the fifteenth of the month prior to publication. If you wish to submit an article, you may do so at any time but bear in mind the deadline if you wish for your work to appear in a particular issue. It is not our purpose to slander or otherwise harm a person or reputation and we accept no responsibility for the content of the articles prepared by our writers. Our writers own their work and it is protected by copyright. We allow reprinting of articles from BTN with only a few restrictions. The author may object to a reprint, in which case he will specify in the content of his article. Othewise, please feel free to reproduce any article from BTN as long as the source, BTN, is specified, and as long as the author's name and the article's original title are retained. If you use one of our articles, please forward a copy of your publication to: Mark Maisel Editor, BTN 221 Chestnut St. BHM, AL 35210-3219 We thank you for taking the time to read our offering and we hope that you like it. We also reserve the right to have a good time while doing all of this and not get too serious about it. ----------------------------------------------------------------------- Editorial by Mark Maisel We have run a bit behind this month and we apologize for it. We hope that you will have found this month's issue to be well worth the wait. This issue abounds in great educational and humorous content. The real story behind EZNET is our feature this issue and I am sure that it will be of interest to everyone who uses our local boards. For those of you who would like to learn more about the C programming language, look into Blake Miller's tutorial on the subject. With any luck, you readers and I may be able to convince Blake to continue the tutorial with regularity. For those of you who have trouble understanding his typing, I translate each word into English before it gets into BTN. What about GIF pictures? What indeed! When you finish reading what Gary Godsey has discovered, you will know all about it. Our ProFile victim this month is Tim Straughn and we invite you to see how our resident interviewer shreds, er, converses with his victim. We have two SysOps who have written to entice you to visit their systems and give you some highly entertaining background on their systems and themselves. Barry Bowden is conducting a reader survey and we would definitely appreciate all the participation we can get. We are extremely interested in finding out more about you. There are many other things in this issue that must remain a surprise for you to find so happy hunting! I would like to close by wishing everyone a safe and happy holiday and new year! Don't do anything I wouldn't do. No, scratch that. I might do anything. What the heck? Do it anyway and just don't get caught. Bye until next year! ----------------------------------------------------------------------- THE EZNET SYSTEM A Brief History and Description by Tim Straughn Copyright Nov. 20, 1988 EzNet. Most of us have seen it, some of us know what it is, and a few of us are actually taking full advantage of it. Yet there are still those out there that haven't figured out why they see a message on a system that they left on another system. Where did this come from, who developed it, and what in the author's wildest dreams made them think that it would be successful? I hope I can answer all the above questions as I was one of the instigators of the system, and played an active role in the design and implementation of the system. First of all, perhaps I should explain the EzNet system. The EzNet system is a set of programs set up to link message bases between several of the boards around Birmingham with both private and public mail privileges, open to the general public, with selective registration so that any user may register for private mail on any system, and the mail will go there only, and not all over the place just making the message base larger on the other systems. These programs include a pretty complicated batch file to take care of the processing of archived blocks of messages, both arcing them and unarcing them, (here's the pitch) with PKARC utilities, and automatically calling Procomm supplying the script for calling the system serving as a host, logging off and then appending the incoming mail in the message base of a PCBoard 12.1 system. Believe it or not, the whole process only takes about 10 minutes on the remote systems, and about 3-5 minutes of connect time to the host. How does this affect you the user? Well, let's say that you call several boards around town, and are active in the message bases. One of those boards is having a peak night when you decide to call and check for a reply to a public cry for help with a specific program that you left on that system. If you left it in EzNet, then all you have to do is try another board which is running the EzNet system if you left the message two nights before. If someone replied to it in the EzNet conference, and left it public, then the reply will be posted in 5 other places, giving you 5 other boards to try to call and find out if the reply exists. Now for the fun part. Suppose you want to communicate privately about most any topic with someone who has severe problems calling a particular board, and you have problems calling the particular board they want to use. If you have registered for private mail on the board of your choice, and the person has registered for private mail on the board of their choice, then the message will go to their chosen board no pain no strain. It does slow things down a bit, but, at the same time, it might just speed things up a bit as well if there is a peak on all systems running EzNet and you are in a hurry to get in touch with the other person. At most, it will add 1 day to the process, and this is something I am working to solve. The topic of registering for private mail on a particular system is discussed in further detail later in this article. How did the EzNet system originate? Well, quite frankly, it never was intended as a public system in the beginning stages. I went to Ed O'Neill, Randy Hilliard, (both of which I would like to thank for all their help in getting my system off the ground), David Alge, Michele Cahoon, and several others and asked them if they would like to spiff up the Sysop's conference that all of us seemed to have, and all of which seemed to be hurting for activity. Nearly all systems run a sysop's conference for visiting sysops, but none of the sysops of busy boards seem to have time to call other systems. Yet, we were all in agreement that we needed a way to exchange information about board structure, users, and general information about telecommunications, but weren't quite sure about how to go about it. Well, Ed pipes up and says something about a program called PCBECHO, which `only' costs $300. I don't know about the rest of the sysops, but I am not interested in blowing 300 bucks to chat with 4 or 5 other people. Fred McMaster had left an announcement of a party to all of the aforementioned parties, and then some, mentioning something about some extracurricular activities involving goats, Clydesdales, and various and sundry other farm animals at his place in the backwoods of Shelby County. I wound up cooking, later to be joined by a somewhat inebriated Ed O'Neill, and Randy, and all of us ate and drank until the brisk air of February ran us all inside to Fred's living room in his trailer. There were 20+ people in this crackerbox, so Fred saved a bundle on the heating bill that night with all the hot air associated with the sundry mixture of sysops, users, and programmers. A discussion was initiated between Randy, Ed, and myself, and I almost forgot, the illustrious and funny Ty Ros concerning my wishes to network and incorporate several of the local bulletin boards. Ty had to leave a little earlier than the rest of us due to school or something, so the discussion group concentrated into people who knew the structure of PCBoard. Later, the conversation reduced to three people including Randy, Ed and myself, and began to pick up the pace toward a solution to the networking problems. We all got back to the point we could drive again, and headed for home, with me anticipating the following weekend being spent with Ed coding the new net for sysops. Two nights later, a somewhat groggy Ed called me and demanded my presence at his place as he had something he wanted to show me. Lo and behold the rascal had the program written and debugged to pass public messages and it was working like a charm between his AT and his XT using Lan software. So, I took a copy of the code home with me and installed a new conference on my system which only I could get in and began tinkering with batch files for the remote system. I loaded up Procomm and started writing the scripts for calling Ed's board and going through the process of getting the file from his system. Plugged in a few commands in the EVENT.SYS file, and we had a working system. This was all well and good until Ed's sliding event ran past the time for my event one morning, and I got all my own messages back. Ooops! Can't have that. So, Ed came up with a new user account, a batch to run on his end on demand, and removed the process from his event. Ahhhhh. Now we're cooking with gas. A few modifications on my end, and BINGO!, no repeat messages. We ran the thing 3 or 4 weeks passing messages back and forth between ourselves, and adding a few chosen ones to help us beta test the beast, refining the thing as we went. One day, I found messages from other users in Ed's system, and a final note that he was making the system public. Hmmmmm. Not a bad idea at that. Another 2 or 3 weeks of public beta testing couldn't hurt, and it certainly helped. A couple of users then came in requesting private mail service, and so Ed and I wound up with some more brain storming to do. So, thanks again to my wife Lisa, I arranged a dinner for Ed and a general flurry of paper and Turbo Basic code and PCBoard message bases ensued. We hashed it out, and later that week, here comes the new code with new instructions, and all the improvements requested, with the exception of one. At present, there's not much way to handle that problem with independent message bases running amuck, and the reference message numbers being so different. Thanks to the users who inspired the private mail option. Currently, the message base incorporated in EzNet is just like any other message base on a PCBoard 12.1 system, and the actual operation is nearly transparent to the user. (It becomes intuitively obvious to the innocent onlooker.) The advantages of being able to send a message from one system to four others with a single entry is not without merit, nor is the routing of mail to someone who may not even use the board that you are currently on. For instance, Ray Willingham may enter a single message on any system advertising for Roebuck Typewriter, and not have to call each individual board to do it. This is particularly useful if Ray needs to do something fast and doesn't have the time to call all the boards he wants the message posted on. Or local user groups may post announcements of their next meeting so that members may be more likely to see the announcement if they only call one system. Or, another use, though to the chagrin of some other users, Girl-meets-Boy-meets-Girl romances get initiated. The uses of a publicly echoed message base are actually boundless, and though perhaps not always the best of messages gets echoed, the purpose of the system is to get information across town with the least amount of downtime on each associated system. Though the system has Private mail capabilities, I am surprised to find that few have used the capabilities. Now, there are even complaints about the return to sender message generated by the system and the accidental entry of public registration requests. The problem is that we cannot make the system too complex for the user, nor can we produce a door that will reliably register each user who wishes to use the private mail feature. Currently, the procedure for registering for private mail is quite simple, and the system even provides feedback to the would-be registrant if he/she doesn't quite get it right. The whole process of getting registered for private mail on a particular system is as simple as entering any message. The steps are outlined below: 1. Enter a message to EZNET CENTRAL. If the system has receiver checks turned on and does not have a user record for EZNET CENTRAL, then the person will be prompted to continue or re-enter the user name. Simply continue. 2. Make the subject of the message REGISTER ME. This special topic will prompt the host system to add the name in the FROM field of the message header to the index of private mail users if one more condition is met. 3. The third and final criteria for getting registered is to make the message receiver only. This is only to keep other users from having to read some silly garbage which may or may not be an actual message, and also serves as the second flag to set on the host system, telling it to send feedback to the registrant that they are now registered. If any of the three criteria are not met, then the host system will respond with a message to the originator that the addressee is not registered for private mail, that EzNet Central is not registered for Private mail, or some other message to let the user know that he/she didn't do something quite right. The solution is simple. Try again. Actually there is one more criteria. The message has to be entered in the EzNet conference, but this sort of goes without saying. Ed O'Neill spent a good deal of time making this thing work, and I hope to enhance it with a few more options at a later date. For those of you wanting to exchange long text files which compress so well, I hope to even add attachment capabilities to the system. This will not come easy though, and will have to have a lot of checks against abuse. I have already begun to enhance it for the sysops to make it easier for me to implement a door which is both security level and password protected, and also make the operation of it quicker because of the added memory allowed by unloading the PCBoard code. This also allows me to run my system from RAM disk and provide for faster turn around time to the normal users, and much less hard disk access for loading the PCBoard code when executing doors. Another feature this adds is it allows me to strategically place messages in the log file generated by the script file used for Procomm which will enhance the troubleshooting procedures for newly added nodes. The primary contributors to the EzNet system from the users standpoint have been Blake Higdon, Blake Miller, Sohail Rabbani, Osman Guner, Ty Ros, and Omega Ohm to name a few, and if I missed your name and there is an improvement in EzNet which was your idea, then I apologize. With the suggestions from the users, EzNet has grown into a very efficient system with virtually no restrictions other than the requests of the sysops who help run the system. We all have very little stipulation regarding the use of the EzNet system, but most of it is common sense regarding aspects of social behavior. Due to the fact that EzNet actually works with PCBoard messages, other doors which allow archiving the messages for download, such as ProDoor, will work just as well. Ed and I tried to keep it as close as possible to the message utilities built into the PCBoard code in order to not adversely affect any other program which works with the PCBoard message bases. Hopefully, in the future, there will be a version of the system for any and all BBS software. I would love to expand it to include Genesis, WildCat, and RBBS to name a few, but this will take some considerable work which may require a leave of absence for the Bus System so that I can have the programming time necessary to develop the code to allow configuration of the program around any BBS system. Adaptation of the code for version 14 PCBoard is already under way, and I hope to include the various boards which have already upgraded to the Beta version of 14. Converting back and forth between the various message base formats will be a challenge indeed. Next time you are on a system using EzNet, register for private mail, start a new topic thread that you feel is of importance, or drop a friendly hello to someone that you know frequents one of the other systems. EzNet was designed to enhance the telecommunications community and bring us all together for the common good of sharing ideas and opinions. I even like folks that disagree with me about my opinions. It gives me something to argue about. Drop your public announcements in the mail box, post that for sale ad, that want ad, or that cry for desperately needed help. Use EzNet, it will make life easier for getting out public messages faster. If you don't know where to get in touch with someone on one of the other systems, drop a note in EzNet. Chances are they use one of the five systems supporting the net, and will catch up with you sooner. ----------------------------------------------------------------------- The Sex Life of Dead Guppies and It's Relationship to Telecommunications. By Cosysop One Channel 8250 The last reasonably full meeting of the infamous BTN writers occurred at the home of our editor-in-chief, Mark Maisel. About a dozen of us showed up and we managed to get a lot of writer-type business accomplished: we consumed great quantities of beer, we BSed about everything, we even invited one of the writers to dance on the coffee table. I might also mention that even though some of the BSing was political, Ed and I managed to restrain ourselves and not stand in the chairs screaming at each other; the other writers were disappointed. Mark prefaced the meeting by saying that he would be handing out assignments to various authors for articles for the BTN but declined to discuss it further at the moment. Later in the meeting I discovered that I had ran out of cigarettes and went out to the truck for another pack. Upon re-entering the room Mark gleefully informed me that they had voted while I was outside and that the article I was to write was: The Sex Life of Dead Guppies And It's Effects on Telecommunications. A survey of the room at this time netted about 11 gleefully, smirking faces, the one abstention was mine. Somewhat befuzzled (read potted) I sat down and pondered the situation; both the pondering and the situation seemed to be a hopeless cause. When we left Mark's house that night there was enough aluminum in the vicinity of the garbage cans to have built a Cadillac (would you believe a Subaru?); Mark either has a very understanding wife or he cleans up well before she gets home. I wonder how he explained the broken furniture? The next day gifted me with a nearly terminal hangover so I temporarily shelved the topic. The day after, I researched the topic somewhat morosely without success, (even IQUEST on COMPUSERVE couldn't offer any help) so I tabled the article for it to mature (read fossilize) while keeping my eyes open for any material that might relate to it. A month passed without a glimmer of hope. I became desperate. In my brief forays into the telecommunications world I'd noticed that Mark, our beloved editor, had been noticeably absent since the meeting so I asked another writer about it. I was told that one of Mark's two guppies had died and that Mark was so down in the dumps he hardly turned his system on nowadays. This set me to thinking ... In the somewhat distant past I had taken a Philosophy course (Philosophy, the study of that great Irishman, Phil O'Sophy) in Symbolic Logic. The course boiled down to taking a set of arguments and developing a conclusion from them. I developed a set of arguments and worked on them till I came to a conclusion: 1: Mark was enamored of his two guppies. 2: Anyone who has had guppies knows that they do only two things: swim and have sex (otherwise why would they be so prolific?). 3: One of Mark's guppies died so the other refused to have sex with it. 4: This upset Mark so much that he temporarily lost interest not only in his computer but in telecommunications. Conclusion: For some individuals (such as Mark) there is a correlation between the sex lives of their guppies and their telecommunications activities. Mark has since replaced the dead guppy with a live one and has rejoined the telecommunications community. While in the conclusion category I would like to mention a few others I surmised from the last BTN meeting... 38 cents is not enough money to get a writer to dance on the tabletop. Never... and I mean never, leave the room when you are about to be assigned an article. Especially if the room is filled with inebriated writers (and editors). And last but not least: Don't ever get drunk at a friends house an pour your warm beer into his guppy tank. I did and look what it got me. ----------------------------------------------------------------------- File: BASTOC01.TXT Creator: COPYRIGHT 1988 Blake Miller ALL RIGHTS RESERVED Version 1.00 November 1988 Purpose: Article explaining some C string handling routines. This is the first article in a tutorial series of unknown, unpredictable length. DISCLAIMER ---------- The suggestions and source code provided in this series of articles is not guaranteed to do a darn thing or be of any practical utility at all! You might want to read these articles while you are in a good mood, especially if you are a BASIC programmer. Moreover, I have tried this code out and have found it to work on the system I use, but remember that not all C compilers are alike. The code is written to work with QuickC from Microsoft. You might have to make some slight adjustments to the names of some functions. Without further do-while let us begin! I apologize for the lighthearted attitude taken here, but I would not be doing this if I wasn't having fun. After all, there is plenty of time to get serious, once I am being paid... And for those of you who love technical writing, don't bitch at me for changing person in this article. One must always realize that I am writing this for all of us so that we can learn something from it. One more thing. I do not claim that these routines use the fastest, gee whiz, algorithms around. My reasoning in optimization goes something like this. Writing in C instead of BASIC is optimization. Writing in Assembly Language instead of in C is insane! But sometimes, a little careful thought will speed up even your C code, so some consideration will be made. SERIES INTRODUCTION ------------------- There are those out there in La La Land who would argue that the string handling routines in BASIC are more powerful than those available in C. Well, this is partially true, since there are only a few routines available in C. The ones C doesn't provide you must write yourself! It will be the purpose of this series of articles to explain how you write string handling routines in C. DEFINITIONS IN C ------------------- The first thing to do is to define some constants that will be used throughout these functions. The use of the #define command equates a value to a symbol within the file in which it is included. Generally, these definitions are known throughout the entire source file in which they are included, but anything you define you can undefine. Here, we will leave the definitions defined throughout the entire file, so they will be placed near the beginning of the source code. These are similar in utility to the CONST statement in the QuickBASIC language. #define TRUE 1 #define FALSE 0 #define NUL 0 #define EOS 0 STRINGS IN C: A Definition -------------------------- By definition, a C string is a sequence of bytes terminated by a byte with the value zero (0). From Kernighan and Ritchie we learn that "a string is an array whose elements are single characters. The compiler automatically places the null character \0 at the end of each such string so programs can conveniently find the end. This representation means that there is no real limit to how long a string can be, but programs have to scan one completely to determine its length." GOALS ----- Several useful string utilities can be written to deal with different operations upon strings. Some of these call the built in C string handling functions in order to perform their work. Others are independent of the built in C functions. By building small functions that do only a simple string operation, debugging is facilitated. This also makes it easy to write other more powerful functions by merely combining the simpler string functions. When working with strings, there are several things we might want to do to them. Text editing functions come to mind. For example, we might want to insert, overwrite, or delete the character at the current 'cursor' position. Other possibilities are to delete to beginning, the end, or the entire string. A list of C string handling routines follows: int sedit_creplce(int, int, char *, int); /* replace character */ int sedit_cinsert(int, char *, int, int); /* insert character */ int sedit_cdelete(int, char *, int); /* delete character */ int sedit_cowrite(int, char *, int, int); /* overwrite character */ int sedit_cdeleos(int, char *, int); /* delete end of string */ int sedit_cdelbos(int, char *, int); /* delete beginning of string */ int sedit_cltrim(int, char *, int, int); /* left trim string */ int sedit_crtrim(int, char *, int); /* right trim string */ int sedit_sltrim(int, char *); /* space left trim string */ int sedit_srtrim(int, char *); /* space right trim string */ void sedit_stoupper(char *); /* convert to upper case */ void sedit_stolower(char *); /* convert to lower case */ DECLARING STRING VARIABLES -------------------------- Well, you might now be asking yourself what is the difference between a BASIC string and a C string. A C string is a sequential set of bytes terminated by a 'zero' valued byte. We usually refer to this as the NULL byte, or NUL, as it is defined above, or as '\0' as it is referenced as a 'character' within a C program. When declaring a BASIC string, you do something like: NAME$ and Voila! There you have a string variable capable of holding something like 32K of characters, which is referenced by NAME$. In C, on the other hand, you must declare all variables before their use in a program. A C string variable is an array of bytes with a defined size. If you wanted the equivalent of NAME$ as a C string, you would declare the variable as a character array with a specified length, such as: char name[8]; which would allow a 'name' string to hold 7 characters plus the trailing '\0' which is required for C to locate the end of string. Okay. So now I would think you know that a C string is an array of characters ending with a zero byte. It is important to remember this zero byte is required when writing programs. For example, if you want last_name to hold 16 letters, then you must declare it with 17 bytes, so that there is room to hold the trailing zero byte: char last_name[17]; To reference a string variable in C, you merely use the name, just like you would in a BASIC program! For example, to put a capital 'L' in the first position of last_name you can use the array form of referencing the position: last_name[0] = 'L'; Notice that C arrays begin with a zero as the first position? Just think of ALL C arrays as BASIC arrays with an OPTION BASE of 0! So, the last position of last_name is position 16! And there had better be a zero byte somewhere between the first byte and the last one or else most C string routines will go zipping through memory until they find the first zero byte. Many strings operate this way by default. No small wonder, since C strings are defined to end in a zero byte. Now, the name of a C array, including a char array, actually translates to the address of the array. So the variable last_name actually represents the address at which the variable resides. That is, it is the address of the first byte in the character array last_name. OUR FIRST EXAMPLE ----------------- Right.... Well, let us now look at an example. For our first example, we will try to convert a string into all upper case characters. The pseudocode, which will be in Sort-Of-English, is: While not at end of string If character is lower case Upper Case It Else Do nothing Increment string pointer End There are two ways to do this. One of them uses array referencing, and is perhaps the easiest one to understand at first. The other method uses pointers, and is faster, but is more confusing to the novice. I will show the array method, and the ambitious amongst you can write a pointer routine to be checked against my answer for next time. Okay, so we need to get the string to the routine in the first place! Easy enough, we pass the address! So the function is declared as: void sedit_stoupper(char s[]); Please note that I have a preponderance for adding a LOT of comments. The more the merrier! That is, the more comments I add in the first place, the merrier I am when I have to read the code five months later and figure out what I did! So the function is defined as below: /* -- String To Uppercase --------------------** * Convert a string to upper case letters. * Uses array-referencing methods. * Passed: * Address: string * Returns: * Nothing * Side Effects: * The string is modified in place. */ void sedit_stoupper(char s[]) { int i = 0; while (s[i] != EOS) /* while not end of string */ { if (s[i] >= 0x61 && s[i] <= 0x7A) /* if lower case character */ s[i] = s[i] - 0x20; /* subtract off 20 hex */ i++; /* increment index */ } } CONCLUSION and HOMEWORK ----------------------- For next time, try to rewrite sedit_toupper using pointers. You may have to read your C book, especially since I have not talked about pointers yet! Also, try to write a routine to convert a C string to all lowercase letters: void sedit_stolower(char *); /* convert to lower case */ Next time, I will try to explain C string pointers and list source code to the routines to convert C strings to upper case and lower case using pointers. /* * ----------------------------------------------------------------- * END BASTOC01.C File * ----------------------------------------------------------------- */ ----------------------------------------------------------------------- E-MAIL by Barry Bowden What Ever Happened to... ------------------------ I disagree with your opinion. There are several boards in Birmingham I would gladly donate money to because they have built themselves a great BBS. My check will be in the mail tomorrow ...(QED) Message Board ------------- I am glad to see at least a partial list of user groups in the Birmingham area! Keep up the good work! NOTE: If you would like to comment on any article in BTN, please forward your replies to Barry Bowden on The Bus System BBS or forward your letters to E-MAIL c/o Mark Maisel,221 Chestnut St., Bhm, Al 35210-3219. ----------------------------------------------------------------------- The New Look ..... Graphics Interchange Format by Gary Steven Godsey Graphics Interchange Format, GIF,(pronounced JIF - like the peanut butter). This graphics format was developed by CompuServe to serve a wide variety of graphics needs both in their product environment as well as a universal standard by which graphics can be exchanged between any parties through a network. It has two basic design features. First, it is an attempt to arrive at a independent graphics exchange format. It is to graphics images what the PC bus was to hardware. The idea is that the GIF display program on the target machine takes care of rendering the image visible in the best way available on the target hardware. There is no conversion of the picture file between machines. The picture files would be exactly the same byte for byte across machines. Almost every hardware platform is represented in the PICS forum on CIS. From Atari's to Zenith's. The second feature of GIF is the use of the Lempel-Ziv-Welch (LZW) data compression scheme to pack the picture information in order to reduce transmission times. This version of LZW is essentially the same as the one used in popular archiving programs with the added twist of variable code size. What type of images can GIF be used for ? - Full color associate photo board - Business charts and graphics - On-line merchandise catalogs - Technical documentation - Schematic diagrams for field service personnel - Color radar maps - Medical illustrations - Art gallery And the list goes on and on, limited only by your creativity. How much resolution can an image have ? In terms of pixels GIF is capable of defining over 16,000 by 16,000. This compares to the average machines screen being 320 by 200 pixels. Even laser printers are generally limited to 2000 by 3000 pixels. The advanced state of the GIF technology should be adequate for graphics applications for years to come. How many colors can a GIF image have ? Any GIF image can have up to 256 simultaneous colors contained within it. Each individual color can be defined out of a possible set of 16,000,000 colors. This capability makes photographic quality images possible. All GIF images can be processed by all GIF software. The software is designed to make the best use of a specific hardware's capabilities with regard to color. How large are GIF image files ? This will vary a great deal depending on the number of colors present, the size of the image and the amount of detail present. The LZW used by GIF reduces the file size to between 1/2 and 1/8 of the original file size. This allows for even complex images to be economically downloaded. CompuServe has made the tech specs for GIF available to the public for use in their own software. These can be found in in the PICS forum on CIS. They have also made the technical description of the LZW algorithm available as well. They also have the code and a form which will allow you to register as a software developer so you can incorporate GIF into your product software. If you want the files they are on CIS in the PICS forum as GIFSTD.TXT and GIFSTD.ARC. If you don't have access to CompuServe then leave me mail on one of the local boards, preferably on EZNET, and I'll go get them and bring them back for you. I would like to acknowledge the help and support of the Sysops on CompuServe's PICS forum. They are responsible for the documents from which this article was gleaned. I would like to point out Don Babcock as the primary source for most of this information. The man is a true genius and a gentleman. ----------------------------------------------------------------------- The Realm of Tarot BBS System : An Overview by Dean R. Adams, Sysop A.K.A. Captain Jack BACKGROUND On October 3, 1988 another BBS went on-line in Birmingham, Not a particularly unusual event in a city that has numerous BBS's already running. What is unusual is that this particular board is not another PCBoard, nor is it RBBS, No-Change, WWIV, or any other system currently available. Nor for that matter is it a "BBS" in the general sense of the phrase, except that it runs on a computer and one accesses it via a modem. In one sentence, it is a dedicated, on-line, multi-user fantasy wargame. This article will attempt to give a brief overview of the Realm of Tarot system, including some details of its history and development. The story begins just over a year ago with two fairly well-known on-line games available as doors. The Realm's author and myself were active on-line gamers in Lexington Ky., and both of us agreed that the doors' offerings then (and now) were not particularly satisfying as games, and wondered why nobody had written a game that would approximate the difficulty and complexity of a board game, such as Squad Leader, Western Front, etc. to be played on-line. At the same time, we were rather disappointed in the fantasy board games we had played. So one long evening in November of '87 (I think it was Nov.) Scott Hackworth and I sat down and hashed out some ideas, mostly about how to implement a computer game he had started to design sometime before as a BBS game. With that discussion Realm of Tarot was born. Over the past year, Scott has spent many hours designing, writing, testing, and rewriting the code for Realm of Tarot. Even as I write this article, yet another revision of code, with a few new features is on its way. The result of his efforts is an on-line game that to my knowledge is un-rivaled in complexity and difficulty. OVERVIEW Realm of Tarot is a fantasy game played on a 300 X 300 sector map. The scenario is simple: each player is either a Lord, and starts with one city, one group of armies, and a small sum of money, or a Rogue, and starts with no city, but more armies and more money, and tries to rise in power and become the Emperor. The play of the game, however, is difficult. One must carefully consider the consumption of goods by cities and armies, and keep both supplied by either producing the needed goods or by trading for them. In the Realm, goods are not arbitrary commodities, for specific goods are needed in order to build armies, and to heal city militias. Nor are they readily available. The only sources of goods are from other players, or from the Empire, but the latter while limitless in supply, takes its toll on players in the form of taxes and tariffs, and its prices are predicated on a supply/demand curve. MAGIC Not all battles in the Realm are of armies. Via diplomacy, one can bring such elements as terrorism, insurgency, and diplomatic pressure to bear on opponents, as well as spying on them to learn their weaknesses. One can also attempt diplomatic relations with any of the three mercenary groups that are available, and if successful, the mercenaries will join one's armies or navies in combat. In addition to diplomacy, magic is a vital element of the game. First one can acquire magicians who will join one's armies in battle. Especially when confronting an opponent who has magicians, the correct choice of a spell can mean the difference between victory and defeat. One can also acquire the use of magic via the Tarotmages. There are eleven Tarotmages, five good, one neutral, and five evil. Each has a different spell and a different power. One can attempt diplomacy (if one has sufficient money to pay their ambassador for the risk) with any Tarotmage, and if successful, will acquire the spell of that mage. If one is particularly lucky, one can encounter a mage in one of the many shrines to be found throughout the realm, and thereby acquire money, improve one's gladiator, or acquire either the spell or the power of that mage. The shrines in the Realm are perhaps the most unique aspect of the game. They are text based dungeoneering facilities, similar in vein to the "solo" modules in Dungeons & Dragons. Across the Realm there are 99 shrines, but only 22 of them are "active". When a player encounters an active shrine, assuming their gladiator is alive and well, they are able to explore it much as one would explore a dungeon in a role-playing game. In essence, they are sort of a game within a game. In shrines a player can acquire money and magic to aid one's cause in the game. But beware, for a wrong choice could bring destruction upon one's forces! Finally there is the gladiator mentioned above, which is yet another unique feature of Realm of Tarot. A player's gladiator is his personal champion, his representative in the arena where other players' gladiators or the Empire's gladiators can be battled. Naturally one can wager on the outcome of such a battle. Also, the gladiator does the exploring when one enters a shrine or ruin, and considering the nasty beasties one can encounter in those areas, having a strong, seasoned gladiator is vitally important. Along this line, a player can pit their magicians against those of another player in an arcane duel in the arena, the loser either submitting and joining the winner, or dying. THE REALM IN BIRMINGHAM Birmingham's Realm of Tarot BBS is only the second Tarot BBS to go on-line. The first is sysoped by Mr. Hackworth himself and runs in Lexington, Ky. The board currently supports 300/1200 baud and is on-line 24 hours a day at 205-870-7776 (N,8,1 only). The system also supports ANSI graphics for machines that can use that protocol. Currently there is a Tarot discussion group of sorts on the BUS System BBS at 205-595-1627, and there are plans for a conference on that system devoted to the Tarot game. For anyone interested in the game, that is probably a good way to get more detailed info without logging onto to Tarot BBS. PRESENT I have tried to avoid "editorializing" in this article and so it is of necessity an incomplete picture of my own system and future plans thereof. However I encourage all BBS gamers and particularly wargamers to take a look at the Realm of Tarot. It's my belief that you will not find a more challenging and complex game anywhere in the BBS world. POSTSCRIPT For more information, I can be reached via my system at 205-870- 7776 (300/1200 N,8,1), or for information on acquiring a copy of Realm of Tarot BBS, call Scott Hackworth at 606-231-0417 (days) or 606-870-6120 (nites). ----------------------------------------------------------------------- PRO FILE by Chris Mohney The Pro File is a short, half-serious biographical sketch given to various computer telecommunications personalities around Birmingham. Victims are selected randomly from a group of names put into the notorious Hat. Anyone who thinks himself brave or witty enough may petition for admittance to the Hat by leaving E-Mail to me (Chris Mohney, most boards around town) to that effect. Anyone who wishes to suggest more questions or sneakingly nominate someone without their knowledge may take the same route .... --------- Pro File on TIM STRAUGHN --------- Age: 30 b/d 06/28/58 Birthplace: Andalusia, AL Occupation: Field Engineer, Industry Services Division, General Electric Company My hobbies include: VW Baja, CB Radio, Programming, and bustin' Omega Ohm's chops Years telecomputing: Roughly 2 Sysop, past/present/future of: The Bus System, 205/595-1627, 24 hrs. My oddest habit is: Signing all messages with "Later, Tim" or perhaps arguing with someone who has already lost the argument, but refuses to believe it because of his pride. My greatest unfulfilled ambition is: Better the BBS community to the point that Sysops won't have to put up with the garbage from people who would crash their system if given half a chance. There are some very mature youngsters out there, so I am not pointing at the people under 15 years of age. There are also some very immature people out there that are close to or above the age of 20. How can we expect the younger generations to learn to use a public service if we don't set a decent example? The single accomplishment of which I am most proud is: Though it is work related, and has nothing to do with telecommunications, I guess my most significant contribution has been to the development of and design of Military Vehicle Transmission testing facilities. Currently, I am the only Field Engineer in the General Electric Company who has any experience with the development of the software and control systems for these systems, which at times, also has some very serious drawbacks. I have installed 3 systems at the Anniston Army Depot, and will be going to Barstow, California sometime next year to start up a much more advanced system for the Marine Corps Logistic Base in Barstow. My favorite performers are: I have many, as my music tastes vary from country to heavy metal rock and even some jazz. I guess perhaps my most favorite at the moment though are Hank Williams, Jr., Steve Winwood, Eric Clapton, Pink Floyd, Thirty-Eight Special, and a host of others. My favorite actors at the moment are Jim Belushi, Arnold Schwartzeneggar, and yes, Clint Eastwood. The last good movie I saw was: Real Men, or Raising Arizona The last good book I read was: Don't have much time for pleasure reading, as I always seem to have my nose stuck in a tech manual or programming manual lately. If they were making a movie of my life, I'd like to see my part played by: I don't know who could play my part. Whoever it is would have to be extremely skinny. My pet peeves are: I guess the one that is most prominent at the moment is someone who would try to move into a conference which is echoed between several boards, and then try to dictate what can and cannot be posted in it. Not only is this wrong, but when the mail is directed to someone else, public or private, if it has nothing to do with that person, then they should definitely refrain from responding. When all the sysops of the other boards have agreed that there is no real problem with the posting of a user's name in that conference for abusive use of a system, then the person doing all the complaining should just learn to skip over messages that are not to his liking, and not continue to try to aggravate one of the sysops into abusive language. Another also comes to mind at the moment as well. That is to go through the new uploads to a BBS, and find that 4 out of 5 uploaded files are either undocumented games, or perhaps have PKARC arced up in them for padding. I despise a garbage game with no documents. When nobody's looking, I like to: See how fast I can get an 8088 microprocessor to get totally confused, or sleep. ----------------------------------------------------------------------- READER SURVEY by Barry Bowden Last month TYROS gave us an update on the Birmingham BBS Survey and while reading the article, I decided that BTN was about due for one of its own, so here it is. You may forward your replies to me thru The Bus System BBS or by regular mail to READER SURVEY c/o MARK MAISEL (his address is on page one of this newsletter). I hope to have all the results counted and ready by February, so don't be late! Send your replies today! 1. How old are you? 2. What is your sex? 3. City and state of residence? 4. Zip code? 5. Number of people in your household who uses your computer? 6. Is your computer used for business, pleasure or both? 7. At what percentage (refer to question 6)? 8. Is your job computer related? If so, what is your job? 9. What brand/type of computer do you own/use? 10. What peripherals are used on your computer? 11. Where/how did you hear about BTN? 12. What do you like about BTN? 13. What do you dislike about BTN? 14. What changes would you like to see in BTN? ----------------------------------------------------------------------- MY BBS by Joe Kearley Sysop of the Joker's Castle It all started a few years ago when I bought an ADAM for the family for Christmas. It was the first computer that I had even laid hands on. I brought it home about two months before Christmas and would seclude myself in my bedroom to read the manual and experiment with how to work it. I told myself that I was doing it so I could show the kids how to use it when Santa brought it to them. I got hooked on it. When Santa left it I was the one that was using it the most. I had a hard time finding any software or hardware to expand it because at that time Coleco had pulled it out of production. I did luck up and find a modem for it though. It came with a CompuServe introduction. Now I thought I had something. I went out and bought a subscription to CompuServe and started modeming. I found an ADAM conference on there and was in hog heaven. That is until I got the first bill from the credit card company, "OUCH!". I quickly found out how expensive CompuServe was to use. For a while after that I was a little disappointed that I would not be able to use my modem much. Then one day a friend at work told me about a local BBS that did not charge for logging on to it. I got the number from him and gave it a call. The name of the BBS was Protective Life. I got a lot more numbers from it when I learned how to navigate around on it and again I was in hog heaven. I soon learned that the 300 baud modem and software I was using was very limiting. The software would not even allow up or downloading. By that time I had found several ADAM user groups and had subscribed to them. I found my coSysop, Ricky, through one of them. I learned that there was a fellow ADAM user right here in Birmingham. I contacted him and learned that he had a full blown ADAM system. We tried to set up an ADAM users group in Birmingham but did not find enough interested users to get it off the ground. A few months later I found a CP/M software package for the ADAM and learned that I could do a lot more with the computer than I previously thought. It had a much better modem program called Modem7 that would upload and download. Still I was hampered with 300 baud but at least I COULD do a little more with it. I was about to expand it with extended memory and a disk drive, yes it only had slow, slow tape drives, when I had the house fire. The two ADAMs (I had two by then) got fried. The insurance I had was replacement cost type. So by putting a little money with the replacement cost I was able to get this IBM clone. BOY what a difference! I decided that since I had this wonderful new computer I would try to run a BBS on it. Since I had been BBSing for a while now I wanted to share my experience (such as it is) with other BBSers. I found the PCBOARD VER 10 on AMERICA ONLINE, thanks Rocky, and off I went. I got the idea for one of my conferences from the Point of no RETURN, thanks Michele. Now I have decided to upgrade VER 10 to VER 12. It has been a long struggle reading manuals and docs and figuring out how to make it work, but it has been worth every bit of effort I have put into it. I have gotten a lot of complements on the way I have it set up, I have to brag a little bit, and a few regular users. I think maybe when I get the new version up it will become more popular. I extend an open invitation to all users for suggestions on what type of doors and conferences they would like to see on the board. By the way, I got the idea for the name of the board from my first and last names, JOe KEaRley. Here's wishing you all a good time BBSing, and come by for a visit some time. ----------------------------------------------------------------------- MESSAGE BOARD by Barry Bowden D E C E M B E R 1 9 8 8 S M T W T F S +----------+----------+----------+----------+----------+----------+---------+ ! ! ! ! !1 !2 !3 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! +----------+----------+----------+----------+----------+----------+---------+ !4 !5 !6 !7 !8 !9 !10 ! ! ! ! ! ! ! ! ! !Hanukkah ! !CCS ! ! ! ! ! !Begins ! !(C64) ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! +----------+----------+----------+----------+----------+----------+---------+ !11 !12 !13 !14 !15 !16 !17 ! ! ! ! ! ! ! ! ! !BCCC !CCS ! ! ! ! ! ! ! !(Amiga) ! ! ! ! ! ! !Hanukkah ! ! ! ! ! ! ! !Ends ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! +----------+----------+----------+----------+----------+----------+---------+ !18 !19 !20 !21 !22 !23 !24 ! ! ! ! ! ! ! ! ! ! ! !CCS ! ! !BEPCUG ! ! ! ! !(C64) ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! +----------+----------+----------+----------+----------+----------+---------+ !25 !26 !27 !28 !29 !30 !31 ! ! ! ! ! ! ! ! ! !BCCC ! ! ! ! ! !New ! ! ! ! ! ! ! ! Year's ! !Christmas ! ! ! ! ! ! Eve ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! +----------+----------+----------+----------+----------+----------+---------+ BEPCUG Birmingham East PC Users Group Jefferson State Jr. College RUBY Carson Bldg., First Floor-Computer Lab Third Friday of Every Month 5:30PM to 9:00PM Paula Ballard 853-1200, ext 1463 (Days) BCCC Birmingham Commodore Computer Club P. O. Box 59564 Birmingham, Alabama 35259 UAB School of Education Bldg., Room 153 Second and Fourth Sundays Starts at 2:00 PM Emmett Ferretti 823-3987 or Rusty Hargett 854-5172 CCS Commodore Club South Springville Road Library Huffman, Alabama Second and Fourth Tuesday (C64 Meeting) Third Monday (Amiga Meeting) 7:30PM to 10:00 PM Maurice Lovelady 684-6843 NOTE: Because some meetings fall close to or on holidays this month, please call the contact person for the user group you plan to attend to confirm their meeting date and time. If you belong to or know of a user group that is not listed, please let us know by sending E-Mail to me, Barry Bowden, on The Bus System BBS. Please leave the following information : User Group Name Meeting Place Meeting Time(Day/date,Time) Contact Person Any Other Important Information ----------------------------------------------------------------------- Known BBS Numbers For The Birmingham Area NAME NUMBER BAUD RATES SUPPORTED 68FREE 933-7518 300, 1200 America Online Nodes 1-3 324-0193 300, 1200, 2400 America Online Node 4 251-2344 300, 1200, 2400 American BBS 674-1851 300, 1200, 2400 Birmingham Business BBS 856-0679 300, 1200, 2400 Bus System BBS 595-1627 300, 1200, 2400 Channel 8250 785-7417 300, 1200, 2400 Club Phoenix 942-0252 300, 1200, 2400 ProSoft Systems BBS 853-8718 300, 1200, 2400 D3 Systems BBS 663-2759 300, 1200, 2400 Duck Pond BBS 822-0956 300, 1200, 2400 Elite Empire 967-8479 300, 1200, 2400 Fortress BBS 664-9040 300, 1200 Joker's Castle 744-6120 300, 1200, 2400 LZ Birmingham 870-7770 300, 1200, 2400 Magnolia BBS 854-6407 300, 1200, 2400 Nouveaux BBS 871-5551 300, 1200, 2400 Pinson Valley Node 1 854-9661 300, 1200, 2400 Pinson Valley Node 2 854-9662 300, 1200, 2400, 9600 Primary One 853-1175 300, 1200 Role Player's Paradise 631-7654 300, 1200, 2400 ST BBS 836-9311 300, 1200, 2400 Smitty's BBS 849-7349 300, 1200 Sperry BBS 853-6144 300, 1200, 2400 The Connection Node 1 854-9074 1200, 2400 The Connection Node 2 854-2308 1200, 2400 The Outer Limits 969-3262 300, 1200, 2400 The Realm Of Tarot BBS 870-7776 300, 1200 Twilight Zone 856-3783 300, 1200 Willie's DYM Node 1 979-1629 300, 1200, 2400 Willie's DYM Node 2 979-7739 300, 1200, 2400 Willie's RBBS 979-7743 300, 1200, 2400 Ziggy Unaxess 991-5696 300, 1200