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.

README 5.7 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. README file for
  2. Bywater BASIC Interpreter/Shell, version 2.20
  3. ---------------------------------------------
  4. Copyright (c) 1993, Ted A. Campbell
  5. for bwBASIC version 2.10, 11 October 1993
  6. Version 2.20 modifications by Jon B. Volkoff,
  7. 25 November 1995
  8. DESCRIPTION:
  9. The Bywater BASIC Interpreter (bwBASIC) implements a large
  10. superset of the ANSI Standard for Minimal BASIC (X3.60-1978)
  11. and a significant subset of the ANSI Standard for Full BASIC
  12. (X3.113-1987) in C. It also offers shell programming facilities
  13. as an extension of BASIC. bwBASIC seeks to be as portable
  14. as possible.
  15. This version of Bywater BASIC is released under the terms of the
  16. GNU General Public License (GPL), which is distributed with this
  17. software in the file "COPYING". The GPL specifies the terms
  18. under which users may copy and use the software in this distribution.
  19. A separate license is available for commercial distribution,
  20. for information on which you should contact the author.
  21. IMPROVEMENTS OVER PREVIOUS VERSION (2.10):
  22. * Plugged numerous memory leaks, resolved memory overruns and allocation
  23. difficulties.
  24. * General cleanup and bug fixes, too many to list in detail here.
  25. The major problem areas addressed were:
  26. - RUN command with file name argument
  27. - nested and cascaded FOR-NEXT loops
  28. - PRINT USING
  29. - EOF, LOF functions
  30. - string concatenation
  31. - operator hierarchy
  32. - multi-level expression evaluation
  33. - hex constant interpretation
  34. - hex and octal constants in INPUT and DATA statements
  35. * Added a CLOSE all files feature (when no argument supplied).
  36. * Added a unary minus sign operator.
  37. * Added a MID$ command to complement the MID$ function.
  38. * Added a RENUM facility in a standalone program.
  39. * Added checking in configure for unistd.h (important on Sun systems).
  40. OBTAINING THE SOURCE CODE:
  41. The source code for bwBASIC 2.20 is available immediately by
  42. anonymous ftp. To obtain the source code, ftp to site ftp.netcom.com,
  43. cd to pub/rh/rhn and get the file bwbasic-2.20.uu. Or you may receive
  44. a copy by e-mail by writing to Jon Volkoff at eidetics@cerf.net.
  45. COMMUNICATIONS:
  46. email: tcamp@delphi.com (for Ted Campbell)
  47. eidetics@cerf.net (for Jon Volkoff)
  48. A LIST OF BASIC COMMANDS AND FUNCTIONS IMPLEMENTED in bwBASIC 2.20:
  49. Be aware that many of these commands and functions will not be
  50. available unless you have set certain flags in the header files.
  51. ABS( number )
  52. ASC( string$ )
  53. ATN( number )
  54. CALL subroutine-name
  55. CASE constant | IF partial-expression | ELSE
  56. CHAIN file-name
  57. CHDIR pathname
  58. CHR$( number )
  59. CINT( number )
  60. CLEAR
  61. CLOSE [[#]file-number]...
  62. CLS
  63. COMMON variable [, variable...]
  64. COS( number )
  65. CSNG( number )
  66. CVD( string$ )
  67. CVI( string$ )
  68. CVS( string$ )
  69. DATA constant[,constant]...
  70. DATE$
  71. DEF FNname(arg...)] = expression
  72. DEFDBL letter[-letter](, letter[-letter])...
  73. DEFINT letter[-letter](, letter[-letter])...
  74. DEFSNG letter[-letter](, letter[-letter])...
  75. DEFSTR letter[-letter](, letter[-letter])...
  76. DELETE line[-line]
  77. DIM variable(elements...)[variable(elements...)]...
  78. DO NUM|UNNUM
  79. DO [WHILE expression]
  80. EDIT (* depends on variable BWB.EDITOR$)
  81. ELSE
  82. ELSEIF
  83. END FUNCTION | IF | SELECT | SUB
  84. ENVIRON variable-string$ = string$
  85. ENVIRON$( variable-string )
  86. EOF( device-number )
  87. ERASE variable[, variable]...
  88. ERL
  89. ERR
  90. ERROR number
  91. EXIT FOR|DO
  92. EXP( number )
  93. FIELD [#] device-number, number AS string-variable [, number AS string-variable...]
  94. FILES filespec$ (* depends on variable BWB.FILES$)
  95. FOR counter = start TO finish [STEP increment]
  96. FUNCTION function-definition
  97. GET [#] device-number [, record-number]
  98. GOSUB line | label
  99. GOTO line | label
  100. HEX$( number )
  101. IF expression THEN [statement [ELSE statement]]
  102. INKEY$
  103. INPUT [# device-number]|[;]["prompt string";]list of variables
  104. INSTR( [start-position,] string-searched$, string-pattern$ )
  105. INT( number )
  106. KILL file-name
  107. LEFT$( string$, number-of-spaces )
  108. LEN( string$ )
  109. LET variable = expression
  110. LINE INPUT [[#] device-number,]["prompt string";] string-variable$
  111. LIST line[-line]
  112. LOAD file-name
  113. LOC( device-number )
  114. LOCATE
  115. LOF( device-number )
  116. LOG( number )
  117. LOOP [UNTIL expression]
  118. LSET string-variable$ = expression
  119. MERGE file-name
  120. MID$( string$, start-position-in-string[, number-of-spaces ] )
  121. MKD$( number )
  122. MKDIR pathname
  123. MKI$( number )
  124. MKS$( number )
  125. NAME old-file-name AS new-file-name
  126. NEW
  127. NEXT counter
  128. OCT$( number )
  129. ON variable GOTO|GOSUB line[,line,line,...]
  130. ON ERROR GOSUB line | label
  131. OPEN O|I|R, [#]device-number, file-name [,record length]
  132. file-name FOR INPUT|OUTPUT|APPEND AS [#]device-number [LEN = record-length]
  133. OPTION BASE number
  134. POS
  135. PRINT [# device-number,][USING format-string$;] expressions...
  136. PUT [#] device-number [, record-number]
  137. RANDOMIZE number
  138. READ variable[, variable]...
  139. REM string
  140. RENUM
  141. RESTORE line
  142. RETURN
  143. RIGHT$( string$, number-of-spaces )
  144. RMDIR pathname
  145. RND( number )
  146. RSET string-variable$ = expression
  147. RUN [line]|[file-name]
  148. SAVE file-name
  149. SELECT CASE expression
  150. SGN( number )
  151. SIN( number )
  152. SPACE$( number )
  153. SPC( number )
  154. SQR( number )
  155. STOP
  156. STR$( number )
  157. STRING$( number, ascii-value|string$ )
  158. SUB subroutine-name
  159. SWAP variable, variable
  160. SYSTEM
  161. TAB( number )
  162. TAN( number )
  163. TIME$
  164. TIMER
  165. TROFF
  166. TRON
  167. VAL( string$ )
  168. WEND
  169. WHILE expression
  170. WIDTH [# device-number,] number
  171. WRITE [# device-number,] element [, element ]....