Message Waiting Controller Code
<pre>
REM ** NORTEL MESSAGE WAITING CONTROLLER
REM ** EXTENSION NUMBERS ARE IN DATA STATEMENTS
RESTORE 1
FOR u = 1 TO 15
SHELL "dir C:line" + LTRIM$(STR$(u)) + "\m*.*> file.txt"
OPEN "file.txt" FOR INPUT AS #1
msgs = 0
DO WHILE NOT EOF(1)
LINE INPUT #1, testline$
IF LEFT$(testline$, 1) = "M" THEN msgs = msgs + 1
LOOP
READ ext$
IF msgs > 0 THEN
line$ = "RF" + ext$ + "F"
PRINT "User" + STR$(u) + " has" + STR$(msgs) + " messages"
ELSE
line$ = "RG" + ext$ + "G"
END IF
CLOSE #1
PRINT line$
FOR l = 1 TO LEN(line$)
letter$ = MID$(line$, l, 1)
SELECT CASE letter$
CASE IS = "0": OUT &H378, 19
CASE IS = "1": OUT &H378, 32
CASE IS = "2": OUT &H378, 34
CASE IS = "3": OUT &H378, 16
CASE IS = "4": OUT &H378, 36
CASE IS = "5": OUT &H378, 18
CASE IS = "6": OUT &H378, 20
CASE IS = "7": OUT &H378, 37
CASE IS = "8": OUT &H378, 35
CASE IS = "9": OUT &H378, 21
CASE IS = "F": OUT &H378, 67
CASE IS = "G": OUT &H378, 66
CASE IS = "H": OUT &H378, 65
CASE IS = "R": OUT &H378, 33
END SELECT
delay$ = MID$(STR$(TIMER), 8, 1)
DO WHILE MID$(STR$(TIMER), 8, 1) = delay$
LOOP
OUT &H378, 0
delay$ = MID$(STR$(TIMER), 8, 1)
DO WHILE MID$(STR$(TIMER), 8, 1) = delay$
LOOP
NEXT l
NEXT u
1 : DATA 319
2 : DATA 320
3 : DATA 321
4 : DATA 250
5 : DATA 220
6 : DATA 200
7 : DATA 300
8 : DATA 301
9 : DATA 302
10 : DATA 310
11 : DATA 311
12 : DATA 312
13 : DATA 313
14 : DATA 314
15 : DATA 315
16 : DATA 316
</pre>