home *** CD-ROM | disk | FTP | other *** search
- Liberty BASIC - limited version Release 0.9
- Copyright 1992 Shoptalk Systems
-
-
- Liberty BASIC is a personal BASIC programming system for MS Windows 3.0
- requiring a 286 (4 Meg RAM recommended for Standard Mode operation),
- or a 386, 486 or better (586?) and 3 Megabytes of RAM or more. Liberty
- BASIC is written using Digitalk's Smalltalk/V Windows programming
- environment, so it inherits a vast library of functionality that is as yet
- unused. This means that Liberty BASIC will grow much more powerful
- functionally in future releases while growing only slightly in size.
-
- Liberty BASIC is a runtime environment, meaning that it does not create
- standalone executables. Your code is parsed at runtime into precompiled
- Smalltalk contexts, which are then run. This means you must wait for the
- compile, but it speeds up execution.
-
- Distribution Policy:
-
- Liberty BASIC is Shareware, and it may be copied and freely distributed
- providing the following list of files is distributed together and unmodified.
- Shoptalk Systems forbids the redistribution of Liberty BASIC for profit.
- A small fee may be levied for distribution costs, but not for the software
- itself.
-
- Liberty BASIC Release 0.9 is a subset of the commercial product. Our hope is
- that you will like this limited release enough to register. If you find it
- useful we ask you to please register your copy. $30 will get you the most
- recent version but without a printed manual (manual will be on a disk file).
- $49.95 you will get you the most recent version with a printed manual,
- technical support, and upgrades will be made available for a small fee.
-
- Releases 0.1 and 0.2 were very limited, but this 0.9 release can better
- give you a taste of the commercial version, which is continually being
- extended. Registered users will enjoy the benefits of a very powerful
- Windows programming tool.
-
-
- This is a list of files distributed with this release of Liberty BASIC:
-
- liberty.exe
- liberty.txt - This file
- summary.txt - Summary of commands & functions, hints, etc
- register.txt - Order form
- vwabort.dll
- vwbas11.dll
- vwdlgs.dll
- vwfloat.dll
- vwfont.dll
- vwsignon.dll
- vwvm.dll
- ascii.bas
- blank.bas
- brnchtst.bas
- buttons.bas
- clock.bas
- customer.bas
- exponent.bas
- factoril.bas
- for_next.bas
- getchar.bas
- grapher.bas
- graphics.bas
- invoice.bas
- mandala.bas
- open.bas
- power.bas
- profile.bas
- read.bas
- sieve.bas
- strtest.bas
- test.bas
- turtle.bas
- turtle2.bas
- exp.bas
- install.bat
-
-
-
- In this release 0.9 there are a slew of improvements:
- ------------------------------------------------------------------------
-
- Some bugs in the parser have been fixed ;
-
- Multiple windows are supported, buttons can be added where desired.
- A button can cause execution to be transferred to a unique branch
- label (event driven style) or it can return a string like an INPUT
- statement (procedural style). Any window can be opened as:
-
- a graphics window with line and turtle color graphics ;
- a text window (for output or input) with font control ;
- a spreadsheet (controllable via BASIC statements) ;
-
- Confirmation and prompter style dialog boxes are supported ;
-
- The debugger has been improved with a variable watch window ;
-
- BASIC code can now be compiled and run from the start-up browser
- without first opening a BASIC source editor window ;
-
- Many more statements and functions are included (see summary.txt) ;
-
- More sample programs are included ;
-
-
-
- Release 0.2 Notes:
- --------------------------------------------------------------------------
-
- IF/THEN/ELSE now supported. For example, the following is valid:
- if mid$(a$,index,1) = "." then print "." else print mid$(a$,index,1);
-
- The compiler is not case sensitive any longer. Reserved words may be
- in either upper or lower case. It is case sensitive in the sense that
- variable names that are the same but with different capitalization are
- considered unique. NOTE: VARIABLE NAMES MAY NOT START WITH STATEMENT
- OR FUNCTION NAMES.
-
- The simple continuous trace debugger in version 0.1 has been replaced
- by a 3 stage pushbutton debugger permitting single step, continuous
- trace, and no trace (run full speed). You can move from one mode to
- the other at will. A variable watch window is not available yet.
-
- In version 0.1 you needed to recompile every time you wanted to run
- a program. Now all that is needed is to bring up the pane menu
- for the window the program is running in and select the Restart option.
- This can be done at any time (not just at the end of a program run) and
- will work in Run or Debug mode.
-
- The ^ arithmetic operator is now supported. The remaining operators
- are: + - * / AND OR
-
- NOTE: AND & OR ARE ONLY USEFUL IN IF/THEN/ELSE STATEMENTS FOR
- THE PURPOSE OF DETERMINING LOGICAL CONDITIONS. FOR EXAMPLE:
-
- if a > b and matchFlag = 1 then gosub [match] is acceptable
- let result = -1 and latch is not acceptable
-
- Version 0.1 was only able to represent negative numbers with an
- expression (0-n). Version 0.2 now supports negative numbers in
- expressions. For example:
- In version 0.1 - print rate * (term + (0 - 5))
- In version 0.2 - print rate * (term + -5)
-
- STOP and END commands are now supported.
-
- RND(1) is now supported. RND(0) is not.
- The random sequence generator is crude, but it works for now. Subsequent
- releases of Liberty BASIC will have improved 'randomness'. For now, let's
- just say that RND(1) provides 'arbitrary' number generation.
-
- STR() was changed to STR$(), which is the proper MBASIC name for this
- function.
-
- TRACE 0, 1, or 2 is now supported. This allows control of the
- debugger trace mode to be controlled inside of the program being
- debugged.
- TRACE 0 no trace, run at full speed
- TRACE 1 trace continously
- TRACE 2 single step
-
-
-
- Release 0.1 notes:
- ---------------------------------------------------------------------------
-
- Highly MS-BASIC compatible (this does not mean Quick BASIC or Q-BASIC) ;
-
- Procedural programming model ;
-
- Line numbers are optional with descriptive alphanumeric labels permitted ;
-
- The following commands are supported:
- LET, PRINT, INPUT, GOTO, GOSUB/RETURN, FOR/NEXT, IF/THEN,
- OPEN/CLOSE, PRINT#, INPUT#, DIM, REM (or ')
-
- The following functions are supported:
- LEN(), MID$(), EOF(), INT(), INPUT$(), VAL(), STR()
-
- Strings and integers of virtually unlimited size are supported (certainly
- larger than most need), and if you have a math coprocessor, Liberty BASIC
- will automatically take advantage of it where advantageous.
-
- File operations for this release of Liberty BASIC are limited to sequential
- access only.
-
- Both single and double dimension, string and numeric arrays are permitted.
-
- Variable name size is not limited, and all characters are significant.
-
- One limitation of this release is that IF/THEN statements can only be used
- for branching. For example, IF count < 10 THEN 500 is valid, but
- IF count < 10 THEN PRINT "Count is less than 10" is not permitted.
- Unfortunately, IF count < 10 THEN GOSUB 500 is not permitted either. This
- limitation will not exist in the registered version.
-
- Additionally, the compiler is very case sensitive (again, this will be
- remedied in the registered release). All basic commands, function names,
- and other reserved words need to be typed as uppercase, but variable names
- can be any length, and any combination of upper and lowercase letters.
- Digits and the period character are permitted, so long as they are not
- used as the first character.
-
- This release compiles at runtime. The registered version will feature
- incremental compilation.
-
-
-
-
- INSTALLATION:
-
- If you have ANY trouble getting this to run on your machine, PLEASE
- call us and we WILL do our best to help you.
-
- A simple batch file install.bat is included to make installation
- as simple as possible:
-
- Assuming that the software is to be installed on drive C:, type
- the following:
-
- install c (hit return)
-
- a subdirectory named c:\liberty will be created and the files will
- be copied over.
-
- Then you will need to start windows and create a new program group
- and item for Liberty BASIC as follows:
-
- Once the installation is completed, you will need to make Windows aware
- of Liberty BASIC. To add Liberty BASIC as a Windows program group:
-
- Load Windows 3.0 ;
- Pull down the File menu and select New ;
- Select Program Group and click on the OK button ;
- Type Liberty BASIC as the description and click on the OK button ;
- Again pull down the File menu and select New ;
- Click on the OK button to accept the default Program Item response ;
- Type Liberty BASIC as the description and click on the Browse button ;
- Double-click on [..] in the Directories list box ;
- Double-click on [liberty] in the Directories list box ;
- Double-click on liberty.exe in the Files list box ;
- Now click on the OK button the the Program Item Properties dialog box
-
- You may now resize the Liberty BASIC group window to your liking. To
- start Liberty BASIC, double-click on the torch icon.
-
- Liberty BASIC starts with a file browser window. It is arranged as
- four panes, three across the top, and one on the bottom like so:
-
- +--------------------------------------------------------------+
- | - Liberty BASIC c:\liberty v ^ |
- +--------------------------------------------------------------+
- | a [1] | [..] [2] | demo.bas [3] |
- | b | liberty | read.bas |
- | c | msdos | test.bas |
- | | | |
- | select drive here | select directory | select file here |
- | | here | |
- +--------------------------------------------------------------+
- | [4] |
- | |
- | |
- | |
- | see BASIC source for file selected here |
- | |
- | |
- | |
- | |
- +--------------------------------------------------------------+
-
- Select the drive to browse in pane [1], then select the directory
- (usually liberty) to browse in pane [2], then finally the file to
- browse in pane [3]. When the .BAS file is selected, its source will
- be displayed in pane [4]. To run the program, position the cursor
- inside of pane [3] and press the right hand mouse button and a menu
- will appear. Then select the item BASIC source editor, and a new
- window will open which will contain a copy of the source for the
- selected file. Then position the cursor inside of that pane and again
- press the right hand mouse button for another menu. There are two
- options available, Run and Debug. Run compiles and runs the program,
- and Debug provides the additional benefit of a 3 level source level
- debugger with optional watch window (v 0.9 let's you do this in
- pane 4 without opening a seperate BASIC source editor).
-
-
- HINT for 286 users with only 3 megabytes of RAM:
- ---------------------------------------------------
- 3 megabytes RAM is very tight for Liberty BASIC when
- running in Standard Mode. If low memory errors make
- Liberty BASIC unusable, try to free up as much extended
- memory as possible. If all else fails, try this:
-
- Run Windows ;
- Run Liberty BASIC ;
- Exit Liberty BASIC ;
- Run Liberty BASIC again
-
- As strange a ritual as this may seem, it does something
- to the way Liberty BASIC manages its memory, making
- those low memory errors much less trouble. We cannot
- guarantee that this trick will work on your system.
-
-
- Here's what to expect in the registered versions of Liberty BASIC.
- Not all of these features will be included in release 1.0:
-
- Incremental compilation ;
- Enhanced random access file capability (0.9 is limited to sequential);
- More and more powerful statements and functions ;
- More powerful graphics capabilities ;
- Application definable pull-down menus ;
- Full cut and paste via Windows Clipboard ;
- Standalone application generation ;
- More window and widget types...
-
-
- PLEASE call or write if you have any suggestions for features
- you would like to see in Liberty BASIC!
-
- To find out more write or call:
-
- Shoptalk Systems
- P.O. Box 837
- Marblehead, MA 01945-0837
-
- 508-872-5315
-