home *** CD-ROM | disk | FTP | other *** search
/ Personal Computing Magazine 1988 September / SEPT_1988 / PDBASIC / SEC.BAS < prev    next >
Encoding:
BASIC Source File  |  1988-01-01  |  2.2 KB  |  71 lines

  1. 10 REM *****************************
  2. 20 REM *  Simple security program  *
  3. 30 REM *  for use with the PC 36A  *
  4. 40 REM *      By Alan Foster       *
  5. 50 REM * (c) Database Publications *
  6. 60 REM *****************************
  7. 70 OUT &H303,130:REM Set port A to output and port B to input
  8. 80 REM Set up screen display
  9. 90 CLS
  10. 100 COLOR 14,0
  11. 110 LOCATE 5,25
  12. 120 PRINT "***** System Status *****"
  13. 130 LOCATE 10
  14. 140 PRINT
  15. 150 PRINT "Zone 1   Main entrance doors          Status"
  16. 160 PRINT "Zone 2   Service door                 Status"
  17. 170 PRINT "Zone 3   Workshop windows             Status"
  18. 180 PRINT "Zone 4   Office windows               Status"
  19. 190 PRINT "Zone 5   Office safe                  Status"
  20. 200 PRINT "Zone 6   Stores internal doors        Status"
  21. 210 PRINT "Zone 7   Garage doors and windows     Status"
  22. 220 PRINT "Zone 8   Security entry switch        Status"
  23. 230 LOCATE 20
  24. 240 PRINT "Press Q to quit"
  25. 250 n$="Normal"
  26. 260 al$="Alarm "
  27. 270 set$="System set      "
  28. 280 in$="System Inhibited"
  29. 290 REM Look at port B
  30. 300 look=INP(&H301)
  31. 310 REM Take action on result of look at port
  32. 320 IF look=128 THEN OUT &H300,1:REM Turn on set light
  33. 330 IF look>128 THEN BEEP
  34. 340 IF look<128 THEN OUT &H300,2:REM Turn on inhibit light
  35. 350 IF look>128 THEN OUT &H300,193:REM Ring alarm bells
  36. 360 REM Display condition of inputs on screen
  37. 370 LOCATE 18,48
  38. 380 IF look<=128 THEN r$=in$
  39. 390 IF look>=128 THEN look=look-128:r$=set$
  40. 400 PRINT r$
  41. 410 LOCATE 17,48
  42. 420 IF look<=64 THEN r$=n$
  43. 430 IF look>=64 THEN look=look-64:r$=al$
  44. 440 PRINT r$
  45. 450 LOCATE 16,48
  46. 460 IF look<=32 THEN r$=n$
  47. 470 IF look>=32 THEN look=look-32:r$=al$
  48. 480 PRINT r$
  49. 490 LOCATE 15,48
  50. 500 IF look<=16 THEN r$=n$
  51. 510 IF look>=16 THEN look=look-16:r$=al$
  52. 520 PRINT r$
  53. 530 LOCATE 14,48
  54. 540 IF look<=8 THEN r$=n$
  55. 550 IF look>=8 THEN look=look-8:r$=al$
  56. 560 PRINT r$
  57. 570 LOCATE 13,48
  58. 580 IF look<=4 THEN r$=n$
  59. 590 IF look>=4 THEN look=look-4:r$=al$
  60. 600 PRINT r$
  61. 610 LOCATE 12,48
  62. 620 IF look<=2 THEN r$=n$
  63. 630 IF look>=2 THEN look=look-2:r$=al$
  64. 640 PRINT r$
  65. 650 LOCATE 11,48
  66. 660 IF look<=1 THEN r$=n$
  67. 670 IF look>=1 THEN look=look-1:r$=al$
  68. 680 PRINT r$
  69. 690 IF INKEY$="Q" THEN CLS:STOP:REM Check for Quit
  70. 700 GOTO 240:REM Go back an take another look
  71.