home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib27b.dsk / LIGHT.PEN.DEMO.bas < prev    next >
BASIC Source File  |  2023-02-26  |  2KB  |  51 lines

  1. 1  REM  **********************
  2. 2  REM  * LIGHT PEN DEMO     *
  3. 3  REM  * BY DAVID GAUGER II *
  4. 4  REM  * COPYRIGHT (C) 1986 *
  5. 5  REM  * BY MICROSPARC, INC *
  6. 6  REM  * CONCORD, MA  01742 *
  7. 7  REM  **********************
  8. 100  REM  *** INITIALIZE ***
  9. 110  GOSUB 190
  10. 120  PRINT  CHR$(4);"BLOAD PEN.DRIVER"
  11. 130 PEN = 770: REM  LOCATION OF MACHINE LANGUAGE DRIVER
  12. 140 V = 768:H = 769: REM  VERTICAL (COLUMN) AND HORIZONTAL (ROW) COORDINATE LOCATIONS
  13. 150  GOTO 210
  14. 160  REM  *** SUBROUTINES ***
  15. 170  INVERSE : PRINT " ";: NORMAL : RETURN : REM  SUBROUTINE TO PRINT AN INVERSE SPACE (BLOCK) ON THE SCREEN
  16. 180  PRINT " ";: RETURN : REM  SUBROUTINE TO PRINT A SPACE
  17. 190  TEXT : HOME : RETURN 
  18. 200  REM  *** MAIN PROGRAM ***
  19. 210  HOME : HTAB 5: PRINT "NIBBLE LIGHT PEN DEMONSTRATION": PRINT "** COPYRIGHT 1986 BY MICROSPARC, INC.**"
  20. 220  VTAB 8
  21. 230  PRINT "THIS PROGRAM IS MEANT TO DEMONSTRATE"
  22. 240  PRINT "ONE POSSIBLE USE FOR THE NIBBLE LIGHT"
  23. 250  PRINT "PEN IN YOUR OWN PROGRAMS."
  24. 260  PRINT : PRINT 
  25. 270  PRINT 
  26. 280  PRINT "PLEASE NOTE THAT THE PROGRAM IS NOW"
  27. 290  PRINT "WAITING FOR YOU TO TOUCH THE INVERSE"
  28. 300  PRINT "SPACE WITH THE LIGHT PEN."
  29. 310  VTAB 23: HTAB 5
  30. 320  PRINT "TOUCH PEN HERE TO CONTINUE ==>";
  31. 330  GOSUB 170: REM  PRINT INVERSE SPACE
  32. 340  CALL PEN: REM  PROGRAM CONTROL PASSED TO LIGHT PEN DRIVER WHICH RETURNS ONLY WHEN IT FINDS PEN
  33. 350  REM  *** MENU SCREEN ***
  34. 360  GOSUB 190: HTAB 5: PRINT "NIBBLE LIGHT PEN DEMONSTRATION"
  35. 370  VTAB 8: HTAB 12: GOSUB 170: GOSUB 180
  36. 380  PRINT "CATALOG DISK"
  37. 390  VTAB 11: HTAB 12: GOSUB 170: GOSUB 180
  38. 400  PRINT "RING BELL"
  39. 410  VTAB 14: HTAB 12: GOSUB 170: GOSUB 180
  40. 420  PRINT "LIST PROGRAM"
  41. 430  VTAB 17: HTAB 12: GOSUB 170: GOSUB 180
  42. 440  PRINT "END"
  43. 450  CALL PEN
  44. 460  REM  * LIGHT PEN DECODING *
  45. 470  IF  PEEK(V) = 7  THEN  PRINT  CHR$(4);"CATALOG": FOR X = 1 TO 2000: NEXT X: GOTO 360
  46. 480  REM  NOTE THAT THE DRIVER RETURNS (V) ONE LESS THAN THE VTAB VALUE OF THE SAME SPOT
  47. 490  REM  NOTE ALSO THAT WE DONT HAVE TO DECODE THE HORIZ. VALUE IN THIS CASE BECAUSE THE VERTICAL VALUE ALONE IS ENOUGH
  48. 500  IF  PEEK(V) = 10  THEN  PRINT  CHR$(7) + CHR$(7) + CHR$(7) + CHR$(7) + CHR$(7);: GOTO 360: REM  5 BELLS
  49. 510  IF  PEEK(V) = 13  THEN  HOME : LIST : HOME : GOTO 360
  50. 520  REM  IF (V)=16 THEN THE PROGRAM WILL FALL THROUGH TO THIS POINT
  51. 530  END