Add a wall for Color 64 8.1

Creating a wall for your Color 64 8.1 BBS:

bbs.msgs

Line 50 is where your user login is being processed (welcome2 screen is shown). After the GOSUB 9005 (and prior to the GOSUB 13100), add “gosub100”.

bbs.ov3

modify line 60 to read:

gosub (your routine location):ov=3:goto91

My code is at 35675, so I have:

60 gosub35675:ov=3:goto91

Also, I’ve added a common code at line 199 - using it as the exit point. Alternative is to keep it together with code after line 35689 below.

199 close8:return

Sample routine:

35675 $cr$"Read Wall? “:gosub1010:$a$:ifa$=“N"then199
35679 f$=”wall”:gosub205:$“Add something to wall? “:gosub1010:$a$
35680 ifa$=“N"then199 35681 #cr$na$” says…”:gosub305
35682 ifi$=”“then#“Nothing entered.”:goto199
35683 $cr$“Good? “:gosub1010:$a$
35684 ifa$=“N"then35681:#cr$“Adding entry…”
35685 open8,dv,8,dr$+f$+”,s,a”:gosub510
35686 iferthen#“Disk error, sorry.”:goto199
35687 print#8,“User:”+na$+” on “+da$
35688 print#8, i$+cr$+”----------------------------------------”
35689 #“Done!”:goto199

A couple of notes on above and history. I originally tried to add this code to bbs.msgs, but kept generating a LOAD OVERFLOW from BBS when trying to run it. MSGS is just too big. So I opted to go with OV3. It loads fast because it’s so small, and so long as you have JiffyDos, other speedloader, or RAM, it won’t be too bad for the user after this routine is completed and tries to go back to bbs.msgs (about 90 blocks!) for the command prompt. You could just try to use the command prompt in bbs.ov3 if desired by doing a gosub13100 on line 60, but the above worked perfect for me since I use JiffyD. For my configuration, bbs.msgs takes about 8 seconds to load from SD card.

Recommend that you already have “wall” exist in the same directory as your menus. If it’s not present, then the code will be fine and just print nothing, but if the user attempts to add an entry, line 35685 will die (cause a disk file error) because there is not an existing file to append to (you would have to do a write instead of append). For me, I keep a clean template of the wall on file for when I want to clear it out the in use one. It has a header on it and ready for user entry; Then it’s just a copy and replace!

So when user logs in, bbs.init will call bbs.msgs and start the second welcome screen, then check for mail. After that, Overlay 3 is called up (gosub100) and the wall routine is immediately executed from line 60. After it completes, we use OV=3:GOTO91 to call back up bbs.msgs and go to the command prompt.

Cheers and hope this is prompting some others to do some 8.1 routines! Please share! I’m learning as I go!!