Login
Back to forumSee the full topicGo to last reply

Posted By

MMS
on 2020-11-03
17:14:23
 Re: ASCII Art Mandelbrot

What a fantastic idea! I remember we spoke a lot in the past about the RAM/ROM switching loss, but this one is a real evidence. Thank you all for the efforts!
I already tried it, unfortunately the GSHAPE and SSHAPE commands do not speed up too much probably the functions using a lot of local RAM calculations on the bitmap (CIRCLES and block copy commands) does not feel too much out of that, but those one have heavy FOR cycles or seevral subroutines will greatly speed up.

So it is fantastic stuff!

I think the compilers are also benefit a lot from the same effect, switching off the RAM/ROM switching, by directly adding into RAM the pre-written routinrd.

But is it really necessary to have such a big sized compiled BASIC code?

AFAIK majority of the compiled code size is the linked-in run library, but most of the cases it is exactly the SAME BASIC code, what is already in the ROM, without any major change, just calling the routines directly, without interpreter. (LITWR's compiler using a big boost on real integers and 3 byte long fast floats, but no gfx routines allowed)

So what if instead of adding a huge code library (could be necessary on Apple II or BBC).
FBI is only 2KB, instead of adding the full BASIC ROM into the file. But it could add a speed increase to the graphical commands too.
(Certainly the code size is less than 60K due to the upper RAM limit, but in case of compiled code it is known to have less RAM)

Or maybe I misunderstand something?

I hardly believe the compiled P-code (a certain kind of jump-table) should be much bigger than the original BASIC code. It is told, that P-code is more compact that the original BASIC code... So how the 7 block long BASIC code becomes a 38 blocks long compiled code? the BASIC routines added (but they are already in the ROM, but it could be copied into the RAM instead of adding it to the code as a ballast).
Except it adds new functions, like LITWR's Compiler with real Integers and 3-byte long faster floats.



Back to top


Copyright © Plus/4 World Team, 2001-2024