I've spent the last few evenings going back to a few of my old test programs I wrote for the SpectrumNext ages ago. I've got a handful, but none of them are really 'complete'. I was just writing them in notepad and copying them onto the SD image, so I decided to try out RemySharp's NextBASIC plugin for VSCode.
As a development toolchain goes, it's pretty good. You can get most stuff done pretty well, all things considered. The compiler has a few bugs, though, so I might need to look into that. If you use an integer in a SPRITE command, there's a fair chance the compiler will mess up the variable, meaning you have to load the program in NextBASIC and edit the line... just removing and re-adding a character is enough for the NextBASIC interpreter to fix the issue.
I have to admit, I was fighting with this problem a LOT last night. I decided to try to get some performance gains in a Space Invaders game I wrote ages ago which chugged like crazy. Converting all the variables to integers was an absolute nightmare. Compared to other strongly-typed languages, the NextBASIC integer syntax is a total mess. You have no idea when you need to put in a % and when you don't. Sometimes "AND" seems to break the Integer mode, sometimes it doesn't... PEMDAS is out of the window.... It's all a bit of a mess! So I decided to knock the integer idea on the head and fix the program using SPRITE CONTINUE, an interesting syntactic addition to NextBASIC that I pretty much ignored before.
In fact, I'm pretty sure I tried it and it was broken in the version of ZXOS I was playing with back then. I just couldn't get it to work.
Well, now, it does work, but I consider the syntax to be utterly bonkers.
[code]SPRITE CONTINUE s,x1 TO x2 STEP sx RUN,y1 TO y2 STEP sy,p1 TO p2,3,25[/code]
What an utterly bizarre command! Weirdly, it does begin to make sense. I really wish the Intellisense was better in the RemySharp NextBASIC extension, so it could highlight which parameter you were editing, because with something like that it's easy to get lost in the longer commands.
Otherwise, so far so good. The fixes in ZXOS 2.08 and 2.09 have improved things I think... Stuff seems to work now that didn't with the KS1 stuff (for me anyway). Time to catch up on all those lost years assuming the Next was broken!