home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib26b.dsk
/
PROSIR.DEMO.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
3KB
|
43 lines
120 REM **********************
130 REM * PROSIR.DEMO *
140 REM * BY KEN MANLY *
150 REM * COPYRIGHT (C) 1985 *
160 REM * BY MICROSPARC, INC *
170 REM * CONCORD, MA 01742 *
180 REM **********************
190 REM INITIALIZE
200 GOSUB 480:FU = 1: HOME
210 GOTO 390
220 REM HIGHLIGHT AND UNHIGHLIGHT MENU SUBROUTINE
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
240 REM DISPLAY INPUT
250 VTAB 10: HTAB 1: CALL EL: VTAB 18: POKE TP,WD/2 -16: IF QT THEN INVERSE
260 PRINT "QT = "QT;: NORMAL : PRINT " ";: IF RT THEN INVERSE
270 PRINT "RT = "RT;: NORMAL : PRINT " ";: IF SP THEN INVERSE
280 PRINT "SP = "SP;: NORMAL : PRINT " ";: IF BS THEN INVERSE
290 PRINT "BS = "BS: NORMAL
300 IF NU THEN VTAB 20: HTAB 1: CALL EL: PRINT "NUMBER INPUT = "T: VTAB 22: CALL EL: PRINT "TEXT INPUT = <NONE>"
310 IF NOT NU THEN VTAB 20: HTAB 1: CALL EL: PRINT "NUMBER INPUT = <NONE>": VTAB 22: CALL EL: PRINT "TEXT INPUT = "T$
320 RETURN
330 REM CLEAR INPUT DISPLAY
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
350 REM MENU CHOICE OR QUIT
360 GOSUB 230: PRINT "WHICH FUNCTION (<ESC> ENDS) ";: & GET NUM,T: ON QT GOTO 540: IF NOT (QT +RT +SP +BS) THEN FU = T
370 PRINT FU +SP -BS
380 REM CONTROL CENTER
390 GOSUB 230:FU = FU +SP -BS:FU = FU +5 *(FU <1) -5 *(FU >5): INVERSE : GOSUB 230: NORMAL
400 VTAB 6: CALL EL: HTAB WD/2 -14: PRINT "HIT <RETURN> FOR OPTION "FU; CHR$(8);
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
420 CALL EL: GOSUB 340: ON FU GOSUB 430,440,450,460,470: GOSUB 250: GOTO 400
430 VTAB 10: HTAB 1:NU = 0: CALL EL: PRINT "TYPE ANY CHARACTERS": PRINT : CALL EL: & INPUT ANY,T$,WD -1: RETURN
440 VTAB 10: HTAB 1:NU = 1: CALL EL: PRINT "TYPE A NUMBER": PRINT : CALL EL: & INPUT NUM,T,37: RETURN
450 VTAB 10: HTAB 1:NU = 0: CALL EL: PRINT "TYPE ANY CHARACTERS": PRINT : CALL EL: & GET ANY,T$: RETURN
460 VTAB 10: HTAB 1:NU = 1: CALL EL: PRINT "TYPE A NUMBER": PRINT : CALL EL: & GET NUM,T: RETURN
470 VTAB 10: HTAB 1:NU = 0: CALL EL: PRINT "TYPE ANYTHING": PRINT : CALL EL: & INPUT EXT,T$: RETURN
480 PRINT CHR$(4)"BRUNPROSIR"
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
500 HOME : FOR FU = 1 TO 5: READ C$(FU): GOSUB 230: NEXT
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
520 DATA INPUT ANYTHING,INPUT NUMBER,GET ANYTHING,GET NUMBER,INPUT FROM EXTERIOR SOURCE
530 REM END
540 TEXT : HOME : PRINT CHR$(12); CHR$(21): PRINT "GOODBYE": END