home *** CD-ROM | disk | FTP | other *** search
Wrap
Documentation for FBBS-2.0 ** 1/26/85 ** page 1 Purpose ------- FBB╙á stand≤á fo≥ FORT╚ Bulletin-BoarΣ System¼á anΣ i≤á ß ì publiπá domaiεá tree-structureΣá systeφá modeleΣá afte≥á thσ ì Communi-treσá system«á Thσ purposσ iε placinτ thi≤ codσá iε ì thσ publiπ domaiε i≤ NO╘ t∩ providσ ß general-purposσ do-al∞ ì BB╙ fo≥ freσ fo≥ everyonσ fo≥ ever∙ computer¼ bu⌠ rathe≥ t∩ ì providσ ß basiπ systeφ witΦ thσ capabilit∙ t∩ bσ expandeΣ iε ì almos⌠ an∙ direction«á ╔ wil∞ tr∙ t∩ answe≥ questions¼á bu⌠ ì othe≥ thaε that¼á ╔ caε offe≥ littlσ o≥ n∩ freσ suppor⌠á fo≥ ì thi≤ system. T∩á thosσ wh∩ wisΦ t∩ alte≥ thi≤ systeφ anΣ sel∞ it¼á fee∞ ì freσ t∩ d∩ so« Iµ yo⌡ makσ ß lo⌠ oµ mone∙ anΣ fee∞ ß littlσ ì guilty, feel free also to send me some royalties. General ------- Iµ yo⌡ n∩ littlσ o≥ nothinτ abou⌠ tree-structureΣ BBS's¼ ╔ ì strongl∙ advisσ tha⌠ yo⌡ spenΣ aε hou≥ o≥ tw∩ oε onσ oµá thσ ì communitreσ board≤ (the∙ arσ listeΣ iε Thσ Compute≥ Shopper⌐ ì t∩á ge⌠ ß fee∞ fo≥ wha⌠ i≤ goinτ on«á Thσ basiπ premisσá i≤ ì tha⌠á eacΦá messagσá iε thσ treσ i≤ appendeΣ t∩á somσá othe≥ ì messagσá (it≤ parent⌐ anΣ may¼á iε turn¼á havσ onσ o≥á morσ ì message≤á appendeΣá t∩ i⌠ (it≤á sub-messages)«á Thesσá sub-ì message≤á caε havσ therσ owε sub-message≤ anΣá s∩á on«á Thσ ì top-mos⌠á messagσá iεá thσ treσ woulΣ normall∙ havσá a≤á it≤ ì submessage≤ al∞ thσ curren⌠ majo≥ topic≤ iε thσ tree« EacΦ ì oµá thesσá topic≤ coulΣ havσ ß lis⌠ oµ comment≤á abou⌠á tha⌠ ì topic¼ anΣ thσ comment≤ coulΣ havσ comments¼ etc« etc. Therσá i≤ onσ uniquσ messagσ iε thσ Tree¼á anΣ tha⌠ i≤á a⌠ ì thσ to≡ oµ thσ tree«á Thi≤ messagσ i≤ uniquσ iε tha⌠ i⌠ ha≤ ì n∩ paren⌠ (i.e« i⌠ wa≤ no⌠ addeΣ t∩ anothe≥ message)« Wheε ì thσá Treσ i≤ firs⌠ brough⌠ up¼á thσ routinσ ENTER-TO╨á in-ì itialize≤ thσ systeφ anΣ allow≤ yo⌡ t∩ ente≥ thi≤á message« ì Al∞á othe≥ message≤ iε thσ systeφ arσ addeΣ t∩ thi≤ o≥á somσ ì othe≥ messagσ usinτ thσ ADDT╧ <msg-name╛ command. Thσá command≤á (o≥ fortΦ lexicons⌐ iε thi≤ systeφá ma∙á bσ ì spli⌠ int∩ therσ groups: 1⌐ Use≥ commands 2⌐ Syso≡ commands 3⌐ Interna∞ commands. Thσ norma∞ use≥ woulΣ usσ onl∙ thosσ command≤ fo≥ reading¼ ì indexing¼á anΣ findinτ messages« Thσ Syso≡ command≤ includσ ì thosσ fo≥ messagσ removal¼á restructurinτ thσ tree¼á anΣ fo≥ ì disδ compaction« T∩ perforφ thesσ commands¼ ß largσ se⌠ oµ ì interna∞ command≤ arσ used¼ whicΦ neithe≥ thσ syso≡ no≥ thσ ìè Documentation for FBBS-2.0 ** 1/26/85 ** page 2 use≥á neeΣ bσ concerneΣ about«á Programmer≤ caε builΣá morσ ì use≥á and/o≥á syso≡á function≤ b∙ combininτá thesσá interna∞ ì commands. Unlikσ FBBS-1.0¼á nothinτ a≤ systeφ dependen⌠ a≤á limitinτ ì whicΦ function≤ caε bσ executeΣ ha≤ beeε implemented« This¼ ì a≤á wel∞ a≤ sucΦ thing≤ a≤ modeφ interface¼á arσ lef⌠ t∩ thσ ì enΣ user. Use≥ commands: ------------- Thesσá arσ fe≈ iε numbe≥ anΣ general-purposσ iε naturσá t∩ ì makσ usinτ thσ boarΣ a≤ simplσ a≤ possible: REA─ <msg-name> [date] ----------------------- Thi≤á i≤ thσ mos⌠ commoε function¼á anΣ i≤á rathe≥á self-ì explanatory« ┴ headinτ i≤ printed¼ thσ bod∙ oµ thσ message¼ ì anΣ ß lis⌠ oµ an∙ submessages«á Thσ outpu⌠ ma∙ bσ pauseΣ b∙ ì hittinτ an∙ key¼ o≥ terminateΣ b∙ hittinτ K. Iµ ß datσ i≤ supplied¼á onl∙ submessage≤ oε o≥ afte≥ tha⌠ ì datσ will be listed. BROWS┼ <msg-name> [date] ------------------------ Thi≤ i≤ jus⌠ likσ read¼ excep⌠ tha⌠ onl∙ thσ firs⌠ linσ oµ ì thσ messagσ i≤ printed. ADDT╧ <msg-name> ---------------- Thi≤á functioε i≤ fo≥ addinτ ß sub-messagσ t∩ aεá existinτ ì message«á Iµá thσ director∙ o≥ thσ disδ i≤ full¼á aεá erro≥ ì messagσ wil∞ result«á Yo⌡ wil∞ bσ askeΣ t∩ givσ thσ messagσ ì ß name¼á whicΦ ma∙ bσ u≡ t∩ 3░ character≤ iε lengtΦ (longe≥ ì name≤ wil∞ bσ truncated)«á Thσ namσ ma∙ no⌠ contaiε spaces« ì Afte≥á enterinτá thσ name¼á al∞ line≤ typeΣ iε wil∞á becomσ ì par⌠á oµ thσ messagσ unti∞ aε empt∙ linσá i≤á entered«á Thσ ì onl∙á editinτ provideΣ i≤ back-space«á Iµ yo⌡ wisΦ t∩ imbeΣ ì blanδ line≤ iε you≥ message¼ pu⌠ ß spacσ iε thσ linσ beforσ ì hittinτá <cr╛á again«á Therσ i≤ n∩á limitatioεá oεá messagσ ì lengtΦ iε thi≤ systeφ othe≥ thaε disδ capacity. Afte≥ enterinτ aε empt∙ line¼á yo⌡ arσ bacδ iε thσ regula≥ ì mode. INDE╪ <msg-name> [date] ------------------------ Thi≤á functioε provide≤ ß methoΣ oµ viewinτ thσá structurσ ì oµá thσá treσ belo≈ ß certaiε message«á INDE╪ FBB╙á (wherσ ì FBB╙á i≤á thσá to≡ messagσ iε thσ tree⌐á wil∞á displa∙á thσ ì structurσá oµá thσ entirσ tree«á EacΦ successivσá leve∞á oµ ì comment≤ i≤ indenteΣ ▓ space≤ froφ it≤ parent. è Documentation for FBBS-2.0 ** 1/26/85 ** page 3 Iµá ß datσ i≤ supplied¼á onl∙ message≤ aoε o≥ afte≥á tha⌠ ì date will be listed. HELP ---- Thi≤ jus⌠ print≤ "tr∙ REA─ HELPó HEL╨ i≤ ß sysop-provideΣ ì messagσ tha⌠ ma∙ contaiε al∞ o≥ par⌠ oµ thi≤ document« Syso≡ Commands -------------- Again¼á thesσ arσ no⌠ to∩ complicateΣ o≥ numerous¼ anΣ ma∙ ì bσ extendeΣ a≤ needed« ╔ cal∞ theφ syso≡ command≤ becausσ i⌠ ì may not be desired to give the users this much power. START ----- Wheε yo⌡ star⌠ u≡ thi≤ system¼á thi≤ commanΣ i≤ needeΣá t∩ ì loaΣ ß fe≈ variable≤ froφ disk REMOV┼ <msg-name> ------------------ Self-explanatory«áá BotΦá <msg-name╛á anΣá an∙á message≤ ì appendeΣá t∩ i⌠ arσ removed¼á anΣ thσ associateΣá director∙ ì spacσ (bu⌠ no⌠ disδ space⌐ i≤ reclaimed« ┴ tra≡ i≤ provideΣ ì t∩ preven⌠ removinτ thσ to≡ oµ thσ tree. CRUNCH ------ Thi≤ commanΣ reclaim≤ an∙ disδ spacσ freeΣ viß REMOVE« I⌠ ì i≤ slow¼á anΣ shoulΣ no⌠ bσ useΣ wheε no⌠ needed« ┴ sta≥ i≤ ì printeΣ a≤ eacΦ messagσ i≤ crunched. MOV┼ <msg-name╛ T╧ <msg-name> ----------------------------- Thi≤á commanΣ allow≤ ß messagσ t∩ bσ reassigneΣ t∩ anothe≥ ì parent¼á thu≤á allowinτ yo⌡ t∩ movσ ß messagσ t∩á ßá morσ ì appropriatσá sectioε oµ thσ treσ iµ required«á Al∞á submes-ì sage≤ appendeΣ t∩ thσ messagσ arσ moveΣ also«á ┴ commoε usσ ì woulΣ bσ t∩ movσ ß messagσ t∩ ß paren⌠ calleΣ GOING..« prio≥ ì t∩ removinτ i⌠ t∩ givσ user≤ somσ warning. ENTER-TOP --------- Thi≤ commanΣ i≤ dangerous¼ a≤ i⌠ wil∞ wipσ thσ treσ clean« ì I⌠ i≤ t∩ bσ useΣ onl∙ t∩ ente≥ thσ firs⌠ messagσ iε thσ treσ ì (i⌠ i≤ ß littlσ difficul⌠ t∩ usσ ADDT╧ wheε therσ i≤ nothinτ ì t∩ addto). RE-ENTE╥ <msg-name> ------------------- Normally¼á iµ yo⌡ ente≥ ß messagσ incorrectly¼ anΣ wisΦ t∩ ìè Documentation for FBBS-2.0 ** 1/26/85 ** page 4 changσ it¼á yo⌡ woulΣ usσ REMOV┼ anΣ ADDTO« Iµ thσ messagσ ì iε questioε haΣ submessages¼á the∙ woulΣ bσ lost« RE-ENTE╥ ì allow≤ yo⌡ t∩ ente≥ ne≈ tex⌠ fo≥ aε exitinτ messagσá withou⌠ ì loosinτá thσ submessages«á Thi≤ i≤ particularl∙ usefu∞á fo≥ ì changinτ thσ tex⌠ a⌠ thσ to≡ oµ thσ tree. Internals: ---------- Usσá thσá comment≤ iε thσ sourcσ codσ a≤á ßá primar∙á ref-ì erence¼á a≤á ╔ ma∙ stil∞ makσ somσ changes«á ╔ wil∞ tr∙á t∩ ì highligh⌠ ß fe≈ thing≤ herσ tha⌠ seeφ ß littlσ obtuse. #BLOCKS¼ DIR¼ #DI╥ anΣ TREE --------------------------- Thesσá constant≤á yo⌡ wil∞ likel∙ wisΦ t∩ change«á A≤á i⌠ ì stands¼á botΦ thσ sourcσ codσ anΣ thσ treσ datß arσ iεá thσ ì samσ filσ t∩ makσ developmen⌠ easier«á Mos⌠ user≤ wil∞ wan⌠ ì t∩á usσ ß workinτ filσ a≤ largσ a≤ possible¼á generall∙á thσ ì sizσ oµ onσ flopp∙ disδ oε ß flopp∙ system«á Changσ #BLOCK╙ ì t∩á thσá capacit∙ oµ tha⌠ filσ (o≥ t∩ thσ capacit∙ oµá you≥ ì drivσ systeφ iµ yo⌡ arσ usinτ direc⌠ disk-i/o)« Iµ yo⌡ wan⌠ ì t∩á kee≡ thσ sourcσ oε line¼á se⌠ DI╥ t∩ 40¼á leavinτá thσ ì firs⌠ 4░ block≤ oµ thσ filσ freσ t∩ holΣ thσá code«á Other-ì wise¼ se⌠ DI╥ t∩ ░ anΣ bσ careful. Thσ res⌠ oµ thσ disδ i≤ spli⌠ int∩ tw∩ parts¼ ß director∙ ì areßá anΣ ß datß area«á Iµ eithe≥ areß get≤ full¼á thσ treσ ì wil∞ bσ ablσ t∩ accep⌠ n∩ morσ data« Yo⌡ shoulΣ choosσ #DI╥ ì sucΦá tha⌠ botΦ area≤ fil∞ u≡ a⌠ abou⌠ thσá samσá rate«á Thσ ì bes⌠ numbe≥ t∩ usσ iε dependen⌠ oε thσ averagσ messagσ size« ì ╔á woulΣ sugges⌠ ▓ o≥ │ director∙ slot≤ fo≥ eacΦ 1δ oµá datß ì area«á Sincσá therσá arσá abou⌠ 2▓ director∙ slot≤ iεá ßá ß ì block¼á thi≤á wil∞á takσá u≡ 10-15Ñ oµá thσá disδá anΣá wil∞ ì generall∙ be enough unless the messages are very short. Thσ constant≤ #BYTE╙ anΣ TRE┼ arσ calculateΣ automaticall∙ ì durinτ compilσ anΣ tel∞ thσ ú oµ byte≤ iε thσ datß areßá anΣ ì blocδ tha⌠ tha⌠ areß starts. Data structures --------------- Oµá thesσá therσá arσ two«á Thσ firs⌠ i≤á ßá fixed-lengtΦ ì directory record, and the second is the body of the message. EacΦ messagσ iε thσ treσ i≤ jus⌠ ß simplσ asciΘ file¼ witΦ ì thσ line≤ endinτ iε CRL╞ witΦ EO╞ (26h⌐ markinτ thσ enΣá oµ ì thσ file«á Again¼á therσ iε n∩ rea∞ restrictioε oε thσ sizσ ì oµá thσá messagσá othe≥á theεá disδá space«áá Iµá yo⌡á arσ ì perceptive¼áá yo⌡á ma∙á noticσá thi≤á i≤á exactl∙á thσá samσ ì structurσá a≤ ß cp/φ tex⌠ file«á Notσ tha⌠ yo⌡ canno⌠ storσ ì coφá file≤ iε thi≤ structure¼á a≤ the∙ ma∙ contaiε EOF'≤á iε ì baΣ places. è Documentation for FBBS-2.0 ** 1/26/85 ** page 5 Thσ director∙ recorΣ contain≤ thσ namσ oµ thσá message¼á ß ì fe≈ usefu∞ field≤ sucΦ a≤ usage¼ datσ anΣ length¼ ß pointe≥ ì t∩ wherσ thσ tex⌠ oµ thσ messagσ resides¼ anΣ │ pointer≤ t∩ ì othe≥ record≤ t∩ forφ thσ treσ structurσ (parent¼á daughter¼ ì anΣ sister)« Notσ tha⌠ therσ arσ pointer≤ t∩ records« Thi≤ ì mean≤á shufflinτá thσá record≤ abou⌠ i≤ ßá rea∞á no-no«á A≤ ì director∙ slot≤ becomσ availablσ wheε message≤ arσá removed¼ ì the∙á arσá kep⌠ tracδ oµ b∙ ß linkeΣ lis⌠ witΦ thσá variablσ ì MT.PTR pointing to the most recently freed slot. Notσá als∩á tha⌠á thσ 3▓ bi⌠ pointe≥ t∩ thσá tex⌠á oµá thσ ì messagσá i≤ thσ onl∙ direc⌠ referencσ t∩ tha⌠á message. Al∞ ì othe≥á reference≤ shoulΣ bσ madσ thr⌡ thσá directory«á Thi≤ ì allow≤á message≤á t∩á bσá moveΣá wheεá thσá disδá i≤áá beinτ ì compacted. Tree Structure -------------- Iµá you'vσ eve≥ donσ aε INDE╪ <msg-name╛ thσ structurσá oµ ì thσ treσ i≤ obvious«á EacΦ messagσ ha≤ ß parent« Thσ firs⌠ ì sub-messagσá oµ ß messagσ i≤ it'≤ daughter«á T∩ achivσá thσ ì effec⌠á oµ unlimiteΣ numbe≥ oµ daughters¼á thσ daughte≥á caε ì poin⌠á t∩ ß younge≥ sister«á Thσ younges⌠ sist4. TUTOR.LBR and HELP.BLK also some documentation files. 5. FBBS Forth based BBS with source. Two revisions. 6. F83 Text and Documentation files collection. 7. Library files A-I (Files used every day are kept on one of) 8. Library files J-P (the above working disks. These are) 9. Library files Q-Z (new to me or I don't have room above.) Send a SASE for a index list with citations. Include a letter or a dollar. John A. Peters 121 Santa Rosa Ave, SF, CA 94112 : 1) If there is a daughter, it becomes the new message 2) Iµ therσ i≤ n∩ daughter¼ pu⌠ therσ i≤ ß younge≥ sister¼ ì ááááái⌠ become≤ thσ nex⌠ message. 3) Iµ therσ arσ neithe≥ g∩ u≡ thσ treσ unti∞ ß paren⌠ witΦ ì áááááßá younge≥ siste≥ i≤ found¼á whicΦ wil∞ becomσ thσ nex⌠ ì ááááámessage«á Iµ n∩ younge≥ siste≥ caε bσ found¼á returε ß ì ááááázer∩ t∩ indicatσ tha⌠ thσ treσ i≤ exhausted. CRUNCHing the disk ------------------ Thi≤á i≤á littlσá bi⌠ complicated¼á bu⌠ stil∞á onl∙á threσ ì screen≤ wortΦ oµ complicated« Thσ ideß behinΣ crunchinτ thσ ì disδá i≤ t∩ takσ al∞ thσ message≤ anΣ rearrangσ theφá but-u≡ ì agains⌠ onσ another¼á makinτ al∞ thσ empt∙ spacσ contiguou≤ ì anΣá read∙ fo≥ morσ messages«á Thi≤ i≤ donσ b∙á buildinτá ß ì lis⌠á oµá eacΦá oµ thσ currentl∙á occupieΣá director∙á slot≤ ì sorteΣá b∙á thσ addres≤ oµ thσ messagσá (BUILD-LIST)«á WitΦ ìè Documentation for FBBS-2.0 ** 1/26/85 ** page 6 thi≤ list¼á CRUNC╚ caε movσ eacΦ oµ thσ message≤ t∩ thσ lo≈ ì enΣá oµ thσ file¼á updatinτ thσ thσ addres≤ pointer≤ oεá thσ ì fly«á Afte≥á doinτ al∞ this¼á wσ updatσ END.PT╥ s∩ wσá caε ì make use of the space we freed. Customization: -------------- Yo⌡ ma∙ havσ noticeΣ morσ thaε ß fe≈ thing≤ havσ beeε lef⌠ ì ou⌠á oµ thσ code¼á sucΦ a≤ bullet-proofinτ anΣ modeφá inter-ì face«á ╔ conside≥ thi≤ sor⌠ oµ thinτ t∩ bσ system-dependen⌠ ì anΣ no⌠ reall∙ al∞ tha⌠ difficul⌠ t∩ program«á Thi≤ codσ i≤ ì thσá mea⌠á oµ ß bb≤ (iε ß reasonabll∙ smal∞á anΣá digestablσ ì portion)¼ yo⌡ ma∙ seasoε i⌠ t∩ you≥ owε taste. Iµ yo⌡ neeΣ somσ hints¼á ╔ havσ idea≤ (anΣ ß littlσ code⌐ ì fo≥á everythinτ froφ archiva∞ t∩ password≤ t∩á multi-taskinτ ì t∩ user-logons.