BBC BASIC for SDL 2.0 version 1.08a released

New releases of BB4W and BBCSDL, and other updates, will be announced here
RichardRussell

Re: BBC BASIC for SDL 2.0 version 1.08a released

Post by RichardRussell »

hellomike wrote: Thu 12 Dec 2019, 10:53Hope this helps, if you need me to send sceendumps, I can email them to you.
It's interesting, certainly, but I'm not sure that it helps resolve the issue. As a guess I would say that it's something quite 'low level', possibly a problem with your graphics card and/or its OpenGL driver; BBCSDL (notably) uses OpenGL rather than Direct3D. Can you check whether there are any software updates available for your graphics card and drivers? Sadly I think it's highly unlikely that there is any workaround available in my code.
svein
Posts: 58
Joined: Tue 03 Apr 2018, 19:34

Re: BBC BASIC for SDL 2.0 version 1.08a released

Post by svein »

>This is a longstanding one. When I attempt to load up SDLIDE (by double-clicking bbcsdl.exe), the IDE doesn't always appear. Instead an 'immediate mode' window sometimes appears titled something like "BBC BASIC for Win32 version 1.08a" with a prompt awaiting input (I can type PRINT "HELLO", etc.)<

This is happening to me on my windows machine 1 out of 3 times, on average.
Inserting a SOUND statement after WHEN 2, gives no sound when SLIDE fails to start.
Forcing an error by inserting ERROR 100,"" after the ON ERROR line, also gives this window 1 out of 3 times, on average.
Typing 'PRINT REPORT$' in this window gives, '(C) Copyright R. T. Russell, 2019'.
I have no clue how to investigate this further.

Svein
RichardRussell

Re: BBC BASIC for SDL 2.0 version 1.08a released

Post by RichardRussell »

David Williams wrote: Thu 12 Dec 2019, 05:49However, under versions v1.07a and 1.08a, only fast mouse button presses are 'detected' in the listbox; longer ones are not registered.
You should have received a couple of emails (sent to DDRM but copied to you) confirming this. My suspicion is that it's simply that your particular clicking technique results in the button being depressed for longer than is the case when I do it, so when I 'tuned' the dynamics I inadvertently made it work perfectly for me but not for you!

In the current distributed version of dlglib.bbc the time threshold which distinguishes between a 'click' and a 'drag' is about 150 milliseconds (the reason you noticed a difference at version 1.07a is that it was the first to support drag-scrolling a list box); my clicks are consistently less than that. I have sent you a version of dlglib.bbc with it (arbitrarily) doubled to 300 ms for you to try.
By the way, double-clicking a listbox item (which I know you're not supposed to do!) results in the message "OK pressed, settings were:", which doesn't happen with the BB4W version of the program.
In BB4W acting on double-click notifications from a listbox is fiddly, I think you have to use *SYS to enable notifications and look for the LBN_DBLCLK message. In BBCSDL (using dlglib) double-clicking acts like clicking the button with an ID of 1 (usually OK). If you didn't want that action you could give the OK button a different ID to distinguish them.
RichardRussell

Re: BBC BASIC for SDL 2.0 version 1.08a released

Post by RichardRussell »

svein wrote: Thu 12 Dec 2019, 11:37This is happening to me on my windows machine 1 out of 3 times, on average.
Here, I would guess that it is perhaps 1 in 100 times. Not frequent enough to be annoying, nor to analyse further since I cannot provoke it to fail 'on demand'.
I have no clue how to investigate this further.
If it's happening as often as 1 in 3 times you are far better placed to investigate than I am! It must be something specific to Windows, since nothing similar has ever been reported when the same code is running on Linux, MacOS, Android or iOS. It's almost as though the file bbcsdl.bbc becomes 'invisible' since, as far as I am aware, when it fails it behaves exactly as it would if that file was missing.
User avatar
hellomike
Posts: 184
Joined: Sat 09 Jun 2018, 09:47
Location: Amsterdam

Re: BBC BASIC for SDL 2.0 version 1.08a released

Post by hellomike »

"This app can't run on your PC" is what I get when I double click on Opengl95.exe that has been downloaded.

So, haha, I think that says it all. The DELL latitude e6400 hardware is too ancient (eventhough Win10 1903 runs rather OK on it).
Also couldn't find modern DELL drivers anymore.

Cheers

Mike
RichardRussell

Re: BBC BASIC for SDL 2.0 version 1.08a released

Post by RichardRussell »

hellomike wrote: Thu 12 Dec 2019, 15:51 "This app can't run on your PC" is what I get when I double click on Opengl95.exe that has been downloaded.
What is Opengl95.exe and why were you trying it? From the filename it sounds as though it might have been intended for Windows 95, so hardly surprising that it "can't run on your PC" (this is the message you get when trying to run a 16-bit app on a 64-bit PC, isn't it?)! OpenGL is a standard component of all recent versions of Windows (since XP at least) so it's not something you need to download.

Does the OPENGL.BBC example program that comes with BBC BASIC for Windows run? If it does you know OpenGL is installed, and working to a degree.
Also couldn't find modern DELL drivers anymore.
Dell's site seems to list video drivers for the Latitude E6400, admittedly nothing new since 2013. Have you ascertained that you already have the latest one?
User avatar
hellomike
Posts: 184
Joined: Sat 09 Jun 2018, 09:47
Location: Amsterdam

Re: BBC BASIC for SDL 2.0 version 1.08a released

Post by hellomike »

Actually CHAIN "opengl.bbc" works flawless, no crash....
But CHAIN "fern.bbc" keeps crashing ("not responding") , when I click Close button "BBC BASIC for SDL 2.0 is not responding".

Even though "fern.bbc" is a much simpler source as "opengl.bbc".

The only driver after running the detection util from the DELL site, is a BIOS update, which kinda fails.
RichardRussell

Re: BBC BASIC for SDL 2.0 version 1.08a released

Post by RichardRussell »

hellomike wrote: Fri 13 Dec 2019, 13:41 Even though "fern.bbc" is a much simpler source as "opengl.bbc".
True, but perhaps more to the point fern.bbc uses SDL 2.0 whereas opengl.bbc doesn't, which fits with the other indications. It also implies that fern.bbc uses textures but opengl.bbc doesn't, so perhaps there's a problem with the way your drivers handle textures.
The only driver after running the detection util from the DELL site, is a BIOS update, which kinda fails.
I think the only likely way in which you're going to get it to work is to update your graphics drivers, and if no newer version than what you already have is available, there is probably no solution. In your position I'd worry about the BIOS update failing though; what actually happens?
mavison
Posts: 34
Joined: Tue 03 Apr 2018, 17:27

Re: BBC BASIC for SDL 2.0 version 1.08a released

Post by mavison »

Re post above "When I attempt to load up SDLIDE (by double-clicking bbcsdl.exe), the IDE doesn't always appear. Instead an 'immediate mode' window sometimes appears titled something like "BBC BASIC for Win32 version 1.08a" with a prompt awaiting input (I can type PRINT "HELLO", etc.), but no IDE. It's intermittent."

I also have seen this exact problem, both with 1.07a and 1.08a. This on Win10pro, using a shortcut with a target of the bbcsdl.exe.

It is intermittent for me, and I have never ben able to determine the rules for when it fails.

However, during testing just now (with v1.08a) I repeatedly double-clicked my shortcut, and it was very consistent: alternate ones dropped to immediate mode, and the others worked. I kow that (unfortunately) the IDE is not safe to run multiple versions, but I wondered if this might be a clue as to the cause of the problem above (which happens intermittently when starting with none running).
RichardRussell

Re: BBC BASIC for SDL 2.0 version 1.08a released

Post by RichardRussell »

mavison wrote: Fri 13 Dec 2019, 20:21I know that (unfortunately) the IDE is not safe to run multiple versions
What do you mean by "not safe to run multiple versions"? I take it you don't mean "multiple instances" (since it is intended that you can do that) so I'm unclear what you are referring to here.

As I've explained, there isn't any way that I can discover why BBCSDL occasionally (and only on Windows) behaves as though bbcsdl.bbc is missing, because it happens too infrequently here (perhaps 1 in 100 times). I would have to be able to provoke it on demand (or at least with a much higher probability) to do that.

If you are one of the unlucky ones for whom this behaviour is more consistent, you are much better placed than I am to investigate!