home *** CD-ROM | disk | FTP | other *** search
- Liberty BASIC - limited version Release 0.9d
- Copyright 1992, 1993 Shoptalk Systems
- All rights reserved
- Portions copyright 1991, Digitalk Inc.
-
-
- Liberty BASIC is a personal BASIC programming system for MS Windows 3.x
- requiring a 286 (4 Meg RAM recommended for 286/Standard Mode operation),
- or a 386, 486 or better (586/Pentium?) and 3 Megabytes of RAM or more.
- When Microsoft introduced Windows 3.0, it didn't come with any programming
- facility, so we created Liberty BASIC to be for Windows what GWBASIC and
- QBASIC are for MS-DOS, an easy way for the end users to design their own
- software.
-
- PLEASE call or write if you have any suggestions for features
- you would like to see in Liberty BASIC! We really need lots of
- feedback if Liberty BASIC is to become the product that _you_
- want it to be.
-
- Distribution Policy:
-
- Liberty BASIC 0.9d 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 the these files for profit.
- A small fee may be levied for distribution costs, but not for the software
- itself.
-
- Liberty BASIC Release 0.9d 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. $35 will get you the
- most recent version (the commercial version, in other words), with technical
- support, and upgrades will be made available for only a few dollars. An
- illustrated, bound manual is available for an additional $15 (only $10 if
- purchased when you register). Inexpensive site licenses are available
- (educators take note).
-
- Here's what you get for your $35:
-
- Liberty BASIC 1.x (you will always get the most recent version) with:
-
- A free copy of BASIC Training from Cascoly Software. This shareware
- BASIC tutorial starts you on your way learning to program in BASIC ;
- Technical Support ;
- New! A runtime distribution mechanism lets you share your Liberty
- BASIC programs with others. No runtime charges apply ;
- Graphics commands for filled polygons, circles, ellipses, pie slices ;
- Define your own Windows dialog boxes with the full suite of dialog
- box objects (buttons, checkboxes, comboboxes, etc...) ;
- Segmented graphics, which let you treat each drawn item as an object
- which can be individually manipulated ;
- The ability to add pull-down menus with accelerator keys to your programs ;
- The ability to trap the window close event and assign a routine to
- handle it ;
- A more powerful spreadsheet widget ;
- Random access file capability (0.9d is limited to sequential);
- More string, math, and other functions and commands ;
- Slick sample programs that exploit Windows' special features. For
- example: a drawing app, a graphing app, the tower of Hanoi game,
- a calculator, and more ;
- More...
-
- See the file LBAS10.TXT for more details on version 1.0a! To see
- this file, pull down Help and select Version 1.0 Details.
-
-
- -----------------------------------------------------------------------
-
- About this version:
-
- Version 0.9d adds READ, DATA, and RESTORE. These three commands add an
- important GWBASIC compatible feature to Liberty BASIC, making it more
- useful in school courses. See the file diffrncs.txt for more info.
-
- A nice branch label feature added to the Source menu makes it easier to
- get around inside of large programs.
-
- Now you can keep an eye on the compiler as each line compiles. Simply
- pull down the Setup menu and pick Compiler. Then click on the pop up
- that appears to toggle the compiler status box on or off. It slows
- the compile down a little bit to display its activity, but some of you
- requested this feature, so it was added.
-
- And several bugs were squashed in this release including:
-
- Discovered a bug that created unpredictable results using certain
- BASIC functions where parameters derived using rnd(), time$(),
- date$(), and any other function where the result is not always
- the same. Problem fixed.
-
- When a floating point value was passed to a single
- dimensioned array as an index, a system primitive notice
- was produced, and the program was halted. This problem
- is now fixed.
-
- Now if a non-integer is used to index a MID$() function, it
- is truncated and execution continues instead of crashing.
-
- This is a list of files distributed with this release of Liberty BASIC:
-
- readme.txt - Installation instructions (also in this file)
- liberty.exe
- liberty.txt - This file
- install.exe - The installation program
- inst.bat
- lbas10.txt - A description of Liberty BASIC 1.0a
- summary.txt - Summary of commands & functions, hints, etc
- register.txt - Order form
- diffrncs.txt - A GWBASIC survival guide
- v09d.txt
- c.grp
- d.grp
- libertyb.grp - The Liberty BASIC Program Manager group file
- install.err
- lbasic.ini - Setup file
- vwabort.dll
- vwbas11.dll
- vwdlgs.dll
- vwfloat.dll
- vwfont.dll
- vwsignon.dll
- vwvm.dll
- ascii.bas
- blank.bas
- brnchtst.bas
- buttons.bas
- circles.bas
- customer.bas
- exponent.bas
- factoril.bas
- for_next.bas
- getchar.bas
- grapher.bas
- graphics.bas
- hanoi.bas
- hilo.bas
- invoice.bas
- mandala.bas
- open.bas
- power.bas
- profile.bas
- read.bas
- sieve.bas
- strtest.bas
- test.bas
- tictacto.bas
- turtle.bas
- turtle2.bas
- exp.bas
- readdata.bas
- grapher.abc
- trio.abc
-
-
- +-------------------------------------------------------------------------+
- | Known bugs: Windows tries to match fonts more or less with size being |
- | more important than the name of the font. When Liberty BASIC loads, it |
- | tries to get a font of a certain size. On some systems, this ends up |
- | being the Symbol font, which is unusable. If your system does this, |
- | then pull down the System menu and select "Fonts...", then find a font |
- | that suits your taste best. |
- +-------------------------------------------------------------------------+
-
-
- Version 0.9c took a deliberate step towards making Liberty BASIC more
- familiar to GWBASIC programmers. The PRINT, INPUT, WHILE...WEND, and
- boolean operations are more compatible with their GWBASIC counterparts.
- A GWBASIC to Liberty BASIC help file has been added. More will follow.
-
- In 0.9c, the user interface was simplified. The default drive and
- directory are automatically selected when Liberty BASIC is loaded. The
- two file menus of previous versions have been integrated and redundant
- items have been eliminated. A Zoom Text item has been added to the source
- menu.
-
- Here is a list of enhancements for version 0.9d:
- ------------------------------------------------------------------------
-
- BONUS!!! BONUS!!!
- Registered users also receive a copy of BASIC Training, a shareware
- BASIC tutorial from Cascoly Software!
-
- 1) READ, DATA, and RESTORE added.
-
- 2) Now a list of branch labels can be displayed from which you may select
- one to jump to in the source editor. This is very useful when jumping
- around a lot in medium to large programs.
-
- 3) Some bugs fixed.
-
- 4) More sample programs included.
-
- 5) Now Liberty BASIC may be registered with a credit card using the
- PsL Credit Card registration service.
-
-
- 0.9c Notes:
- ------------------------------------------------------------------------
-
- 1) The browser/editor now automatically selects the current default
- drive and directory when Liberty BASIC loads.
-
- 2) The File and Files menus are now integrated into one File menu, and
- duplicate items are eliminated.
-
- 3) PRINT and INPUT are more GWBASIC compatible. The compatibility can
- be turned off by pulling down the Setup menu and selecting the
- compatibility item.
-
- 4) Variable names can now start with reserved words.
-
- 5) Boolean AND & OR are more GWBASIC compatible, but bitwise operations
- are still not supported.
-
- 6) The INPUT$() function can now return a single keystroke. Before it
- was only good for file input.
-
- 7) The NEXT command is more GWBASIC compatible. You don't need to
- specify the variable name. For example:
-
- for x = 1 to 10
- print x
- next
-
- is now acceptable.
-
- 8) The PgUp and PgDn keys now work when viewing Help files. Previously
- it was necessary to operate the scroll bars using the mouse.
-
- 9) A GWBASIC to Liberty BASIC help file is provided. The file is named
- DIFFRNCS.TXT, and can be viewed by pulling down the Help menu and
- selecting GWBASIC vs. Liberty BASIC.
-
- 10) The WHILE...WEND commands are now GWBASIC compatible.
-
- 11) The trim$() function now works. It didn't before.
-
- 12) A zoom text option has been added to the Source menu.
-
-
-
- 0.9b Notes:
- ------------------------------------------------------------------------
-
- 1) The following arithmetic functions have been added:
- atn( ) - arc-tangent
- asn( ) - arc-sine
- acs( ) - arc-cosine
- exp( ) - exponent
- log( ) - natural log
- abs( ) - absolute value
-
-
- 2) The FILEDIALOG command has been added:
-
- FILEDIALOG opens a dialog box that permits browsing of
- drives, directories,and files. When the desired file is found
- and selected, FILEDIALOG then returns the full pathname
- (drive:\directory\filename.ext) of the selected file.
-
- For example:
-
- FILEDIALOG "Select a file", "*.TXT", result$
-
- Causes a dialog box to be opened with the title "Select a file".
- Only "*.TXT" files will be displayed, and when the user makes
- the final selection, the resulting path will be placed into the
- string variable result$.
-
-
- 3) The lof( ) function has been added. This lets you find the length of
- an open file.
-
- For example:
-
- open "c:\autoexec.bat" for input as #1
- autoexecLength = lof(#1)
-
- Would set the value of variable autoexecLength to be whatever the
- length of your autoexec.bat file is.
-
-
- 4) The using( ) function now works a lot better.
-
-
- 5) The NOTICE command has been added:
-
- NOTICE pops up a small dialog box containing a message of your choice.
-
- For example:
-
- notice "Illegal Entry"
-
- Would pop up a small notice saying "Illegal Entry". This notice has
- an OK button which lets the user close the notice. Program execution
- would then continue.
-
- In the above form, the title of the dialog box always reads "Notice".
- You can change this using the following form:
-
- notice "User Error" + chr$(13) + "Limit Exceeded!"
-
- In this case, the title would be "User Error", and the notice
- would be "Limit Exceeded!".
-
-
-
- 0.9a notes:
- --------------------------------------------------------------------
-
- A bug causing numeric constants between 0 and -1 to be accidentally
- translated as positive has been corrected ;
-
- Compile error messages are more helpful now, and the compiler will
- highlight the errant line in the source editor ;
-
- An on-line reference facility has been added as selections under
- the Help pull down menu of the file browser. If instruction is needed
- for a particular command, simply select that command in the source
- (double clicking on the word does the trick), then pull down Help
- and select Command Reference ;
-
- Graphics operations are more efficient (faster). Additionally a circle
- command has been added for drawing circles (see circles.bas) ;
-
- Faster compilation ;
-
-
- NOTE: In the file LIBERTY.TXT (this file) in the 0.9 release, the text
- for the TRACE command inaccurately stated that the three levels of
- TRACE worked thus:
-
- 0 - run full speed, 1 - animated trace, 2 - single step
-
- In actuality, the reverse is true.
-
- 0 single steps, 1 animates, and 2 runs full speed.
-
- Here is a list of the supported commands for the 0.9b release:
-
- ABS() ACS() ASC() ASN() ATN() BEEP BUTTON CHR$() CLOSE
- CLS CONFIRM COS() DATE$() DIM EOF() EXP() FILEDIALOG
- FOR...NEXT GOSUB...RETURN GOTO IF...THEN...ELSE INPUT$() INPUT
- INPUT # INSTR() INT() LEFT$() LEN() LET LOF() LOG()
- MID$() OPEN PRINT PRINT # PROMPT LPRINT REM RETURN
- RIGHT$() RND() STOP END SIN() STR$() TAN() TIME$()
- TRACE TRIM$() USING() VAL() WHILE...WEND
-
- Here is a list of the supported graphics commands:
-
- COLOR GOTO PLACE UP DOWN GO LINE FILL FLUSH SIZE CLS
- FONT NORTH TURN POSXY PRINT CIRCLE HOME
-
- Here is a list of the spreadsheet commands:
-
- INDIRECT MANUAL CELL FORMAT RESULT? FORMULA? SELECT USER
- FLUSH
-
- Here is a list of the text window commands:
-
- CLS FONT LINES LINE
-
-
-
-
-
- Release 0.9 Notes:
- ------------------------------------------------------------------------
-
- 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
-
- (^^ this is incorrect, see more recent mention, above ^^)
-
-
- ---------------------------------------------------------------------------
-
- INSTALLATION:
-
- To install Liberty BASIC, first make sure that you are not
- running Windows. The program INSTALL.EXE is included with
- Liberty BASIC to install it for you.
-
- Run this program, and you will be asked where Windows resides.
- The default is C:\WINDOWS. If Windows resides anywhere else,
- you must specify it here.
-
- Now you will be asked where to install Liberty BASIC. The
- default is C:\LIBERTY. If you want it to be installed elsewhere,
- then you must specify it here.
-
- You will then be given an opportunity to abort the installation.
- If you choose not to abort, then installation will begin then.
-
- Once installation is complete, you may load Windows. If you
- specified any directory to install Liberty BASIC into other than
- \LIBERTY, then you will need to alter the properties for the
- Liberty BASIC icon to indicate where it is installed. Otherwise
- you can just go ahead and double-click on its icon to start
- Liberty BASIC.
-
- 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 code 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).
-
- If you want help, you can get this on-line by pulling down the Help
- menu and selecting either Liberty BASIC Notes, or Command Reference.
- If you select a word in the source editor and then select help, the
- system will try to find that word or command in the text.
-
-
- 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 you get with your registration fee of $35:
-
- Liberty BASIC 1.x (you will always get the most recent version) with:
-
- A free copy of BASIC Training from Cascoly Software. This shareware
- BASIC tutorial starts you on your way learning to program in BASIC ;
- Technical Support ;
- New! A runtime distribution mechanism lets you share your Liberty
- BASIC programs with others. No runtime charges apply ;
- Graphics commands for filled polygons, circles, ellipses, pie slices ;
- Define your own Windows dialog boxes with the full suite of dialog
- box objects (buttons, checkboxes, comboboxes, etc...) ;
- Segmented graphics, which let you treat each drawn item as an object
- which can be individually manipulated ;
- The ability to add pull down menus with accelerator keys to your programs ;
- The ability to trap the window close event and assign a routine to
- handle it ;
- A more powerful spreadsheet widget ;
- Random access file capability (0.9d is limited to sequential);
- More string, math, and other functions and commands ;
- Configure Liberty BASIC to use the system-wide font you specify. Set
- it and forget it ;
- More...
-
- See the file LBAS10.TXT for more details on version 1.0a! To see
- this file, pull down Help and select Version 1.0 Details.
-
- If you decide to register, send $35 and you will receive the most recent
- version and tech support. Upgrades will be made available for only a
- few dollars. You also get an evaluation copy of BASIC Training, a
- shareware BASIC tutor from Cascoly Software. An illustrated, bound
- manual is available for an additional $15 (only $10 if ordered when
- you register).
-
- You can order directly from Shoptalk Systems (cash or check) or from
- Public (software) Library with your MC, Visa, AmEx, or Discover Card by
- calling 800-242-4PsL (from overseas: 713-524-6394) or by FAX to
- 713-524-6398. THESE NUMBERS ARE FOR ORDERING ONLY.
-
- Shoptalk Systems can NOT be reached at those numbers. To contact
- Shoptalk Systems for information about dealer pricing, volume
- discounts, site licensing, the status of shipment of the product, the
- latest version number or for technical information, or to discuss
- returns, call or write Shoptalk Systems (see address and phone # below).
-
- Here is some other stuff in the works:
-
- Incremental compilation ;
- Program chaining ;
- Graphics Bitblitting ;
- Powerful animation capabilities ;
- Debugger enhancements ;
- Access to Dynamic-Link-Libraries ;
- DDE capability ;
- The ability to use externally defined resources ;
- More ...!!!
-
-
- PLEASE call or write if you have any suggestions for features
- you would like to see in Liberty BASIC! We really need lots of
- feedback if Liberty BASIC is to become the product that _you_
- want it to be.
-
- To find out more write or call:
-
- Shoptalk Systems
- P.O. Box 1062
- Framingham, MA 01701
-
- 508-872-5315
-
- Or contact Carl Gundel on Compuserve at 71231, 1532
-