ATTENTION MEMBERS: Conforums will be closing it doors and discontinuing its service on April 15, 2018. We apologize Conforums does not have any export functions to migrate data. Ad-Free has been deactivated. Outstanding Ad-Free credits will be reimbursed to respective payment methods.
Thank you Conforums members.
Cross-platform BBC BASIC (Windows, Linux x86, Mac OS-X, Android, iOS, Raspberry Pi)
Re: Raspbian Stretch released
« Reply #8 on: Aug 21st, 2017, 9:28pm »
Because I thought that perhaps something wrong in my installation may have caused the 'latency' . Speaking of which seems to be somewhat abundant in Stretch. It may not quite be ready for 'prime time'. bbcsdl may be somewhat snappier than the Jessie version, but not much. (GL engaged) Did you say you had a RPi 3 rather than a RPi 3-B ? Assuming the same performance, our perceptions must be very different. But then it is your Baby
Because I thought that perhaps something wrong in my installation may have caused the 'latency'.
If it runs, it's correctly installed. Installation 'errors' can't affect the speed!
Assuming the same performance, our perceptions must be very different.
What operation(s), precisely, do you find slow? Are you sure you're judging it from a practical perspective, and not simply expecting everything to react 'instantly' because that's what you're used to (e.g. on your mobile phone)?
The BBCSDL IDE is written in BBC BASIC, an interpreted language and as such one of the slowest of all BASICs. That interpreter is written in C (unlike BB4W which is written in assembler) so that results in at least another factor-of-two slowdown. And that is running on a slow computer, the Raspberry Pi.
So of course it's going to be comparatively very slow, but to me all that matters is that it is fast enough. So long as the editor can keep up with my typing speed, and the various menu functions etc. respond promptly, what does it matter whether it takes 1ms, 10ms or 100ms?
If you're looking for a modern, fast, compiled, native code, programming language that will fly even on a slow device like the RPi, BBC BASIC isn't it and never will be!
To move a line of code up or down (ENTER or BACKSPACE) takes ~1/2 second ........
Agreed. I can easily speed that up in a future release.
If you move (drag) the output screen, it leaves a trail of images.
With the scrollbar you mean? I've never seen that: it doesn't happen here. What kind of monitor are you using? Mine is a Panasonic HDTV fed with HDMI.
@ times if you get an ERROR message (Mistake or Syntax) you first see the capital M or S then after ~1 second the rest of the word
That's normal. All my versions of BBC BASIC behave that way, because screen refresh is a low priority in immediate mode. It doesn't affect running BASIC programs in normal circumstances, especially as you can force a refresh with *REFRESH.
Can you check for me what the CPU meter (top right hand corner of screen) is reading when SDLIDE is 'idle', that is simply waiting for keyboard input? Here it reads 1% or 2% most of the time. Anything higher would be indicative of a problem.
>Hold down left button and drag the window accross the screen.
It works perfectly here, but either way it's unrelated to BBC BASIC. You can ask at the Raspberry Pi forum if you like, but more than likely they'll simply say the VC4 driver is 'experimental' so strange things sometimes happen!
Stretch w/GL 1% - 2% Stretch GLoff 60%-70% !!!!!
Software-emulated OpenGL rendering is very CPU-intensive and, as previously noted, seemingly even slower on Stretch. That's why I say enabling the GL driver is essential for BBCSDL.
Re: Raspbian Stretch released
« Reply #14 on: Aug 23rd, 2017, 9:45pm »
I've now tried every one of the example programs supplied with BBCSDL on a Raspberry Pi running Raspbian Stretch, and everything works as expected (with the previously mentioned caveat that the 'experimental' GL Driver must be enabled). With the version of SDL available from the Raspbian repository also having been updated from 2.0.2 to 2.0.5, this is a confidence boost.
I have to keep reminding myself that the Raspberry Pi has an ARM processor; it still feels really strange to be running what looks and feels like BBC BASIC for Windows on a non-x86 computer! I've been telling anybody who asked, for years, that there was zero chance that 'my' BBC BASIC would ever be ported to ARM, and I firmly believed it. That it has now happened is hard to get my head around.
But how about Brandy ? And the RISCOS version ? Did " your " BBCBasic come after ?
Is this what you wanted (these dates are approximate, corrections would be welcome)?
6502 BBC BASIC (Sophie Wilson): 1981 BBC BASIC (Z80) (Richard Russell): 1982 ARM BASIC V (Sophie Wilson): 1984 BBC BASIC (86) (Richard Russell): 1986 BBC BASIC for Windows (Richard Russell): 2001 Brandy BASIC (Dave Daniels): 2003 BBC BASIC for SDL 2.0 (Richard Russell): 2015
There are some less well known versions from other authors.
Re: Raspbian Stretch released
« Reply #19 on: Aug 26th, 2017, 5:03pm »
The apparent slowness of Raspbian Stretch isn't limited to BBC BASIC, or even to SDL, because the standard 'glxgears' 3D demo program is reporting dramatically different speeds here. If I enter this command at a terminal prompt:
it reports around 180 frames-per-second on Raspbian Jessie but only around 45 fps on Stretch, that's a 4:1 reduction (in both cases with the 'experimental' GL Driver disabled). Something's definitely not right so I've reported it at the Raspberry Pi forum; it will be interesting to see what they say.
Indeed. Hopefully now I've raised the issue at the Raspberry Pi forum they will devote some effort to fixing the problems with Stretch, although there seems to be little urgency as yet.
You should be OK with the VC4 GL Driver enabled however. Yes there is the occasional, very brief, screen 'flash' (the same thing happens in Jessie) but otherwise it seems to be stable and it is certainly fast. You really cannot complain about the speed of BBCSDL now I've addressed the specific issues you raised of 'insert line' and 'delete line' which I admit were slow in v0.18a.
This YouTube video, which at the end shows four copies of BBCSDL running simultaneously on a Raspberry Pi, demonstrates beyond doubt that it's not slow!