home *** CD-ROM | disk | FTP | other *** search
-
- StrongBS v1.69 (28th June 1997)
- © Mohsen Alshayef 1993-1997
-
- email: mohsen@qatar.net.qa
-
-
-
- This file describes the changes and history of StrongBS:
-
- The list is in reverse chronological order.
-
-
- Version 1.69 (28th June 1997)
- =============================
-
- - StrongBS will automatically load the Special text file named "SBSLock"
- from the directory containing the core BASIC program, so you can now
- write a Special file for each program, name it "SBSLock" and place it
- in the same directory as your main program.
- - Added the Choices window to enable different configurations to be set and
- saved. Not many choices yet!
- - The "Assemble into Code" can now assemble all instructions recognised by
- the BASIC assembler. StrongBS also makes allowance for bugs in the
- BASIC assembler.
- - It seems that the BASIC interpreter doesn't like to see a string
- containing the ASCII character 139 in a single line IF..THEN..ELSE
- statements before the ELSE part, as this confuses the interpreter
- thinking that the caharcter is the ELSE token. The interpreter search
- for the ELSE token doesn't take into consideration that this could
- be a character inside a string. StrongBS now will not generate strings
- with the ASCII 139 character in an IF...THEN..ELSE statement, so
- as to make the interpret happy!!
- - The assembler option to remove zero offsets now makes allowance for the
- BASIC assembler bug that requires a zero offset be specified in LDRT and
- STRT instructions.
- - A bug in the variables replacer code that caused the TOP token to be
- mis-interpreted is now fixed.
- - Many improvements have been incorporated to enable StrongBS to cope with
- compressed BASIC programs. This gives more flexibility for the user to
- re-squash BASIC programs which have been squashed by StrongBS or by other
- BASIC squasher.
-
-
-
- Version 1.68 (25th June 1997)
- =============================
-
- - Added the "Assemble into Code" option. This option is partially written
- and few instructions are still not yet assembled. The option is
- not selected by default.
- - When reverting back to BASIC filetype after failer to squeeze into
- Absolute, the filetype was left at "Absolute". This is now corrected.
- - StrongBS can now cope with matrix operations and matrix operators don't
- get wrongly evaluated and brackets around them removed.
- - Fixed a bug in the real array variables renaming code that caused the
- BY( in DRAW, MOVE, etc statements to be interpreted as a real array variable.
- Thanks to Reuben Thomas for all his assisstance in tracking down this bug.
- - Fixed a bug that caused the ON token in a MOUSE ON statement to be skipped
- if located inside an IF..ENDIF construct.
- - Updates and corrections to the interactive help display messages.
- - Fixed a bug in the nummebrs converter that caused shifted numbers
- following the & directive to be mis-interpreted.
- - PRINT concatenation code improved to deal with squashed programs.
- - Various routines improved to cope with squashed BASIC programs.
-
-
- Version 1.67 (23rd June 1997)
- =============================
-
- - The output filetype is now selectable from a seperate pop-up menu.
- - The information message displayed during squashing is now disabled as
- the icon is now used to display the output filetype and format. This
- maybe re-enabled in future versions using a seperate configured window!
- - Interactive help improved with all icons and menu entries giving detailed
- help information. Use this feature for a detailed explanation of each
- menu entry and each StrongBS squash option.
- - Fixed a bug in the "Assembler directives code" that caused necessary
- colons to be skipped after a fractional number inside an EQUD directive.
- - Dropping back a StrongBS squashed output file back into StrongBS is no
- longer allowed. To re-squash, hit the "Squash" button again. Re-squashing
- is allowed, only if, the "output as" file selected is BASIC.
- - Slight correction to the main sprite icon.
- - Bug fix in the assembler directives and spaces removal codes not liking
- each others results !!
- - Renamed the <StrongBS$Append> variable to <StrongBSLibrary>. Also renamed
- the "Append file" sub-menu to "Library files". This will list all
- library files pointed by the StrongBS$Library variable, which is set to
- point at the diectory "Library" within StrongBS. This can be changed in
- the !Run file to point at any pathname (directory) containing library
- files.
- - Improved the number conversion code.
- - Updated some parts of the manual.
- - A bug fix in shading of menu items (desktop front end).
- - A bug in the "unused variables remval" that left commas after removing an
- unused_var after a SYS..TO.. has now been removed. Thanks to Theo Markettos
- for pointing this out.
- - A nasty bug that caused PROCedure names after a Hex number to be skipped
- unnoticed is now fixed. (Whoops!!)
-
- Version 1.66ß2 (21st June 1997)
- ===============================
-
- - 0's to FALSE conversion will, now, not convert those 0's inside assembler
- listings (some Extended BASIC assemblers cannot cope with them). Also,
- 0's inside VDU statements will not be converted.
- - Improved the PRINT statement concatenation code and fixed problems with
- concatenating string found between two PRINT statements.
- - A bug that caused ALIGN directives to be skipped following other directives
- is now corrected. Thanks to Alex Thoukydides for spotting this.
- - Correction to the VDU concatenation behaviour with "|" characters has been
- added so that extra VDU statements are not concatenated to a statement
- ending with "|".
- - Fixed a problem with converting numbers to shortest form that caused very
- large floating point numbers to mis-interpreted this only caused problems
- with BASIC 64.
- - Improved assmbler register code conversion for faster processing.
- -
-
- Version 1.66ß1 (21st June 1997)
- =============================
-
- - Fixed a bug in the memory spaces conversion code for complex IF, WHILE
- statements.
-
- Version 1.65 (20th June 1997)
- =============================
-
- - Fixed a bug that caused the "Remove Colon" option to remove a space found
- after an IF or WHILE. Example: "IF|WHILE <var1> <var2>=<var3>".
- - Improved the the memory operator options code.
- - Fixed a bug that caused numbers after an IF token to be converted into the
- shortest form using shift format.
- example: IF A%=&80000000 THEN A%=2
- was converted into: IF A%=1<<31 THEN A%=2
- This would be treated by BASIC as IF (A%=1)<<31 THEN A%=2
- The same applies to numbers after a WHILE token.
- - Fixed a bug that caused a space or a THEN token to be removed between a
- hex number and a vaiable starting with a valid hex digit.
- - Improved the spaces removal code and the THEN removal code.
- - Added the option to convert *FX commands into OS_Byte (SYS 6) calls. The
- option is not automatically selected by default.
- - Up to 64 files can now be listed in the "Append" file menu.
-
-
-
- Version 1.64 (19th June 1997)
- =============================
-
- - Fixed a bug that caused &8C inside quotes!! to be interpreted as a THEN token
- - Fixed a bug that caused LOCAL DATA and LOCAL ERROR to be concatenated along
- with LOCAL <var> lines and statements. Whoops!! Thanks to Rouben Thomas for
- spotting this bug (that was a quick one, and hope a quick fix!!)
-
-
- Version 1.63 (17th June 1997)
- =============================
-
- - Bug in the "0 to FALSE" converter removed which caused 0's in *Commands
- to be converted. Thanks to Dominic Plunkett for spotting it out just
- too fast for me to celebrate a bug-free StrongBS !!
- - Updated the "Manual" documnet. Still needs lots of updates and grammer
- checking !!
- - Improved the PRINT statements concatenation code. Again, thanks go to
- Dominic Plunkett for pointing out areas where improvement have been
- made.
- - A little bug in the module caused DATA statements to be skipped un-noticed,
- this is now fixed. Thanks Dominic for pointing that out. BASICTools module
- now at version 1.05 (thats already 5 years since the first module!! time
- flies!!).
- - The Help system has now be enabled again specially for the menu system.
- Added various help data for all options.
-
-
- Version 1.62ß (27th April 1997)
- ==============================
-
- - First ßeta public release.
- - Slight correction made to the "convert to FALSE" code.
-
-
- Version 1.61 (20th April 1997)
- ==============================
-
- - The assembler register list squash option enabled. Was greyed out. The code
- to squash LDM and STM register lists is added.
- - Added an option to keep REM lines starting with a word or chars specified
- by the user. Suggested by Graham Crow.
- - Moved the REMarks options from the "Misc" sub-menu into a seperate top-level
- sub-menu.
- - Added the zero removal option to the "Remove" menu. This will remove all
- unnecessary +0, -0, +0.0 or -0.0 in mathematical assignments.
- - Added the option to convert CASE...ENDCASE constructs to IF...ENDIF
- constructs. The IF...ENDIF is much faster.
- - Added the "Structures" sub-menu (CASE, WHILE and IF structures' options).
- - Added the "Faster" sub-menu to include all options that can speed up
- program execution, but not necessarily resulting in a smaller size.
- - Added an option to rename variables found in DATA lines, providing the
- variable name can also be located in the main program. This option is
- normally non-selected by default. Use it if DATA lines contain variables
- that will be later EVALuated using the EVAL or READ statements. Previous
- versions of StrongBS automatically renamed variables found in DATA lines.
- This had caused a problem with one program I know of "The Acorn !Maestro
- !Runimage file", as it had DATA lines containing strings of text that were
- not inside quotes and were similar to some of the variables in the main
- program. This caused the text in the DATA lines to be renamed along with the
- similar variables in the main program!
- - A bug in the empty structures removal code, removed. Now can recognize some
- undocumented BASIC methods for terminating a CASE construct.
- - Improved the mathematical evaluations code to cope with more expressions.
- - A bug in the spaces stripper code which caused "No such function/procedure"
- now removed.
- - Slight front end program re-structuring.
- - Added the Log file sub-menu and additional icons for the log file.
- - The "Attach files" sub-menu renamed to "Insert REMarks file" and moved to the
- "Remarks" sub-menu. Also the "Attach" directory is now called "REMInsert".
- - Slight updates and changes to the manual.
-
-
-
- Version 1.60 (18th April 1997)
- ==============================
-
- - Improved the -1 to TRUE converter code, now more squashing achieved.
- - Bug in the colons remover code removed.
- - Slight improvement in the brackets removal code.
- - When re-squashing a file with locked variables, the locked variables are now
- remembered from the first pass.
- - The variables removal code improved to cope with highly compressed files. This
- allows effective re-squashing of files.
- - Bug in the registers converter removed. Thanks to Dominic Plunkett for
- pointing it out.
- - PRINT statement concatenation option added to the "Concatenations" sub-menu.
- Idea by Dominic Plunkett.
- - Memory management changed. Now using the wimp for memory allocation. This
- allows large compressed files above 400 Kb to be loaded and re-squashed again.
- - A bug in the Attach file menu causing the last file to be displayed twice is
- now removed.
- - Main window icons slightly changed to comply with Acorn style guidelines.
-
-
-
- Version 1.59 (17th April 1997)
- ==============================
-
- - Now standing at 62 total options (including 3rd party options) !!!!
- - Added the Empty WHILE structures removal option.
- - Added the Empty procedure removal option.
- - Slight improvemnt to the spaces stripper code.
- - Some improvement to the colon stripper code. Now can cope with very
- difficult unnecessary colons. More squashing...
- - Improved error reporting in case of StrongBS crash!! Has it ever crashed? No,
- of course not, it is RISC OS that is buggy, StrongBS is of course bug free.
- Acorn should correct the OS to make it compatible with StrongBS !!!
- - Improved sprite sent in by David Sharp.
- - The Log menu is greyed out. It will be enabled when cross-referencing code
- is completed.
- - The "Clear all options" menu entry moved to the "Squash mode" menu.
- - Updated the "Messages" file.
- - Creating and saving a new squash mode will, now, take the 3rd party squash
- options into considerations and save them as well.
- - The "Create New Mode" dialog box now uses standard font for RISC OS 3.5 and
- later.
- - The "Squahsed by StrongBS xxxx" REMark line will not be inserted into the
- output file if the result file is going to be squeezed into an abosolute file
- type (&FF8), even if the "Insert Squash info" option is selected by the
- user.
- - The location of the Append, Attach and Modes sub-directories is set using
- a system variable in the !Run file, so this can be changed to re-locate
- the directories.
- - The Template and Messages files moved to a sub-directory "UK" within the
- the "Resources" directory and a variable StrongBS$Country in the !Run
- file is set to point at that directory. For other languages and countries
- you need to create a sub-directory with the language name and change
- the "Messages" and Templates files in it, then change the StrongBS$Country
- variable in the !Run file.
- Looking for someone to make a Dutch and German versions of StrongBS.
- - A bug in the re-squashing loop removed.
-
-
-
- Version 1.58 (11th April 1997)
- ==============================
-
- - Now you can re-squash by pressing the "Squashed" button again. You can
- do this as many times as you like to perform multi-squashing. The old
- method of dropping the BASIC file back into StrongBS is still valid
- as an alternative.
- - Some internal codes made recursive so that the need for re-squashing is
- now reduced.
- - A bug pointed by David Sharp in the "Colons remover" code removed.
- - The error reporting window now accepts the RETURN key.
- - More 3rdParty options. Another one from David Sharp.
- - Added the "Empty IF structure" removal option. Idea by Dominic Plunkett.
- - Colon remover code further improved.
- - Added the "Empty CASE structure" removal option.
- - CallASWI module removed. Not required any more!
- - Under RISC OS 3.5 and later, the main window background and fonts now use
- the desktop texture and desktop fonts, a new template is designed for
- this purpose. For RISC OS 3.10, a custom background and fonts
- are used (template "Templ310" used). Suggested by Andrew Ayre.
- - Very much improved colon remover code to remove all unnecessary colons part
- of the WHILE and IF constructs.
- - A bug in the spaces-stripper code removed.
- - Bracket removal code improved to cope with shifted operators such << and
- >>> as BASIC does not allow the use of more that one group 5 operator
- by unbrackted expression.
- - Improved the variables search to look inside DATA lines for matching
- variables. BASIC allows variables inside DATA lines, and the READ statement
- performs an automatic evaluation of the variables inside DATA lines!!
- - Updated BASICTools Module to version 1.04. Slight changes to BASIC
- program initialisation code.
-
-
-
- Version 1.57 (9th April 1997)
- ==============================
-
- - Added the VDU statements concatenation option. Idea by Dominic Plunkett.
- - Added the READ statements concatenation option.
- - A bug removed that caused some of the debugging code to be left over
- causing some characters to be printed on the desktop.
- - Multi-tasking improved to allow StrongBS main window to be moved around
- the screen while squashing is in progress.
- - Acorn "CallASWI" module is automatically loaded and copied to the
- !System.Modules directory for pre-RISC OS 3.7 machines.
- This module will be required if the BASIC program is
- further squeezed into an application and distributed as such.
- - Code for brackets removal improved. Some ideas by Dominic Plunkett
- implemented. Still some room for improvement.
- - 3rd Party information window added.
- - Manual updated.
- - Little bug with the 3rd party options menu selected corrected. Thanks
- to David Sharp for pointing that out.
- - Little bug in the Template file corrected. Again thanks to David Sharp
- for the observation.
- - Improved the colon remover code to deal with colons after WHILE. Now
- even more code squeezing!
- - First 3rd party code written by David Sharp included with this version.
- - Display time for the banner window is now correct at 5 seconds.
-
-
-
- Version 1.56a (7th April 1997)
- =============================
-
- - This version has an improved error reporting for errors encountered in
- the source BASIC program. Version is only sent to Dominic Plunkett for
- the testing of an error he is encountering with ELSE statements.
-
-
-
- Version 1.55 Beta (27 March 1997)
- =================================
-
- - Added interactive help support.
- - Simple multi-tasking introduced to allow other desktop tasks to be used.
- Suggested by David Sharp.
- - "Make Application" code added including the facility to squeezing the code
- using an LZW compression method.
- - The user is alerted if overwriting an existing file.
- - The "THEN Removal" code improved to cope with very obsecure situations.
- - Bug corrected in the SPC code.
- - Description of the Squash options written partially, to be completed.
- - Disabled warning for RESTORE+<No. offset>
-
-
-
- Version 1.54 (17 March 1997)
- ============================
-
- - Bug fix:
- A little bug in the numbers converter with complex shifted number.
- - More compression achieved by improving the scan routine inside DATA lines.
- - Tested on a Risc PC and working fine.
- - Re-coded the menu display routine so that if the menu is opened on the icon
- bar, it will always appear in the same place (centred on top of the icon)
- irrespective of the pointer x-position when the menu button is clicked.
- - StrongBS will now warn the user if a Special file is needed before compression
- starts rather at time of loading the source file.
- - Added a little icon to show status of Special File. (A nice idea from David
- Sharp).
- - Added 2 more warning messages to inform the user of how to load the Special
- file, i.e. after loading the BASIC source file but before compressing.
- - The banner screen will automatically disappear after 4 seconds on start-up of
- the program. (Thanks to David Sharp for the suggestion).
- - Improved brackets removal code to achieve better compression results.
- - Improved the Directives concatenation routine to cope with wider range of
- assembler directive situations.
- - Improved warning error window. Original template designed by "David Sharp",
- slight changes by myself.
- - Added an option to allow the "REM Squashed by StrongBS .." to be excluded from
- the output file.
-
-
-
- Version 1.53 (14 March 1997)
- ============================
-
- - Bug fix:
- Fixed a bug that caused a colon to be ommited after a DCD during conversion
- to &, if the DCD failed to convert.
- - Bug fix:
- A bug fix in the colon remover code. Was used to corrupt the program. It will
- only appear if the "Remove colons" is the only option selected.
-
-
-
- Version 1.52 (8 March 1997)
- ============================
-
- - Locked function and procedure names can be given as FN or PROC. There is no
- need to use DEFFN or DEFPROC.
- - The Squash mode is now configurable in the Messages file. Your prefered mode,
- whether a user mode that you have defined and saved earlier or a mode that
- is built into StrongBS, can now be automatically loaded and set on startup.
- To set the prefered mode, change the value after the "SquashMode" token in
- the Messages file.
- - Locked variables can be passed in a text file. The first word of the file
- should be "LOCK:" this is an identifier.
- Variables can be put on newline each or seperated by commas.
- If locked variables also exist in the main program (i.e. after REM LOCK) then
- the variables in the text file are added to those.
-
- Note: The locked variables file should be loaded AFTER the program to be
- compressed is loaded. Loading a new program will reset all locked
- variables that were loaded by the lock file.
-
- - Added the automatic line numbering option.
- - Improvement to the numbers conversion to recognise more number formats.
- - Improvement to the string conversions to cope with more string formats.
- - Added the option to use the standard system font or any other font the user
- may elect to choose.
- - Added the unused variables removal code.
- - Bug fix:
- A bug that caused a colon to be removed after RESTORE ERROR is removed.
- - The variables indexer now improved, so that all variables inside an assembly
- listing are also counted in the table.
- - Updated the coding of the Locked variables file, so that more keywords can be
- added in the future.
- - Re-written the memory management for better space allocation.
- - Menus are now displayed in the default desktop font. User can specify the
- font in the messages file if he wishes. This is handy for RISC OS 3.1 users.
- - The colons remover code improved to deal with more situations.
-
-
-
- Version 1.51b (4 March 1997)
- ============================
-
- - Added the option to append files to the end of the main program before
- compression starts. This feature helps to append LIBRARY files.
- - Added the option to attach (insert) a file at the start of the main program
- after compression is complete.
- - Added two options, one to keep the first REM line in the source program and
- another to keep all REM lines appearing at the start of the source program.
- - Added and activated the option to concatenate assembler directives.
- - The shorter directives improved to cope with variable names that are similar
- to directive names.
- - Numbers converter code improved to cope with the short directive "&" following
- a label.
-
-
-
- Version 1.49b (27 Feb 1997)
- ===========================
-
- - Added the "SYS Remover code" to remove excess commas and 0's in SYS calls.
- - Added the routine to convert all assembler directives (EQUS/EQUD/EQUB) and
- (DCD/DCB) into the shorter type & and = directives.
- - Added and activated the "Debug Code Remover". Any lines bracketed between
- REM --[ and REM ]-- in the program will be removed.
- - Added and activated an option to remove all those unncessary ALIGN directives.
- ALIGN directives are not required if they are followed by an instruction
- opcode. BASIC automatically ensures that an instruction is stored in a
- word align memory address.
-
-
-
- Version 1.48b (26 Feb 1997)
- ===========================
-
- - The variable menu width works correctly now. Obtaining the outline font text
- width is now correct. Menus will automatically adjust to highest width.
- Thanks to Alan Wrigley for his tip on using "Font_ConverttoOS".
- - The progress bar color is user defined. The token "BarColor" in the Messages
- file can be changed by the user. (Thanks to David Sharp for the idea)
-
-
-
- Version 1.47 (21 Feb 1997)
- ==========================
-
- - Added the Message file. All menu entries are now contained in the messages
- file.
-
-
-
- Version 1.46 (19 Feb 1997)
- ==========================
-
- - Added the modes creation facility.
-
-
-
-
-
-
- ••••••••• Hope you find StrongBS useful •••••••••
-
-
-
- StrongBS © Mohsen Alshayef 1993-1997
-
- Contact details:
- ----------------
-
- Mohsen Alshayef,
- email: mohsen@qatar.net.qa
-