Enhanced BASIC, update by Lee Davison
[Back]
The LIST command has changed internally to use the same tables that are used for tokenising by EhBASIC. This removes the need to keep two tables of keywords maintained. The downside is that the size has increased but the speed of the LIST command is better.16th April 2003.There have also been changes to the table orders, all byte sized data tables are now at the end so I no longer have to worry about word and longword tables being correctly aligned. Other small changes have been made to progress the code to becomming pure, i.e. both relocatable and reentrant, for possible use in multitasking systems.
The version number is now 1.10. Enjoy.
A fix to the math routines reduces errors in some cases. This was due to a potential carry being ignored and some results being truncated instead of rounded. The result of this is that ..14th April 2003.PI * PI / PI / PI - 1.. now = 0 instead of -4.65661E-10 and ..COS( 3 * PI / 2 ).. now = 0 instead of -1.05849E-5The version number is now 1.09. Enjoy.
Small changes to the way strings are compared which prevents A$="" from failing sometimes even when A$ is null. Also a change to the LOOP command which could sometimes terminate program execution if it was conditional on a string compare.11th April 2003.The version number is now 1.08. Enjoy.
Some changes to the way INPUT and READ parse the data stream. This also corrects some inconsistencies in the way different types of data (string, hex integer or floating) were handled.9th April 2003.The version number is now 1.07. Enjoy.
Some small changes to the way long integers are handled.28th March 2003.The version number is now 1.06. Enjoy.
An undocumented feature of the SQR() function was that it returned zero for roots in the 0.5 to 0.999999 range. This has been fixed.13th March 2003.The version number is now 1.05. Enjoy.
More internal changes and a fix to DEEK() and LEEK() which I'd managed to break. There has also been an update to the language reference.The version number is now 1.04. Enjoy.
Minor changes to speed critical code and some internal functions modified. Simulator specific code changed to take advantage of updated features.The behaviour of LEFT$(), RIGHT$() and MID$() have been changed. Now if the length of the required string is zero then a null string will be returned. MID$() has been changed so that a starting point beyond the end of the referenced string will return a null string. Also all string function values can now go up to 65535 which is the maximum string length.
Weeded out two instances where the result of a calculation could be minus zero. While there may not be much difference numerically, between plus and minus zero, when a function is expecting a positive value it will often choke on minus zero.
The version number is now 1.03. Enjoy.
Some small patches to code and a change in the way the power function works. Now if you raise a negative value to an integer power the sign is calculated correctly, also raising a negative number to a fractional power will now give a 'Function call' error.The version number is now 1.02. Enjoy.
Due to a connection problem I never did get the source, mentioned below, uploaded. So to make up for it there are a few less undocumented features in this version. As a result the version is now 1.01. Enjoy.
Just a small update and, as it was only yesterday I released the source there's no version increment for this one.Fixed a small undocumented feature with the LIST command and added ASCII SAVE and LOAD capabilities. To SAVE a program as ASCII just append the SAVE command with ,a. For more details see the language reference.