How to compile a long Basic program?

ZXNet echo conference «code.zx»

From Konstantin Zhukov To All 13 September 2006

Hello, All You need to compile a 13Kb file. I tried it with Tobos, but it didn't work enough memory. I heard that it can somehow compile into the BASIC file itself. But how to do this? Or is it better to use another compiler. Fractional numbers in no program. But there are machine code calls.

From Slavik Tretiak To All 16 September 2006

Hello, Jukov I don’t want to deceive, but IMHO there were 2 versions of Tobos, which compiled what is in memory, and the second one which compiled the file. To be honest, the last time I saw Tobos was in 1995 ;) but by the way, if you don’t have fractional numbers, then there’s probably no point in using tobos. there are a bunch of integer compilers (though I couldn’t remember any one name) and this also confuses me - “But there are machine code calls.” It seems to me that if the procedure in the code somehow influenced the wasik, then after The compile will not work.

From Southern Bear To All 16 September 2006

Hello, Jukov Juk> Or it is better to use another compiler. It is better to transfer as much of the program as possible to machine code. And there is less vasik there will be performance and the performance will increase.

From TomCaT To All 17 September 2006

Hello Sinus Sin> but by the way, if you don’t have fractional numbers, then there’s probably no point Sin> use tobos. there are a lot of integer compilers (true Sin> could not remember a single name) From How to Write a Game, Book 1, Ch. 9, p.178 > "...especially since there is an extended disk version of the compiler > MCoder2 -- MC2b.v4, as far as we know, is the only one, because it is disk > versions of other compilers are not essentially the same, since > the program can still be translated only from memory. > In addition, MC2b.v4, unlike its other brothers, creates > completely compiler-independent object code, which is somewhat > simplifies the layout of the final product, and most importantly, it frees > additional memory for placing fonts, sprites, subroutines, etc > machine codes and other needs. Version MC2b.v4 has a number of more > significant improvements and additions... this program was written by one > co-authored by Alexander Evdokimov

From Konstantin Zhukov To All 7 October 2006

Hello, gRAVER_ZX An alternative solution has been found - everything that was slowing down is now written in code.

From Medvedev Pavel To All 7 October 2006

Hello TomCaT On my real Spectrum, when I was programming in BASIC, I compiled your programs in Delphin. working with it is quite simple, it is located in memory at address 40000, and compiled program - from 53100, but I can lie (I don’t remember when they The last time I used it was probably five years ago). I added the following lines to my BASIC program 9990 randomize usr 40000 9999 randomize usr 53100 Accordingly, first I compile the program with the command run 9990 and then I run it - run 9999 that is, if the BASIC area in memory is located at address approximately 26000, and the compiler itself is from 40000. then 99 percent is that your long program will compile. The question is, will you find the delphin compiler now?

From TomCaT To All 9 October 2006

Hello, Jukov This is the best compiler! :v2_yahoo; Manual; Job.

From TomCaT To All 9 October 2006

Hello, Jukov This is probably the best compiler: v2_yahoo; --; it's handmade, That’s why it’s valued higher.

From jim To All 9 October 2006

Hello, Jukov as an option: you can try to split the BASIC program into separate subroutines and compile them separately. if the compiler allows it, place them closely behind each other (usually compiled code located immediately above RAMTOP). and compile the main program into last thing. the problem will only be in passing variables to procedures, which can be solved using PEEK and POKE.