Extended BASIC Documentation KEY WORD FUNCTIONS EXIT n Leave a subroutine. EXIT will leave a subroutine, clear last GOSUB address and transfer program control to line n. IF THEN IF THEN IF THEN The THEN clause can be any BASIC statement; even another IF-THEN statement. The THEN clause of an IF statement is terminated by the next statement with a line statement. Example: 100 IF TEST = 0 THEN J=2 \ K=3 \ PRINT "TEST IS ZERO" 110 PRINT "DONE TEST" If TEST = 0 then every command on line 100 is executed. If TEST <> 0 then program control goes to line 110 INPUT The INPUT statement allows prompting. IE: INPUT "What is your name";NAME$ INPUT CUR$(1,1);"NAME ";NAME$;CUR$(3,1)"AGE ";AGE$ RECALL Recall a screen image file Recall will load data contained in a file that was previously generated by the store command onto the screen. The format is RECALL "FILE.EX" (the extension is optional). If no extension is given .SI is added to the file name. All files must reside on the system disk. SLEEP X Pause for x length of time. Where X = the length of time in 1/10th of a second Extended BASIC Documentation STORE Save the contents of the screen in a file. The store command will take the current contents on the screen and will save it in a file on your system disk. The format is STORE "FILE.EX" (the extenstion is optional). If no extension is given .SI is added to the file name. All files will be stored on the system disk. The file generated cannot be listed, it can only accessed by the RECALL command. *** An error will be generated if a STORE command is executed while a temporary file is active. IE: FILEV#1: TRAP X TRAP the character specified. When the TRAP character is found an error will be generated. IE: TRAP 4 will trap a CTRL D ON ERROR GOTO n Upon an error transfer program control to line n. IE: ON ERROR GOTO 9000 will transfer program control to line 9000 when an error is found. ** NOTES: ON ERROR GOTO 0 turns off the ON ERROR feature. NO other command may be specified on the same line as the ON ERROR GOTO command. If a second error is found before a RESUME command has been executed program execution will stop. RESUME n RESUME transfers program control to line n and clears the error flag condition. IE:RESUME 100 will clear the current error condition and transfer program control to line 100. Variable Names All variable names must start with a letter and may be followed by any number of letters, digits, or periods; however only the first eight characters are significant. *** A variable name cannot be a keyword. IE: INPUT FILE$ Extended BASIC Documentation LET FUNCTIONS X$=CAL$("FILE.EX",#) Call a user written overlay FILE.EX Is the name of the user overlay. Note that the overlay must reside on the system device. # Is a number from 0 - 4096. The value of the number depends upon the overlay being called. ERR(0) Return the error number. Used with ON ERROR GOTO. The error numbers are defined in the back of this document (see TABLE 3). ERL(0) Return the error line. Used with ON ERROR GOTO. X$=KEY$(T,X) KEY COMMAND Input one character from the keyboard X Function T Wait for T length of time for a character where T is in 1/10th's of a second. If no character was typed within the time period then a null string is returned. If T=0 then wait indefinitely. X 0 = do not echo the character 1 = echo the character IE: X$=KEY$(30,1) Means wait about 3 seconds and echo the character if typed. PRINT FUNCTIONS EID$(X) Erase In Display X Function 0 From current cursor position to end of screen. 1 From start of screen to current cursor position (inclusive). 2 Entire screen. IE: PRINT EID$(2) will clear the entire screen. Extended BASIC Documentation EIL$(X) Erase In Line X Function 0 From current cursor position to end of line. 1 From start of line to current cursor position. 2 Entire line. IE: PRINT EIL$(2) will clear the entire line. LCD$(A$,H,W) Line Character Display Create an open box according to given parameters: A$ Decimal equivalent of desired character H Heigth of box W Width of box IE: PRINT CUR$(24,1);LCD$("1",10,20) will create an open box 10 characters high by 20 characters wide using the diamond graphics character. ** NOTE: The box is drawn starting at the lower left corner at cursor position defined by the last CUR$(X,Y) command executed. LGD$(A$,H,W) Line Graphics Display Create an open box according to given parameters: A$ A$ = "0", "1", "2" 0 = a thin line box 1 = a medium line box 2 = a wide line box H Height of box W Width of box IE: PRINT CUR$(21,1);LGD$("0",10,20) will create a thin line box 10 characters high by 20 characters wide. ** NOTE: The box is drawn starting at the lower left corner at cursor position defined by the last CUR$(X,Y) command executed. Settings 1 and 2 for DECmate 1 only. Extended BASIC Documentation LST$(X) List Print the contents of the screen on the printer. X Function 0 Only used as a dummy variable IE: PRINT LST$(0) SCD$(A$,H,W) Solid Character Display Create a solid box according to given parameters: A$ Decimal equivalent of desired character (see TABLE 1) H Height of box W Width of box IE: PRINT CUR$(24,1);SCD$("1",10,20) will create a solid box 10 characters high by 20 characters wide using the diamond graphics characters. ** NOTE: The box is drawn starting at the lower left corner at cursor position defined by the last CUR$(X,Y) command executed. Extended BASIC Documentation SCS$(X) Select Character Set Select which character set LCD and SCD commands will use. X Function 0 Use TABLE 1 character set 1 Use TABLE 2 character set IE: PRINT SCS$(1);CUR$(24,1);SCD$("30",10,20) will create a solid box 10 characters high by 20 characters wide using the solid graphics character. For DECmate 1 only. SFM$(X) Set Feature Mode Establishes the screen width parameters: X Function 0 Set display width to 80 columns 1 Set display width to 132 columns IE: PRINT SFM$(1) Extended BASIC Documentation SGR$(X) Select Graphic Rendition Establishes the attributes of the subsequent characters sent to the screen: X Function 0 All attributes off 1 Display as a negative (reverse) image 2 Display at increased intensity 4 Display underscored 8 Display blinking If a combination of attributes is desired add the numbers and use the new value. IE: PRINT SGR$(5) will give you a combined attribute of 1 and 4. The SGR command will automaticly negate all previously set attributes and use the new setting passed. SSI$(X) Set Screen Intensity X = the value of the screen brightness in the range of 0 to 15, where 0 is the lowest setting, and 15 being the highest setting. The standard screen setting is 7. For DECmate 1 only. TABLE 1 0 1 2 3 4 5 * * * * * * **** **** *** * * * * * * ***** * * * ***** *** * ******* * * * * * **** ***** * * * * * * **** **** *** * * ***** * * * * * * * * *** **** * * * * * * * * 6 7 8 9 10 11 * * *** * * * * * * * * * ** * * * * * * * * * * * * * * ***** *** ******* * ** * **** ***** * * * ***** * * * * **** ******* * * * * * * ***** * 12 13 14 15 16 17 * * ********** * * * * ********** * * **** ******* ******* ********** * * * * * * * * * * * * * * * 18 19 20 21 22 23 * * * * * * * * * * * * ********** ******* **** ********** * * ********** * * * * ********** * * * * 24 25 26 27 28 29 * * * * * * * * * * * * ******* ******* ********** * * * * * * * * * * * * ******* * * * * * * * * * * * * * * * * ********** ********** * * 30 31 32 *** * * ***** * * **** * * ** * 33 ! 48 0 64 @ 80 P 96 @ 112 p 34 " 49 1 65 A 81 Q 97 a 113 q 35 # 50 2 66 B 82 R 98 b 114 r 36 $ 51 3 67 C 83 S 99 c 115 s 37 % 52 4 68 D 84 T 100 d 116 t 38 & 53 5 69 E 85 U 101 e 117 u 39 ' 54 6 70 F 86 V 102 f 118 v 40 ( 55 7 71 G 87 W 103 g 119 w 41 ) 56 8 72 H 88 X 104 h 120 x 42 * 57 9 73 I 89 Y 104 i 121 y 43 + 58 : 74 J 90 Z 105 j 122 z 44 , 59 ; 75 K 91 [ 106 k 123 { 45 - 60 < 76 L 92 \ 107 l 124 | 46 . 61 = 77 M 93 ] 108 m 125 } 47 / 62 > 78 N 94 ^ 109 n 126 ~ 63 ? 79 O 95 _ 110 o 127 DEL TABLE 2 0 1 2 3 4 5 ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** 6 7 8 9 10 11 ********** ***** ***** ********** ********** ********** ***** ***** ********** ********** ********** ***** ***** ********** ********** ********** ***** ***** ********** ********** ********** ***** ***** ********** ********** ********** ********** ********** ***** ***** ********** ********** ********** ***** ***** ********** ********** ********** ***** ***** ********** ********** ********** ***** ***** ********** ********** ********** ***** ***** 12 13 14 15 16 17 ***** ***** ** ** * ***** ***** * * ** ***** ***** ***** ***** *** *** ***** ***** *** *** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** 18 19 20 21 22 23 * * * ****** * * * * * * ** ** * *** * * * *** * * * **** *** * * * * *** ****** ** ** *** *** *** 24 25 26 27 28 29 *** *** *** ********** *** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** 30 31 32 33 34 35 ********** ********** * * *** ********** * * * * * ********** *** ***** * * * ********** *** * * * ***** ********** ***** ***** * ********** * * **** ********** ***** * * ** ********** *** * * ********** *** TABLE 3 1 Bad record number in random access file 2 Illegal character in numeric string 3 Illegal minus sign 4 More than one decimal point encountered 5 Division by zero 6 Division by zero in string arithmetic 7 Error creating or finding file specified in FILE, STORE, OR RECALL 8 Illegal DEV:FILENAME specification in FILE command 9 Failure to access a device handler in FILE command 10 Imaginary square root 11 Numeric or input overflow 12 ON GOTO statement out of range 13 String arithmetic overflow error 14 Attempt to read past End Of File 15 String truncated during record write 16 String truncated on input 17 String truncated during record read 18 Trap character found 19 Attempt to write past End Of File 20 * not assigned * 21 * not assigned * 22 * not assigned * 23 * not assigned * 24 * not assigned * 25 CHAIN attempted with BCOMP.SV or BLOAD.SV missing 26 Error in DEFINE statement 27 No more file buffers available 28 Bad DEV:FILE.EX format in CHAIN statement 29 Failure to access a device handler in CHAIN command 30 Failure to find file specified in CHAIN command 31 Attempt to CHAIN to a .SV file not on SYS: 32 Attempt to READ past end of DATA list 33 Error generated during device access 34 No more room for record defines 35 No more room for additional handlers 36 Attempt to raise negative number to a real power 37 Attempt to create a second tentative file 38 Loosing tentative file 39 Failed to load handler for FILE command 40 Attempt to use unopened file 41 Attempt to FIX a negative number 42 Illegal file number 43 Attempt to FIX a number > 4095 44 Attempt to FIX a number > 2**23-1 45 EXIT or RETURN executed with out GOSUB 46 GOSUB stack overflow 47 Failure during (USR) system access in STORE or RECALL 48 Error in STORE while creating tempory file 49 Failure to find file specified in RECALL command 50 Can't STORE tempory file error in close 51 Bad DEV:FILE.EX format in STORE or RECALL 52 Attempt to create a second tentative file in STORE 53 File overflow in STORE exceeded free space 54 Input error during disk read on RECALL TABLE 3 55 Illegal argument in user function 56 Illegal argument in LOG function 57 Bad command length or CCL.SV missing 58 Handler error while overlaying 59 Illegal arg in POS 60 SAC overflow on concatenate 61 String to long or undefined 62 Attempt to read string from numeric file 63 Subscript error 64 Attempt to write string into numeric file 65 Illegal record size 66 Attempt to read variable length file 67 * not assigned * 68 * not assigned * 69 * not assigned * 70 * not assigned * 71 * not assigned * 72 * not assigned * 73 Error loading user overlay 74 Error in user overlay 75 Execution aborted by CTRL C 76 RESUME executed without error condition pending