nxtBasic: A New Compiler for Basic Code on the X16

Talk about your programs in progress. Discuss how to implement features, etc.
Forum rules
This section is for testing Commander X16 programs and programs related to the CX16 for other platforms (compilers, data conversion tools, etc.)

Feel free to post works in progress, test builds, prototypes, and tech demos.

Finished works go in the Downloads category. Don't forget to add a hashtag (#) and the version number your program was meant to run on. (ie: #R41).
unartic
Posts: 136
Joined: Sat Oct 28, 2023 3:26 pm

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

Post 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
mortarm
Posts: 281
Joined: Tue May 16, 2023 6:21 pm

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

Post 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.
unartic
Posts: 136
Joined: Sat Oct 28, 2023 3:26 pm

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

Post 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/
unartic
Posts: 136
Joined: Sat Oct 28, 2023 3:26 pm

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

Post 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/
Post Reply