FAQ  •  Register  •  Login

New beta release 1.2.7r2021

<<

apenao

Posts: 45

Joined: Tue Feb 09, 2010 10:08 pm

Post Wed Feb 02, 2011 10:52 pm

Re: New beta release 1.2.7r2021

I've just sent you the files .)
<<

boriel

Site Admin

Posts: 1147

Joined: Wed Nov 01, 2006 6:18 pm

Location: Santa Cruz de Tenerife, Spain

Post Thu Feb 03, 2011 4:22 pm

Re: New beta release 1.2.7r2021

Okay, version 1.2.7r2032 seems to have another fix. Please re-download and reinstall now and tell me :roll:
http://www.boriel.com/wiki/en/index.php ... nt_Version
<<

apenao

Posts: 45

Joined: Tue Feb 09, 2010 10:08 pm

Post Thu Feb 03, 2011 7:03 pm

Re: New beta release 1.2.7r2021

Tested and working all right.

Thanks again Boriel :)
<<

boriel

Site Admin

Posts: 1147

Joined: Wed Nov 01, 2006 6:18 pm

Location: Santa Cruz de Tenerife, Spain

Post Sat Feb 05, 2011 12:42 am

Re: New beta release 1.2.7r2021

Okay, LCD was right. I''ve fixed up another important bug related to string parameters management.
Download, please, latest version which is 1.2.7r2035 from here: http://www.boriel.com/files/zxb

Please, test and tell me. :roll:

PS: Since v1.2.7, every released is tested against 100+ tests automatically prior to being released here. Please don't think I just throw new releases "as is" and leave all the heavy testing to you:!: :wink: Everytime someone discovers a bug, I create a new test to make the compiler fail. Then fix it. And finally apply all the previous test + the new one added before announcing it in the forum. So the number of tests is growing (the more the better, it's supposed :P).

Also, LCD suggested me to create an .MSI to allow multiple installations of different ZXB versions. I think this would be hard, but there's a workaround: a ZIPped .exe version which does not require installation. So you can uncompress the .exe version of the compiler in a subdirectory. This will be uploaded soon.

Meanwhile, remember that the .py version can be used this way, and does not require any installation, just a Python interpreter installed. ;-)
<<

LCD

Posts: 507

Joined: Fri Feb 13, 2009 3:11 pm

Location: Vienna, Austria

Post Sat Feb 05, 2011 1:31 am

Re: New beta release 1.2.7r2021

boriel wrote:Okay, LCD was right. I''ve fixed up another important bug related to string parameters management.
Download, please, latest version which is 1.2.7r2035 from here: http://www.boriel.com/files/zxb

Please, test and tell me. :roll:

Okay boriel, I'm downloading it now, but it is very late now. I will test it tomorrow later.
boriel wrote:PS: Since v1.2.7, every released is tested against 100+ tests automatically prior to being released here. Please don't think I just throw new releases "as is" and leave all the heavy testing to you:!: :wink: Everytime someone discovers a bug, I create a new test to make the compiler fail. Then fix it. And finally apply all the previous test + the new one added before announcing it in the forum. So the number of tests is growing (the more the better, it's supposed :P).

That was just a joke about the bugs in Strings :lol: . I know that you have tests, but we, the users, are elected to find bugs not covered by the tests :). Our projects we are working on, are excellent way to find these bugs, because they are different from your tests and sometime cover unexpected way to code something. You should also know that your Compiler is my favourite retro-dedicated program for the PC. I hope, the Zacate notebooks are available soon, to make me a mobile retro crossdevelopment workstation.
boriel wrote:Also, LCD suggested me to create an .MSI to allow multiple installations of different ZXB versions. I think this would be hard, but there's a workaround: a ZIPped .exe version which does not require installation. So you can uncompress the .exe version of the compiler in a subdirectory. This will be uploaded soon.

This will do the job too, and allow to test the latest compiler without changing between versions, if the latest version has a critical bug.
boriel wrote:Meanwhile, remember that the .py version can be used this way, and does not require any installation, just a Python interpreter installed. ;-)

I know and installed python, but somehow it was not possible to compile anything. Maybe a Win7 32 problem. I will try on my WinXP system later too.
------------------------------------------------------------
http://lcd-one.da.ru redirector is dead
Visit my http://members.inode.at/838331/index.html home page!
<<

apenao

Posts: 45

Joined: Tue Feb 09, 2010 10:08 pm

Post Sat Feb 05, 2011 8:51 am

Re: New beta release 1.2.7r2021

boriel wrote:PS: Since v1.2.7, every released is tested against 100+ tests automatically prior to being released here. Please don't think I just throw new releases "as is" and leave all the heavy testing to you:!:



Don't understimate the power of crappy programing. One of my crap routines can easily beat 100 test routines :)

I'll test it tonight, I'm going to be out all the day.
<<

LCD

Posts: 507

Joined: Fri Feb 13, 2009 3:11 pm

Location: Vienna, Austria

Post Sat Feb 05, 2011 2:03 pm

Re: New beta release 1.2.7r2021

My tests show that the build 2035 still has a problem with my game (working well in build 1866), it still blocks after 28 steps (72 AP left).
------------------------------------------------------------
http://lcd-one.da.ru redirector is dead
Visit my http://members.inode.at/838331/index.html home page!
<<

boriel

Site Admin

Posts: 1147

Joined: Wed Nov 01, 2006 6:18 pm

Location: Santa Cruz de Tenerife, Spain

Post Sat Feb 05, 2011 6:04 pm

Re: New beta release 1.2.7r2021

LCD wrote:My tests show that the build 2035 still has a problem with my game (working well in build 1866), it still blocks after 28 steps (72 AP left).

The funny thing is r1866 has other bugs in the string params :-)
Will check it. Thanks
<<

LCD

Posts: 507

Joined: Fri Feb 13, 2009 3:11 pm

Location: Vienna, Austria

Post Sat Feb 05, 2011 6:29 pm

Re: New beta release 1.2.7r2021

boriel wrote:
LCD wrote:My tests show that the build 2035 still has a problem with my game (working well in build 1866), it still blocks after 28 steps (72 AP left).

The funny thing is r1866 has other bugs in the string params :-)
Will check it. Thanks

I know this fact that 1866 has other bugs, so I wonder myself why the game is working in 1866 but not in 2035. Maybe the 1866 bugs are less critical ;).
------------------------------------------------------------
http://lcd-one.da.ru redirector is dead
Visit my http://members.inode.at/838331/index.html home page!
<<

boriel

Site Admin

Posts: 1147

Joined: Wed Nov 01, 2006 6:18 pm

Location: Santa Cruz de Tenerife, Spain

Post Sat Feb 05, 2011 9:04 pm

Re: New beta release 1.2.7r2021

LCD wrote:
boriel wrote:
LCD wrote:My tests show that the build 2035 still has a problem with my game (working well in build 1866), it still blocks after 28 steps (72 AP left).

The funny thing is r1866 has other bugs in the string params :-)
Will check it. Thanks

I know this fact that 1866 has other bugs, so I wonder myself why the game is working in 1866 but not in 2035. Maybe the 1866 bugs are less critical ;).

It seems you don't use strings the way it caused the other bugs.
Basically, variables passed as byVal parameters from one function to another may (not always) crash your code. In fact, these bugs not always crash. The problem comes from a FREE pointer of a string value TWICE. :?
<<

boriel

Site Admin

Posts: 1147

Joined: Wed Nov 01, 2006 6:18 pm

Location: Santa Cruz de Tenerife, Spain

Post Sun Feb 06, 2011 12:14 am

Re: New beta release 1.2.7r2021

Okay, a new version, 1.2.7-r2044. Try this one. It seems it produces the same asm output 18xx did. :|
http://www.boriel.com/files/zxb
<<

LCD

Posts: 507

Joined: Fri Feb 13, 2009 3:11 pm

Location: Vienna, Austria

Post Sun Feb 06, 2011 2:35 am

Re: New beta release 1.2.7r2021

Yes, it does and the game works again. Thanks! So you took some optimisations back?
------------------------------------------------------------
http://lcd-one.da.ru redirector is dead
Visit my http://members.inode.at/838331/index.html home page!
<<

boriel

Site Admin

Posts: 1147

Joined: Wed Nov 01, 2006 6:18 pm

Location: Santa Cruz de Tenerife, Spain

Post Sun Feb 06, 2011 9:21 am

Re: New beta release 1.2.7r2021

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! :shock: 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).

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.

Finally, what has been done for the compiler preprocessor must be done for the compiler assembler (yes, a preprocessor for the assembler when its used standalone). Fortunately the assembler is much easier to test, and the preprocessor ZXBPP (the one of BASIC) can be reutilized.
<<

LCD

Posts: 507

Joined: Fri Feb 13, 2009 3:11 pm

Location: Vienna, Austria

Post Sun Feb 06, 2011 4:22 pm

Re: New beta release 1.2.7r2021

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! :shock: 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 :).

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.
------------------------------------------------------------
http://lcd-one.da.ru redirector is dead
Visit my http://members.inode.at/838331/index.html home page!
<<

boriel

Site Admin

Posts: 1147

Joined: Wed Nov 01, 2006 6:18 pm

Location: Santa Cruz de Tenerife, Spain

Post Sun Feb 06, 2011 9:46 pm

Re: New beta release 1.2.7r2021

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! :shock: 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 :).

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...
PreviousNext

Return to Bug Reports

Who is online

Users browsing this forum: No registered users and 0 guests

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.

phpBB SEO