Yes, to do that carry out the following:
or
|
The second method will link ALL files in the directory.
Select the default squash mode from the Choices window. Then save your choices.
Load the "Messages" file located in the "Resources" directory into your text editor. Locate the token "BarColor:". The number after the token is the default color, change it to a color number between 0 to 15.
The easiest way is to create a text file called "SBSMake" and store it in the same directory as your BASIC program. Type the following in the text file:
SBSLinkFile: your_Library_filename_path
If your LIBRARY file is in the same directory as the core BASIC program then you can use:
SBSLinkFile:
See Chapter 10 above for more details....
Any code that you want to be removed completely, and not appear in your output compressed BASIC program can be bracketed between two identifiers, so that StrongBS knows about it. The start identifier is "REM --[" and the end identifier is "REM ]--". Anything between these two identifiers will be completely removed. Here is an example:
10 ....... |
First, setup the squash options you need by selecting those you need and de-selecting those you don't.
Now go to the "Create New Mode" sub-menu in the "Squash Modes" menu.
Enter the "Mode Title", this is the title of the mode that will appear in the Modes Menu, and enter the "Mode File", this is the filename under which your mode definitions will be saved into the Modes Directory. Press "SAVE" when ready.
If you now, go to the "Modes Menu" you will see the "Squash Mode" you have created listed and selected as the current Squash-Mode.
In the "Modes Directory", locate the filename that contains the mode definition and delete it. Now re-start StrongBS, it will be gone.
You can use a REM line in your program. Follow the REM keyword with the word "LOCK" and then your variable name.
Here is an example:
If you want the variables memory_area% and pointer%() not to be renamed, then you should have the following line in your program:
1000 REM LOCK memory_area%,pointer%(
Important Note: An array variable should be entered until the first opening bracket only. i.e. for pointer%() use pointer%(.
Yes, you can do that by clicking the "Squashed" button again as many times as you like.
StrongBS will try its best to produce the best compression from the first pass. Some routines have been optimized to do that already, however, some routines still don't achieve all they could from the first pass, and a second compression pass may squash the program further saving on few bytes!
Warning: StrongBS may not like to re-compress some programs because of a limitation in the current version. StrongBS will let you know in that case.!!
Two methods are used:
Yes. Any locked variables in a "Special File" are added to those already defined in your program after the "REM LOCK" keyword if any.
The "Special File" is a text file that lists all variables and routine names that you don't want StrongBS to rename.
The first word of the file should be the word "LOCK:" on a separate line. Following this, you list your variables. Please note that this is the word "LOCK" immediately followed by a colon.
When listing your variables, you can either list each variable on a separate line or separated them by commas.
You can use comments if you like using any of the following reserved characters # or \ or | anywhere in the Special file.
Here is an example:
LOCK: |
Note: The Special file must always end with a blank line.
Assembler extended BASIC versions which have been patched by utilities such as BasExt or !BAX etc.. allow the BASIC assembler to recognise more assembler mnemonics and new instructions. A BASIC assembler listing compressed with StrongBS might not work with such patched version of BASIC simply because StrongBS does not take the new instructions into consideration when, say, removing spaces between opcodes and operands in an instruction. Here is an example:
LDR share,[top]
StrongBS will compress this by removing the unnecessary space:
LDRshare,[top]
This is fine for the BASIC assembler, but not for the Extended BASIC assembler. The Extended BASIC assembler will think that the instruction means: LDRsh are,[top]. LDRSH is a valid ARM Architecture v4 instruction which BASIC does not yet support.
StrongBS will normally list all files contained its own directory called "Library". If you want it to point at your own library files stored somewhere else on the disc, do the following:
Using the Special file called "SBSMake" you can customise StrongBS so that it performs certain operations on the loaded BASIC file and only that BASIC file. Assuming that your particular library files are stored in the directory "$.Programs.Libraries", create a text file and call it "SBSMake". Type the following in the text file:
SBSLinkDir: $.Programs.Libraries
now save this file to the directory where your main BASIC program resides. Any time you load your file, the SBSMake file gets automatically loaded and ALL files pointed by the "SBSLinkDir:" will be automatically loaded and appended to the core BASIC program.
Notes: | (1) | If you have selected any files from the "Library Files" menu, these will also be appended. |
(2) | The "SBSMake" file can contain list of variables and procedure names that you don't want renamed, in this case you can use the "Lock:" token to do that. |