PIC16 Simulator IDE Version Log File
 


News in version 1.73      (2019-11-01)
- Basic Compiler: Include and IncludeASM will accept now multiple comma-separated arguments
- Recently discovered bugs/oversights fixed
- (updates during work in progress)
 
 
News in version 1.72      (2019-10-30)
- Basic Compiler: More code-efficient evaluation of expressions containing user-defined functions
- Recently discovered bugs/oversights fixed
 
 
News in version 1.71      (2019-10-23)
- Basic Compiler: Improved complex expressions evaluation engine, including string data type expressions
- Basic Compiler: In assignment statements, absolutely all kinds of expressions can be now calculated, including those containing user-defined function calls
- Basic Compiler: More detailed error messages related to complex expressions evaluation
- Basic Compiler: Complex expressions including function calls can be used now as direct arguments when calling procedures and functions in the code (feature of the new Compiler Extensions add-on module)
- Basic Compiler: Complex expressions can be used now in all statements where comma-separated list of arguments is accepted, like Lcdout, Serout, I2CWrite, GLcdwrite, etc., including statements from the libraries like UART_Write (all this is a feature of the new Compiler Extensions add-on module)
- Basic Compiler: Many discovered bugs/oversights fixed (including USB and SDCARD related)
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.66      (2019-09-14)
- Basic Compiler window: New item in Options menu - Show Compile Buttons; used for new handy shortcuts panel
- Basic Compiler window: New items in Tools menu - Configuration Bits, Open Assembler Editor
- Basic Compiler: More informative compiler error messages; fixed bugs related to internal compiler errors
- Updated OshonSoft common editor component (smart double-click word select implemented)
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.65      (2019-08-22)
- Simulator: Data EEPROM Memory simulation implemented
- Basic Compiler: Revised compiler string engine; allowed declaration of string constants with Const directive; string related bug fixes
- Basic Compiler: Fixed bugs related to multiple declarations in one Dim statement
- Basic Compiler: Fixed bug in library engine related to Control Panel Region settings
- Updated OshonSoft common editor component (bug fix related to Auto Format Text Enabled property)
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.63      (2019-07-24)
- Basic Compiler: Dim statement will now allow multiple declarations in one line of code (comma-separated list of variable names)
- Basic Compiler: New and optimized long addition, subtraction, multiplication and division routines (division now full 32-bit)
- New item in Options menu - Configure Info Message Frames
- Higher quality OshonSoft icon
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.62      (2019-07-01)
- Basic Compiler: UART_Init, UART_Write, UART_Read and UART_Get statements implementation (in the UART library) for all the supported devices and for all UART modules; open source in oshonsoftpic16-uart.lib
- Library Support: New 'const' argument type; new '#math' directive for calculations with new libtemp0-libtemp99 library engine temp variables; new '#echo' directive for informative assembler comments; new int_val() and abs_val() functions for calc[] macro; more info in oshonsoftpic16.lib
- Library Support: New '#statement_accept_multiple_arguments' directive; support for multiple comma-separated arguments for 'procedure' type statements with one 'byval' byte argument or with one 'byrefout' byte argument
- Library Support: New '#break_for_string_argument' directive; for specific string arguments processing
- Basic Compiler: Former compiler keywords Hseropen, Hserout, Hserin, Hserget are now aliases for the new library elements UART_Init, Uart_Write, UART_Read, UART_Get
- Basic Compiler: Missing Cr symbolic constant for ASCII character 13 added to existing set (Qt, CrLf, Lf)
- Bug fixes related to library support implementation in basic compiler
- Fixed bug related to // comments
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.61      (2019-05-11)
- Redesigned and more informative Select Microcontroller dialog
- Bug fixes related to library support implementation in basic compiler
 
 
News in version 1.59      (2019-05-05)
- Basic Compiler: EEPROM_Read and EEPROM_Write statements implementation (in the EEPROM library) for all the supported devices; in this way internal EEPROM access support in OshonSoft basic compiler is now open source
- Library Support: New '#alias_for' and '#alternate_reg_name' directives; Flash_Num and EEPROM_Num constants now available as new calc[] arguments; allowed_constant_range can now contain arithmetic expressions; more info in oshonsoftpic16.lib
- Library Support: New '#banksel' directive; uses the compiler internal memory banking optimizations
- Basic Compiler: Former compiler keywords Read and Write are now aliases for the new library elements EEPROM_Read and EEPROM_Write
- Basic Compiler: Former compiler keywords Adcin, ADC_CLOCK, ADC_SAMPLEUS, AllDigital are now aliases for the new library elements ADC_Read, ADC_Clk, ADC_Sample_uS, All_Digital
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.58      (2019-04-12)
- Basic Compiler: ADC_Read statement implementation (in the ADC Module library) for all the supported devices; in this way ADC module support in OshonSoft basic compiler is now open source
- Basic Compiler: All_Digital statement implementation (in the ADC Module library) for all the supported devices
- Basic Compiler: Improved library support engine; new Test Examples library
- Library Support: New '#parameter n/a' and '#statement n/a' directives
- Library Support: New 'reg_addr[]' macro
- Library Support: New '\' operator for 'calc[]' macro (division returning integer result)
- Basic Compiler: Comment sign '//' is a new alternative for the standard single quote sign
- Updated OshonSoft common editor component (features added)
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.57      (2019-03-22)
- Basic Compiler: Improved library support engine; more info in oshonsoftpic16.lib (feature of the new Compiler Extensions add-on module)
- Library Support: Function statement type developed; new #redim directive
- Library Support: New #pagesel directive
- Basic Compiler: ADC_Read statement implementation (in the library) for selected devices
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.56      (2019-03-06)
- Basic Compiler: Implementation of the library support infrastructure for the future basic language extensions (feature of the new Compiler Extensions add-on module)
- Basic Compiler window: New item in Options menu - Show Libraries Info Panel (feature of the new Compiler Extensions add-on module)
- Basic Compiler: #define is a new alternative for the Define directive
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.55      (2019-03-03)
- Improved Select Microcontroller dialog; support for keyboard arrow keys
- Updated OshonSoft common editor component (features added)
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.54      (2019-02-09)
- Basic Compiler: Capital letters can now be used in the variable names, names of the procedures, functions, subroutines, constants, symbols and labels (feature of the new Compiler Extensions add-on module)
- Basic Compiler: Two new passing mechanisms for passing arguments to procedures by reference - ByRef and ByRefOut (more info in the reference manual) (feature of the new Compiler Extensions add-on module)
- Editor Setup window: New User Keyword Color setting for Basic Compiler editor; used for user-defined program element names
- Basic Compiler window: Source Explorer width range extended to 500 pixels
- Basic Compiler window: New item in Options menu - Editor Setup
- Assembler window: New item in Options menu - Editor Setup
- Basic Compiler Reference Manual updated
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.53      (2019-02-05)
- Updated OshonSoft common editor component (bug fixes)
 
 
News in version 1.52      (2019-02-01)
- Updated and improved software installer
- Updated OshonSoft common editor component to support future features (work in progress...)
 
 
News in version 1.51      (2018-11-30)
- Basic Compiler: Procedures and functions can be called without the Call statement; procedure name should be followed by comma-separated list of arguments
- Basic Compiler window: Now smooth operation of the Definition command from the Source Explorer (from context menu or by double-click)
- New item in Options menu - Change Main Font; setting used in all application windows
- More attractive application look with new default fonts - Tahoma and Lucida Console
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.48      (2018-10-31)
- Fixed bugs related to Select Microcontroller and Change Clock Frequency commands
- Improved display of confirmation messages; two modes now available; customizing by clicking on the message (left-click for display duration, right-click for display mode)
- Fixed bug related to select options dialog window
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.47      (2018-09-21)
- Integrated assembler will now generate much more informative error messages
- Basic Compiler: Extended baud rate range accepted in software UART implementation
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.46      (2018-08-29)
- Fixed bugs related to loading .BAS, .ASM and .HEX files containing LF newline control character
- Basic Compiler: Fixed bug related to statements <port pin> = <bit variable>
- Basic Compiler: Optimized code for incrementing and decrementing (<var> = <var> +/- 1)
- Simulator: New Show Z and C Bit States item in the Options menu for their distinct display on the main simulation interface
- New Show Tips command in the Help menu
- Spending an evaluation session can now be canceled
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.45      (2018-08-06)
- Basic Compiler: New Comment/Uncomment command for single lines and selected blocks of code
- Assembler: New Comment/Uncomment command in the Edit and context menus
- Basic Compiler: Fixed bug related to Long and Single variables declaration
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.44      (2018-07-03)
- Fixed bug in the Check For Updates utility
- Small and/or invisible improvements/bug fixes
 
 
News in version 1.43      (2017-05-06)
- Basic Compiler: Work on the libraries support infrastructure (for the internal compiler reliability only)
- Small and/or invisible improvements/bug fixes, application infrastructure improvements, security related updates
 
 
News in version 1.42      (2016-12-09)
- Improved Windows 7+ compatibility: The application will now automatically request the needed administrative permissions, related crashes fixed
- Improved Windows 7+ compatibility: The application will now store the files in the AppData folder by default, related crashes fixed
- Small and/or invisible improvements/bug fixes, application infrastructure improvements, security related updates
 
 
News in version 1.41      (2016-04-14)
- Small and/or invisible improvements/bug fixes, application infrastructure improvements, security related updates
 
 
News in version 1.40      (2016-01-17)
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
- Security related updates
 
 
News in version 1.39      (2015-08-08)
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.38      (2015-03-28)
- New options in the Watch Variables window: Sort By Location, Sort By Name, Sort By Address, Sort By Type
- New FAT32 related statement in the basic compiler: SDCardFAT32Dir
- New FAT16 related statement in the basic compiler: SDCardFAT16Dir
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.37      (2015-01-04)
- Basic Compiler: String variables can now be used as arguments of the SDCardFAT16FileWrite and SDCardFAT32FileWrite statements
- Basic Compiler: Further optimization of the FAT16 and FAT32 file system support routines
- New FAT32 related statement in the basic compiler: SDCardFAT32FileDelete
- New FAT16 related statement in the basic compiler: SDCardFAT16FileDelete
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.36      (2014-12-25)
- New FAT32 related statement in the basic compiler: SDCardFAT32FileExists
- New FAT16 related statement in the basic compiler: SDCardFAT16FileExists
- Basic Compiler: Using only the first cluster of the ROOT memory card area for FAT32 file writing limitation removed
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.35      (2014-12-17)
- New FAT32 related statement in the basic compiler: SDCardFAT32FileAppend
- New FAT16 related statement in the basic compiler: SDCardFAT16FileAppend
- Basic Compiler: Optimization of the FAT16 and FAT32 file system support routines
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.34      (2014-11-23)
- New FAT32 related statements in the basic compiler: SDCardFAT32FileCreate, SDCardFAT32FileWrite, SDCardFAT32FileClose
- New FAT16 related statements in the basic compiler: SDCardFAT16FileCreate, SDCardFAT16FileWrite, SDCardFAT16FileClose
- Basic Compiler: Fixed bug related to SDCardWriteFinish statement
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.33      (2014-11-01)
- Basic Compiler: FAT32 file system support for SD cards implementation introduced
- New FAT32 file system support related statements in the basic compiler: SDCardFAT32Init, SDCardFAT32FileOpen, SDCardFAT32FileRead
- Basic Compiler: Fixed bug related to SDCardInit statement
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.32      (2014-10-27)
- Basic Compiler: FAT16 file system support for SD cards implementation introduced
- New FAT16 file system support related statements in the basic compiler: SDCardFAT16Init, SDCardFAT16FileOpen, SDCardFAT16FileRead
- Basic Compiler: SDCardWriteByte and SDCardReadByte statements can now have up to 32 comma-separated arguments
- Basic Compiler: Improved arrays support infrastructure; an array of Byte variables can contain up to 512 elements, up to 256 array elements is available for Word variables, for Long and Single variables the upper limit is 128 array elements
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.31      (2014-10-13)
- Basic Compiler: Interfacing MMC/SD/SDSC/SDHC cards implemented
- New SD cards related statement in the basic compiler: SDCardInit
- New SD cards related statements in the basic compiler: SDCardWriteStart, SDCardWriteByte, SDCardWriteFinish
- New SD cards related statements in the basic compiler: SDCardReadStart, SDCardReadByte, SDCardReadFinish
- New parameter for the DEFINE directive: SDCARD_DEFAULT_WRITE (0-255 allowed range)
- Basic Compiler: Fixed bug in the software SPI master implementation, exchanged function of SDI and SDO lines
- Basic Compiler: Zero value (0) added for the SPICLOCK_STRETCH parameter, it is now default to get the maximal SPI frequency, send and receive frequencies quoted in the .ASM file
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.29      (2014-09-18)
- Basic Compiler: Modbus slave firmware implemented
- New Modbus related statements in the basic compiler: ModbusSlavePrepare
- New Modbus related statements in the basic compiler: ModbusPrepareResponse, ModbusGetAddress, ModbusGetData
- New Modbus related statements in the basic compiler: ModbusMakeWriteResponse, ModbusMakeReadResponse
- New Modbus related statements in the basic compiler: ModbusSlavePutByte, ModbusSlaveGetByte
- New parameter for the DEFINE directive: MODBUS_SLAVE_MODE (0-1 allowed range)
- Basic Compiler: Updated MODBUS_SIM_GET_BYTE statement implementation
- Basic Compiler Reference Manual: Updated Modbus master related examples
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.28      (2014-09-11)
- Basic Compiler: Modbus master firmware implemented
- New Modbus related statements in the basic compiler: ModbusInit, ModbusService
- New Modbus related statements in the basic compiler: ModbusWrite, ModbusRead
- New Modbus related statements in the basic compiler: ModbusGetNextByte, ModbusPutNextByte
- New Modbus related statements in the basic compiler: MODBUS_SIM_SEND_BYTE, MODBUS_SIM_GET_BYTE
- New parameter for the DEFINE directive: MODBUS_REG_NUM (1-16 allowed range)
- New simulation module in Tools menu: Modbus Simulation Device
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.27      (2014-08-21)
- New string related functions in the basic compiler: LRotateStr(), RRotateStr()
- New string related functions in the basic compiler: LShiftStr(), RShiftStr()
- New string related functions in the basic compiler: InStrRev(), ReverseStr()
- New string related functions in the basic compiler: HexStr(), DecFromHex()
- New string related functions in the basic compiler: LCase(), UCase()
- New string related functions in the basic compiler: CountChr(), ReplaceChr()
- New string related functions in the basic compiler: LTrimChr(), RTrimChr()
- Basic Compiler: Optimized compilation of the string related routines
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.25      (2014-08-07)
- Basic Compiler: Single data type choice for the exponent of the Power() function implemented
- Basic Compiler: Changed allowed range for the STRING_MAX_LENGTH parameter to 8-79
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.24      (2014-08-02)
- New Single data type related functions in the basic compiler: Arcsin(), Arctan(), Power()
- Basic Compiler: New parameter for the DEFINE directive: ARCUS_PRECISION (1-2 allowed range)
- Basic Compiler: Fixed subtle bug related to complex expressions evaluation
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.23      (2014-07-28)
- Basic Compiler: Implementation of passing String data type arguments to procedures and functions
- Basic Compiler: Implementation of the indexing of the individual bits of a Byte data type variable with another variable
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.22      (2014-07-22)
- New string related functions in the basic compiler: StrValB(), StrValW(), StrValL(), StrValS()
- New string related functions in the basic compiler: FillStr(), InStr()
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.21      (2014-07-10)
- New optional add-on module for the basic compiler: String data type support; without this optional software add-on module enabled by the license, only one String data type variable can be declared in the basic program
- Set of string related functions in the basic compiler: Len(), LeftStr(), RightStr(), MidStr(), LTrim(), RTrim(), Chr(), Asc()
- Direct assignment of the numeric data type variables decimal string representation to the string variables with the # prefix
- New symbolic string constant Qt (or """") for the double quotation mark (CrLf and Lf exist already)
- New parameter for the DEFINE directive: STRING_MAX_LENGTH (8-40 allowed range)
- Evaluation of the complex expressions containing string constants, variables and functions
- Evaluation of the complex string expressions on both sides of the comparison operator in While and If-Then statements
- Support for the string variables viewing and editing in the Watch Variables tool during the simulation
- Evaluation of the complex math/arithmetics expressions on both sides of the comparison operator in While and If-Then statements
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.19      (2014-06-02)
- PIC16 basic compiler USB support now available to the following MCUs: PIC16F1454, PIC16F1455, PIC16F1459
- Basic Compiler: New parameters for DEFINE directive: SERIN_TIMEOUT_REG, SERIN_TIMEOUT_BIT; allows implementation of custom timeout feature for Serin and SerinInv statements; more info in the Basic Compiler Reference Manual
- Basic Compiler: Fixed bug in Optimize Program Memory Paging option
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.18      (2014-05-18)
- New simulation module in Tools menu: DS1820 Digital Thermometer; for simulation of DS18S20 and DS18B20 devices
- Basic Compiler: Keywords DS18S20Start, DS18S20ReadT replaced with DS1820Start, DS1820ReadT; these statements can be used for both DS18S20 and DS18B20 devices
- Basic Compiler: Improved functionality of the Reference Manual Assistant
- Basic Compiler: Fixed bug related to character LCDs related basic statements in low 4-bit mode
- Watch Variables tool: Fixed bug related to Delete Variable command
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.17      (2014-04-30)
- Hardware Stack Editor: New feature to view the max number of pushes to the stack during the last simulation
- Hardware UART Simulation Interface: New Options menu to choose the input type for the Send String command (alphanumeric characters, comma-separated decimal bytes or comma-separated hex bytes)
- Basic Compiler: Improved compilation behavior and documentation for the Define directive
- Basic Compiler: Improved compilation of character LCDs related basic statements
- Improved Graphical 128x64 LCD Module tool; now supports activity logging
- Improved LCD Module tool; now supports activity logging
- Improved 4-bit mode simulation in the LCD Module tool
- Basic Compiler: Improved Optimize Program Memory Paging option implementation, bug fixed
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.16      (2014-04-20)
- Limited support for the following microcontroller models: PIC16F1704, PIC16F1708
- Limited support for the following microcontroller models: PIC12LF1552, PIC12LF1840T48A
- Limited support for the following microcontroller models: PIC16F1503, PIC16F1507, PIC16F1508, PIC16F1509
- Limited support for the following microcontroller models: PIC12F1501
- Limited support for the following microcontroller models: PIC16F1526, PIC16F1527
- Limited support for the following microcontroller models: PIC16F1516, PIC16F1517, PIC16F1518, PIC16F1519
- Limited support for the following microcontroller models: PIC16F1512, PIC16F1513
- Small and/or invisible improvements/bug fixes, application infrastructure improvements
 
 
News in version 1.15      (2014-04-09)
- Basic Compiler: IncludeASM directive implemented - assembler source code from an external file can now be included to the current program. More info in the Reference Manual.
- Improved Shortcuts Panel Configuration
- Basic Compiler: Warning implemented for the case of loading basic files that require different IDE settings from the ones currently selected
- Basic Compiler: Improved compiler code optimization
- Basic Compiler: Improved compilation of all timing related basic infrastructure elements
- Several bugs from the previous release fixed
- Several small and/or invisible improvements
 
 
News in version 1.13      (2014-03-30)
- New item in Options menu: Shortcuts Panel Configuration - it is now possible to turn on and configure the shortcuts panel on the main IDE window, for an easy access to the most frequently used menu commands
- New advanced menu item in Watch Variables tool: Add System Variables
- Several bugs from the previous release fixed
- Several small and/or invisible improvements
- This is the first official (non-beta) release of PIC16 Simulator IDE
 
 
News in version 1.11      (2014-03-03)
- Limited support for the following microcontroller models: PIC16F1782, PIC16F1783, PIC16F1784, PIC16F1786, PIC16F1787, PIC16F1788, PIC16F1789
- Limited support for the following microcontroller models: PIC16F1933, PIC16F1934, PIC16F1936, PIC16F1937, PIC16F1938, PIC16F1939, PIC16F1946, PIC16F1947
- Limited support for the following microcontroller models: PIC12F1822, PIC12F1840
- Limited support for the following microcontroller models: PIC16F1823, PIC16F1824, PIC16F1825, PIC16F1826, PIC16F1827, PIC16F1828, PIC16F1829, PIC16F1847
- Limited support for the following microcontroller models: PIC16F1454, PIC16F1455, PIC16F1459
- This is the first official (beta) release of PIC16 Simulator IDE; It is as much as possible compatible with PIC Simulator IDE 6.98