home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib26b.dsk / PROSIR.DEMO.bas < prev    next >
BASIC Source File  |  2023-02-26  |  3KB  |  43 lines

  1. 120  REM **********************
  2. 130  REM *    PROSIR.DEMO     *
  3. 140  REM *    BY KEN MANLY    *
  4. 150  REM * COPYRIGHT (C) 1985 *
  5. 160  REM * BY MICROSPARC, INC *
  6. 170  REM * CONCORD, MA  01742 *
  7. 180  REM **********************
  8. 190  REM INITIALIZE
  9. 200  GOSUB 480:FU = 1: HOME 
  10. 210  GOTO 390
  11. 220  REM HIGHLIGHT AND UNHIGHLIGHT MENU SUBROUTINE
  12. 230 VT =  PEEK(37) +1:HT =  PEEK(TP): TEXT : VTAB  INT((FU +1)/2): POKE TP,WD/2 -20 *(FU/2 < > INT(FU/2)): PRINT FU"  "C$(FU): POKE 34,5: VTAB VT: POKE TP,HT: RETURN 
  13. 240  REM DISPLAY INPUT
  14. 250  VTAB 10: HTAB 1: CALL EL: VTAB 18: POKE TP,WD/2 -16: IF QT  THEN  INVERSE 
  15. 260  PRINT "QT = "QT;: NORMAL : PRINT "   ";: IF RT  THEN  INVERSE 
  16. 270  PRINT "RT = "RT;: NORMAL : PRINT "   ";: IF SP  THEN  INVERSE 
  17. 280  PRINT "SP = "SP;: NORMAL : PRINT "   ";: IF BS  THEN  INVERSE 
  18. 290  PRINT "BS = "BS: NORMAL 
  19. 300  IF NU  THEN  VTAB 20: HTAB 1: CALL EL: PRINT "NUMBER INPUT = "T: VTAB 22: CALL EL: PRINT "TEXT INPUT = <NONE>"
  20. 310  IF   NOT NU  THEN  VTAB 20: HTAB 1: CALL EL: PRINT "NUMBER INPUT = <NONE>": VTAB 22: CALL EL: PRINT "TEXT INPUT = "T$
  21. 320  RETURN 
  22. 330  REM CLEAR INPUT DISPLAY
  23. 340  VTAB 18: POKE TP,WD/2 -16: PRINT "QT = 0   RT = 0   SP = 0   BS = 0": VTAB 20: HTAB 16: CALL EL: VTAB 22: HTAB 14: CALL EP: RETURN 
  24. 350  REM MENU CHOICE OR QUIT
  25. 360  GOSUB 230: PRINT "WHICH FUNCTION (<ESC> ENDS) ";: &  GET NUM,T: ON QT GOTO 540: IF   NOT (QT +RT +SP +BS)  THEN FU = T
  26. 370  PRINT FU +SP -BS
  27. 380  REM CONTROL CENTER
  28. 390  GOSUB 230:FU = FU +SP -BS:FU = FU +5 *(FU <1) -5 *(FU >5): INVERSE : GOSUB 230: NORMAL 
  29. 400  VTAB 6: CALL EL: HTAB WD/2 -14: PRINT "HIT <RETURN> FOR OPTION "FU; CHR$(8);
  30. 410  &  GET NUM,T: PRINT (T *(T >0)) +(FU *(T = 0));: POKE TP,0: ON (SP)  OR (BS) GOTO 390: ON (RT) GOTO 420: ON (QT) GOTO 360: GOSUB 230:FU = T +(FU +1) *(T <1):FU = FU -(FU >5) *5: GOTO 390
  31. 420  CALL EL: GOSUB 340: ON FU GOSUB 430,440,450,460,470: GOSUB 250: GOTO 400
  32. 430  VTAB 10: HTAB 1:NU = 0: CALL EL: PRINT "TYPE ANY CHARACTERS": PRINT : CALL EL: &  INPUT ANY,T$,WD -1: RETURN 
  33. 440  VTAB 10: HTAB 1:NU = 1: CALL EL: PRINT "TYPE A NUMBER": PRINT : CALL EL: &  INPUT NUM,T,37: RETURN 
  34. 450  VTAB 10: HTAB 1:NU = 0: CALL EL: PRINT "TYPE ANY CHARACTERS": PRINT : CALL EL: &  GET ANY,T$: RETURN 
  35. 460  VTAB 10: HTAB 1:NU = 1: CALL EL: PRINT "TYPE A NUMBER": PRINT : CALL EL: &  GET NUM,T: RETURN 
  36. 470  VTAB 10: HTAB 1:NU = 0: CALL EL: PRINT "TYPE ANYTHING": PRINT : CALL EL: &  INPUT EXT,T$: RETURN 
  37. 480  PRINT  CHR$(4)"BRUNPROSIR"
  38. 490  &  DEF QT,RT,SP,BS:EL =  -868:EP =  -958:WD = 40:TP = 36: IF  PEEK(64435) = 6  AND  PEEK(49183) >127  THEN WD = 80:TP = 1403
  39. 500  HOME : FOR FU = 1 TO 5: READ C$(FU): GOSUB 230: NEXT 
  40. 510  VTAB 4: PRINT  TAB( WD/2 -14)"<SP>,<BS>-->CHANGE FUNCTION": PRINT  TAB( WD/2 -8)"<ESC>-->QUIT": POKE 34,8: VTAB 7: PRINT  TAB( WD/2 -17)"PROSIR DEMONSTRATION BY KEN MANLY": PRINT  TAB( WD/2 -19)"** COPYRIGHT 1985 BY MICROSPARC, INC **": RETURN 
  41. 520  DATA INPUT ANYTHING,INPUT NUMBER,GET ANYTHING,GET NUMBER,INPUT FROM EXTERIOR SOURCE
  42. 530  REM END
  43. 540  TEXT : HOME : PRINT  CHR$(12); CHR$(21): PRINT "GOODBYE": END