Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
New beta release 1.2.7r2021
#30
LCD Wrote:
boriel Wrote:
LCD Wrote:Yes, it does and the game works again. Thanks! So you took some optimisations back?
I haven't touched the optimization at all! Confusedhock: It was in another part of the compiler. The string parameter management was wrong when calling a function with strings from *another function*. When fixing this, I broke "calling a function" from the *global program scope*. Now both work well (or should).
It was because you said: "it produces now the same ASM Output as 1866, so please be not shocked, I misunderstood you Smile.

boriel Wrote:I'm now going to implement ucase and lcase function for strings. Many string functions have a duplicated implementation suffixed with "2", e.g. strpos2, in which all string parameters are passed by reference, because it's faster.
Well, currently ucase and lcase are external librarys, so it is a excellent idea to make them internal functions. This will save more memory. As for "2" suffixed string functions: You say, we can use them like normal BASIC function, but pass parameters by reference and not value? This should be documented too.
The idea is to put them as external libraries, as most of the functions.
This make the compiler more portable to other archs.

That's the strong point of C. You will see C everywhere, because it's a tiny language with a big standard set of libraries. Unfortunately, there is not such a thing for BASIC.

I would like to implement also READ/DATA/RESTORE (in a limited way, at least) to improve compatibility, before this release.
1.2.7 is a "big step" towards 2.0. Unfortunately, except the new preprocessor most of ZX BASIC 2.0 should be rewritten *from scratch* :?
I'm even thinking in renaming the compiler to something like "ZXB" or "Retrobasic" or alike...
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 5 Guest(s)