HISTORY.TXT

(58 KB) Pobierz
***************************************************************************
****                   BASCOM 8051 History List                       ****
****                                                                   ****
****     I = Modification to the IDE  C = Modification to the Compiler ****
****   !!! = MUST READ
***************************************************************************
Lib      Date        Note
Version  MM/DD/YYYY


2.08     02/27/2001 - I installed a new Helpwriter system. Since it is a lot of work to change the help file
                      the help is not updated yet. I will add it later.
                    - The change to the serial port is reversed so it is as original.
                      I added a sample named serialbuf.bas that shows how to use
                      serial interrupts. It has a different implementation of the sendchar routine.
                    - Added clockout option to the timer2(8032 compatible)
                      Config Timer2 = Timer , Mode = 5 , Clockout = 300000
                      This will generate a clock output with 300000 Hz.
                      When the clock can not be generated you get an error 224.
                    - Optimised some bit handling code. Also resolved a bit addressing error that slept in with a recent feature.
                    - RAM is cleared now at start up.
                      So RAM variables dont have to be initilised to 0 in code.
                      Use $NORAMCLEAR to disable this feature.
                      Also ljmp .basic will perform a reset by software.
                    - Fixed val() problem introduced with latest check
2.07
                    - New: High(word) = value , will set the MSB of a integer/word
                    - Added option to sim to show precise timing or not.
                    - RS484 support changed: Added small delay after sending the last byte.
                    - SPIIN now sends the data first so it acts as a SPIMOVE routine.
                      This is only true for the HARDWARE SPI configuration with the 89S8252.
                      See spihard.bas example
                    - Tools, Triscend converter added. This will convert a Triscend fastchip .H file, into
                      the triscend.dat file and a BASCOM include file with the same name and extension .INC
                      Beta, so no details available yet othet than : www.triscend.com  look for E5 chips.
                    - Added _BUILDVERSION constant for usage with conditional compilation.
                    - labels were not correct recognized in the IDE Label lookup.
                    - when doing math on word/int/long with a constant, the calculation was not performed. The right variable was seen
                      as numeric too.
                    - Changes in 2.06 in SHIFT caused error for shifting without number of shifts specified.

2.06     01/28/2001
                    - Added conditional compilation:
                      Depending on the expression code will be compiled or not
                      const beta = -1
                      #if beta = -1
                          Print "Hello"
                      #else
                          Print "world"
                      #endif
                      Note that there is NO THEN after the #if <expression>
                      You can nest conditions up to 25 levels. Enough to make your code real unreadable :-)
                      Const beta = 1
                      Const beta2 = beta + 1
                      #if beta =1
                        Print "beta"
                        #if (beta2 = beta+1) and (12>3)
                          print "of course 12 is greather than 3"
                        #else
                          print "alter beta2 to beta2=0 and see what happens"
                        #endif
                      #endif
                    - Added expressions to CONST defenitions:
                      const x = 5 *2(3*8)  ' for example
                      const y = x + sin(10) ' will result in a single constant
                      You can use previous defined constants in a new constant defenition
                      The above works only for CONST defenition!
                      Next step will be to assign a variable this way using only constants and after that to use it with variables too as part of the expression

                    - Speed up PG302 programming.
                    - The report window did not copied the Error-tab information to the clipboard.
                    - AVG() function returns the average of a BYTE array into a word or integer.
                    - 2.05 feature ,using floating point constants resulted in an error when assigned to a byte/word
                    - In order to use RS485, I changed the data send routine. Now it writes the byte and then waits until TI is ready.
                    - When opening a file, the path stays the same when you open another file.
                      Only the IDE directory setting when filled, will override this. So leave it empty when you
                      like the path to be remembered.
                    - Added Rhombus SCE-51 Emulator support.
                      Select from the programmer list to enables it. See help.
2.05     BETA
                    - Serial interrupt is simulation when TI or RI is set.
                    - Helpfile position is saved now between sessions.
                    - Added bit index to the NOT operator : bb.1 =  NOT bb.x
                    - 80552.dat file changed + added : enable/disable i2c,timer2,ct0,ct1,ct2,adc,cm0,cm1,cm2
                    - SHIFT checks for the number of shifts beeing 0 now.
                    - optimized/cleaned setting/resetting bits
                      Bytx.1 = 1 generated unneeded code.
                    - Numeric variables maybe assigned by using constants or numeric values.
                      The compiler will store the result of the calculation in the variable.
                      var = 1200 / 12 'same as var = 100
			    As for other math you may use only one calculation. Working on something much better.
                    - Array(x) = array(x) OR/AND/XOR failed! In the 2.04 update some optimisation was done and this bug was introduced.
                    - MCS Flashprogrammer failed with autoprogram.
                    - The Getad() function for the 812 micro is changed. It needs an ISR in order to work. So the mcs.lib has been changed too.
                      Note that global interrupts must be enabled for the Getad() function in the 812. (ENABLE INTERRUPTS)
                    - Added DATA ORDER option to the software SPI.
                    - Auto programming Lockbits with PG302 failed.
                    - when you have strange behaving forms you can delete the following entry from the registry with REGEDIT.
                      HKEY_CURRENT_USER\Software\MCS Electronics\BASCOM-8051
                      Under this key you can find formstate info of the different windows. You can delete the whole BASCOM-8051 key.
                      When you never used REGEDIT or are not familiair with it DON'T DO THIS because you can damage your OS.
                    - using chr() in combination with printhex did not work. The whole line was interpreted as being hex values.
                      So printhex var ; chr(13) ; printed 0500 for example.
                    - Added $RAMTRON option. This allows to use a EEPROM from www.ramtron.com in place
                      of XRAM! At the moment it is Beta and works for the 89S8252 only!
                      It allows you to use XRAM that is stored in the EEPROM. THis way you only need
                      a small 8 pin chip and no latch and XRAM chip. The Ramtron memory can be written at 5MHz.
                      It can be written many times but a loop of writing a 'XRAM variable' this way will work for a few years.
                      So use some kind of logic to write only to the var when needed!!!
                    - Using old syntax for CONST : Dim x as const 174 did not work for multiple values.
                      I2C.bas example showed this problem. Preferred syntax is however: CONST var = ...
2.04     10/16/2000 - Added Graphic LCD support. See CONFIG GRAPGLCD in the helpfile for more details.
                    - ReadMagcard has a timeout parameter now.
                    - Fixed error in calling Bit_2_C for bytes. The address had to be incremented with 1.
                      This had effects on using bits with bytes only.
                    - Fixed error in multiple AND OR usage like If x =1 and y=2. Wrong jump address was generated.
                    - The ISP programming window had the wrong caption(copied from AVR)
                    - Added mylib.bas and ltc1091.LIB as a sample for writing own libs.
2.03     10/01/2000
                    - Graphic LCD was planned for this release but I could not test the code.
                      I finally received a T6963C compatible display so it will be released soon after this release.
                    - Added syntax help to the IDE.
                    - The labels and subs are sorted now in the IDE.
                    - Added READMAGCARD routine to read magnetic cards with 5 bit coding.
                      7-bit coding will be added later.
                      See the magcard.bas sample
                    - WHen an error was found with include files the wrong file was displayed.
                    - TIMEOUT option changed.
                      Use $TIMEOUT directive to specify that you will use TIMEOUT
                      Now INPUT , INPUTBIN etc. can have an additional parameter TIMEOUT = ...
                      New is that the timeout check is only performed when you specify the TIMEOUT paramater.
                      This is done by passing in bit0 (20.0) th...
Zgłoś jeśli naruszono regulamin