Page 4 of 4

Re: nxtBasic: A New Compiler for Basic Code on the X16

Posted: Sun Jul 28, 2024 7:04 am
by unartic
nxtBasic 0.4b is now released and ready to download.

Whats new?

Bug fixes:
  • Fixed bug while playing multiple zcm-files in sequense
  • Fixed bug with GETBMXHEIGHT and GETBMXWIDTH
  • Fixed bug in custom keyboard handler
  • Fixed bug in the internals of string storage in ram, causing string space to be filled rappidly
  • Fixed bug reading from DATA blocks with negative integers
  • Fixed bug: READ() was disabled due to build in constant READ (for OPENFILE). READ and WRITE are renamed to FOR_READ and FOR_WRITE
  • Fixed bug in line draw routine, not restore vera to prev state correctly

Added:
  • CURROW() -> returns the current row the cursor is on
  • CURCOL() -> returns the current column the cursor is on
  • PushVar() -> push the contents of a variable to the variable stack
  • PullVar() -> pulls a value from the stack and assigns it to a variable
  • User defined functions: FUNCTION MyFunc() as String
  • User defined sub routines: SUB MySub()

New example programs:
  • player.bas: file browser which plays zcm and zsm files and shows bmx images
  • keyjoy.bas: demonstration of joystick and keyboard routines with multiple key presses simultaneously
https://github.com/unartic/nxtBasic

Re: nxtBasic: A New Compiler for Basic Code on the X16

Posted: Sat Aug 03, 2024 12:42 am
by mortarm
funkheld wrote: Wed Jul 24, 2024 2:03 pm ...a new era is beginning now...(kamala harris...
What the Hell does that have to do with anything? Never mind, this isn't the place for politics.

Re: nxtBasic: A New Compiler for Basic Code on the X16

Posted: Sun Aug 04, 2024 5:04 pm
by unartic
nxtBasic 0.5b is now released and ready to download.

Whats new?

- Bug fixes
  • Fixed bug while checking length of string concatanation
  • Fixed bug when multiple lines seperated by a semicolon where places behind the THEN statement
  • Fixed bug in BLOAD function
  • Fixed bug in function/sub definition where there was as space in front of the argument.
  • Fixed bug in BANK and COLOR statement when not supplying the optional argument
- New:
  • Added CHAIN -> resume executing into another PRG-file.
  • Added "EXIT SUB" and "EXIT FUNCTION"
  • Added documentation on how to extend nxtBasic with your own assembly routines
  • Added DO/LOOP/EXIT LOOP
  • Added "OPTION EXPLICIT" to force declaration of variables
  • Added DIRITEMDATE(), DIRITEMTIME() and DIRITEMSIZE() to retrieve all file information
  • Added internal constants for 16 bit registers (r0,r1 etc) and vera-registers
- Improved:
  • Moved WorkBuffer and stacktable to end of low mem space
  • VERA FX multiplication output moved to non-visible piece of vram
  • ADDSPRITE can now also be called with an address instead of a filename to configure a sprite which is already in vram
  • ADDSPRITE returns the vram address a sprite is loaded into GETA(), GETX() and GETY()
  • Added ",FORCE" at the #INCLUDE directive to force an include, even if the file has been included before.
  • If BINPUT# is used to load less then 256 bytes, MACPTR is used to speed up the reading
  • Syntax checking for CONST definitions on compile time.
  • nxtBasic resets several internal memorylocation on run so running a prg several times should not cause an issue
  • Several performance improvements regarding sprite functions
  • 25% performance improvement on FOR-NEXT loops when there is no STEP defined.
Docs and download:
https://github.com/unartic/nxtBasic/ or https://nxtbasic.com/

Re: nxtBasic: A New Compiler for Basic Code on the X16

Posted: Tue Aug 20, 2024 7:23 am
by unartic
nxtBasic 0.6b is now released and ready to download.

Whats new?

- Bug fixes
  • Fixed bug in ASC function
  • Fixed bug in left$
  • Fixed bug with loading basic constants
  • Fixed bug with incorrect compile time errors when two return types are possible
  • Fixed bug when returning a value in a function with using EXIT FUNCTION
- New:
  • Commmand: 'HLT' to stop execution of code. Handy for debugging
  • Added REPLACE$ to replace a portion of a string
  • Added SPLITITEM$: a 'split in place' function
  • Added Tally(): counts occurences of a char in a string
  • Added INSTRREV(): same as INSTR but then check from right to left
- Improved:
  • Performance improvement of about 50% on PSET
  • Compile time error checking on using the '+' operator on a mix between string and number
  • Implemented new way to load string and float literals, reducing prg size
Docs and download:
https://github.com/unartic/nxtBasic/ or https://nxtbasic.com/