Forum

Notifications
Clear all

Adding a wall to Color 64 8.1

4 Posts
3 Users
1 Reactions
110 Views
 mike
(@mike)
Eminent Member
Joined: 3 months ago
Posts: 23
Topic starter  

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!!

This topic was modified 1 month ago 3 times by mike
This topic was modified 1 month ago by ][avok

   
Quote
(@havok)
Sysop Admin
Joined: 7 years ago
Posts: 64
 

Where you posted is fine. 👍 


   
mike reacted
ReplyQuote
(@desert-fox)
Member Admin
Joined: 7 years ago
Posts: 17
 

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.


   
ReplyQuote
 mike
(@mike)
Eminent Member
Joined: 3 months ago
Posts: 23
Topic starter  

Posted by: @desert-fox

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.

 


   
ReplyQuote
Share: