** Changes and additions made in version 2.1 Beta 5 of PROTON+ Compiler. Added SELECT..CASE..ENDSELECT construct (see helpfile). Added ELSEIF to IF..THEN construct (see helpfile). Added BREAK command to prematurely exit FOR..NEXT, REPEAT..UNTIL or WHILE..WEND loops. Added LINE command for graphic LCD. Added CIRCLE command for graphic LCD. Added BOX command for graphic LCD. Added HRSIN2, HRSOUT2, HSERIN2 and HSEROUT2 for 16-bit core devices that contain a second USART. Added floating point SIN for 16-bit core devices. Added floating point COS for 16-bit core devices. Added floating point TAN for 16-bit core devices. Added floating point ATAN for 16-bit core devices. Added floating point ACOS for 16-bit core devices. Added floating point ASIN for 16-bit core devices. Added floating point LOG for 16-bit core devices. Added floating point LOG10 for 16-bit core devices. Added floating point SQR for 16-bit core devices. Added VAL command to convert a string into an Integer. Added STR$ command to convert a value into a string. Added STRN command to create a null terminated character array. Added Formatters for DATA, LDATA, EDATA, and 16-bit core device CDATA tables. All the data tables allow label names as entries. Added support for newer 16F and 18F devices (see helpfile for list). Added support for 16-bit core PICmicros that contain up to 1K of DATA (eeprom) memory. Added auto context saving/restoring for 16-bit core device interrupts (if required). Added WARNINGS declare to enable/disable compiler warnings (see helpfile). Added a reminder message on some messages that were previously warnings. Added an error message if PCL, TOSL or TOSH is the destination of mnemonic MOVFF. If the compiler senses this internally, it will use the two part mnemonics: - MOVFW MOVWF and issue a warning that it is doing so. This should not be encountered in normal BASIC progamming, but could be if used for more advanced coding. Added improved MACRO support (more details on this to follow). Incorporated Tim's PPRINT design into compiler's PRINT command (more details on this to follow). (This really has to be seen to be believed!). ------------------------------------------------------------------------------------------ PROTON Compiler Version 2.1 Beta 5 Fix's and Optimisations Fixed ADIN with certain devices. Fixed LOOKDOWN for 16-bit core devices. Fixed LOOKUPL when label names are used in the table. Fixed ALL_DIGITAL directive with 12F675 device. Fixed expressions in CWRITE for 16-bit core devices. Fixed CERASE for 16-bit core devices. Optimised ASM code produced for REPEAT..UNTIL construct. Optimised ASM code produced for BRANCH and BRANCHL with 16-bit core devices. Optimised graphic LCD library subroutines. Optimised floating point library for 16-bit core devices. Various tweeks of existing commands and expression calculations. Updated Editor to match new KEYWORDS added. Updated help file to explain the new constructs. -------------------------------------------------------------------------------------------------- ** Changes and additions made in version 2.1 Beta 6 of PROTON+ Compiler. Fixed word arrays being loaded with word arrays. Fixed Stack underlow error when expressions used as array index. Fixed DWORD > DWORD comparison. Fixed inline CASE constructs. Fixed DWORD variable loaded with an array. Fixed floating point subtract by 0 with 14-bit core devices. Fixed floating point ACOS. Fixed comment directly after certain commands. Compiler now traps them succesfully. (but I still think it is bad programming practice). Fixed sign comparison warning message when not applicable. Added ability to place labels in 14-bit core CDATA tables. Thanks to Tim, the PPRINT subroutine is now available for 14-bit core FLASH devices. Replaced some warnings with reminders. Especially those concerning floating point SIN and COS. Updated help file with some information concerning interrupt context saving/restoring with 16-bit core devices. I would like to take this opportunity to thank Tim Box for his on going support and invaluable help in improving the functionality of the compiler. My task would have been a lot harder without his insatiable appetite for experimenting, and his patience and eagerness to help others. And I would like to thank all those who have spotted and reported anomalies. Without your constant vigilance the compiler would not be the programming aid that it is today. I take my hat off to you all!!!