I'm working on the emulators so I'm not totally sure that the updated code is still generating valid raster pictures on the real TV sets, 50hz and 60hz, but the rest of the library is surely improving.
There's still a couple of very small differences between the lambda ROM (new type) and the cac3.
It's a very small difference regarding the number to string conversion, I'll looks closer to the zx Spectrum, it lacks the string termination but provides the character count in BC.
I'm still comparing the results just because I'm curious
nope, the difference (CAC-3 and NF300 only) is not on the string termination in variables but probably is elsewhere on the variable definitions.
This affects also the "zxbasic" function set on the numeric variables (integer/float, get/set).
They're VERY similar, but apparently the NF300 is sensitive to the machine code included in a REM line, or perhaps the LOADed block, even if working, should be formatted slightly differently.
So, supposing we have a z88dk compiled program in memory on the NF300 it seems not being able anymore to pick the numeric BASIC variables correctly, while the string variables still work perfectly. This does not happen on any other ZX81 clone.
I don't seem to be able to solve it, so the NF300 won't be a good candidate for mixing BASIC and C compiled programs
I'm now investigating on the FP calculator, there could be another subtile difference also there.