Now that you have defined all your parameters and all the Program Files and Boot Files are in their proper place, it is time to create your system messages. This is where you get to let your creative ideas flow. In each of these messages on the install disk, I have either placed content in them describing when the file is displayed, what it is about, or added generic content to it. Use a file copier to copy all the sample "system messages" onto the disk you have assigned to store your System Files. As explained earlier, all these filenames must always have the check mark (shifted @) in front of the filename.
System Files for BBS Operation and Customization
There are several ways for you to write your system messages. You can use any word processor that creates seq text files (like Easy Script), the stand-alone message editor program on the BBS PROGRAM disk, or the message editor routine built into the DOS section of the BBS. Kaleidoscope is also a great program for this task.
To create/edit messages with the stand-alone BBS message editor, load the program called "+editor" and RUN it (this will be on you Boot disk for floppy systems). In a few seconds, you will see a menu with 4 choices:
“Read Newsletter” was for the Color 64 newsletter, which unfortunately is not actively being authored; it is an artifact of the original 8.0 version back when newsletters were going to be authored by that respective development team. Maybe something for me to do in the future…..
To edit a message on any drive, press F1 and you will see an input prompt for the device number of the drive that contains (or will contain) the message file. In brackets is a number; just press RETURN if this number is correct; otherwise, enter the desired device number and press RETURN. Then you will see a prompt asking for the drive number with a zero in brackets. Again, if this is correct, just press RETURN, otherwise enter a 1 (for dual drive number 1 or LU1 of the Lt. Kernal hard disk drive) and press RETURN. Next you will see a prompt asking for the drive command to be sent to the drive. Normally you will just hit return, unless you are using an HD system, or you are wanting to access the back side or a 1571 (u0>h1) or put a 1571 in 1571 mode (u0>m1). The last question is for the filename to edit. Enter the desired filename remembering to add the “√” or “@” symbol, as required. If the file already exists, then it will be loaded into memory for you to edit. If it does not exist, then one will be created after you enter and save the message.
This message editor works just like the message editor on the BBS for entering public and private messages. This message editor will allow you to create/edit messages almost as large as 500 lines, in full color. In contrast, the online message editor is limited to the maximum number of lines per message as defined in the “√bbs.parms" file.
The table below provides the list of system message files that Color 64 uses:
System Message Files
File
Example
Description
√systemstart
This is the very first file displayed when a user connects. You should keep everything in lower case and graphics-free in case the caller is using an ASCII terminal (it will display as upper case to them). You can have your BBS Name, date, time, or some sort of initial response to the user.
√systemstart2
This file immediately follows √systemstart and should ask the user to press their DEL or Backspace key for the Commodore graphics check. Again, it should be in lower case, no graphics, but is there for you to customize as you would like for your BBS.
√banner
√abanner
These two files follow the graphics check if the caller uses PETSCII or ANSI graphics.
√banner = Commodore terminals
√abanner = ANSI terminal
Graphics are permitted for both and you can start using C64 graphical characters.
√welcome1
This is the main “Hello!” screen to a user after the graphic check is done and is displayed to the user just before their login credential entry occurs.
√welcome2
Displayed after successful credentials match. This can be a large splash screen or something simple.
√logon stats
√logon stats80
This file is displayed next after √welcome2 and gives the user the current status of the BBS and their account. It is one of the few files that has the option for either 40 or 80 column specific display files, and will depend on what the user has set in their settings (40 or 80 column).
√logon stats = 40 column display
√logon stats80 = 80 column display
The file performs extensive use of the Variable MCI commands. Until you are familiar with these, you should not do a lot of editing on these.
√sysopin
√sysopout
Depending on if the Sysop flag is “In” or “Out”, the appropriate file will be displayed. You can be as graphical as you like!
√level # msg
This is displayed to the user and is dependent on their access level. You can have a file for any or all levels.
When the system is loaded up, it looks on the system messages drive for "√level 1 msg", "√level 2 msg", "√level 3 msg", etc., and sets a flag for each one it finds. So, if you want to send a message to all level 3 callers, and all level 7 and 8 sysops, just create the appropriate message files and name them "√level 3 msg", "√level 7 msg", and "√level 8 msg", respectively. If the BBS is already running when you create or remove any of these messages, use (F4) at the WFC screen to reset the date and time; this routine will also reset the level message flags.
√wall
This is the User Wall / Guestbook. It is optional. If you don’t desire to have one, you can delete the file, but be sure to remove the command “W” for it in your “BBS Commands” portion of your setup!
You would edit this file if you desire to have some sort of header at the top of the wall content; and you will need to edit this periodically to keep it from getting too long.
√sysop news
Sysop news is a file that allows you to enter specific news occurring for your BBS. You’ll see in this example I have two dates listed. Once a reader has read an entry (in this case, 08/01/2025), they will not see it again. But if they have not viewed “08/11/2025”, that will be displayed. You can continue adding entries in this manner; just make sure when you add a date in to the news file, it is immediately following the last line of the previous entry as shown here.
Keep in mind that you don’t want this file to get too long. New users will see every single news entry when they go through their logon process.
This file is optional.
√menu#
This is the menu file displayed to the user and is one of the most frequently used screens. There is one menu for each access level. Example: displayed here is “√menu4”. You can get as graphical as you like and even have multiple pages, but remember, it *is* a heavily used screen, so multi-page might get annoying to the end user.
For my Sysop file menu (√menu9), I kept mine very simple and avoided any “fluff” so I could have all the commands fit nicely on one displayable page.
Included in the setup disks is a menu maker program that will generate menus for you if you’d like something quick. Use it after you have completed your SETUP process as it uses information from you “BBS Commands” settings.
√chat enter
Displayed when the Sysop invokes a chat session or responds to a user chat request.
√chat exit
Displayed when the chat session is closed by the Sysop
√new user msg1
Displayed after a new user has logged into the system and is assigned details about their account. You will want to keep this file short and without any screen-clear command, so their details do not scroll off the screen.
√new user msg2
Displayed after a new user has completed their application for access. If there are additional steps the user needs to know about getting full access, you should include them here.
√application
This is displayed to the user, but the display will be different than what you see here as it is being run as a script.
The application is a combination of a regular text and special "prompt lines" that will cause the BBS to stop and wait for the caller's response to the application question. Any line beginning with a "#" (number sign) will not be printed but instead will cause the application routine to stop and wait for the caller to type something. The text after the "#" symbol will then be part of the application information that is put in your mailbox. Then the next bit of text will be printed until the next prompt, where the BBS will wait for another response, and this repeats until the last line of the file is used. Then it prints everything back to the caller and asks if this is correct. If they answer "N", then the application routine will begin again. Otherwise, the answers are stored in your mailbox and in a file called “√questXX" where XX is the number of the month (e.g. √quest07 for July). The "√questXX" file is stored in the Private Files section. You will be able to print your mailbox for a hard copy while all your remote SYSOPs will be able to see the same answers in the "√questXX" file.
These days, people are uncomfortable with providing their “home address” or even their birthday – not to mention both together. Think about what information is pertinent when it comes to your user and the use of your BBS. On my BBS, it’s a 50/50 shot that I will even get their full name, let alone their first. That said, if you feel you don’t have enough to trust the user with a C64 BBS system, then you can always delete them or not approve access. See the section on “Application” for more information.
√bbs closed
Create this file if you do not wish to accept new callers to your BBS. When the system receives a user name of “New”, it looks to see if this file exists; if it does, it will be displayed and they will not be granted access. If made, consider lower case / non-graphical for ascii callers.
√membership full
Presented to the user if the attempt to create an account, but the BBS is at the max limit of users.
√member list msg
Presented to the user just before the membership list is displayed.
√membership list
Automatically generated by the BBS and will present a list of users to … well, the user.
√information
This file should be updated to describe the type of system you are running or any pertinent information about your BBS you wish to convey to your users. Users typically would like to know what type of setup you are using, and this is the best place for that. It is callable from the menu commands for users.
√no mail
This screen will be displayed to the user if they have no private mail waiting. Optional.
√sysop not here
Displayed when the user submits a Chat request, but the Sysop has not responded.
√still not here
Displayed on subsequent Chat requests, and still no response from Sysop.
√sayings#
Random sayings to be displayed to the user just before the first command prompt. Numbered 1-6.
√sayings1, √sayings2 … √sayings6
Optional.
√games menu
If you choose the option to run your Games on AUX3 (instead of the Mod Menu), then you will need to create a games menu to display to the user; the file is expected in the AUX3-designated location.
Conversely, if you are choosing to use the Mod Menu option, you will want to ensure your spare command “1” for games is disabled.
√logoff
Displayed just prior to user disconnect. Optional.
√upload msg
Message displayed to user when they request to perform an upload of a file to the BBS. Optional.
√upload held
Displayed to the user after the upload is complete, and only if the caller’s access level is below the "auto release" level defined in the UPLOAD/DOWNLOAD section of SETUP.
Other Notable Screens
√doshelp
Displayed to SYSOP (or remote SYSOP) when “?” is entered at DOS Wedge.
√msg menu
Message Menu commands listing displayed upon user request of (H)elp.
√wfc
OK, I digress. THIS is probably the most used screen for the BBS, but only if you are the Sysop!
This is your console display when the BBS is “Waiting for Call” or “WFC”. This file makes heavy and impressive use of Variable MCI, and while modifying it can be done, it is tricky.
If you become brave enough to tinker with it, do note that the “Status” field is populated by a ML routine that will always place the details in that specific area between the “> <” brackets. So that particular space should be considered reserved for the modem status details. Save a backup before editing!
Also note the “BBS Name” just below “Last Caller” in this screenshot is only populated if you have Network 1.26a running.
√mod edit menu
File used as a help file for the mod menu
√mod sub menu
Same as above.
Special Provisions for ASCII callers
Normally when a BBS uses a lot of graphics, non-graphic callers will have a difficult time deciphering what is being displayed on their screen, however Color 64 v8.1 and above take care of this pretty well. Most screens are converted automatically. That said, for specific screens that may need a “re-write” for these callers (I find menus can be particularly troublesome), there is a provision to have alternate system files just for ASCII callers, but this is totally optional. There is a merge included in the system called "afr.ovxx" (AFR for Ascii File Read), which you can merge into all your overlays except for the Network overlays. Here is how it works: First you create all the files as normal for the system. Any file that you would like to have a corresponding ASCII file, create a file with the same name, remove the troublesome graphics and add a "+" at the end of the file name (e.g. √menu1 would be √menu1+). Any system file that is not actually “read" to the modem but instead acts like a script (like √application or √sysop news) cannot be used/converted.