agon-bbc-basic-adl icon indicating copy to clipboard operation
agon-bbc-basic-adl copied to clipboard

Please answer a few quetions on BBC basic - slow computation on ADL version of BBC_Basic_Adl, ...

Open JanB-ctrl opened this issue 1 year ago • 0 comments

Hi, I just started testing of new Agon Olimpex Light2, I tried to use example programs "LIFE.BBC":

  1. I tried to change the screen resolution (character rows and columns) by using another parameter in MODE command. But it does not work. How my program founds available resolution and to change it?

  2. I manually setted "living space" to fit in available screen. Then I measured the time to calculate and draw the new LIFE generation. In BBC BASIC ADL version is about 15% slower than normal version. I also checked the same program, but with switched off calculation of new generation (so efectively only redrawing the screen). I founded:

2a) the BASIC ADL version is slower, probably due to more time&resource consuming longer 24bit addresses. On the opposite - the assembly code is not reordered to use available pipelining in CPU.

2b) the BASIC ADL is NOT using eZ80 instruction MUL. I checked the source code of BBC BASIC modules (fpp.asm, ...).

Please, do You know, about some improved version of SW? Or can I switch something to speed-up the things (both calculation and drawing)

ps: attached pictures of the same program, only drawing life workspace, with time measured by TIME function ...

have a nice day, Jan IMG_20240915_054935 IMG_20240915_055143

JanB-ctrl avatar Sep 16 '24 16:09 JanB-ctrl