_____________________________________________________________________________ | | | ProTALK v2.1 | | | | Written by Parik Rao Thanks to Tom McDonald | | 07/21/88 For his Support | | | | The Apple Rebel BBS @ 916/457-0624 | | The official ProTALK Support Board | | And Networking Home Base. | |_____________________________________________________________________________| ----------------------------------------------- ProTALK is (c)opyright 1988 Parik Rao ACOS (tm) is (c)opyrighted by L&L Productions GBBS (tm) is (c)opyrighted by L&L Productions ProSEL (tm) is (c)opyrighted by Glen Bredon Copy II+ (tm) is (c)opyrighted by Central Point ----------------------------------------------- ______________ | | | Part I |---> Foreword |______________| Welcome to the wonderful world of ACOS! I would like to introduce you to ProTALK, a GBBS compatible Bulletin Board System (BBS) running under the ACOS environment. ProTALK is a complete BBS package with auto-networking abilities to boot! What is the price of ProTALK you ask? It is absolutely free! The only thing I ask is you register, so we can keep tabs on who's ready for an upgrade, or who would like to be in the network. We may also ask you to beta-test any future updates,so it would be in your best interests to register! You merely call the ProTALK support board, the information on it is given at the end of this file. Finally, before I begin with a explanation and instructions on how to setup ProTALK, a word to the reader. I have worked countless hours on this product, in hopes of bettering the Apple II BBS community. I do not wish to recieve mail asking why I let this into the public, or how bad I wrote code. I wrote it, unless you have something constructive to say, don't say anything at all. I am releasing this publicly mainly so I do not have to maintain the hassle of validating systems and such, but also maybe BBS users can appreciate how much work SysOps really do. It seems a current trend that users DEMAND the highest technological advancements from the poor sysops, who must struggle to keep up with such demands if they wish to have any users. It becomes a extremely large power play. Just stop and think about your BBS, whether you are running it for your- self anymore, or for boosting your ego by saying you have the biggest mass storage device in town... With that deep, philosophical question in mind, let us continue! ______________ | | | Part II |---> ProTALK v2.1 |______________| What is ProTALK you may ask? Well, a short discription is needed! Pro- TALK is a Complete BBS package with networking capabilities quite advan- ced if I do say so myself! However, as we all know, BBS SysOps are the "hacker" types who will want to dig through every bit of the source code so I won't delve into the inner workings! I'll just insert that it is a easy to use, fully configurable BBS with- out too many hassles! It comes with its own configuration program, so you don't have to become too deep a hacker! ______________ | | | Part III |---> Installation |______________| ** NOTE ** If you have previously run ProTALK, the only thing you need to run is the file CONVERT.S. If you have any questions, feel free to contact me, there are only 15 or so of you so it should not be much of a problem. Read the documentation however for technical aspects of ProTALK not yet revealed! So you've decided to actually boot up/run ProTALK, eh? Good for you! The installation is quite simple. First, you must own a hard drive, or some other mass storage device. Second, you must configure your hard drive as such for optimal performance. Note the drivemap, where VOLUME stands for /YOUR VOLUME NAME/ (eg, HARD1, CMS, etc, etc) A:/VOLUME/BBS <--- will contain ACOS, ACOS.OBJ, and all the .S (segment) files B:/VOLUME/DATA <--- will contain all the menus, help files, and data files C:/VOLUME/DATA <--- not used by ProTALK D:/VOLUME/DATA <--- not used by ProTALK E:/VOLUME/DATA <--- not used by ProTALK F:/VOLUME/BOARD <--- Where Message Base Files are stored G:/VOLUME/MAIL <--- Mail/networking Storage areas H:/RAM <--- temporary FAST-ACCESS data area I:/VOLUME/DATA <--- not used by ProTALK J:/VOLUME/DATA <--- not used by ProTALK K:/VOLUME/DATA <--- not used by ProTALK L:/VOLUME/AE/VOL. <--- SuperTAC data files A: is where all the .S files will go, and also your copy of ACOS and ACOS.OBJ will go. This is where you will always boot up your BBS. B: is where all the data files will go. These include any help files you make, and all the menus and data files generated by ProTALK. F: is where all the message base files (b1,b2,b3,etc) are stored. G: is where your mail files and networking temporary files are stored. H: is a area used by ProTALK for fast-access data storage/recall. It's crucial this area be on some sort of ram drive, as if it wasn't the BBS could slow down heavily. L: is where SuperTAC stores all its data files. Read the documentation packaged with SuperTAC for more information. If you currently run a BBS, please skip to part V. ______________ | | | Part IV |---> Configuring a New BBS |______________| *NOTE* You must follow these directions if this is your first time running a ACOS board, or if you do not wish to convert GBBSs user files, message bases, etc. First, create the directories as specified in Part III. Now, you must Get ahold a copy of a master GBBS Disk. Now boot up the GBBS disk, and install GBBS onto your hard drive. Now, go in with a copy utility such as ProSEL (tm) or Copy II+ (tm) and copy ACOS and ACOS.OBJ to the A: drivespecifier as mentioned in the above pathname map. Copy the rest of the /GBBS.PRO subdirectory onto your B: drivespecifier. Copy over B1 to your F: drivespecifier. Now unpack ProTALK.BQY and copy over all the segments (.S files) to the A: drivespecifier. On A: there should only be ACOS, ACOS.OBJ, and the segments. Unpack ProTALK2.BQY and copy over the help files and menus to your B: drivespecifier. Now reboot the GBBS MASTER DISK,and answer "N" when it asks if you wish to configure your BBS from scratch. It'll ask for the pathname of your ACOS file. Enter /VOLUME/bbs, =not= the /GBBS.PRO subdirectory but the subdirectory where ProTALK segments are contained! Reconfigure all the drivespecifiers to meet the pathname standards, and make sure you make H: as /RAM. Now, finally, boot up the ACOS on the /VOLUME/bbs drive. Enter for a starting segment "GEN.CONFIG". After this segment has compiled, you must answer "Y" to "Configure BBS from scratch? ". Follow the onscreen prompts, and your BBS is now ready to run! You may wish to add boards of course, use the "E" command in system segment... ______________ | | | Part V |---> Transferring GBBS to ProTALK |______________| Ok, this is for all you SysOps who currently run GBBS Pro v1.3 and wish to convert to ProTALK. If you are starting from scratch or do not wish to convert your BBS, please read PART IV. The VERY, VERY, VERY first thing to do is => BACK UP YOUR HARD DRIVE <= I cannot guarantee something unexpected will happen, and if it does, you will lose your old BBS and be stuck with nothing! So Back that sucker up first! Ok, now that it's all backed up, delete ALL your segments. I would suggest also following the guidelines in the DRIVESPEC MAP in Part III, but its up to you. Go into your GBBS Master CONFIG area, and reconfig H: as /RAM. Now unpack ProTALK.BQY and ProTALK2.BQY into your BBS subdirectory(s). Boot up ACOS. Enter "GEN.CONFIG" as the starting program. Wait until the segment compiles, and answer "N" to "Configure BBS From Scratch? ". Follow the online prompts, and you should be ready to go! Read Part VI however for modifications that you will have to do... ______________ | | | Part VI |---> Modifications Needed. |______________| There are many modifications that will be required to get ProTALK to custom-fit your needs. There is about 15 minutes of work to get it up and running correctly however after configuring it all. You must merely load each segment, and do a FIND/REPLACE the following... THE APPLE REBEL BBS = YOUR BOARD NAME THE REBEL = YOUR HANDLE/NAME SLEDGE = YOUR COSYSOPS NAME 916/457-0624 = YOUR BOARDs NUMBER There are about 7 segments that must be modified, however, it would be wise to check every segment. The fastest way is to use a Apple IIgs, Diversi-Key, and the ProTERM editor, you merely make four macro's that just automatically find/replace the above. At any rate, after these modifications, you merely load up ACOS, hit at the SEGMENT TO LOAD: prompt, and after compiling, and a wait, you should see the logon screen. DO NOT WORRY if you get a msg stating "SCANNING VOLUME [xx]", or if you get a BAD DRIVE SPECIFIER after SCANNING VOLUME [xx], it just means that the BBS is making a master directory automatically and could not find one of the drivespec automatically, it will hang for about 3 minutes and reset itself with ease. Now, you must go manually compile each segment so your users don't have to wait while they're online (you are, after all, a nice sysop!). After testing out various features, and doing whatever pleases you, go to the system segment. You =may= have to run the NEW MESSAGE FIX, the command is "M" from the SYSTEM LEVEL. The reason is that not always are the number of new messages converted due to quirks in ACOS and compression routines. Logon as a few users and see if the number of new messages is correct. This is only applicable if you converted your old GBBS board of course! Now you must go in, create boards, edit boards, and change any menu's you see fit. eg, you are just making cosmetic changes before you open up for the general public! The hardest part comes now. Boot up the idle-time-screen, turn off the moniter, and go watch TV or excercise. After all, 24 hours in front of a CRT screen is dangerous! ______________ | | | Part VII |---> Segment Descriptions |______________| Herein is a list of all segments and short descriptions of each... LOGON.SEG.S = Non Proterm logon, also boots up the board and is a very important and heavily used segment... LOGON2.SEG.S = ProTERM Logon segment, is basically the same thing as LOGON.SEG.S but is very glittery! MAIN.SEG.S = Main subroutine of the BBS, its basically the shell where users execute the main commands MAIN2.SEG.S = ProTERM version of MAIN.SEG.S, glittery as usual MSG.SEG.S = Message base for Non-ProTERM users MSG2.SEG.S = Message base for ProTERM Users MSG3.SEG.S = Aux segment for MSG2.SEG.S, contains routines that would not fit! SYSTEM.SEG.S = System level, for SysOps only! Contains run-time commands that help you run your BBS... SYSTEM2.SEG.S = Exact replicate of SYSTEM.SEG.S, kept in case you wish to make a glittery version MAIL.S = Mail segment MAIL2.S = Same thing as MAIL.S, just kept in case you wish to make a glittery version SUPERTAC.S = File transfer Segment, PROTERM Version STAC2.S = Non-ProTERM Version of SuperTAC STAC.AUX2.S = Contains File Transfer routines of SuperTAC, PT Spec SUPERTAC.AUX.S = Contains various routines for SuperTAC, PT Spec STAC.AUX.S = Various routines, Non-ProTERM version SUPERTAC.SYS.S = SuperTAC System Level Segment NEW.USER.S = Non-ProTERM Version of segment that handles new users NEW.USER2.S = ProTERM version of segment that handles new users GET.STATS.S = Converts old users to new upon their logon CHECK.BYE.S = Segment that basically checks whether the user really wants to terminate or not in ProTERM Spec TERMINATE.S = Segment that handles termination on ProTERM Spec VOTE.S = Vote Segment VOTE2.S = Held in case you want to make a glittery version STATS.EDITOR.S = Segment that holds routines in case the user wants to reconfigure certain statistics STATS2.EDITOR.S = Same as STATS.EDITOR.S but glittery HOME.S = Segment that contains routines for clearing the screen in ProTERM Special EDITOR.S = Segment that contains the editor used by most of the BBS EDITOR2.S = Segment that contains the editor used by the message base UP.S = Segment that allows SysOps to upload to A: - L: drivespecifiers NEW.MSG.FIX.S = Called by System Segment whenever a SysOp wants to reset the number of new messages BOARD.EDIT.S = Segment that is called by the System Level when a sysop wishes to edit a message base VAR.EDITOR.S = Segment that allows global var changes, called by System Level GEN.CONFIG.S = Configures the BBS for the first time NET.CONFIG.S = Contains the Config for the NetWork Well, there you have it...a list of the segments in ProTALK v2.1! ______________ | | | Part VIII |---> Technical Information |______________| Here are the bytes, flags, variables, and nibbles used by ProTALK v2.1... ----- Flags ----- 0 - Unvalidated User 1 - Validated User 2 - Message Base Access 3 - SuperTAC access 4 5 - 10 Pieces of Bulk Mail sendable in EMAIL 6 7 8 9 10 11 12 13 14 15 16 17 18 19 - 50 Pieces of Bulk Mail sendable in EMAIL 20 - SuperTAC Entry/Priviledged User status on Messages 21 - Download Access in SuperTAC 22 - Copy-Incoming Access in SuperTAC 23 - View Files Access in SuperTAC 24 - Upload Access in SuperTAC 25 - Elite in SuperTAC |____ 26 - Super Elite in SuperTAC |____> see addendum 27 - Super-Super Elite in SuperTAC | 28 - SuperTAC File Manager | 29 30 - Elitist Scum status on Messages 31 32 33 - DemiGOD status on Messages, Unlimited Pieces of Bulk Mail Sendable 34 - SYSOPS/COSYSOPs only ----- Bytes ----- 0 - Nulls used 1 2 3 4 5 - Low Byte of New Message Counter 6 - High Byte of New Message Counter 7 - Time Spent Online (minutes) 8 9 10 - Low byte1 of Bytes Posted 11 - High byte1 of Bytes Posted 12 - Low byte2 of Bytes Posted 13 - High byte2 of Bytes Posted 14 15 - SuperTAC Protocol 16 17 18 19 20 ------- Nibbles ------- 0 - Video Width 1 2 3 4 5 - Users Time Limit (minutes divided by 10) 6 - Calls Made Today 7 8 9 10 11 12 13 14 15 16 17 18 19 20 --------- Variables --------- *** these variables are user specific BP = Bulletins Posted TC = Times Called CL = Time Allowed Daily TOTAL (in minutes) PV = UNUSED UL = Uploads DL = Downloads U1 = High Byte Blocks Uploaded U2 = Low Byte Blocks Uploaded D1 = High Byte Blocks Downloaded D2 = Low Byte Blocks Downloaded U3 = UNUSED D3 = UNUSED PT = UNUSED (may be used for a point system) DO = Days Online AY = Whether the user needs to be converted (NEVER change) LR = Last Message Read S1$ = Birthday S2$ = First Name S3$ = Computer S4$ = Sex S5$ = Group S6$ = UNUSED S7$ = UNUSED S8$ = UNUSED S9$ = UNUSED *** These variables are globally applied AB = Number of boards online DU = Days BBS has been online SU = System Uploads SD = System Downloads IT$ = Idle Time NE$ = Net Extension ______________ | | | Part IX |---> Notes, Etc, Etc |______________| First off, I modified SuperTAC to allow one more level. I describe the entire setup as... Flag(20) = User has access to all public volumes Flag(25) = User has access to privileged volumes Flag(26) = User has access to elite volumes (does NOT show up in logs) Flag(27) = User has access to another level of elite volumes (again, does NOT show up in download/upload logs) Flag(28) = User is a board manager I have it setup so that Public Domain utilities are setup for flag(20), then files for trade between higher level users are (25), and then files I have written are for flag(26), and finally ProTALK SysOps get flag(27). Second off, if you have any trouble modifying ProTALK, getting it up and running, =ONLY= contact me on The Apple Rebel BBS. Sorry, but I do not want to waste long distance phone bills answering any more questions on how to get ProTALK up. I will gladly answers questions of any kind on the BBS though, so feel free to get an account. The number again is posted at the end of this file. Thirdly, ProTALK locks out 300 baud users, if you do wish to retain them, remove the line: if info(2)=1 gosub lockout from LOGON.SEG.S. Lastly, you may be interested in the way ProTALK keeps the users time statistics in order. It has two sets, one to count how much time is allowed per CALL, and one to set how much time is allowed per DAY. There is no calls/day limit, just time limits. CT = Number of minutes allowed DAILY nibble(5) = Number of minutes allowed per CALL (option #F on Sys Edit) A good setting is 40 minutes per CALL, and 1 hour per DAY. ______________ | | | Part X |---> Technical Information |______________| ProTALK contains two main external routines, they are named X.WAIT and X.CALL respectively. Both are available in the general public, and the documentation is available. VOTE is a complete vote module, it requires very little work, once you boot it up (by either having the force vote option, or entering "V" at the main prompts) you are prompted with a SYSTEM MENU, enter "G" for GENERATE FILES, it'll automatically generate the files, and now you can procede normally, by letting your users add questions or A)dding a few questions yourself. There is a file called PROSCRN included with ProTALK. I did =NOT= write it, so don't give me undue credit for this great mod. It allows sysops to view ProTERM Special locally, to use it, copy it over to the prefix where your ACOS.OBJ is, boot up AppleSoft ProDOS Basic, and then enter the following commands: ]BLOAD ACOS.OBJ,A$2000,L$5200,TBIN ]BLOAD PROSCRN ]BSAVE ACOS.OBJ,A$2000,L$5200,TBIN Simple enough? The Message base does not use the standard "F"orward and "R"everse read format, instead you just use "R"ead Messages, selecting "F"orward or "R"everse from there. If you wish to "R"ead Reverse, but not from the last message, merely "S"kip messages once you begin reading. This was done to preserve code space, as the segments are quite large and I did not want to create another MSGx.SEG.S! The Message Base has a added option, if you use a "%" as the first letter in a message base, the board becomes a "Anonymous" type of board What does the anonymous mode mean? It allows the user to enter a message under any name he/she choose's! This only is available on boards that have "%" as the first letter in their name, eg,"%WHO'S WHO" is a prime example that exists on the Apple Rebel BBS. SysOps are left a little note at the bottom of the message stating: [Note]:Supposedly from ------ the ----- stands for the name the user chose to assume, eg, they could use "SYSOP" or whatnot. This could be a lighthearted, fun modification or it could start some serious quarrels. Be very careful with this mod! SuperTAC only uses one data file, L:STAC.DATA (L: can be replaced by whatever drivespecifier you use). It contains the following lines... X1,Y1,X2,Y2,X3,Y3,X4,Y4,X5,Y5,X6,Y6 A$,B$,C$ W1,W2,W3 Z1,Z2,Z3 X1 = SysOp Access Low Volume Y1 = SysOp Access High Volume X2 = Normal Access Low Volume Y2 = Normal Access High Volume X3 = Flag(25) Access Low Volume Y3 = Flag(25) Access High Volume X4 = Flag(26) Access High Volume Y4 = Flag(26) Access Low Volume X5 = Flag(28) Access Low Volume Y5 = Flag(28) Access High Volume X6 = Flag(27) Access Low Volume Y6 = Flag(27) Access High Volume A$ = Last User to Exfer B$ = Last User to Upload C$ = Last User To Download W1-W3 = Total Blocks Uploaded (high1, high, low bytes) Z1-Z3 = Total Blocks Downloaded (high1, high, low bytes) ** NOTE ** Any volume that is above the one defined by FLAG(25) [Y3] is =NOT= shown in the system logs, such as DOWNLOAD, UPLOAD, and ABOUTs files. This means if you DO have special volumes setup you do not want your normal users to see, you should set up flag(26) or (27) [this allows two sets of elite volumes] to point to the high volumes, and then set up flags for your users accord- ingly. The segment AUTODIR.S automatically creates a master directory every night. You must NEVER create a master directory yourself, just link to AUTODIR if you have to create one for reasons unknown. The segment BOARD.EDIT.S allows you to edit your boards without having to boot up your GBBS Config program. I did not write this program, I merely modified it to keep it compatible with GBBS, it may have bugs for all I know, it does work fine when editing message bases however,and that is all I recommend you use it for. If you have remote sysops who would like to download segments or such from your A: - L: drivespecifier, get them into your system level, and use the "S"egment Work. You will be able to upload, download, and catalog any of the drivespecifiers, the protocol is set to Batch Ymodem automatically. Next, for those SysOps who currently run games, I would be VERRRRRRRRRY careful with them, some of them will definitly conflict with ProTALK. I have included TURBO.RUN.BQY in its own game module for your users entert- ainment, I did not write this fine segment, I am merely distributing it. Also, there is a segment called DIAL.S. It is a beta-test dialing segment I wrote when testing X.CALL, just use it for the heck of it, it doesn't really serve any purpose, it will call out fine, but when you are online things look very strange, with carriage returns not being served properly. My aim was not to write a terminal program, just to test out X.CALL. There is a segment called VAR.EDITOR.S included with ProTALK v2.1. It lets you to globally effect changes. It is called by typing "V" from the system level, you then select FLAG, BYTE, NIBBLE, or VARIABLE. You can change any of the variables that is specific for each user (a list is presented somewhere above) except AY, since this variable should never be changed. You merely enter the flag/nibble/byte/variable to globally change, enter the new value, and then enter the starting user number and ending user number. The system will work for awhile, and the variable will have been globally changed! The system also prints the time in the idle time state, if you have any problems with the board with X.WAIT, please contact me and we can work out something. X.WAIT also kicks into a slow-wait routine sometimes, you will see the screen print something along the lines of... RETURNING TO IDLE TIME STATE IN -> 00:00:60 secs" and the 60 will vary from 1-60. Don't worry, this is a function I had to insert to keep the integrity of the board. It will return to the idle state within 1 minute. SuperTAC allows multiple drivespecifiers to be online, to accomplish this three segments must be changed. They are: SUPERTAC.S STAC2.S AUTODIR.S At the beginning of each segment, you will find a line something along the line of... V1$="L":V2$="":FV=0 To use 2 drives/volumes, change FV to the highest volume of the first drive, and v2$="K" or whatever other drivespecifier you wish. An example is: /CMS/TRANSFER/AE/VOL.1 <- These are your L: drive specifiers 2 <- previously defined 3 <- 4 <- /CMS.2/TRANSFER/AE/VOL.5 <- These are the transfer volumes on 6 <- your second drive. They MUST be 7 <- numbered sequentially =AFTER= the 8 <- the ones on the first drive (eg, 5-8) After changing these lines, whenever a user logs to volume 5 for example, SuperTAC checks to see if it indeed is above the first drive, and if so, it changes the drivespec to K: + x, where x represents the volume number. Remember, the second drive must NOT be numbered 1-20 or whatnot, but 20- 40. =Note= This was a built in feature of SuperTAC, I did not write it! Finally, if you wish to network, please read the accompanying NET.DOCS and call the Apple Rebel BBS as the instructions state. Networking is a exciting, innovative technology coming into full swing for Apple II BBSs, and I have designed cheap alternatives to calling direct, such as PC Pursuit, but these updates are only available on the Apple Rebel BBS. ______________ | | | Part XI |---> Wrapping it Up... |______________| Well, I guess you've got ProTALK up now, eh? I wish the best of luck for you, and I sincerely hope you join in the network. Its SysOps who do that make it all worth it, and keep my faith in the Apple II Community alive. Feel free to drop me a note on the Apple Rebel BBS anytime, I'm available on other BBSs but more and more infrequently with other programming projects. Lastly, I ask you to PLEASE register with the Apple Rebel BBS, I sincerely want to keep track of who's running this sucker. It may be nice to keep a running list or whatnot. Thank you all for your time, and may God be with you, and your system, which will definitely need him... :-) Parik Rao ______________ | | | Part XII |---> Ending |______________| =================== ============ ============= ============== The Apple Rebel BBS 916/457-0624 120 Megabytes 1200-9600 Baud =================== ============ ============= ============== The Official ProTALK Support Board _______________________________________________________________________________ ProTALK is (C)opyright 1988 Parik Rao, and is a trademark (tm) of Rogue Systems _______________________________________________________________________________