ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

845 lines
35 KiB

  1. ============================================================
  2. GENERAL
  3. ============================================================
  4. OPTION VERSION "VINTAGE"
  5. REM INTERNAL ID: V09
  6. REM DESCRIPTION: Vintage BASIC 1.0.1
  7. REM REFERENCE: Vintage BASIC User's Guide 1.0.1
  8. REM by Lyle Kopnicky
  9. REM (c) 2009, Lyle Kopnicky
  10. REM http://www.vintage-basic.net/
  11. REM vintage-basic-1.0.1.tar.gz
  12. REM
  13. OPTION STRICT OFF
  14. OPTION ANGLE RADIANS
  15. OPTION BUGS ON
  16. OPTION LABELS OFF
  17. OPTION COMPARE BINARY
  18. OPTION COVERAGE OFF
  19. OPTION TRACE OFF
  20. OPTION ERROR GOTO
  21. OPTION IMPLICIT
  22. OPTION BASE 0
  23. OPTION RECLEN 128
  24. OPTION DATE ""
  25. OPTION TIME ""
  26. OPTION PUNCT STRING "$"
  27. OPTION PUNCT DOUBLE " "
  28. OPTION PUNCT SINGLE " "
  29. OPTION PUNCT CURRENCY " "
  30. OPTION PUNCT LONG " "
  31. OPTION PUNCT INTEGER "%"
  32. OPTION PUNCT BYTE " "
  33. OPTION PUNCT QUOTE """
  34. OPTION PUNCT COMMENT " "
  35. OPTION PUNCT STATEMENT ":"
  36. OPTION PUNCT PRINT " "
  37. OPTION PUNCT INPUT " "
  38. OPTION PUNCT IMAGE " "
  39. OPTION PUNCT LPAREN "("
  40. OPTION PUNCT RPAREN ")"
  41. OPTION PUNCT FILENUM " "
  42. OPTION PUNCT AT " "
  43. OPTION USING DIGIT "#"
  44. OPTION USING COMMA ","
  45. OPTION USING PERIOD "."
  46. OPTION USING PLUS "+"
  47. OPTION USING MINUS "-"
  48. OPTION USING EXRAD "^"
  49. OPTION USING DOLLAR "$"
  50. OPTION USING FILLER "*"
  51. OPTION USING LITERAL "_"
  52. OPTION USING FIRST "!"
  53. OPTION USING ALL "&"
  54. OPTION USING LENGTH "\"
  55. ============================================================
  56. COMMANDS
  57. ============================================================
  58. ------------------------------------------------------------
  59. SYNTAX: DATA constant [, ...]
  60. DESCRIPTION: Stores numeric and string constants to be
  61. accessed by READ.
  62. ------------------------------------------------------------
  63. SYNTAX: DEF FNname[( arg [,...] )] = value
  64. DESCRIPTION: Defines a single-line function. Single-line
  65. functions require an equal sign.
  66. ------------------------------------------------------------
  67. SYNTAX: DIM [# filenum,] variable([ lower TO ] upper)
  68. DESCRIPTION: Declares variables and specifies the
  69. dimensions of array variables. For array
  70. variables, if the lower bound is not
  71. provided, then the OPTION BASE value is used.
  72. If filenum is provided, then the variable is
  73. virtual.
  74. ------------------------------------------------------------
  75. SYNTAX: ELSE
  76. DESCRIPTION: Introduces a default condition in a multi-line
  77. IF statement.
  78. ------------------------------------------------------------
  79. SYNTAX: ELSEIF
  80. DESCRIPTION: Introduces a secondary condition in a
  81. multi-line IF statement.
  82. ------------------------------------------------------------
  83. SYNTAX: END
  84. DESCRIPTION: Terminates program execution. If the BASIC
  85. program was executed from the operating
  86. system level, then control returns to the
  87. operating system, oterwise control reuturns
  88. to the BASIC prompt.
  89. ------------------------------------------------------------
  90. SYNTAX: END IF
  91. DESCRIPTION: Specifies the last line of a multi-line IF
  92. definition.
  93. ------------------------------------------------------------
  94. SYNTAX: FOR variable = start TO finish [STEP
  95. increment]
  96. DESCRIPTION: Top of a FOR - NEXT structure. The loop will
  97. continue a fixed number of times, which is
  98. determined by the values of start, finish,
  99. and increment.
  100. ------------------------------------------------------------
  101. SYNTAX: GO
  102. DESCRIPTION: Syntax Error.
  103. ------------------------------------------------------------
  104. SYNTAX: GO SUB line
  105. DESCRIPTION: Initiates a subroutine call to the line
  106. specified. The subroutine must end with
  107. RETURN. The line may be a number or a label.
  108. ------------------------------------------------------------
  109. SYNTAX: GO TO line
  110. DESCRIPTION: Branches program execution to the specified
  111. line. The line may be a number or a label.
  112. ------------------------------------------------------------
  113. SYNTAX: GOSUB line
  114. DESCRIPTION: Initiates a subroutine call to the line
  115. specified. The subroutine must end with
  116. RETURN. The line may be a number or a label.
  117. ------------------------------------------------------------
  118. SYNTAX: GOTO line
  119. DESCRIPTION: Branches program execution to the specified
  120. line. The line may be a number or a label.
  121. ------------------------------------------------------------
  122. SYNTAX: IF value THEN line1 [ELSE line2]
  123. DESCRIPTION: Single line standard IF command. If the value
  124. is non-zero, then branh to line1. If the
  125. value is zero and ELSE is provided, then
  126. branch to line2. Otherwise continue to the
  127. next line. LABELS are not allowed.
  128. ------------------------------------------------------------
  129. SYNTAX: IF value THEN
  130. DESCRIPTION: Top of a multi-line IF - END IF structure. If
  131. the value is non-zero, then the program lines
  132. upto the next ELSE or ELSE IF command are
  133. executed, otherwise the program branches to
  134. the next ELSE or ELSE IF command.
  135. ------------------------------------------------------------
  136. SYNTAX: [LET] variable [, ...] = value
  137. DESCRIPTION: Assigns the value to the variable. The LET
  138. keyword is optional.
  139. ------------------------------------------------------------
  140. SYNTAX: MAINTAINER
  141. DESCRIPTION: This command is reserved for use by the
  142. Bywater BASIC maintainer. It is not for the
  143. BASIC programmer.
  144. ------------------------------------------------------------
  145. SYNTAX: MAINTAINER CMDS
  146. DESCRIPTION: Syntax Error.
  147. ------------------------------------------------------------
  148. SYNTAX: MAINTAINER CMDS HTML
  149. DESCRIPTION: Dump COMMAND vs VERSION as HTML table
  150. ------------------------------------------------------------
  151. SYNTAX: MAINTAINER CMDS ID
  152. DESCRIPTION: Dump COMMAND #define.
  153. ------------------------------------------------------------
  154. SYNTAX: MAINTAINER CMDS MANUAL
  155. DESCRIPTION: Dump COMMAND manual.
  156. ------------------------------------------------------------
  157. SYNTAX: MAINTAINER CMDS_SWITCH
  158. DESCRIPTION: Dump COMMAND switch.
  159. ------------------------------------------------------------
  160. SYNTAX: MAINTAINER CMDS TABLE
  161. DESCRIPTION: Dump COMMAND table.
  162. ------------------------------------------------------------
  163. SYNTAX: MAINTAINER DEBUG
  164. DESCRIPTION: Syntax Error.
  165. ------------------------------------------------------------
  166. SYNTAX: MAINTAINER DEBUG OFF
  167. DESCRIPTION: Disable degug tracing.
  168. ------------------------------------------------------------
  169. SYNTAX: MAINTAINER DEBUG ON
  170. DESCRIPTION: Enable degug tracing.
  171. ------------------------------------------------------------
  172. SYNTAX: MAINTAINER FNCS
  173. DESCRIPTION: Syntax Error.
  174. ------------------------------------------------------------
  175. SYNTAX: MAINTAINER FNCS HTML
  176. DESCRIPTION: Dump FUNCTION vs VERSION as HTML table.
  177. ------------------------------------------------------------
  178. SYNTAX: MAINTAINER FNCS ID
  179. DESCRIPTION: Dump FUNCTION #define.
  180. ------------------------------------------------------------
  181. SYNTAX: MAINTAINER FNCS MANUAL
  182. DESCRIPTION: Dump FUNCTION manual.
  183. ------------------------------------------------------------
  184. SYNTAX: MAINTAINER FNCS SWITCH
  185. DESCRIPTION: Dump FUNCTION switch.
  186. ------------------------------------------------------------
  187. SYNTAX: MAINTAINER FNCS TABLE
  188. DESCRIPTION: Dump FUNCTION table.
  189. ------------------------------------------------------------
  190. SYNTAX: MAINTAINER MANUAL
  191. DESCRIPTION: Dump manual for the currently selected OPTION
  192. VERSION.
  193. ------------------------------------------------------------
  194. SYNTAX: MAINTAINER STACK
  195. DESCRIPTION: Dump the BASIC stack.
  196. ------------------------------------------------------------
  197. SYNTAX: NEXT [variable]
  198. DESCRIPTION: The bottom line of a FOR - NEXT structure.
  199. ------------------------------------------------------------
  200. SYNTAX: ON value GOSUB line [, ...]
  201. DESCRIPTION: Calls based on the rounded value.
  202. ------------------------------------------------------------
  203. SYNTAX: ON value GOTO line [, ...]
  204. DESCRIPTION: Branches based on the rounded value.
  205. ------------------------------------------------------------
  206. SYNTAX: OPTION
  207. DESCRIPTION: Syntax Error.
  208. ------------------------------------------------------------
  209. SYNTAX: OPTION ANGLE
  210. DESCRIPTION: Syntax Error.
  211. ------------------------------------------------------------
  212. SYNTAX: OPTION ANGLE DEGREES
  213. DESCRIPTION: Configures these math functions to accept and
  214. return angles in degrees: ACOS, ACS, ANGLE,
  215. ARCSIN, ASIN, ASN, ARCTAN, ATN, ATAN, COS,
  216. COT, CSC, SEC, SIN and TAN.
  217. ------------------------------------------------------------
  218. SYNTAX: OPTION ANGLE GRADIANS
  219. DESCRIPTION: Configures these math functions to accept and
  220. return angles in gradians: ACOS, ANGLE,
  221. ASIN, ASN, ATN, ATAN, COS, COT, CSC, SEC, SIN
  222. and TAN.
  223. ------------------------------------------------------------
  224. SYNTAX: OPTION ANGLE RADIANS
  225. DESCRIPTION: Configures these math functions to accept and
  226. return angles in radians: ACOS, ANGLE, ASIN,
  227. ASN, ATN, ATAN, COS, COT, CSC, SEC, SIN and
  228. TAN.
  229. ------------------------------------------------------------
  230. SYNTAX: OPTION ARITHMETIC
  231. DESCRIPTION: Syntax Error.
  232. ------------------------------------------------------------
  233. SYNTAX: OPTION ARITHMETIC DECIMAL
  234. DESCRIPTION: Currently has no effect.
  235. ------------------------------------------------------------
  236. SYNTAX: OPTION ARITHMETIC FIXED
  237. DESCRIPTION: Currently has no effect.
  238. ------------------------------------------------------------
  239. SYNTAX: OPTION ARITHMETIC NATIVE
  240. DESCRIPTION: Currently has no effect.
  241. ------------------------------------------------------------
  242. SYNTAX: OPTION BASE integer
  243. DESCRIPTION: Sets the default lowest array subscript.
  244. ------------------------------------------------------------
  245. SYNTAX: OPTION BUGS
  246. DESCRIPTION: Syntax Error.
  247. ------------------------------------------------------------
  248. SYNTAX: OPTION BUGS BOOLEAN
  249. DESCRIPTION: Boolean results are 1 or 0 instead of bitwise.
  250. ------------------------------------------------------------
  251. SYNTAX: OPTION BUGS OFF
  252. DESCRIPTION: Disables bugs commonly found in many BASIC
  253. dialects.
  254. ------------------------------------------------------------
  255. SYNTAX: OPTION BUGS ON
  256. DESCRIPTION: Enables bugs commonly found in many BASIC
  257. dialects.
  258. ------------------------------------------------------------
  259. SYNTAX: OPTION COMPARE
  260. DESCRIPTION: Syntax Error.
  261. ------------------------------------------------------------
  262. SYNTAX: OPTION COMPARE BINARY
  263. DESCRIPTION: Causes string comparisons to be
  264. case-sensitive.
  265. ------------------------------------------------------------
  266. SYNTAX: OPTION COMPARE DATABASE
  267. DESCRIPTION: Causes string comparisons to be
  268. case-insensitive.
  269. ------------------------------------------------------------
  270. SYNTAX: OPTION COMPARE TEXT
  271. DESCRIPTION: Causes string comparisons to be
  272. case-insensitive.
  273. ------------------------------------------------------------
  274. SYNTAX: OPTION COVERAGE
  275. DESCRIPTION: Syntax Error.
  276. ------------------------------------------------------------
  277. SYNTAX: OPTION COVERAGE OFF
  278. DESCRIPTION: Disables BASIC code coverage recording,
  279. displayed using the LIST command.
  280. ------------------------------------------------------------
  281. SYNTAX: OPTION COVERAGE ON
  282. DESCRIPTION: Enables BASIC code coverage recording,
  283. displayed using the LIST command.
  284. ------------------------------------------------------------
  285. SYNTAX: OPTION DATE format$
  286. DESCRIPTION: Sets the date format string used by C
  287. strftime() for DATE$.
  288. ------------------------------------------------------------
  289. SYNTAX: OPTION DIGITS integer
  290. DESCRIPTION: Sets the number of significant digits for
  291. PRINT. Setting the value to zero restores
  292. the default.
  293. ------------------------------------------------------------
  294. SYNTAX: OPTION DISABLE
  295. DESCRIPTION: Syntax Error.
  296. ------------------------------------------------------------
  297. SYNTAX: OPTION DISABLE COMMAND name$
  298. DESCRIPTION: Disables the specified BASIC command.
  299. ------------------------------------------------------------
  300. SYNTAX: OPTION DISABLE FUNCTION name$
  301. DESCRIPTION: Disables the specified BASIC function.
  302. ------------------------------------------------------------
  303. SYNTAX: OPTION DISABLE OPERATOR name$
  304. DESCRIPTION: Disables the specified BASIC operator.
  305. ------------------------------------------------------------
  306. SYNTAX: OPTION EDIT string$
  307. DESCRIPTION: Sets the program name used by the EDIT
  308. command.
  309. ------------------------------------------------------------
  310. SYNTAX: OPTION ENABLE
  311. DESCRIPTION: Syntax Error.
  312. ------------------------------------------------------------
  313. SYNTAX: OPTION ENABLE COMMAND name$
  314. DESCRIPTION: Enables the specified BASIC command.
  315. ------------------------------------------------------------
  316. SYNTAX: OPTION ENABLE FUNCTION name$
  317. DESCRIPTION: Enables the specified BASIC function.
  318. ------------------------------------------------------------
  319. SYNTAX: OPTION ENABLE OPERATOR name$
  320. DESCRIPTION: Enables the specified BASIC operator.
  321. ------------------------------------------------------------
  322. SYNTAX: OPTION ERROR
  323. DESCRIPTION: Syntax Error.
  324. ------------------------------------------------------------
  325. SYNTAX: OPTION ERROR GOSUB
  326. DESCRIPTION: When an error occurs, GOSUB to the error
  327. handler. The error handler exits with
  328. RETURN.
  329. ------------------------------------------------------------
  330. SYNTAX: OPTION ERROR GOTO
  331. DESCRIPTION: When an error occurs, GOTO to the error
  332. handler. The error handler exits with
  333. RESUME.
  334. ------------------------------------------------------------
  335. SYNTAX: OPTION EXPLICIT
  336. DESCRIPTION: All variables must be declared using DIM.
  337. ------------------------------------------------------------
  338. SYNTAX: OPTION EXTENSION string$
  339. DESCRIPTION: Sets the BASIC filename extension, commonly
  340. ".bas".
  341. ------------------------------------------------------------
  342. SYNTAX: OPTION FILES string$
  343. DESCRIPTION: Sets the program name used by the FILES
  344. command.
  345. ------------------------------------------------------------
  346. SYNTAX: OPTION IMPLICIT
  347. DESCRIPTION: Variables need not be declared using DIM,
  348. provided arrays have no more that 10
  349. elements. This is the opposite of OPTION
  350. EXPLICIT, and is the default for all versions
  351. of BASIC.
  352. ------------------------------------------------------------
  353. SYNTAX: OPTION INDENT integer
  354. DESCRIPTION: Sets indention level for LIST. Zero means no
  355. indention. Default is 2.
  356. ------------------------------------------------------------
  357. SYNTAX: OPTION LABELS
  358. DESCRIPTION: Syntax Error.
  359. ------------------------------------------------------------
  360. SYNTAX: OPTION LABELS OFF
  361. DESCRIPTION: Disables text labels.
  362. ------------------------------------------------------------
  363. SYNTAX: OPTION LABELS ON
  364. DESCRIPTION: Enables text labels.
  365. ------------------------------------------------------------
  366. SYNTAX: OPTION PROMPT string$
  367. DESCRIPTION: Sets the BASIC prompt.
  368. ------------------------------------------------------------
  369. SYNTAX: OPTION PUNCT
  370. DESCRIPTION: Syntax Error.
  371. ------------------------------------------------------------
  372. SYNTAX: OPTION PUNCT AT char$
  373. DESCRIPTION: Sets the PRINT AT character, commonly "@".
  374. ------------------------------------------------------------
  375. SYNTAX: OPTION PUNCT BYTE char$
  376. DESCRIPTION: Sets the suffix character that indicates a
  377. variable is of type BYTE, commonly "~".
  378. ------------------------------------------------------------
  379. SYNTAX: OPTION PUNCT COMMENT char$
  380. DESCRIPTION: Sets the shortcut COMMENT character.
  381. ------------------------------------------------------------
  382. SYNTAX: OPTION PUNCT CURRENCY char$
  383. DESCRIPTION: Sets the suffix character that indicates a
  384. variable is of type CURRENCY, commonly "@".
  385. ------------------------------------------------------------
  386. SYNTAX: OPTION PUNCT DOUBLE char$
  387. DESCRIPTION: Sets the suffix character that indicates a
  388. variable is of type DOUBLE, commonly "#".
  389. ------------------------------------------------------------
  390. SYNTAX: OPTION PUNCT FILENUM char$
  391. DESCRIPTION: Sets the FILE NUMBER prefix character,
  392. commonly "#".
  393. ------------------------------------------------------------
  394. SYNTAX: OPTION PUNCT IMAGE char$
  395. DESCRIPTION: Sets the shortcut IMAGE character, commonly
  396. ":".
  397. ------------------------------------------------------------
  398. SYNTAX: OPTION PUNCT INPUT char$
  399. DESCRIPTION: Sets the shortcut INPUT character, commonly
  400. "!".
  401. ------------------------------------------------------------
  402. SYNTAX: OPTION PUNCT INTEGER char$
  403. DESCRIPTION: Sets the suffix character that indicates a
  404. variable is of type INTEGER, commonly "%".
  405. ------------------------------------------------------------
  406. SYNTAX: OPTION PUNCT LONG char$
  407. DESCRIPTION: Sets the suffix character that indicates a
  408. variable is of type LONG, commonly "&".
  409. ------------------------------------------------------------
  410. SYNTAX: OPTION PUNCT LPAREN char$
  411. DESCRIPTION: Sets the LEFT PARENTHESIS character, commonly
  412. "(".
  413. ------------------------------------------------------------
  414. SYNTAX: OPTION PUNCT_PRINT char$
  415. DESCRIPTION: Sets the shortcut PRINT character, commonly
  416. "?".
  417. ------------------------------------------------------------
  418. SYNTAX: OPTION PUNCT QUOTE char$
  419. DESCRIPTION: Sets the QUOTE character, commonly """
  420. ------------------------------------------------------------
  421. SYNTAX: OPTION PUNCT RPAREN char$
  422. DESCRIPTION: Sets the RIGHT PARENTHESIS character, commonly
  423. ")".
  424. ------------------------------------------------------------
  425. SYNTAX: OPTION PUNCT SINGLE char$
  426. DESCRIPTION: Sets the suffix character that indicates a
  427. variable is of type SINGLE, commonly "!".
  428. ------------------------------------------------------------
  429. SYNTAX: OPTION PUNCT STATEMENT char$
  430. DESCRIPTION: Sets the statement seperator character,
  431. commonly ":".
  432. ------------------------------------------------------------
  433. SYNTAX: OPTION PUNCT STRING char$
  434. DESCRIPTION: Sets the suffix character that indicates a
  435. variable is of type STRING, commonly "$".
  436. ------------------------------------------------------------
  437. SYNTAX: OPTION RECLEN integer
  438. DESCRIPTION: Sets the default RANDOM record length.
  439. ------------------------------------------------------------
  440. SYNTAX: OPTION RENUM string$
  441. DESCRIPTION: Sets the program name used by the RENUM
  442. command.
  443. ------------------------------------------------------------
  444. SYNTAX: OPTION ROUND
  445. DESCRIPTION: Syntax Error.
  446. ------------------------------------------------------------
  447. SYNTAX: OPTION ROUND BANK
  448. DESCRIPTION: Round using the Banker rule.
  449. ------------------------------------------------------------
  450. SYNTAX: OPTION ROUND MATH
  451. DESCRIPTION: Round using mathematical rules.
  452. ------------------------------------------------------------
  453. SYNTAX: OPTION ROUND TRUNCATE
  454. DESCRIPTION: Round using truncation.
  455. ------------------------------------------------------------
  456. SYNTAX: OPTION SCALE integer
  457. DESCRIPTION: Sets the number of digits to round after the
  458. decimal point for PRINT. Setting the value
  459. to zero disables rounding.
  460. ------------------------------------------------------------
  461. SYNTAX: OPTION SLEEP double
  462. DESCRIPTION: Sets multiplier for SLEEP and WAIT. Zero
  463. means no waiting. Default is 1.
  464. ------------------------------------------------------------
  465. SYNTAX: OPTION STDERR filename$
  466. DESCRIPTION: Sets the file used for STDERR, which is used
  467. by LPRINT commands.
  468. ------------------------------------------------------------
  469. SYNTAX: OPTION STDIN filename$
  470. DESCRIPTION: Sets the file used for STDIN, which is used by
  471. INPUT commands.
  472. ------------------------------------------------------------
  473. SYNTAX: OPTION STDOUT filename$
  474. DESCRIPTION: Sets the file used for STDOUT, which is used
  475. by PRINT commands.
  476. ------------------------------------------------------------
  477. SYNTAX: OPTION STRICT
  478. DESCRIPTION: Syntax Error.
  479. ------------------------------------------------------------
  480. SYNTAX: OPTION STRICT OFF
  481. DESCRIPTION: Disables checking for implicit array creation
  482. without using the DIM command.
  483. ------------------------------------------------------------
  484. SYNTAX: OPTION STRICT ON
  485. DESCRIPTION: Enables checking for implicit array creation
  486. without using the DIM command.
  487. ------------------------------------------------------------
  488. SYNTAX: OPTION TERMINAL
  489. DESCRIPTION: Syntax Error.
  490. ------------------------------------------------------------
  491. SYNTAX: OPTION TERMINAL ADM
  492. DESCRIPTION: Enables ADM-3A terminal control codes for CLS,
  493. COLOR, and LOCATE.
  494. ------------------------------------------------------------
  495. SYNTAX: OPTION TERMINAL ANSI
  496. DESCRIPTION: Enables ANSI terminal control codes for CLS,
  497. COLOR, and LOCATE.
  498. ------------------------------------------------------------
  499. SYNTAX: OPTION TERMINAL NONE
  500. DESCRIPTION: Disables terminal control codes for CLS,
  501. COLOR, and LOCATE.
  502. ------------------------------------------------------------
  503. SYNTAX: OPTION TIME format$
  504. DESCRIPTION: Sets the time format string used by C
  505. strftime() for TIME$.
  506. ------------------------------------------------------------
  507. SYNTAX: OPTION TRACE
  508. DESCRIPTION: Syntax Error.
  509. ------------------------------------------------------------
  510. SYNTAX: OPTION TRACE OFF
  511. DESCRIPTION: Disables displaying a stack trace when an
  512. ERROR occurs.
  513. ------------------------------------------------------------
  514. SYNTAX: OPTION TRACE ON
  515. DESCRIPTION: Enables displaying a stack trace when an ERROR
  516. occurs.
  517. ------------------------------------------------------------
  518. SYNTAX: OPTION USING
  519. DESCRIPTION: Syntax Error.
  520. ------------------------------------------------------------
  521. SYNTAX: OPTION USING ALL char$
  522. DESCRIPTION: Specifies the magic ALL character for the
  523. PRINT USING command. A common value is "&".
  524. ------------------------------------------------------------
  525. SYNTAX: OPTION USING COMMA char$
  526. DESCRIPTION: Specifies the magic COMMA character for the
  527. PRINT USING command. A common value is ",".
  528. ------------------------------------------------------------
  529. SYNTAX: OPTION USING DIGIT char$
  530. DESCRIPTION: Specifies the magic DIGIT character for the
  531. PRINT USING command. A common value is "#".
  532. ------------------------------------------------------------
  533. SYNTAX: OPTION USING DOLLAR char$
  534. DESCRIPTION: Specifies the magic DOLLAR character for the
  535. PRINT USING command. A common value is "$".
  536. ------------------------------------------------------------
  537. SYNTAX: OPTION USING EXRAD char$
  538. DESCRIPTION: Specifies the magic EXRAD character for the
  539. PRINT USING command. A common value is "^".
  540. ------------------------------------------------------------
  541. SYNTAX: OPTION USING FILLER char$
  542. DESCRIPTION: Specifies the magic FILLER character for the
  543. PRINT USING command. A common value is "*".
  544. ------------------------------------------------------------
  545. SYNTAX: OPTION USING FIRST char$
  546. DESCRIPTION: Specifies the magic FIRST character for the
  547. PRINT USING command. A common value is "!".
  548. ------------------------------------------------------------
  549. SYNTAX: OPTION USING LENGTH char$
  550. DESCRIPTION: Specifies the magic LENGTH character for the
  551. PRINT USING command. A common value is "\".
  552. ------------------------------------------------------------
  553. SYNTAX: OPTION USING LITERAL char$
  554. DESCRIPTION: Specifies the magic LITERAL character for the
  555. PRINT USING command. A common value is "_".
  556. ------------------------------------------------------------
  557. SYNTAX: OPTION USING MINUS char$
  558. DESCRIPTION: Specifies the magic MINUS character for the
  559. PRINT USING command. A common value is "-".
  560. ------------------------------------------------------------
  561. SYNTAX: OPTION USING PERIOD char$
  562. DESCRIPTION: Specifies the magic PERIOD character for the
  563. PRINT USING command. A common value is ".".
  564. ------------------------------------------------------------
  565. SYNTAX: OPTION USING PLUS char$
  566. DESCRIPTION: Specifies the magic PLUS character for the
  567. PRINT USING command. A common value is "+".
  568. ------------------------------------------------------------
  569. SYNTAX: OPTION VERSION version$
  570. DESCRIPTION: Selects a specific BASIC version, which is a
  571. combination of OPTION settings, commands,
  572. functions and operators. If no version is
  573. specified, displays a list of the available
  574. versions.
  575. ------------------------------------------------------------
  576. SYNTAX: OPTION ZONE integer
  577. DESCRIPTION: Sets the PRINT zone width. Setting the value
  578. to zero restores the default.
  579. ------------------------------------------------------------
  580. SYNTAX: PRINT [USING format$;] value ...
  581. DESCRIPTION: Sends output to the screen.
  582. ------------------------------------------------------------
  583. SYNTAX: READ variable [, ...]
  584. DESCRIPTION: Reads values from DATA statements.
  585. ------------------------------------------------------------
  586. SYNTAX: REM ...
  587. DESCRIPTION: Remark.
  588. ------------------------------------------------------------
  589. SYNTAX: RESTORE [line]
  590. DESCRIPTION: Resets the line used for the next READ
  591. statement. line may be either a number or a
  592. label.
  593. ------------------------------------------------------------
  594. SYNTAX: RETURN
  595. DESCRIPTION: Concludes a subroutine called by GOSUB.
  596. ------------------------------------------------------------
  597. SYNTAX: STEP
  598. DESCRIPTION: Syntax Error.
  599. ------------------------------------------------------------
  600. SYNTAX: STOP
  601. DESCRIPTION: Interrupts program execution and displays the
  602. line number of the STOP command. For use
  603. when debugging BASIC programs. Whether STOP
  604. issues a SIGINT signal is implementation
  605. defined.
  606. ------------------------------------------------------------
  607. SYNTAX: SYSTEM
  608. DESCRIPTION: Exits to the operating system.
  609. ------------------------------------------------------------
  610. SYNTAX: THEN
  611. DESCRIPTION: Syntax Error.
  612. ------------------------------------------------------------
  613. SYNTAX: TO
  614. DESCRIPTION: Syntax Error.
  615. ------------------------------------------------------------
  616. ============================================================
  617. FUNCTIONS
  618. ============================================================
  619. ------------------------------------------------------------
  620. SYNTAX: N = ABS( X )
  621. PARAMETER: X is a number
  622. DESCRIPTION: The absolute value of X.
  623. ------------------------------------------------------------
  624. SYNTAX: N = ASC( A$ )
  625. PARAMETER: A$ is a string, LEN >= 1
  626. DESCRIPTION: The numeric code for the first letter in A$.
  627. For example, ASC("ABC") returns 65 on ASCII
  628. systems.
  629. ------------------------------------------------------------
  630. SYNTAX: N = ATN( X )
  631. PARAMETER: X is a number
  632. DESCRIPTION: The arctangent of X in radians, i.e. the angle
  633. whose tangent is X, where -PI/2 < ATN(X) <
  634. PI/2.
  635. ------------------------------------------------------------
  636. SYNTAX: S$ = CHR$( X )
  637. PARAMETER: X is a number, [0,255]
  638. DESCRIPTION: The one-character string with the character
  639. corresponding to the numeric code X. On
  640. ASCII systems, CHR$(65) returns "A".
  641. ------------------------------------------------------------
  642. SYNTAX: N = COS( X )
  643. PARAMETER: X is a number
  644. DESCRIPTION: The cosine of X, where X is in radians.
  645. ------------------------------------------------------------
  646. SYNTAX: N = EXP( X )
  647. PARAMETER: X is a number
  648. DESCRIPTION: The exponential value of X, i.e., the value of
  649. the base of natural logarithms (e = 2.71828)
  650. raised to the power of X; if EXP(X) is less
  651. that machine infinitesimal, then its value
  652. shall be replaced with zero.
  653. ------------------------------------------------------------
  654. SYNTAX: N = INT( X )
  655. PARAMETER: X is a number
  656. DESCRIPTION: The largest integer not greater than X; e.g.
  657. INT(1.3) = 1 and INT(-1.3) = 2.
  658. ------------------------------------------------------------
  659. SYNTAX: S$ = LEFT$( A$, X )
  660. PARAMETER: A$ is a string, LEN >= 0
  661. PARAMETER: X is a number, [0,MAXLEN]
  662. DESCRIPTION: The X left-most characters of A$, beginning
  663. from postion 1.
  664. ------------------------------------------------------------
  665. SYNTAX: N = LEN( A$ )
  666. PARAMETER: A$ is a string, LEN >= 0
  667. DESCRIPTION: The length of A$.
  668. ------------------------------------------------------------
  669. SYNTAX: N = LOG( X )
  670. PARAMETER: X is a number, > 0
  671. DESCRIPTION: The natural logarithm of X; X shall be greater
  672. than zero.
  673. ------------------------------------------------------------
  674. SYNTAX: S$ = MID$( A$, X )
  675. PARAMETER: A$ is a string, LEN >= 0
  676. PARAMETER: X is a number, [1,MAXLEN]
  677. DESCRIPTION: The characters of A$, starting from postion X.
  678. ------------------------------------------------------------
  679. SYNTAX: S$ = MID$( A$, X, Y )
  680. PARAMETER: A$ is a string, LEN >= 0
  681. PARAMETER: X is a number, [1,MAXLEN]
  682. PARAMETER: Y is a number, [0,MAXLEN]
  683. DESCRIPTION: The Y characters of A$, starting from postion
  684. X.
  685. ------------------------------------------------------------
  686. SYNTAX: N = RANDOMIZE
  687. DESCRIPTION: Seeds the pseudo-random number generator with
  688. TIME.
  689. ------------------------------------------------------------
  690. SYNTAX: S$ = RIGHT$( A$, X )
  691. PARAMETER: A$ is a string, LEN >= 0
  692. PARAMETER: X is a number, [0,MAXLEN]
  693. DESCRIPTION: The right-most X characters of A$.
  694. ------------------------------------------------------------
  695. SYNTAX: N = RND
  696. DESCRIPTION: The next pseudo-random number in an
  697. implementation-defined sequence of
  698. pseudo-random numbers uniformly distributed
  699. in the range 0 <= RND < 1.
  700. ------------------------------------------------------------
  701. SYNTAX: N = RND( X )
  702. PARAMETER: X is a number
  703. DESCRIPTION: Returns a pseudorandom number in the range
  704. [0,1]. The value of X is ignored.
  705. ------------------------------------------------------------
  706. SYNTAX: N = SGN( X )
  707. PARAMETER: X is a number
  708. DESCRIPTION: The sign of X: -1 if X < 0, 0 if X = 0, and +1
  709. if X > 0.
  710. ------------------------------------------------------------
  711. SYNTAX: S$ = SPC( X )
  712. PARAMETER: X is a number
  713. DESCRIPTION: The string of X spaces. Only for use within
  714. the PRINT command.
  715. ------------------------------------------------------------
  716. SYNTAX: N = SQR( X )
  717. PARAMETER: X is a number, >= 0
  718. DESCRIPTION: The non-negative square root of X; X shall be
  719. non-negative.
  720. ------------------------------------------------------------
  721. SYNTAX: S$ = STR$( X )
  722. PARAMETER: X is a number
  723. DESCRIPTION: The string generated by the print-statement as
  724. the numeric-representation of the value
  725. associated with X.
  726. ------------------------------------------------------------
  727. SYNTAX: S$ = TAB( X )
  728. PARAMETER: X is a number
  729. DESCRIPTION: The string required to advance to column X.
  730. Only for use within the PRINT command.
  731. ------------------------------------------------------------
  732. SYNTAX: N = TAN( X )
  733. PARAMETER: X is a number
  734. DESCRIPTION: The tangent of X, where X is in radians.
  735. ------------------------------------------------------------
  736. SYNTAX: N = VAL( A$ )
  737. PARAMETER: A$ is a string, LEN >= 1
  738. DESCRIPTION: The value of the numeric-constant associated
  739. with A$, if the string associated with A$ is
  740. a numeric-constant. Leading and trailing
  741. spaces in the string are ignored. If the
  742. evaluation of the numeric-constant would
  743. result in a value which causes an underflow,
  744. then the value returned shall be zero. For
  745. example, VAL( " 123.5 " ) = 123.5, VAL(
  746. "2.E-99" ) could be zero, and VAL( "MCMXVII"
  747. ) causes an exception.
  748. ------------------------------------------------------------
  749. ============================================================
  750. OPERATORS
  751. ============================================================
  752. ------------------------------------------------------------
  753. SYNTAX: X ^ Y
  754. DESCRIPTION: Exponential
  755. PRECEDENCE: 14
  756. ------------------------------------------------------------
  757. SYNTAX: + X
  758. DESCRIPTION: Posation
  759. PRECEDENCE: 13
  760. ------------------------------------------------------------
  761. SYNTAX: - X
  762. DESCRIPTION: Negation
  763. PRECEDENCE: 13
  764. ------------------------------------------------------------
  765. SYNTAX: X * Y
  766. DESCRIPTION: Multiplication
  767. PRECEDENCE: 12
  768. ------------------------------------------------------------
  769. SYNTAX: X / Y
  770. DESCRIPTION: Division
  771. PRECEDENCE: 12
  772. ------------------------------------------------------------
  773. SYNTAX: X + Y
  774. DESCRIPTION: Addition
  775. PRECEDENCE: 9
  776. ------------------------------------------------------------
  777. SYNTAX: X - Y
  778. DESCRIPTION: Subtraction
  779. PRECEDENCE: 9
  780. ------------------------------------------------------------
  781. SYNTAX: X < Y
  782. DESCRIPTION: Less than
  783. PRECEDENCE: 7
  784. ------------------------------------------------------------
  785. SYNTAX: X <= Y
  786. DESCRIPTION: Less than or Equal
  787. PRECEDENCE: 7
  788. ------------------------------------------------------------
  789. SYNTAX: X <> Y
  790. DESCRIPTION: Not Equal
  791. PRECEDENCE: 7
  792. ------------------------------------------------------------
  793. SYNTAX: X = Y
  794. DESCRIPTION: Equal
  795. PRECEDENCE: 7
  796. ------------------------------------------------------------
  797. SYNTAX: X =< Y
  798. DESCRIPTION: Less than or Equal
  799. PRECEDENCE: 7
  800. ------------------------------------------------------------
  801. SYNTAX: X => Y
  802. DESCRIPTION: Greater than or Equal
  803. PRECEDENCE: 7
  804. ------------------------------------------------------------
  805. SYNTAX: X > Y
  806. DESCRIPTION: Greater than
  807. PRECEDENCE: 7
  808. ------------------------------------------------------------
  809. SYNTAX: X >< Y
  810. DESCRIPTION: Not Equal
  811. PRECEDENCE: 7
  812. ------------------------------------------------------------
  813. SYNTAX: X >= Y
  814. DESCRIPTION: Greater than or Equal
  815. PRECEDENCE: 7
  816. ------------------------------------------------------------
  817. SYNTAX: NOT X
  818. DESCRIPTION: Bitwise NOT
  819. PRECEDENCE: 6
  820. ------------------------------------------------------------
  821. SYNTAX: X AND Y
  822. DESCRIPTION: Bitwise AND
  823. PRECEDENCE: 5
  824. ------------------------------------------------------------
  825. SYNTAX: X OR Y
  826. DESCRIPTION: Bitwise OR
  827. PRECEDENCE: 4
  828. ------------------------------------------------------------