Basic compiler simulation test examples page
Basic compiler debug test examples page - retro processors
OshonSoft common editor component update info
News in version 2.83 (2025-04-13)
- Improved unofficial instructions internal management
- Application infrastructure improvements
- Small app improvements/bug fixes
News in version 2.81 (2025-03-27)
- Small app improvements
News in version 2.80 (2025-03-14)
- New items in Miscellaneous Options: Simulation Rate Slow/Normal/Fast Delay Constants; can be used to tune these simulation rates
- Basic compiler, Assembler: Fixed missing 'Save changes' prompt when using recent files shortcuts
- Small app improvements
News in version 2.79 (2025-02-20)
- Basic Compiler: New #sim directive; can be used to set memory location (bit) values at desired moments
during the simulation of the compiled program; #sim (4095) = 22; #sim (0x0FFF.1) = 0; generated HEX file is not affected at all;
basic program tracking feature is not required
- Updated Basic compiler reference manual - LINK
- Small app improvements
News in version 2.77 (2025-02-13)
- Basic Compiler: Fixed bug related to 'Fast disappearing if insert mode not used immediately' item in Help Panel Options;
more intelligent Help Panel insert mode
- Small app improvements/bug fixes
News in version 2.76 (2025-01-26)
- Input/Output Terminal(s): Busy Time implemented for the Transmit Data Register Empty signal;
keeps it low after a data byte has been received for the number of clock cycles specified during control bit setup
- Input/Output Terminal: Fixed bug related to Transmit Data Register Empty signal
when both input and output control bits are on the same I/O port
- Small app improvements/bug fixes
News in version 2.75 (2025-01-07)
- Basic Compiler: Reimplementation of the advanced compiler options
- Basic Compiler: New item in Options menu - Help Panel Options:
Autocomplete Dim statement, Autocomplete #define directive, Autocomplete Gosub statement,
Autocomplete Call statement, Fast disappearing if insert mode not used immediately
- Basic Compiler: New feature; array elements can be initialized in the form: arr() = (n1, n2, n3, ..., nx);
array variable must be declared first
- Main Window: New item in Options menu - Miscellaneous Options;
currently various options related to Find/Replace dialogs
- Updated OshonSoft common editor component; improved Find operation
- Various small app improvements/bug fixes
News in version 2.73 (2024-12-30)
- Small app improvements
News in version 2.72 (2024-11-27)
- Bug fixes
News in version 2.71 (2024-11-16)
- Basic Compiler: New item in Options menu - Advanced Compiler Options: Print Debug Comment Lines in Compiler Listing, Complex Expressions related (Allow Multiple Assignment Operators, Post-increment Returns Temp Var, Ascii Print # Returns String Temp Var, Use Result As Temp Var, Allow 1-Byte Math Temp Results, Optimize String Temp Vars, Allow Arbitrary Use of User Function Name)
- Basic Compiler and Assembler editors: Improved Find/Replace dialog
- Small app improvements
News in version 2.70 (2024-10-31)
- Assembler: DS directive improvement; new optional second argument implemented; used to specify the desired fill value
- Basic Compiler: New warning added - Standalone expression without an assignment operator
- Small app improvements
News in version 2.67 (2024-10-01)
- Assembler: New item in Options menu - No Operator Precedence (TASM Compatibility); default off
- Small app improvements
News in version 2.65 (2024-09-17)
- Small app improvements and bug fixes
News in version 2.62 (2024-08-28)
- New OshonSoft Launcher in OshonSoft Software Suite setup packages
- screenshot
News in version 2.61 (2024-08-27)
- Small app improvements
News in version 2.58 (2024-07-30)
- New tool in Assembler File menu - Quick Assembler Editor;
it is new tabbed editor window with always on top feature;
now also used to expand error tracking, assembler code tracking and breakpoints
operation to the included files when using OshonSoft assembler
- Renamed and improved tool in Basic Compiler File menu - Quick Basic Editor;
it is now tabbed editor window with always on top feature;
now also used to expand error tracking, basic program tracking and breakpoints
operation to the included files when using OshonSoft basic compiler
- Small app improvements
News in version 2.57 (2024-07-23)
- Updated OshonSoft common editor component
- App improvements
- Bug fixes
News in version 2.52 (2024-07-13)
- Basic Compiler and Assembler editors: New Find/Replace floating dialog with Match Case and Whole Words Only options
- Updated OshonSoft common editor component (added Find/Replace features)
News in version 2.51 (2024-07-12)
- Assembler: Fixed navigation through errors
- Assembler: Improved TASM integration - navigation through errors implemented
- Assembler: Added support for bitwise shift operators '<<' and '>>' in argument expressions; 'upper' operator discontinued - 'low highw' should be used instead
- Small app improvements
News in version 2.50 (2024-07-10)
- Basic Compiler: Maximal number of arguments for procedures and functions extended to 30
- Basic Compiler: Case statement now accepts range of values in the form - Case exp1 To exp2
- Watch Variables: Improved Add New Variable dialog
- Small app improvements and bug fixes
News in version 2.49 (2024-07-08)
- Basic Compiler: Support for UTF-8 characters in string constants
- Watch Variables: New Options menu item - Add Compiler Temporary Variables Only; default off
- Updated OshonSoft common editor component (added support for files with UTF-8 BOM)
- Small app improvements and bug fixes
News in version 2.47 (2024-07-05)
- Basic Compiler: Implemented support for extensive set of String functions:
Len, Asc, Chr, LeftStr, RightStr, MidStr, LTrim, RTrim, LTrimChr, RTrimChr, FillStr, InStr, InStrRev,
ReverseStr, CountChr, ReplaceChr, LCase, UCase, LShiftStr, RShiftStr, LRotateStr, RRotateStr,
HexStr, DecFromHex, StrValB, StrValW, StrValL, StrValS
- Basic Compiler: Byte and Word now available as aliases for UShort and UInteger
- Basic Compiler Reference Manual updated - String data type related basic elements section
- Basic Compiler Debug Test Examples page for retro processors
(LINK)
updated with recent work related test examples
- Watch Variables: New Options menu item - Track Variable Write Access Auto Focus; default on
- Reduced flickering in Watch Variables window at Extremely Fast simulation rate
News in version 2.46 (2024-06-16)
- Fight against Microsoft Defender's False Positives
- Updated software installer
News in version 2.45 (2024-04-16)
- Bug fixes
News in version 2.44 (2024-04-11)
- Basic Compiler: New StrPtr data type - string pointer; new statement SetStrPtr;
address stored in a string pointer can be dynamically changed with SetStrPtr;
string pointers can be used everythere along with String variables and constants;
ByRef String arguments of procedures and functions now implemented using string pointers
minimizing the required RAM memory
- Basic Compiler: Highly optimized management of temporary String variables
- Basic Compiler: New Options menu item - Dynamic Temporary Variables Management
(temporary variables created by compiler will not reserve allocated RAM memory permanently;
allocated memory will be released immediately after use, thus minimizing the total RAM memory required to compile the program;
as a consequence, temporary compiler variables will not be listed in the Watch Variables tool)
- Basic Compiler: New Options menu item - Basic Program Tracking Mode; Mode 1 (focus only if needed);
Mode 2 (always focus in the middle; slower); original Mode 2 by default
- Improved functionality of Assembler and Basic Compiler breakpoints
- Recent bug related to unofficial instructions fixed
- Updated OshonSoft common editor component
News in version 2.43 (2024-03-22)
- Updated OshonSoft common editor component
- Bug fixes
News in version 2.42 (2024-03-19)
- Improved simulation performance
News in version 2.41 (2024-03-11)
- Basic Compiler: ByRef and ByRefOut support extended to function arguments
- Small app improvements and bug fixes
News in version 2.40 (2024-03-09)
- Basic Compiler: New data type: String
- Basic Compiler: New revised and improved complex expressions evaluation engine;
it will now accept both Basic and C-inspired syntax for the operators;
supported arithmetic operators: +, -, *, /, % (Mod), ++ (post or pre-increment),
-- (post or pre-decrement), unary +, unary -; assignment operators: =, +=, -=, *=, /=;
comparison operators: == (=), != (<>), <, <=, >, >=; logical operators: unary ! (Not, ~),
&& (And, &), || (Or, |), ^ (Xor), << (ShiftLeft), >> (ShiftRight);
# unary operator (ascii print); the engine can now evaluate all possible and meaningful
expressions containing any number of supported operators, operands, functions and parentheses;
complex expressions accepted in all basic compiler elements
- Basic Compiler: New functions for data type conversions - CShort, CInteger, CLong, CSingle, CUShort, CUInteger, CULong,
- Basic Compiler: New statements for C-like for loops - CFor, CNext; init expression,
condition expression and loop expression should be separated by the semicolon ';' symbol;
init and loop expressions can contain multiple statements separated by commas
- New Basic Compiler Debug Test Examples page for retro processors
(LINK) with many test examples
- New Complex expressions section in Basic compiler reference manual
- Basic Compiler: Alternative Bit name for Boolean data type
- Basic Compiler: Support for String data type: + (addition) operation, Len() function
- Basic Compiler: Logical operators Nand, Nor and Nxor discontinued
- Basic Compiler: New structure implementation: Select, Case, EndSelect
- Basic Compiler: New .LB, .HB, .3B, .4B, .LW and .HW variable name extensions for addressing bytes and words of multi-byte variables
- Basic Compiler: Changed syntax for MakeBit
- Basic Compiler: It is now allowed to use all numeric data type variables in Bit type expressions
and While/If condition expressions; applicable warnings will be generated instead of errors;
any non-zero value will be interpreted as True
- Basic Compiler: New parameter for #define directive: STRING_MAX_LENGTH (8-100 allowed range; default 16)
- Basic Compiler: #define directive parameter PRINT_SINGLE_DIGITS is now SINGLE_DECIMAL_PLACES (1-6 allowed range; default 3)
- Basic Compiler editor: F12 shortcut moved from Auto Case Control to Auto Format Text menu command
- New advanced menu item in Watch Variables tool: Add System Variables;
can be used to watch temporary variables created by the expression evaluation engine
and other internal compiler variables
- Watch Variables: New item in Options menu - Add System Variables Automatically; default off
- Small app improvements
News in version 2.23 (2024-02-22)
- Bug fixes
News in version 2.22 (2024-02-08)
- Assembler: Implementation of the INCLUDE directive; used to insert code from external ASM files; can be nested with no limitations
- Small app improvements
News in version 2.20 (2024-02-03)
- Internal app improvements
News in version 2.18 (2024-01-23)
- Basic Compiler: New ReturnValue statement to specify value returned by function
- Improved display of Info Message Frames
- Updated OshonSoft common editor component (fixed selecting with mouse beyond visible range; fixed #var color styling)
News in version 2.17 (2024-01-05)
- Basic Compiler and Assembler editors: Improved Help Panel functionality
- Updated OshonSoft common editor component
News in version 2.16 (2023-12-21)
- Basic Compiler: Fixed issues related to errors in included files
News in version 2.15 (2023-12-15)
- Small app improvements
- Several important bug fixes
News in version 2.10 (2023-11-10)
- New OshonSoft editor component in Basic Compiler and Assembler; based on the latest version of Scintilla; fully OshonSoft developed custom oshonsoftsci.ocx wrapper editor control; immeasurable performance and visual appearance improvement
- New fully functional Editor Setup; all colors used in the editor are customizable; three new simple editor options - Line Wrapping, Auto Case Control (on by default for the compiler) and Auto Format Text (off by default; more relaxed in relation to previous solution; preserved line and comment indentation with both spaces and tabs)
- Format Text command in the compiler editor now performs Auto Case Control if it is off
- New Auto Format Text command in the compiler editor performs Auto Format Text editor feature if it is off
- Bookmarks and breakpoints feature visually improved; all known issues related to 'save to file' option now fixed
- Basic program tracking and assembler code tracking (two new display modes) now look and perform much better - screenshot
- New editor now uses UTF-8 encoding; instruction to use new Open ANSI File command will be displayed if needed
News in version 1.45 (2023-10-02)
- Small app improvements related to detection of incorrect program structure; Main Routine added
- Exit Sub bug fix
News in version 1.44 (2023-09-30)
- Basic Compiler: New approach for using subroutines compatible with procedures and functions; Sub, Exit Sub, End Sub statements implemented; basic compiler reference manual updates
- Basic Compiler: Advanced detection of incorrect program structure implemented with enhanced error messages
- Detection of missing folder write permissions to prevent run-time errors
- Updated OshonSoft common editor component
- Small app improvements
News in version 1.43 (2023-09-26)
- Three new modern app color themes: New Windows 1, New Windows 2, New Windows 3
- Small app improvements
News in version 1.42 (2023-09-23)
- New modern application look and feel; modern windows common controls
- New item in Options menu - Reset Windows Layout Settings; command needed for window layout updates;
it should be executed when upgrading the software to this release from any previous version
News in version 1.41 (2023-09-12)
- Modernized application look and feel
- New modern application installer/uninstaller
- Improved application Windows 10+ compatibility
- Updated OshonSoft common components
- Small and/or invisible improvements/bug fixes
News in version 1.32 (2023-07-07)
- Fixed issues related to the multi-user setups of the operating system
- Simulator window: New File menu command - Exit; shortcut Ctrl+Q
- Small and/or invisible improvements/bug fixes
News in version 1.26 (2023-05-14)
- Some work on the app infrastructure completed
News in version 1.25 (2023-02-28)
- Basic Compiler: Recent files list implemented in the File menu; Clear Recent Files List command;
new Options menu item - Show Recent Files; default on
- Assembler: Recent files list implemented in the File menu; Clear Recent Files List command;
new Options menu item - Show Recent Files; default on
- Simulator: Recent files list implemented in the File menu; Clear Recent Files List command;
new Options menu item - Show Recent Files; default on
News in version 1.24 (2023-01-26)
- Small and/or invisible improvements/bug fixes
News in version 1.23 (2023-01-24)
- Improved printing from the application; the first and the last pages selection added to the printing dialog;
horizontal and vertical margins selection also added; improved printing of long lines; fixed bug related to the invisible runtime error
(If previous software release was used on the computer, 'HKEY_CURRENT_USER\Software\6502 Simulator IDE\Form004' registry key
should be manually deleted using Windows regedit.exe, or Clear App Registry Settings command should be executed,
in order to see the correct new Print dialog layout.)
News in version 1.22 (2022-12-17)
- Basic Compiler editor: The number of tabs between the code line and the comment is now preserved
allowing user-defined comments alignment; also, the comments are not left trimmed any more;
new and improved smart formatting of the operators and special symbols
- Updated OshonSoft common editor component
- Small and/or invisible improvements/bug fixes
News in version 1.16 (2022-11-23)
- Assembler: Fixed bug when using # and + prefixes for constants
- Small and/or invisible improvements/bug fixes
News in version 1.14 (2022-11-10)
- Assembler: BLOCK alias added for the DS directive
- Small and/or invisible improvements/bug fixes
News in version 1.12 (2022-11-06)
- Memory Editor, Memory Editor 2, Memory Editor 3: New read/write access tracking feature - the simulator will automatically
focus and mark the last read and the last written memory location if they are in the user-defined memory range; also,
the new efficient performance optimization option for the Ultimate simulation rate is on by default
News in version 1.11 (2022-10-30)
- This is the first official release of OshonSoft 6502 Simulator IDE; it is as much as possible compatible with the current versions of Z80 Simulator IDE and 8085 Simulator IDE, but comes with significant improvements; be sure to pay attention to the Getting Started presentation