Added a bunch of transcendental functions to the vASM assembler and BASIC compiler expression handlers.
Added multi dimensional arrays to 16it integers, (up to 3 dimensions).
Added the ASM and ENDASM keywords to the BASIC compiler, you can now easily embed vASM code in BASIC code.
Added a simple example that shows how to inject vASM code into BASIC using the ASM and ENDASM keywords; 'Notes.gbas" in the audio examples directory.
Added the DOWNTO keyword to the FOR NEXT syntax, this allows more opportunities for optimisations and better control to the user.
Removed the auto step logic from FOR NEXT loops and gave explicit control to the user through DOWNTO.
Fixed the LEN keyword to work for all types, including multi-dimensional arrays and gave it the '#' shortcut, e.g. size = #testStr$.
Changed the STRCMP function to just CMP.
Added the 'DEF FN (<param1, param2....) = ' command to the BASIC compiler, call the function with (). Any params missing from the function definition will be assumed to be globals.
Added the 'ADDR(, , , )' function to the BASIC complier, that returns the address of individual elements of an array of 1 to 3 dimensions; use it when needing to peek/deek and poke/doke an array efficiently.
Added the 'STR$()' function to the BASIC compiler, that converts integers to strings.
Added the 'SGN()' function to the BASIC compiler, that returns the sign of an integer.
Added the 'VAL()' function to the BASIC compiler, that converts strings to integers, (strings not containing numerics will return 0).
Refactored the function name handling code, now there is much less of a chance of having name collisions between functions and variables.
Added a bunch of transcendental functions to the vASM assembler and BASIC compiler expression handlers.
Added multi dimensional arrays to 16it integers, (up to 3 dimensions).
Added the ASM and ENDASM keywords to the BASIC compiler, you can now easily embed vASM code in BASIC code.
Added a simple example that shows how to inject vASM code into BASIC using the ASM and ENDASM keywords; 'Notes.gbas" in the audio examples directory.
Added the DOWNTO keyword to the FOR NEXT syntax, this allows more opportunities for optimisations and better control to the user.
Removed the auto step logic from FOR NEXT loops and gave explicit control to the user through DOWNTO.
Fixed the LEN keyword to work for all types, including multi-dimensional arrays and gave it the '#' shortcut, e.g. size = #testStr$.
Changed the STRCMP function to just CMP.
Added the 'DEF FN(<param1, param2....) = ' command to the BASIC compiler, call the function with (). Any params missing from the function definition will be assumed to be globals.
Added the 'ADDR(, , , )' function to the BASIC complier, that returns the address of individual elements of an array of 1 to 3 dimensions; use it when needing to peek/deek and poke/doke an array efficiently.
Added the 'STR$()' function to the BASIC compiler, that converts integers to strings.
Added the 'SGN()' function to the BASIC compiler, that returns the sign of an integer.
Added the 'VAL()' function to the BASIC compiler, that converts strings to integers, (strings not containing numerics will return 0).
Refactored the function name handling code, now there is much less of a chance of having name collisions between functions and variables.