home *** CD-ROM | disk | FTP | other *** search
-
-
- This file ==>bbsc.doc<== July 4, 1983 (Happy Birthday)
-
-
- First off, the bbsc files are for a Bulletin Board System written in
- BDS "C". If that's enough for you to know, you will need the following
- files. If that's not enough, then read on past the following list.
-
- Source files used by this system:
-
- bbsc.c Main driver
- bbscport.c Modem port drivers/routines
- bbsclock.c Clock routines (take it even if you don't have
- a clock, because you will have to fix the
- functions to at least return skeleton date/time).
- bbscfile.c File i/o for the messages, users, etc. files.
- bbscmisc.c Miscellenous functions used across the system.
-
- The following is a list of data files used by the system:
-
- * users.bbs - maintains names, passwords, etc., of each caller
- * messages.bbs - holds the messages left on the BBS
- * header.bbs - 1 record header file used with the messages
- + welcome.bbs - the signon/welcome file
- + bulletin.bbs - bulletins to be shown on signon
- + help.bbs - short help file to explain the commands available
-
- * be sure to get these as they are skeletons (real short) of
- what these file want to look like.
- + these are standard CP/M files seperated by cr,lf and are
- used as the names imply. (They are real short too).
- ------------------
-
- Rational:
-
- The coding standards found within the BBSC source differs from
- the accepted standards set by K&R (sacrilege!). But hold on, they are
- not that much different. Take a look at one of the source files and see what
- I mean. I truely feel that this method is EASIER to read, and most
- importantly, easier to maintain. (Obviously K&R never had to fix someone
- else's code). Another reason is that it is easier for someone who has
- just started to use "C" to understand!
-
- -------------------
- Comments:
-
- The writing of this system was my way of learning "C". I have
- used COBOL, BASIC, FORTRAN, and any number of assemblers. I was getting
- tired of CBASIC (didn't have/couldn't afford the MBASIC compiler), and
- really tired of trying to remember the opcodes of 8080 and Z80 (the
- latter opcodes I feel make more sense). Lo and behold, there was all
- this noise and commotion about "C" (you know, the one that came after "B").
- Well, after doing some research, and on recommendation from a couple
- proclaimed "C" programmers I went and spent the bucks for the BDS "C"
- compiler.
- One of the first things you may notice if you are a veteran
- "C" programmer is that I didn't always use the shortest means of
- coding a particular routine. A thousand pardons. "C" is a verrrry (sic)
- powerful language, BUT, the syntax can make it damn near unreadable
- if you really try hard enough (and sometimes you don't have to try real hard).
- I tried to avoid these very short, very compact coding techniques because
- I wasn't interested in the esoteric use of "C", but was trying to
- code source that most anyone could read.
-
- -------------------
-
- Environment:
-
- This BBS was written to run on this system:
-
- - CP/M 2.2
- - Compupro S-100 box
- - Compupro Z80
- - Compupro 64K memory
- - Compupro Interfacer I I/o board (2 serial)
- - Compupro Interfacer IV I/O board (3 serial, 1 parallel)
- - Tarbell DD/DS disk controller
- - Qume 8" data track 8 drives (2)
- - Hayes Smartmodem (hooked to Interfacer IV)
- - Hayes Chronograph (hooked to Interfacer IV)
-
- This BBS is run under BYE.
- -------------------
-
- Wish list:
-
- - change the accessing of the users.bbs file from sequential buffered
- to random buffered
- - be able to enter a string of commands (at the command prompt) such
- as -->r;23;r;45;r67+
- - come up with a better scheme for handling the messages file
- that will allow random access (instead of relative access)
- - write a utility to compress the messages file to really delete
- killed messages. Or fix the messages file to reuse the killed
- message space (not an easy chore).
- - add field to header.bbs file to hold number of active messages on
- the message file
- - add field to header.bbs file to hold highest message number on
- message on message file.
-
- -------------------
-
- Changes:
-
- When you make changes to get this running on your system, attempt
- to add compiler directives (#ifdef) to indicate what type of modem (for
- example) you are using. This makes it easier for the next guy to come
- along and get it working on his system if it is the same as yours.
- If you do make changes that you would like to contribute (HINT!) to
- the next version please leave a message for me at:
-
- Marin RCPM (415) 383-0473
- or
- OXGATE #1 (408) 287-5901
-
-
- Mike Kelly
- San Francisco, Ca.
-