![]() |
New beta release 1.2.7r2021 - Printable Version +- Forum (https://www.boriel.com/forum) +-- Forum: Compilers and Computer Languages (https://www.boriel.com/forum/forumdisplay.php?fid=12) +--- Forum: ZX Basic Compiler (https://www.boriel.com/forum/forumdisplay.php?fid=11) +---- Forum: Bug Reports (https://www.boriel.com/forum/forumdisplay.php?fid=15) +---- Thread: New beta release 1.2.7r2021 (/showthread.php?tid=295) |
Re: New beta release 1.2.7r2021 - apenao - 02-02-2011 I've just sent you the files .) Re: New beta release 1.2.7r2021 - boriel - 02-03-2011 Okay, version 1.2.7r2032 seems to have another fix. Please re-download and reinstall now and tell me :roll: <!-- m --><a class="postlink" href="http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Archive#Latest_Development_Version">http://www.boriel.com/wiki/en/index.php ... nt_Version</a><!-- m --> Re: New beta release 1.2.7r2021 - apenao - 02-03-2011 Tested and working all right. Thanks again Boriel ![]() Re: New beta release 1.2.7r2021 - boriel - 02-05-2011 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: <!-- m --><a class="postlink" href="http://www.boriel.com/files/zxb">http://www.boriel.com/files/zxb</a><!-- m --> 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 ![]() 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. ;-) Re: New beta release 1.2.7r2021 - LCD - 02-05-2011 boriel Wrote:Okay, LCD was right. I''ve fixed up another important bug related to string parameters management.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 supposedThat 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 ![]() 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. Re: New beta release 1.2.7r2021 - apenao - 02-05-2011 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. Re: New beta release 1.2.7r2021 - LCD - 02-05-2011 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). Re: New beta release 1.2.7r2021 - boriel - 02-05-2011 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 Re: New beta release 1.2.7r2021 - LCD - 02-05-2011 boriel Wrote: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 criticalLCD 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 :-) ![]() Re: New beta release 1.2.7r2021 - boriel - 02-05-2011 LCD Wrote:It seems you don't use strings the way it caused the other bugs.boriel Wrote: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 criticalLCD 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 :-) 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. :? Re: New beta release 1.2.7r2021 - boriel - 02-06-2011 Okay, a new version, 1.2.7-r2044. Try this one. It seems it produces the same asm output 18xx did. :| <!-- m --><a class="postlink" href="http://www.boriel.com/files/zxb">http://www.boriel.com/files/zxb</a><!-- m --> Re: New beta release 1.2.7r2021 - LCD - 02-06-2011 Yes, it does and the game works again. Thanks! So you took some optimisations back? Re: New beta release 1.2.7r2021 - boriel - 02-06-2011 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! ![]() 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. Re: New beta release 1.2.7r2021 - LCD - 02-06-2011 boriel Wrote:It was because you said: "it produces now the same ASM Output as 1866, so please be not shocked, I misunderstood youLCD Wrote:Yes, it does and the game works again. Thanks! So you took some optimisations back?I haven't touched the optimization at all! ![]() 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. Re: New beta release 1.2.7r2021 - boriel - 02-06-2011 LCD Wrote:The idea is to put them as external libraries, as most of the functions.boriel Wrote:It was because you said: "it produces now the same ASM Output as 1866, so please be not shocked, I misunderstood youLCD Wrote:Yes, it does and the game works again. Thanks! So you took some optimisations back?I haven't touched the optimization at all! 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... |