[opts] OPTS: -? or -h Will give you the above line. The default for rbpass is to look in /DD/RIBBS.CFG for the path to your fido out directory. Once invoked, it will read your password.ctl file if it exists, or create a new one if it doesn't. If you didn't already create a /CFG directory, it will create that also. There is a limit of 100 system entries. There are options for reading/writing your old password.ctl file to maintain compatibility with the old modules until they are all updated. Eventually this will be phased out. There are four password entries you can enter for each net/node. Session This is used by WaZoo and put in p#.#.OUT files. Packet This is placed in *.PKT files. Areafix Future addition to mailimport hopefully. Future Reserved space for who knows what at this point. The first two entries are the only two you will need to use at this point. You probably won't even use the packet passwording, but it is there at least. Once you invoke rbpass you will want to first dd an entry. Typing a '?' will give you a help screen of the commands. They are: E - Edit an existing entry A - Add an entry D - Delete an entry Q - Quit. If you made changes, You will be prompted again to make sure. S - Save the password file ? - Help I disabled the break key in the program to avoid trouble (I hope) like mistakenly aborting a half hour's work! And I safe guarded the quit option to make sure you want to quit if you have changed anything. 72 UTILITIES UNBUNDLE This program is responsible for dearchiving your mail packets so MailImport can toss them. It is invoked from within your Mailimport.Bat file. UNBUNDLE -? will give you a help message. The command line for unbundle is: unbundle [opts] [ribbs.cfg pathname] [opts] OPTS: -d Delete bad archives/files (default = move to FIDOIN/BAD) -c Use 'cp -m' instead of 'mv' Unbundle is controlled by a file called UNARCHIVE.CTL located in you FIDO OUT/CFG directory. (See the sections on REQUIRED TEXT FILES for the format of UNARCHIVE.CTL). Unbundle will read this file then call the appropriate program to dearchive the mail. The default mode of operation for unbundle is to look at /DD/RIBBS.CFG. This can be over-ridden on the command line when calling unbundle. It will also move bad archives to the FIDOIN/BAD directory. If the BAD directory doesn't exists, unbundle will create it. When moving files it will call 'mv'. If you don't use 'mv' then use the '-c' option to use 'cp -m'. Either of these 2 programs will help keep your drive from getting fragmented by just moving the directory entry for the file instead of physically moving the file. 73 UTILITIES LOOKNODE Looknode is a program that is not needed by Ribbs. It is a stand alone program. LookNode will let you enter a Fido style 3- ply (Zone:Net/Node) address and it will retrieve the data on that node. You can press "N" after retrieving data on a node to get the data on the next node... this can be done repeatedly until you reach the end of that net. It will tell you a system's Name, Location, Sysop, Baud Rate, Phone #, Region #, up to six operating Flags, and any special comment about that system (such as "Regional Coordinator", "Hub", or "Temporarily Down".) It utilizes the RiBBS 2.10 format of a Nodelist.idx file mated to a raw Nodelist.xxx ('xxx' substituted for the julian date of issue.) This program has two modes: Local Non-BBS mode In this mode,the program runs in a monochrome mode, not affecting your screen colors or settings. Also, when run from the OS9: prompt, you do not need to have "Linein", "Lineout", "Elapsed", or "CDCheck" in memory. RiBBS Online Mode In this mode, the program is decked out with gaudy colors and keeps an eye on the time limit, carrier, etc... Like most other RiBBS online programs, it is called with a Menu Action #11. This mode may not save you many keystrokes, but it can be quite useful if one of your users is the moderator for an echo or if you give your users access to NetMail. 74 UTILITIES DUMPFILE The DUMPFILE module is the program that will send TEXT files to the user online. You can add special codes to the text files on your BBS to display color, special information using the ALT key, or have TRUE ANSI cursor positioning. For this reason, you will have to create two (2) separate files for every file that is in the 'Required Text Files' marked with an (*). One of the files will be the name of the file alone (no extension), and the other will have the extension of '.ASC'. The NORMAL text file can contain any X/Y cursor positioning. The text file with the extension of '.ASC' must not have any! You can, however, have colors codes in BOTH of the text files. IF the user online is in the ANSI or OS9 terminal mode, then when DUMPFILE goes to send a text file to him/her, it will display the file WITHOUT the extension of '.ASC'. If the user online is in the Standard TTY (or ASCII) mode, then DUMPFILE will display the file WITH the extension of '.ASC'. For this reason, you can not have ANY X/Y cursor positioning in the text files with the extension of '.ASC'. HINT: If you are NOT going to have cursor positioning in your text files, then create the required files and simply make a copy of them adding the extension of '.ASC'. Alt codes recognized by dumpfile, put these in text files! (press [ALT] while pressing one of the following keys) A - Disable (S)top on this text file. Allows you to lock out the 'S' key from a user so they can't bypass this text. B - Wait for key press. Stops the text listing and waits for the user to press a key. You will need to put a prompt in your text. For example, 'Press [ENTER] to continue'. C - City & State. Shows the city and state from which the current user is calling. D - Download limit. Shows number of files they can download. F - Flags. Current users flags they have set. G - User timelimit this call. Amount of time they are allowed on the BBS. H - Name of last caller. Shows who the last person who called. I - Current time and date (OS9 format). J - Time and date current user logged on. K - Number of call current user has made to BBS. Shows the number only. L - Level. Shows current users level. 75 UTILITIES M - Date current user last logged on. Shows the date current user last called BBS. N- Current users name. Info about the FILES.BBS file: If you have the file in all UPPER CASE characters, then this file will NOT be displayed by the 'Download by Number' command. However, if you choose to have the filename in UPPER CASE,then you MUST have a copy of the FILES.BBS file with the extension of '.ASC'. You can drop having two 'FILES.BBS' files by having the filename in ALL lower case characters. This will save valuable disk space, but this file will be displayed by the 'Download by Number' command. 76 APPENDIX A SPECIAL FUNCTION KEYS Available at the wait screen: R : Rescan Fidoout Dir and Schedule I : Execute an EVENT keyword immediately L : Go into RiBBS Local mode P : Poll Net/Node *FIDO OPTION* S : OS9 Shell M : Display outbound Mail on screen NOTE: For current event only Q : Quit RiBBS Available when a user is in the menu system. ALT-C : Enter Chat mode [CTRL]-7 = exit from sysop chat. ALT-H : Hangup current user ALT-S : Online update of users level and flags ALT-DOWN : Remove ten minutes of time from user ALT-UP : Add ten minutes of time to user EVENTS Key Words - CHAT - Turns chat on. CHATOFF - Turns chat off. HUMAN - allows users to log on. NOHUMAN - doesn't allow users to log on, used with FIDO. MAIL - Allows RiBBS to transfer mail, FIDO option. If NOHUMAN and MAIL are true the file MAILHOUR will be displayed. NOMAIL - Shuts down the FIDO mail transfers from RiBBS. 300 - Allows 300 baud callers. NO300 - doesn't allow 300 baud callers, shows file TOOSLOW if 300 baud caller tries to log on. POLL - Allows you to poll a NET/NODE at whatever time you specify. NOTE: When using this Keyword the NET# that your polling, must be qualified in the schedule. Also MAIL must be on otherwise Ribbs will go into a loop. SCHEDULE [n] - Allows you to control which schedule is active from your ROUTE file. Also, any OS9 command can be processed by events. (i.e. list /h0/bbs/file/log >/p ) 77 APPENDIX B POINTS/RATIO/CREDIT SYSTEM UPLOAD RATIO The points system is controlled by the "Upload Ratio" field in RConfig (General Settings). If a "0" is in that field, no points system is in place. If a number greater than zero appears there (and I recommend you use only positive numbers), then each kilobyte that you user uploads will be multiplied by that number. For example, if you wish to have a 10-to-1 ratio in place, you would make your Upload Ratio field "10". If a user uploaded a 25 kilobyte file, he would receive 250 points for it and would then be able to download up to 250 kilobytes worth of files in exchange for that file. Under this system, a user can accumulate up to 32,767 points, which corresponds to 32 megabytes of credit. NEW USER DOWNLOAD CREDIT This field determines how much credit your BBS gives to new users. Simply fill this field with the number of K-bytes you wish to allow a user to download before being required to upload. This will even work for his first call if you allow unvalidated users to get at that area of your board. Since RConfig allows you to enter a number up to "999" in the New User Download Credit field, you can give new users up 999 kbytes of credit. Here is how it works on my system. In RConfig, I have the following settings: Upload Ratio (Points) 10 (* defines a 10-to-1 ratio*) New User Download Credit 360 (* defines 360k download credit *) A new user logs on, he has "0" points. He is able to download up to 360k. If he downloads a 60k file, he has "-60" points. He can now download up to 300k (360 + (-60)). If your user then uploads a 15k file, he will have "90" points (-60 + (10 * 15)) and can now download up to 450k (360 + 90). 78 APPENDIX C AN APPLICATION FILE Creating and using the Application File This option is if you require an application to be filled out before giving users access to your BBS. This is usually required by most BBS' to gain minimal information about the users. This file can be used in possibly three different areas. The first area would be when a new user accesses your BBS and you have the Application -Accepted and Forced options in RConfig set. Refer to the section on RConfig. RiBBS would use the file 'NEW2' as an application file and it MUST be in the application format. On the other hand, if you had Applications-NOT Accepted but still had the Application - Forced set in RConfig you would need to have 'NoApp' file set up as an application. The third possible area would be in a menu aa an option, this would be menu action 26 and the pathname would be the file that is used as the application. When the Application is run, Ribbs will send a line that looks like this to your Appfile. --New User--(93/04/04 05:00:01)-- This is to aid you in finding the beginning of a set of data for a user. (In case you want to write a program which processes the Appfile). The following is a list of commands available to the Application and is basically what I refer to as the Application 'language'. The format of the Application is very flexible and can include any questions you feel necessary for users to answer to gain access to your RiBBS board. You can use the EDIT or BUILD commands from OS-9 or any OS-9 text editor. The first line MUST contain the filename the 'answers' will be saved to (ie. application.dat). The lines in your file should consist of the following commands, commands have to be in all capital letters and should be EXACTLY like the examples taking note to spaces, parenthesis and quotes. COMMAND ACTION ============================================================ SEND "text" Sends contained in quotes to screen and path (You should limit this to 80 characters per SEND line). GET(01)30 Will get data and place it in variable #01, this data has a limit of 30 characters. GET(02)80 Same as above except will store data 79 APPENDIX C in variable #02. This also has a limit of 80 characters. GET(03)"YN" Will accept only data input that matches the variable in the quotes. If any other data is input, it will ignore it. GOTO "LABEL" Will locate and GOTO the LABEL, used in an IF statement or alone. LABEL NAME Identifies a LABEL, the word "LABEL" MUST proceed your label name. LEVEL(#####) Set the user's level to the specified number in the parentheses. FLAG(#ON/OFF) Set a user's flag '#' ON or OFF. The flag '#' is one of the eight flags reading from left to right. (--------) (12345678) TIMELIMIT(###) Set the amount of time (minutes) a user is allowed on your BBS. 1-255 with 256 as unlimited. PRINT(01) Prints the contents of variable #01 to screen and path (modem). IF(01) "data" Compares the contents of variable #01 to the data contained in the quotes. NOTE: An ENDIF MUST follow this condition. ELSE Only used in the IF statement, will perform a different command if the first condition didn't match. You can not use an IF statement inside another IF statement (no nested IF statements) ENDIF The finish condition to the IF statement. SAVE(01) Saves the contents of variable #01 to the output file specified in the first line. SAVE"-BBS -Info-" Save the absolute text to the Appfile. SAVE"Name : "(00) Save the absolute text and variable #00 to the Appfile. CTRL-1 This is the character to define a line feed. Used in the SEND statements. -> VAR#00 - This variable contains the name the user logged on, this can be SAVEd, or PRINTed (ie. SAVE(00) will save the name the user logged on with to the output file). 80 APPENDIX C Here is an example to help better understand the Application commands and format: application.dat *<-filename SEND "|New User Application|" SEND "|Please fill out this information to gain higher access to this BBS" SEND "|" LABEL NAME SEND "|Full Name : " GET(01)40 IF(01) " " ** The IF will not compare nulls (IF(01) "") ** GOTO "NAME" ENDIF LABEL ADDRESS SEND "|Address : " GET(02)40 IF(02) " " GOTO "ADDRESS" ENDIF LABEL CITY SEND "|City/State/Zip : " GET(03)80 IF(03) " " GOTO "CITY" ENDIF LABEL COMPUTER SEND "|Do you own a CoCo 3? (Y/N)" GET(04)"Y" IF(04) "Y" LEVEL(200) FLAG(7ON) FLAG(2ON) ELSE LEVEL(100) FLAG(8ON) ENDIF SEND "|Thanks for the input! Saving this information, just a moment..." PRINT(00) SEND "|" SAVE" New user Information" SAVE"Name user Logged on with: "(00) PRINT(01) SEND "|" SAVE"Name user said his name is: "(01) PRINT(02) SEND "|" 81 APPENDIX C SAVE"Address: "(02) PRINT(03) SEND "|" SAVE"City/Sate/Zip: "(03) 82 APPENDIX D AUTOMATED NODELIST PROCESSING Below is a script file to process the NODEDIFF files. You will probably need to change some paths to make this work on your system. It is offered as an example of how such automation can be done. I have this script code in the middle of my MailImport.bat file. It assumes that the NODEDIFF arrives in .ARC format (causing the unARCed "nodediff.xxx" file to have an extra "x" in front of it), you have "/r0" installed, that you are using ShellPlus 2.1 (with wildcard expansion defaulted to "off"), and that your directory structure looks something like this: /DD | CMDS----BBS----SYS .......... | CMDS---FILES---FIDOIN---FIDOOUT..... :IF -F NODEDIFF.A?? ECHO Processing new large NodeDIFF file... echo Moving Nodediff to fresh directory... cd /dd/bbs;makdir NODEWORK;cd /dd/bbs/fidoout :cp -mv nodelist.* /dd/bbs/NODEWORK cd ../nodework echo Dearcing Nodediff file... :dearc /dd/bbs/fidoin/NODEDIFF.A?? echo t >-/r0/del_old_nodefiles :echo del * >+/r0/del_old_nodefiles ECHO Running 'Cparslst' on new NODEDIFF.Axx file. :echo cparslst NODEDIFF.* >-/r0/run_cp /r0/run_cp del /r0/run_cp Echo Deleting Old Nodelist... /r0/del_old_nodefiles del /r0/del_old_nodefiles :echo nodeprocess * >-/r0/run_np echo Running Nodeprocess...;/r0/run_np del /r0/run_np Echo Moving files to their respective places. :cp -mv nodelist.* /dd/bbs/fidoout Echo Deleting temporary files/dirs cd ..;echo D >-/r0/tmp;deldir NODEWORK + /h1/bbslog/log;date t >+ /h1/bbslog/log ELSE ECHO No new NODEDIFF files. ENDIF 83 APPENDIX D Non-stock programs used: Dearc by Vaugh Cato (?) CP Jamie S. Wilmoth CParslst Norm Rheaue CP.ar, Dearc.ar, CParslst.pak can all be FReq'ed from my system (1:147/61) and are available on most major OS-9 BBSes and pay services. 84 APPENDIX E USER FLAGS The user flags can determine if the user will be able to see an option or if that option is not available. This is done by using EIGHT different flags. Determined by which flag is set (equal to X), or not set (equal to -). To set a flag or flags you would simply determine which flag needs to be on for that user to see that option. If you set a flag for an option, set the same flag for the user. Here are some examples: MENU ACTION : LEVEL : FLAG ========================================== Read messages 200 -----X-- Leave messages 300 ----X--- SysOp chat 100 ------X- Goodbye 000 -------- Sub-Menu A 500 X------- For any user to be able to access the above commands his access LEVEL has to be equal or higher than that of the option. Also, their FLAG has to be equal to the flag set for that option. If a user has an access level of 600 and his flags are equal to X---XXX- they will have access to all of the above commands. If the user has the following flags set: XXXX-XX-, they can access everything except 'leave messages'. OK, here is the confusing part about flags. The flags are numbered (--------) 12345678 What that means is that when MENUEDIT asks you for the FLAGS for simulating a menu, it wants the Decimal number that set of flags represents. If your familiar with Binary, then you'll have noticed that this backwards from what your used to. For those not familiar with Binary, here is what it means. Each flag has a decimal number it represents. EXAMPLE (1 2 4 8 16 32 128). What you do is add the values together for each flag that is set, then that is the decimal number for that combination of flags. For EXAMPLE: If you had a menu option with flag numbers 1 3 5 7 set, then the decimal equivalent value for that would be 1+0+4+0+16+0+64+0=85. Flags that aren't set are equal to zero. 85 APPENDIX E USER LEVELS The user levels are to place users at different access levels on your BBS. These, primarily are to limit access to the various options you have available on your BBS. You may not want users of one SIG (Special Interest Group) to have access to another SIG. That is Apple users will not have access to your CoCO SIG. There are 32,000 levels available in RiBBS v2.10. You can set a users level to 0 or 32,000. You should set your access (SYSOP) to a fairly high level and limit those who have this access level. Those that have SysOp access level will be able to delete any or all messages in any message base. Give this level to users with care. You can use the levels and flags at your discretion. Make sure users have enough access on your BBS so they find it enjoyable and want to call back. Read the section regarding the Application for more ideas on the use of levels and flags. 86 APPENDIX F SAMPLE MODEM INIT STRINGS: The following is a list of some different modems and the init strings used by some of the Ribbs Sysops. This one is from Tom Brewer Tandy Unmodified RS-232 Pak in slot one of Multipak interface Using Aciadrv driver with t2 CRC of Aciadrv is $20559C Rs-232 pak is connected to Packard Bell PB2400PLUS Modem through inverted cable adapter. (ALL WORKS WELL) Modem and I/O High Baud Rate :2400 I/O pathname :/t2 Carrier Bit :64 Standard=$20,Inverted=$40 Carrier Callcode :130 Getstt call- MWP=130, T2=$28 Modem Init String :~AT&C1&D2M0S0=1S2=34S7=30S9=15Q0H1X4V1| Modem Hangup String :^R|~ATH1| Modem Busy String :ATH1| This one is from Randy Kirschenmann 1. I'm using a Novation Professional 2400 modem, which supports MNP levels 1 & 2. It has speed buffering and auto baud detect which I've shut off to avoid conflicts with the RiBBs autobaud and problems with file transfers with some of the clone systems I've connected with. 2. I'm using SACIA with a patched version of SENDHELLO to allow Wazoo to function. My /t2 xmode looks like this: nam=T2 mgr=SCF ddr=SACIA hpn=07 hpa=FF54 upc=00 bso=01 dlo=00 eko=01 alf=01 nul=00 pau=00 pag=18 bsp=08 del=18 eor=0D eof=1B rpr=09 dup=19 psc=17 int=03 qut=05 bse=08 ovf=07 par=00 bau=04 xon=11 xof=13 col=50 row=18 xtp=04 wnd=04 val= sty= cpx= cpy= fgc= bgc= bdc= I'm using the Disto SCII & 4n1 with the hardware hack as described in the text file Ribbs4n1.doc. I'm also using pins 6 & 8 inverted on the RS232 cable. 87 APPENDIX F 3. The patches to the driver come from the smouse.ar file; that is the joystick patch smouse.cc3i0.joy. I'm using a clock module from Disto.clock for 60hz. 4. My init string looks like: AT&D1&C1H0S0=1| My hangup string is: ~~+++~~ATH0~H0| My busy string is: ^T~~+++|~~ATH0S0=0~H0| 5. Carrier bit = 64, Callcode = 40 6.All modem commands are in the above strings. NOTE: A patched SENDHELLO is no longer required. This was for Ribbs 2.02 The following is from Charles West 1. The type of modem I have is a Practical Peripherals PM2400SA MNP Level 5 2. The device driver is Ryszard Sliwinski's ACIADRV (.cnv) with the following TPORT Settings: col=50 row=18 spt=01 val=01 slt=03 isz=02 osz=7F cfl=00 csg=00 xyz=00 3. My Xmode settings -upc bsb bsl echo lf null=0 -pause pag=24 bsp=08 del=18 eor=0D eof=1B reprint=04 dup=01 psc=17 abort=03 quit=05 bse=08 bell=07 type=00 baud=04 xon=11 xoff=13 4. INIT strings Modem Init String: ~AT&C1&D2S0=1S2=34S7=30S9=15Q0E0H1X4V1| Modem Busy String: ATH1| Modem Hangup String: ^R|~ATH1| 5. Callcode and Carrier Bit Callcode: 130 Carrier Bit: 64 6. I put the following in my PARK.BAT. This puts the modem in MNP mode, but not with data compression enabled. It is listed by Park.bat. echo AT\V0\N3\T5S12=30S25=10M0H0 >/t2 88 APPENDIX F This one is from Warren Hrach Here is the modem strings and etc I use with my ZyXEL U-1496 V.32b/42b/FAX. Note that some concessions are made since a Hardware Handshaking driver, SACIA wont work at present, is not available as well as RiBBS will not go to 19,200 baud for a 'lock DTE to DCE @ 19,200 baud rate' and let the modem do the autobaud detect. This is where the hardware hand-shaking driver is required. What happens when I do set for lock at 9600 baud calls at 1200 and 2400 will experience loss of chars when RiBBS sends at 9600 to the modem and the modem tries to use the CTS to stop the sending. So for now the following does work except for callers that let there modem call at 14,400 baud. They get garbage since I use that 'CONNECT 14400' message to tell RiBBS to use 4800 baud. However now most callers have discovered how to call at max 9600 baud and thus enjoy real fast downloads and mail reading. So for now my nodelist entry does not contain 'CM' for crash mail and I poll a Binkley Mailer system and get mail. However if my hub was a FD mailer they can customize so they could crash mail at 9600 baud. Additionally I do lock at 9600 baud during ZMH since I can get a mail pkt at 14,400 and RiBBS at 9600 baud with no problem. This is all using aciadrv and its /T2 in the stock config with the reversed cable. I use a basic09 program to do the changes from events as script files cannot send an &. The source for these is included also. Modem config in my rconfig : High Baud Rate :9600 I/O pathname :/T2 Carrier Bit :64 Carrier Callcode :130 Modem Init String :^RATS0=0&D2&C1S2=94S10=14Q1M0N0H1| Modem Hangup String :^RATS0=0&D0H1| Modem Busy String : (Same as Hangup) 9600 Baud Response :CONNECT 9600 4800 " " :CONNECT 14400 2400 " " :CONNECT 2400 1200 " " :CONNECT 1200 300 " " :CONNECT 300 Busy Response :BUSY No Carrier Response :NO CARRIER No Connect Response :NO CONNECT 89 APPENDIX F Park.bat file in my files dir : who list /dd/bb2/files/who.dat >/w7 echo ATQ0S0-1H0 >/T2 Events file from my files dir : 01:59MODEMB1 02:00NOHUMAN 02:01MAIL 02:02SCHEDULE 3 02:03POLL 202/335 02:55LOGOFF_BUILD 02:59MODEMB0 03:00HUMAN 03:05HUMAN 04:00SCHEDULE 2 09:00CHAT 11:25MBBAK 11:26PACKMSG -P850 -R5000 12:00FIXLOG 22:00CHAT OFF 22:01FIXLOG Modemb0 and modemb1 src : PROCEDURE modemB0 DIM path:INTEGER DIM modem:STRING[3] modem:="/T2" OPEN #path,modem:WRITE PRINT #path,"AT&B0" CLOSE #path PROCEDURE modemb1 DIM path:INTEGER DIM modem:STRING[3] modem:="/T2" OPEN #path,modem:WRITE PRINT #path,"AT&B1" CLOSE #path Note that I never get 4800 baud calls so that could be deleted and a v.32b/42b modem wont connect at 300 baud unless set for only 300 baud. 90 APPENDIX F This one is from Chris Johnson 1. Baud Bandit MNP/Level5Plus. 2400 BPS, MNP5 with buffering (MNP5 and buffering _disabled_ for RiBBS) 2. Aciadrv/T2 driver 3. Driver from the 2.02 4. Xmode as follows* nam=T2 mgr=SCF ddr=ACIADRV hpn=07 hpa=FF68 upc=00 bso=01 dlo=00 eko=01 alf=01 nul=00 pau=00 pag=18 bsp=08 del=18 eor=0D eof=1B rpr=04 dup=01 psc=17 int=03 qut=05 bse=08 ovf=07 par=00 bau=05 xon=11 xof=13 col= row= xtp= wnd= val= sty= cpx= cpy= fgc= bgc= bdc= 5. Rconfig Init: ~~~+++~~ATZ| Hangup string uses ^R|~~~+++~~~ATH|~~~ATZ| (Modem setup:) ACTIVE PROFILE: B0 E1 L2 M1 Q0 V1 X4 Y0 &C1 &D2 &G0 &J0 &L0 &P0 &R0 &S0 &X0 &Y0 S00:000 S01:000 S02:043 S03:013 S04:010 S05:008 S06:002 S07:030 S08:002 S09:006 S10:014 S11:095 S12:050 S14:0AH S16:00H S18:000 S21:30H S22:76H S23:17H S25:010 S26:001 S27:00H ERROR CONTROL COMMANDS: \A3 \B3 \G1 \J1 \K5 \M0 \N1 \Q0 \T010 \V0 \X0 %A000 %C0 -P0 STORED PROFILE 0: B0 E1 L2 M1 Q0 V1 X4 Y0 &C1 &D2 &G0 &J0 &L0 &P0 &R0 &S0 &X0 &Y0 S00:001 S01:000 S02:043 S03:013 S04:010 S05:008 S06:002 S07:030 S08:002 S09:006 S10:014 S11:095 S12:050 S14:0AH S16:00H S18:000 S21:30H S22:76H S23:17H S25:010 S26:001 S27:00H ERROR CONTROL COMMANDS: \A3 \B3 \G1 \J1 \K5 \M0 \N1 \Q0 \T010 \V0 \X0 %A000 %C0 -P0 6. Carrier callcode, etc: 130; Carrier bit 64 (Reversed cable) This one is from Dave Spicer. 1. Modem Type:SupraModem 2400 2. Driver:Sacia 3. Xmode Settings: nam=T2 mgr=SCF ddr=SACIA hpn=07 hpa=FF68 upc=00 bso=01 dlo=00 eko=01 alf=01 nul=00 pau=00 pag=18 bsp=08 del=18 eor=0D eof=1B rpr=04 dup=01 psc=17 int=03 qut=05 bse=08 ovf=07 par=02 bau=04 xon=11 xof=13 col=50 row=18 xtp=04 wnd=04 val= sty= cpx= cpy= fgc= bgc= bdc= 4. INIT STRING: |ATEQV1L1M1X4S0=1S2=64S11=50&C1| 5. Carrier Code and Callcode: $28, $40 91 APPENDIX G MODIFYING XMBLIN XMBLIN is the Basic09 module merged with XMIN. As supplied with Ribbs, it pre-extends the file it is receiving in 16k chunks. When any transfer starts, Xmblin will open the file and size it to 16384 bytes and start writing to it. If it receives enough to fill that 16k segment, Xmblin will stop receiving data long enough to size out another 16k chunk. This may happen up to 48 times while the file is being received before your segment list gets full and you bomb out with an error 217. With this setup, you can receive a file that is up to 786,432 bytes long. The good news is, a file that is this size or smaller will NOT get too fragmented to receive. The bad news, that one larger WILL. (no matter how empty your hard drive is.) If you anticipate receiving larger files then this, you change the default segment size in Xmblin to something larger then 16k. I have mine set at 64k now which allows me to receive files up to 3,145,728 bytes long without over-fragmentation. If you have your segment size set too high, you'll notice extreme delays in the transfer (long enough to cause the sending system to abort the session) caused when OS9 tries to find a block of disk space large enough. Floppy users may wish to set theirs to "0" so that no pre- extension is done at all. In order to change the segment size in Xmblin, you need a file zapper like DED or Kwikzap. The four bytes in the range of $14-$17 are now set to "00 00 40 00". $4000 = 16k. You may put any hex value you need into this slot. (Remember to re-verify the module) and that will be your new segment size. I recommend a range between 16k and 128k depending on how empty your hard drive is. 92 APPENDIX H CONNECT Ribbs is now capable of locking the baud rate of Ribbs to the modem (if your modem has this capability) by reading the extended information in your result codes. Ribbs will read a result code of: CARRIER 2400 PROTOCOL LAP-M CONNECT 9600 Connect sees this and reports: Connect at 9600 (2400) Both baud rates are sent back to Ribbsmain (the 9600 will be needed when running Setbaud to hang-up the modem, and the 2400 will be needed by Fileout to correctly estimate the transfer time. Connect will also recognize an extended result code that looks like this: CONNECT 96000/V32bis 2400/V42bis Bear in mind that this is only necessary if your port is locked at one baud rate. You must have your modem set to send extended response strings in the above formats (if it can). If your modem does not do those formats, then Ribbs will assume both true baud and port are the same speed at all times. 93