PDBASIC\SEC.BAS ·
BAS ·
2.2 KB ·
1988-09-01 ·
from PersonalComputing_Sep-1988
10 REM *****************************
20 REM * Simple security program *
30 REM * for use with the PC 36A *
40 REM * By Alan Foster *
50 REM * (c) Database Publications *
60 REM *****************************
70 OUT &H303,130:REM Set port A to output and port B to input
80 REM Set up screen display
90 CLS
100 COLOR 14,0
110 LOCATE 5,25
120 PRINT "***** System Status *****"
130 LOCATE 10
140 PRINT
150 PRINT "Zone 1 Main entrance doors Status"
160 PRINT "Zone 2 Service door Status"
170 PRINT "Zone 3 Workshop windows Status"
180 PRINT "Zone 4 Office windows Status"
190 PRINT "Zone 5 Office safe Status"
200 PRINT "Zone 6 Stores internal doors Status"
210 PRINT "Zone 7 Garage doors and windows Status"
220 PRINT "Zone 8 Security entry switch Status"
230 LOCATE 20
240 PRINT "Press Q to quit"
250 n$="Normal"
260 al$="Alarm "
270 set$="System set "
280 in$="System Inhibited"
290 REM Look at port B
300 look=INP(&H301)
310 REM Take action on result of look at port
320 IF look=128 THEN OUT &H300,1:REM Turn on set light
330 IF look>128 THEN BEEP
340 IF look<128 THEN OUT &H300,2:REM Turn on inhibit light
350 IF look>128 THEN OUT &H300,193:REM Ring alarm bells
360 REM Display condition of inputs on screen
370 LOCATE 18,48
380 IF look<=128 THEN r$=in$
390 IF look>=128 THEN look=look-128:r$=set$
400 PRINT r$
410 LOCATE 17,48
420 IF look<=64 THEN r$=n$
430 IF look>=64 THEN look=look-64:r$=al$
440 PRINT r$
450 LOCATE 16,48
460 IF look<=32 THEN r$=n$
470 IF look>=32 THEN look=look-32:r$=al$
480 PRINT r$
490 LOCATE 15,48
500 IF look<=16 THEN r$=n$
510 IF look>=16 THEN look=look-16:r$=al$
520 PRINT r$
530 LOCATE 14,48
540 IF look<=8 THEN r$=n$
550 IF look>=8 THEN look=look-8:r$=al$
560 PRINT r$
570 LOCATE 13,48
580 IF look<=4 THEN r$=n$
590 IF look>=4 THEN look=look-4:r$=al$
600 PRINT r$
610 LOCATE 12,48
620 IF look<=2 THEN r$=n$
630 IF look>=2 THEN look=look-2:r$=al$
640 PRINT r$
650 LOCATE 11,48
660 IF look<=1 THEN r$=n$
670 IF look>=1 THEN look=look-1:r$=al$
680 PRINT r$
690 IF INKEY$="Q" THEN CLS:STOP:REM Check for Quit
700 GOTO 240:REM Go back an take another look