Ulility: BUSY BUDDY
by Matthew J.W. Ratcliff
Humm, let's log on to Gateway BBS and see what's cooking.
Welcome to Gateway BBS.
Enter the last four digits of your phone
Last time on: 7/20/87 3:00AM
Logon: 7/21/87 3:30AM
GO > z;2;r;n
Welcome to Ratty's Rap; you have 100 messages waiting.
MSG: 29567 Date: 7/21/87
From: Jim* Gateway
Subj: Where's the STUFF
Hey, Mat, Where are all the articles for the August ACE Newsline? You'd better get to work pronto, if you want to remain Sysop. I made you, I can BREAK you! <GRIN>
Oh, wow, I can see this is going to be a long session: 100 new messages and then I've got to get all those articles done. Well, it's time for a Bud break before getting too deeply into this. A quick dash to the fridge, load up another video game for Nathan, change Charlie, kiss Nancy and assure her I'm still alive, turn the steaks on the grill and take a restroom break. Ok, back to the computer:
Input too slow. Timed out. Goodbye, Mat*Rat, thanks for calling. <CLICK>
If you are active in telecommunications, as I am, you may find the above a rather typical access session. Most bulletin board systems (BBS) have an automatic timeout feature, and if you don't enter something at your keyboard within one minute or so you are automatically logged off. Commercial systems such as Delphi or CompuServe are more forgiving, but you pay the price, of course.
Now all you need is the Busy Buddy accessory. To create your copy of Busy Buddy, type in Listing 1 (checking your work with ST-check) and run it from ST BASIC. Install BUSYBUD.ACC on your telecommunications boot disk, and you are in business. Whenever you need to take a break, just pull down the desktop menu (which is accessible from most communications programs now) and click on Busy Buddy. When activated an alert box will come up, prompting you for backspace type. Normally an ASCII 8 is required, but some systems expect a delete character, ASCII 127. If you are calling 8-bit Atari boards using ATASCII emulation, then you should click on the middle selection, ASCII 126, what the 8-bit uses for a backspace (the ST and other computers use ASCII 126 as a tilde). Click on the appropriate one (or just press RETURN to accept ASCII 8).
The next alert box is a prompt for the maximum time limit that Busy Buddy should run unattended, five, 15 or 60 minutes. This feature will save your neck if you put Busy Buddy to work on a pay connect system, or a long-distance BBS. Since Buddy will time out for you eventually, you'll get logged off the BBS sooner or later if you completely forget about it. When the Buddy times out, another alert box will pop up. It gives you the option of restarting (put in a new time limit), or exit.
Once Busy Buddy is active, you will see the send and receive lights on your modem pulsate about once every two seconds. Buddy is sending a space and then a backup (either backspace or delete) character once every half second. This will keep the system at the other end from timing out and hanging up before you've used all your access time.
With Busy Budy running, you can go to the Flash or Interlink edit buffer and compose your messages, for example. Or take a seventh-inning stretch and fetch a cold brew. When it's time to get back to modeming, just pull down the desktop menu and click on Busy Buddy again. The timer routine will be shut off, and a reminder displayed to that effect.
I've been testing Busy Buddy thoroughly, with no problems, on Delphi, ST Forem (AURA in St. Louis) and 8-bit Forem (Gateway BBS). One real plus is that Busy Buddy is automatically disabled whenever you exit the menu screen to the terminal display. Buddy is active when GEM is active, in the edit windows, menus, and file selectors of these terminal programs. You should never attempt a file transfer without disabling Busy Buddy first, however. When you initiate the transfer, a file selector (GEM window) pops up, and Buddy is enabled once again. It truly confuses any Xmodem transfer. Simply go back to the Busy Buddy entry under the Desk menu and click it off, then all your file transfers will work smoothly.
This utility is extremely useful when it comes to message entry on BBS and Telecommunication services. While Buddy does his thing keeping the Forem board I'm connected to busy, I can use full screen editing in my Flash or Interlink buffer to generate a reply.
Bud takes a clicking and keeps on ticking too. I used Interlink to connect with Gateway, began to enter a message, and then enabled Busy Buddy. Once on, I used Interlink's EXECUTE feature to load and run Flash. In Flash I created my reply, and then used ASCII upload to send the message. All the while, except during some file I/O, Busy Buddy kept on running. You will find this utility helpful when you need to exit your terminal software to format disks (something Flash doesn't do), or perform other file maintenance functions.
This certainly isn't the most powerful accessory you will ever use, but it can come in quite handy if you spend a lot of time on the modem. Study of the heavily commented listing will show you how to write an accessory in C. Written with Megamax, the only other "special" thing required is linking this file with ACC.L (the ACC.L must be first in the link list), which comes with the compiler package. (Note the use of the external global variable gl__apid, vital information for your accessory.)
The evnt_multi function is used instead of the usual evnt__msg so that either the accessory open message or a two-second timed interrupt "event" can activate Busy Buddy. The state of the flag variable tells the program to activate, deactivate, or continue the busy signal process in Busy Buddy.
The next time you are on line, Busy Buddy will be there to help you out.