At Havok - if you'd rather me put these in Modding, let me know!
Creating a wall for your Color 64 8.1 BBS:
bbs.msgs
Line 50 is where your login of user 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$="<checkmark>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:<britishpound>#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$+"<f1>----------------------------------------<f7>" 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 completes 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 "<checkmark>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!!
Mike, I beleive there is a small stripped down overlay you could use in 8.0...not too sure about 8.1 for your 'wall' mod. That would allow you to use ov3 for something big.
Mike, I beleive there is a small stripped down overlay you could use in 8.0...not too sure about 8.1 for your 'wall' mod. That would allow you to use ov3 for something big.
Yes, I'm using Overlay 3 (bbs.ov3 8100) which is 20 blocks in size, stripped of many features. It works perfectly. 8.1 lacks "xxx small" though it was on the 8.0 disks. I didn't go after that since OV3 was successful.