home *** CD-ROM | disk | FTP | other *** search
- Help for BasCompress v1.40 17-Jul-1994
-
- BasCompress compresses and cross-references Basic programs.
-
- To use this *SHAREWARE* program you will be a Basic programmer.
-
- ======================================================================
- This program is supplied "as is". No warranty, express or implied, of
- the merchantability of this program or its fitness for any particular
- purpose is given. In no circumstances shall the author, or any
- provider or distributor of this program, be liable for any damage,
- loss of profits, or any indirect or consequential loss arising out of
- the use of this program.
-
- Please note that this program is SHAREWARE, it is not free. You may
- use this software for a trial period. If, after this you decide you
- would like to continue using it, then you are required to REGISTER.
- Failing to register, you are obliged to destroy all copies of this
- program. A trial period ends when you realise that this program could
- be used on your latest master-piece!
-
- Registration currently involves you sending a cheque for £10 sterling
- to the author. There is a form at the end of this document that
- you can use to register. Registration will encourage the author to
- continue to develop this program further.
-
- For a further £5, regsitration will include a printed (600 d.p.i.
- laser) copy of the documentation and the latest version.
-
- Payment in other currencies accepted so long as at the end of the day
- I end out with the same amount of money. Credit cards not accepted.
-
- ======================================================================
-
- For those of you without Impression, here's a very brief guide
-
- (use the interactive Help)
-
- BasCompress is a BasicV (v1.04) compressor and cross-referencer, i.e.
-
- o Removes spaces and comments
- o Removes all unused routines, and the junk left between routines
- o Reduces all labels (shortens them)
- o Reduces numbers
- o Converts SWI strings to numbers
- o Loads in LIBRARYs
- o Handles line numbers
- o You can tell it which labels NOT to reduce (i.e. EVALuated vars)
- o Full cross-referencing
- o It is FAST
-
- ======================================================================
-
- Example usage
-
- Drag the Log file icon from the control window to a Filer window
-
- Now drag one of your Basic files onto the control window (what do you
- mean, I haven't got any? did you read those two lines at the top)
-
- The log file will appear (auto-loading Edit if need be). Don't close
- this window yet, though do resize/move it
-
- Now drag the basic (output) file icon from the control window onto a
- Filer window
-
- Press ADJUST on the icon bar icon (re-load's last file using new
- options)
-
- And that's all there is to it, usually
-
- Sometimes programmers end a routine like this:
- DEF FNmin(a,b)
- IF a<b THEN =a ELSE =b
- and BasCompress gets confused. Append a dummy "= 0" after it
-
- If there are any EVAL's or DATA's then the resulting file may not
- "work". You can either disable all label reduction, or write a
- Special file, that tells BasCompress the names of the labels not to
- reduce. See !BC.Examples for some, er..., examples.
-
- Also, watch out for missing THEN statements. See the
- !BC.Examples.EVariable file for more information. Thanks to David for
- pointing this one out.
-
-
-
- Don't make a fuss, just get on the bus
-
- Ya Hozna!
-
- =====================================================================
- ======================================================================
- Updates
-
- v1.10 29-May-1992 ??
- v1.20 11-Jul-1992 Can compress "library" files separately, ie don't assume a
- "main program" exists, and dont complain of undefined
- routines/variables
- + assembler "B 0" compresses correctly
- 1.25 07-Oct-1992 RO3 support (menu help, Sprites22, desktop save,
- DragASprite)
- 1.30 11-Oct-1992 Frontend to new backend features
- Optionally saves full pathname for log/xref/output files
- Pointer changes shape over writable icons
- 1.31 18-Jan-1993 Anti-aliased fonts in templates
- 1.32 28-Jan-1993 Dynamic font handling across screen resolution changes
- removed all Interface code!!
- 1.33 07-Feb-1993 hi-rez sprites
- 1.33b 12-Feb-1993 registration form at end of this document
- 1.34 27-Feb-1993 hi-rez menu items
- 1.35 26-Mar-1993 internal update
- 1.35b 10-Jun-1993 hi-rez menu items definable in Messages file
- 1.36 18-Jul-1993 new FontWindow module to cope with new Wimps' menus
- 1.36b 19-Sep-1993 hi-rez mono sprites added
- 1.37 24-Feb-1994 newlook, loads sprites on mode change, drag proginfo
- 1.40 17-Jul-1994 Choices dialogue box, works on Risc PC, no/font dboxes
-
- Backend Updates
- 1.23 23-Sep-1992 In assembler "SWI &7" was getting compressed to "SWI&7"
- In assembler ".zappa FN(foo_bar)" wasn't recognising that
- the FN() substitutes for a mnemonic, and so 'foo' was
- the mnemonic!!!
- Start of file consists of:
- REM >fs::media.dir.file
- REM produced by BasCompress vx.yy
- this is so that BASIC V v1.05 library error messages are OK
- 1.24 01-Oct-1992 If an error occured during file output, this is now reported
- (eg file not having write access)
- 1.30 11-Oct-1992 Corrupted basic error message now "correct" --- was saying
- something different
- Start of file consists of, as acorn guidelines suggest
- (ta Jonathan) leaf name only
- -EVariable option suppresses `E' variables being
- produced (see example file)
- 1.31 18-Jan-1993 assembler handles array labels (eg [OPT4:.x%(y%):]
- regular expressions used on variable names not to squash
- (but reference says from main program, not special)
- (no support for regex routine names or libraries)
-
-
- Bugs
-
- There appears to be a bug if the same routine is defined many (> 2) times
- in separate libraries - for now just delete the extra copies and then it
- works.
-
-
-
-
-
- Registration Form:
-
-
-
- I would like to register as a Single User of BasCompress v1.40
-
- and have enclosed __________.
-
- This DOES / NOT (delete as applicable) include a manual.
-
-
- Title: ___________
-
- Name: ____________________________
-
- Address: ________________________________
-
- ________________________________
-
- ________________________________
-
- ________________________________
-
- ________________________________
-
- Postcode: _______________
-
- Country: _______________
-
- Where obtained
- BasCompress: ____________________________
-
- Machine: ___________________________________
-
- Possible
- improvements: ___________________________________
-
- ___________________________________
-
- Make cheques / postal orders payable to: Mr CY J. BOOKER
-
-
- 86 Church View, Main Road,
- Crockenhill,
- Swanley,
- Kent.
- BR8 8JW.
- U.K.
-
-