I have two BBS door programs that I am trying to "elegantize."
The aspects of both of them that I want to improve are the
keyboard timeouts. As they are now (they're both production
releases, already - am simply trying to accomplish it in a
less kludgye manner), while waiting for input from the user,
whether he is logged on locally or remotely, in their input
loops, they call a GOSUB routine at the start of each iteration
of the loops. What I *want* to do is to use ON TIMER. That way,
I can trim out about 25 linesof code, and replace them with
about 6. However, the ON TIMER only works successfully (i.e.,
times out and sets the FlagTimer var, which notifies the keypress
input loops that the timeout limit has expired, so the doors
can terminate) on local logons. It has NO effect on remote logons.
Would this be because the FOSSIL and the internal comm input
routines are "blocking" in nature? According to my Rolf Brown
Interrupts list, the FOSSIL driver interrupt service I'm using
should NOT be. However, I can't think of any reason why the
exact same program will work in a local logon, but not in a
remote logon. I cannot understand how it could be because of
having BASIC commands running in the foreground while the ON TIMER
(which uses a hardware interrupt?) is running, as that should also affect
the local logons.
Unfortunately, both programs are too big to post the questionable code
here.
The FOSSIL driver version of the input uses interrupt: &H14, AH = &H20.
The internal comm input routine uses:
IF ISTRUE(LOC(FF1)) THEN
S = INPUT$(LOC(FF1), #FF1)
and so on.
Any ideas?
Thanks in advance!
Cordially,
------------------
Clay C. Clear
mailto:[email protected][email protected]</A>
Clay Clear's Software (Frames Only)
The aspects of both of them that I want to improve are the
keyboard timeouts. As they are now (they're both production
releases, already - am simply trying to accomplish it in a
less kludgye manner), while waiting for input from the user,
whether he is logged on locally or remotely, in their input
loops, they call a GOSUB routine at the start of each iteration
of the loops. What I *want* to do is to use ON TIMER. That way,
I can trim out about 25 linesof code, and replace them with
about 6. However, the ON TIMER only works successfully (i.e.,
times out and sets the FlagTimer var, which notifies the keypress
input loops that the timeout limit has expired, so the doors
can terminate) on local logons. It has NO effect on remote logons.
Would this be because the FOSSIL and the internal comm input
routines are "blocking" in nature? According to my Rolf Brown
Interrupts list, the FOSSIL driver interrupt service I'm using
should NOT be. However, I can't think of any reason why the
exact same program will work in a local logon, but not in a
remote logon. I cannot understand how it could be because of
having BASIC commands running in the foreground while the ON TIMER
(which uses a hardware interrupt?) is running, as that should also affect
the local logons.
Unfortunately, both programs are too big to post the questionable code
here.

The FOSSIL driver version of the input uses interrupt: &H14, AH = &H20.
The internal comm input routine uses:
IF ISTRUE(LOC(FF1)) THEN
S = INPUT$(LOC(FF1), #FF1)
and so on.
Any ideas?
Thanks in advance!

Cordially,
------------------
Clay C. Clear
mailto:[email protected][email protected]</A>
Clay Clear's Software (Frames Only)
Comment