Upgrading the version of jsbeeb on bbcmicro.co.uk

feedback, questions and discussion relating to www.bbcmicro.co.uk
Locked
User avatar
leenew
Posts: 4230
Joined: Wed Jul 04, 2012 4:27 pm
Location: Doncaster, Yorkshire
Contact:

Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by leenew » Sat Apr 25, 2020 11:32 am

split from Crazy Rider - Help Required topic by admin

As lurkio mentioned above, it would be great if someone with a bit of knowledge could upgrade the version on JSBeeb that bbcmicro.co.uk uses to the latest version.
Would anyone fancy taking a look?

Lee.

User avatar
Arcadian
Site Admin
Posts: 3607
Joined: Fri Nov 24, 2000 12:16 pm
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by Arcadian » Sat Apr 25, 2020 11:45 am

We need to migrate it to the new server to allow this (which is already set up and waiting and contains much newer versions of FreeBSD, php etc) we just need some volunteers with the expertise to carry this out (as I'm not a Web tech or anything).

I did try to kick something off a few months back and sent out a few emails but it didn't really go anywhere and then I got very busy with events (and then the whole lockdown craziness occurred).

I'm now focusing on getting the Retro Software site completely redesigned and migrated to the new site, then I intend to look at getting a News Aggregator-type service set up on the Stardot domain.

After that I'll have another bash at seeing if we can get a team in place to look at migrating bbcmicro.co.uk

This is all inbetween getting no fewer than 7 more physical Retro Software releases out of the door, as well as a major restructuring of the Stardot forums, so I'm quite stacked up at the moment, Acorn wise.
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk

User avatar
lurkio
Posts: 2933
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by lurkio » Sat Apr 25, 2020 11:56 am

leenew wrote:
Sat Apr 25, 2020 11:32 am
As lurkio mentioned above, it would be great if someone with a bit of knowledge could upgrade the version on JSBeeb that bbcmicro.co.uk uses to the latest version.
Arcadian wrote:
Sat Apr 25, 2020 11:45 am
We need to migrate it to the new server to allow this
Strictly speaking, I don't think that's quite correct, Arcadian. The latest version of JSBeeb (with a few customisations -- similar to Richard Toohey's mods in bbcmicro.co.uk/jsbeebng/) could be "dropped in" to the default JSBeeb folder (bbcmicro.co.uk/jsbeeb/) on the existing bbcmicro.co.uk server, and it would work.

So, in theory, JSBeeb on bbcmicro.co.uk could be updated before we migrate the whole cluster of Beeb/Acorn/Stardot/RetroSw/bbcmicro sites to a new server. I'm not "demanding" that we should -- although I would be in favour of doing so if at all possible.

The reason I'm in favour of upgrading JSBeeb as soon as possible is that the latest version handles keyboard mapping much better in a wider range of browsers than the old outdated default version that's currently on bbcmicro.co.uk: we've had several emails from users complaining about keyboard issues, and I've had to tell them to try a different browser (Firefox seems best). But it would be great if JSBeeb on bbcmicro.co.uk would work in any browser, just as the latest version on bbc.godbolt.org and Github already does.

The latest version of JSBeeb also handles sound better in all browsers, and notably in iOS ones. And it also resizes intelligently if the user expands or shrinks the browser window.

Plus, the latest version of JSBeeb enables writing to the temporary disc-image in the browser, so games that need to write to disc will work (even though the disc-image in the browser-cache isn't persistent). We've had emails from users about this issue too.

Also, we recently had an email from one of the Oliver twins, asking us to upload one of their Beeb games, Tellscope. I found that the UEF would run in the latest version of JSBeeb on bbc.godbolt.org but not on bbcmicro.co.uk -- not even in Richard Toohey's "experimental" install of JSBeeb in bbcmicro.co.uk/jsbeebng/.

Etc., etc.

:idea:
Last edited by lurkio on Sat Apr 25, 2020 1:03 pm, edited 3 times in total.

User avatar
Arcadian
Site Admin
Posts: 3607
Joined: Fri Nov 24, 2000 12:16 pm
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by Arcadian » Sat Apr 25, 2020 12:10 pm

Ah, I was under the impression it needed a newer version of php? OK well I believe you have the ftp and database details so if you're able to resurrect the email chain from back in Feb and see if anyone that was copied in is able to assist, feel free to take the lead in coordinating the upgrade on the current server. :)
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk

User avatar
lurkio
Posts: 2933
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by lurkio » Sat Apr 25, 2020 12:59 pm

Arcadian wrote:
Sat Apr 25, 2020 12:10 pm
Ah, I was under the impression it needed a newer version of php?
No. Richard Toohey's "experimental" installation of JSBeeb, "jsbeebng", is very close to the latest version, and it already runs on the existing server setup:

Arcadian wrote:
Sat Apr 25, 2020 12:10 pm
OK well I believe you have the ftp and database details so if you're able to resurrect the email chain from back in Feb and see if anyone that was copied in is able to assist, feel free to take the lead in coordinating the upgrade on the current server. :)
I'll follow up on this shortly...

:idea:

User avatar
richardtoohey
Posts: 3986
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by richardtoohey » Wed Apr 29, 2020 4:01 am

Arcadian wrote:
Sat Apr 25, 2020 12:10 pm
Ah, I was under the impression it needed a newer version of php? OK well I believe you have the ftp and database details so if you're able to resurrect the email chain from back in Feb and see if anyone that was copied in is able to assist, feel free to take the lead in coordinating the upgrade on the current server. :)
It's the server that needs a new version of PHP; that's not related to jsbeeb.

Been meaning to chase up what happened to the server migration but as we've all noticed the world has gone a bit wonky in 2020!

I was looking for some lockdown leisure time but IT/web skills seems to be in demand at the moment at work :-k so no acres of leisure time (but obviously better than being very sick/dead or out-of-work so :-$ :-# from me!)

It seemed to make sense to get the server upgrades done first, then worry about jsbeeb but I think that's just made the whole project balloon out. So I'll go back to the simpler task first - newer jsbeeb.

(Dave - prod me in the email chain about the server and we can pick that up again).

User avatar
Arcadian
Site Admin
Posts: 3607
Joined: Fri Nov 24, 2000 12:16 pm
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by Arcadian » Wed Apr 29, 2020 6:34 am

richardtoohey wrote:
Wed Apr 29, 2020 4:01 am
Been meaning to chase up what happened to the server migration but as we've all noticed the world has gone a bit wonky in 2020!
See above - "I did try to kick something off a few months back and sent out a few emails but it didn't really go anywhere and then I got very busy with events (and then the whole lockdown craziness occurred)"

The new server is all set up and the first site to be transferred is Retro Software, which is currently undergoing a major redevelopment.

In addition to getting Retro Software relaunched, I also want to:
- complete the *. forum restructure (have received your comments, am currently writing a reply to everybody's feedback)
- get a News Aggregator type page developed and launched (initially on a temporary url on the new server)
- get five packaged Retro Software games finalised, mastered, advertised and distributed over the next 2 months

Once all that's complete I'll pick up the server migration project again, unless lurkio (see above) or any other trusted members are willing to take the lead on coordination of moving bbcmicro.co.uk in the mean time. Could you perhaps drop lurkio an email (and copy me in?).

Anyway, thanks for stepping forward again Richard - I'm glad you're not suffering work-wise from the current climate.
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk

User avatar
lurkio
Posts: 2933
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by lurkio » Wed Apr 29, 2020 10:56 am

richardtoohey wrote:
Wed Apr 29, 2020 4:01 am
It seemed to make sense to get the server upgrades done first, then worry about jsbeeb but I think that's just made the whole project balloon out. So I'll go back to the simpler task first - newer jsbeeb.
That would be great! Since the current server setup is more-or-lesss working, but JSBeeb isn't, I'd respectfully suggest that upgrading JSBeeb is the more urgent task right now.

I'll post separately about exactly what needs to be done, but, in summary, here's a bit of an email I sent to Arcadian recently:
Me wrote:Through the web contact form that Paul kindly installed on bbcmicro.co.uk we've been receiving various reports from users that the outdated version of JSBeeb doesn't play nicely with some modern browsers. As the migration process for the various Stardot servers needs a little more planning before the work can begin in earnest, there's a window to upgrade JSBeeb. Richard Toohey has already installed an experimental upgrade in the "jsbeebng" folder: what remains to be done is to archive the outdated default install of JSBeeb (keeping a backup in case we need to revert!), and to copy the jsbeebng install -- or ideally the latest version of JSBeeb from the JSBeeb Github -- into the default folder (keeping the copy in the jsbeebng folder as is, just in case!). We also need to remove the broken border-image, and we need to add the "noseek" parameter to the default Play URL.
Btw, in that quote I forgot to mention the third installation of JSBeeb that exists on bbcmicro.co.uk ("jsb2")! That too needs careful handling...

(Yes, this proliferation of JSBeeb installs on bbcmicro.co.uk is a bit messy! That's why I think it would be great to get it sorted out first -- time and virus permitting, of course.)

:idea:

User avatar
leenew
Posts: 4230
Joined: Wed Jul 04, 2012 4:27 pm
Location: Doncaster, Yorkshire
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by leenew » Wed Apr 29, 2020 11:44 am

Wow! I wasn't even aware of jsb2!
As always, I have no idea of the difficulty or ease of this task of "dropping in" the latest version of JSBeeb into bbcmicro.co.uk, but I agree with lurkio that it should be updated sooner rather than later.
Although I believe we have fielded and fixed almost all of the problems we have been informed of, it would be nice if they weren't occuring in the first place.
I would push for the latest version of JSBeeb rather than the "jsbeebng" to be the new default, as Chris (scarybeasts) has done so much good work on it that the vast majority of problems should be overcome by using this version.
So many games now have custom URLs and Kludges to make them work, it is getting a little tricky to keep on top of it all.

I think this warrants its own thread..

lurkio, as you are more technically up-to-speed than I am :wink: would you mind starting things off in a new thread, giving specifics as to what needs doing please?

Lee.

User avatar
Arcadian
Site Admin
Posts: 3607
Joined: Fri Nov 24, 2000 12:16 pm
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by Arcadian » Wed Apr 29, 2020 11:55 am

leenew wrote:
Wed Apr 29, 2020 11:44 am
I think this warrants its own thread..
Here you go, thread split and new topic created in bbcmicro.co.uk section

You may want to repost the following comments into the original thread Lee (which I have 'cut' out of what is now the top post in this thread).
Thanks for the work on Crazee Rider.
We now have a good working version on bbcmicro.co.uk.
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk

User avatar
lurkio
Posts: 2933
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by lurkio » Wed Apr 29, 2020 6:32 pm

The problem:

There are three separate installations of JSBeeb on bbcmicro.co.uk. All three are different, and none of them is entirely fit for purpose any more!

1. "jsbeeb": Installed by Paul, the original developer of bbcmicro.co.uk, this is the *default* installation of JSBeeb. It lives in the "jsbeeb" folder. It's very old and its key-mappings don't work properly in the latest versions of some web-browsers. Some users of the website have contacted us to complain about this, and I've had to advise them to switch to Firefox, which is a shame because ideally they wouldn't have to switch at all; they'd be able to use *any* browser. The other problem with this very old JSBeeb install is that it doesn't resize with the browser window. Plus, it doesn't play sound in some browsers. Also, it's unable to write to the temporary browser-cached disc-image. And it doesn't offer much in the way of Sideways RAM slots. Etc., etc...

2. "jsb2": Also installed by Paul, this version of JSBeeb is slightly newer than the default version above, but not by much! It was introduced because some games would completely fail if they couldn't write to disc. So the Play button for some games has had to be manually tweaked to point to "jsb2" instead of "jsbeeb". But "jsb2" still suffers from the other drawbacks of "jsbeeb" (see above).

3. "jsbeebng": This is an "experimental" installation of a newer version of JSBeeb, installed by Richard Toohey -- but it's still not as new as the latest version of JSBeeb on bbc.godbolt.org or the JSBeeb Github. "jsbeebng" will resize with the browser window; and it will play sound in most browsers, including on iOS; and it can write to a disc-image; and it has good key-mappings in most browsers. So it's a huge improvement on "jsbeeb" and "jsb2", and the Play button for some games has been manually tweaked to point to it. However, "jsbeebng" hasn't been fully integrated into the bbcmicro.co.uk website -- see below for details. And it still fails to run at least one game that the latest version of JSBeeb on bbc.godbolt.org doesn't have any problems with.


What needs to be done:

The installations of JSBeeb in the "jsbeeb" and "jsb2" folders need to be archived but *not* deleted -- we might need to roll back if something goes wrong!

The latest version of JSBeeb from the JSBeeb Github needs to be installed as the default installation of JSBeeb on bbcmicro.co.uk. In order to achieve that, Richard Toohey's mods, which can be seen in the "jsbeebng" install, need to be applied to the latest version of JSBeeb. Richard's mods had the aim of integrating the stock JSBeeb with the look and feel of bbcmicro.co.uk.

I'm not entirely clear about the details of the mods that Richard applied to JSBeeb in order to create "jsbeebng", but, when we look to pull the latest version of JSBeeb over to become the default install of JSBeeb on bbcmicro.co.uk, we should bear the following items in mind:
  • There is a broken border image in "jsbeebng" which isn't needed and should be deleted. Then we won't need to keep the "noborder" parameter in the Play URLs for any games.
  • The "noseek" parameter should be included in the default Play URL. (The "noseek" param eliminates disc-drive noises and speeds up loading.) Off the top of my head I'm not sure whether the default Play URL is held in the database or in a PHP file somewhere.
  • Ideally, we'd find a way of including the "no-sound notification banner" in our new default install of JSBeeb on bbcmicro.co.uk. The no-sound notification banner is a banner that appears in JSBeeb in some browsers to tell the user that they should click or tap the JSBeeb panel to "activate" sound -- or else JSBeeb won't produce any sound at all. The banner is missing from "jsbeebng" for some reason.
That's about all the details I can think of for now. (Once the new installation is done, we'll have to do some cleaning up of custom hacked Play URLs, etc., which we can discuss when the time comes.)

I know that Paul recently updated the BBC Disc Image Displayer, which is the JavaScript code behind the Explore Disc button. As Paul is the original developer of bbcmicro.co.uk and knows the site better than probably anyone else, it would be great if he could do the upgrade to JSBeeb too.

Richard Toohey is also very familiar with the site, having created the "jsbeebng" install. So if he's able to find the time to do the upgrade, either alone or in coordination with Paul, that'll be great too.

If anyone else is reading this and has the skills to do the upgrade and would like to offer help or advice or would potentially even be willing to do the whole upgrade if Richard and/or Paul can't, then please give us a shout, either publicly by replying to this thread, or by PM.

An upgrade to JSBeeb is overdue and would benefit the many, many users of the site (including the Oliver twins!). Some of those users, as I said, have been writing in to complain that they're having difficulty using the site in their preferred browser, which is such a shame because, all in all, bbcmicro.co.uk, the Complete BBC Micro Games Archive, is a brilliant site (I'm slightly biased, admittedly!), and everyone involved in its creation and maintenance should feel very proud of what they've achieved together.

:idea:
Last edited by lurkio on Thu Apr 30, 2020 12:19 am, edited 1 time in total.

User avatar
Matt Godbolt
Posts: 204
Joined: Mon Jul 31, 2006 11:02 am
Location: Chicago
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by Matt Godbolt » Wed Apr 29, 2020 9:12 pm

Happy to help too! Should be easy enough to `git submodule` in, or `iframe` the bbc.godbolt.org version, or anything in between :)

User avatar
richardtoohey
Posts: 3986
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by richardtoohey » Wed Apr 29, 2020 11:55 pm

Putting a new version live was easy enough, but what stopped it going "mainstream" was some of the tweaks to make it (the new version) fit into bbcmicro.co.uk - as per lurkio's list above. I can't recall if that was the complete list but it's certainly a good start! :D

I created the jsbeebng directory, copied in the latest (at the time) jsbeeb code, and then diff'd between the bbcmicro.co.uk version to try and work out what manual changes had to be applied. I then fell into a rabbit hole with some of the changes - not understanding if they were needed or how best to deal with them. I'm pretty sure all minor but ... just enough to trigger my (very low!) too-hard-basket threshold.

So I'll try again with a new directory but I think as soon as I hit any issues I'll ask for help here - that way hopefully we can keep it moving to completion this time. [-o<

Once everyone happy with the new directory we rename the existing jsbeeb directory to _old_jsbeeb and rename the new directory to jsbeeb and hopefully everything "just works".

Definitely NOT rocket science - just a couple of little speed bumps and then RL distractions and "we" got knocked off course.

User avatar
richardtoohey
Posts: 3986
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by richardtoohey » Wed Apr 29, 2020 11:58 pm

Matt Godbolt wrote:
Wed Apr 29, 2020 9:12 pm
Happy to help too! Should be easy enough to `git submodule` in, or `iframe` the bbc.godbolt.org version, or anything in between :)
The iframe approach is attractive in that we'd not have to go through this process again.

But obviously if anything breaks (new version of jsbeeb, domain name issues, aliens) then we're a bit stuck (so having the "silo" version is good for those scenarios).

But using the current version directly means any issues would be found quicker (more eyeballs and annoyed players!) so that's better for jsbeeb.

I'll start with the new directory / new version initially but we might want to come back to the iframe approach.

User avatar
Matt Godbolt
Posts: 204
Joined: Mon Jul 31, 2006 11:02 am
Location: Chicago
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by Matt Godbolt » Thu Apr 30, 2020 1:35 am

Awesome! Ping me directly if I can be helpful (matt at godbolt dot org if that helps!)

User avatar
leenew
Posts: 4230
Joined: Wed Jul 04, 2012 4:27 pm
Location: Doncaster, Yorkshire
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by leenew » Thu Apr 30, 2020 10:40 am

Fingers crossed this all goes smoothly [-o<

While you are deep in the bowels of the site, could I ask if there is a simple way to identify any game in the database that has anything in the "Custom URL for jsbeeb" field?
These are the games that will need testing as a priority, and *probably* have their custom URL removed.

Thanks,

Lee.

User avatar
pau1ie
Posts: 720
Joined: Thu May 10, 2012 10:48 pm
Location: Bedford
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by pau1ie » Thu Apr 30, 2020 9:44 pm

Arcadian emailed me about this some time ago. I had a look into it and found:
  • makegrid.php gives an SQL error. I fixed it in version control
  • play.php that I use to customise jsbeebwill need some customizations I added at Lurkio's request to be removed.
The website requires the following php modules to be installed
  • php73-pdo_mysql
  • php73-json
I tested with Apache 2.4, but assume any webserver will be fine.

I am pretty busy at present, but ping me if you get stuck and I will try to point you in the right direction.

User avatar
richardtoohey
Posts: 3986
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by richardtoohey » Sun May 03, 2020 12:41 am

I've started working on this with lurkio so hopefully we'll make some good progress soon!

If I get bogged down with anything - I'll come and ask. :D

User avatar
lurkio
Posts: 2933
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by lurkio » Sun May 03, 2020 1:25 am

richardtoohey wrote:
Wed Apr 29, 2020 11:55 pm
Once everyone happy with the new directory we rename the existing jsbeeb directory to _old_jsbeeb and rename the new directory to jsbeeb and hopefully everything "just works".
Not quite, because some of the games' Play buttons have been manually hacked to point to "jsb2", and some to "jsbeebng".

So, as Lee pointed out, we'll need to query the database to get a list of all those manually hacked custom URLs so that we can reset them to use the (new) default install.

There aren't too many instances, so it shouldn't take too long to do the resets manually, using the backend UI.

:idea:

User avatar
lurkio
Posts: 2933
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by lurkio » Wed May 06, 2020 3:48 pm

richardtoohey wrote:
Sun May 03, 2020 12:41 am
I've started working on this with lurkio so hopefully we'll make some good progress soon!
Many thanks to Richard, who has now upgraded the default installation of JSBeeb on bbcmicro.co.uk. Early signs are that all is well! Or nearly all:

Thanks also to Paul, the original developer of bbcmicro.co.uk, for creating the site in the first place!

=D> =D> =D>

User avatar
richardtoohey
Posts: 3986
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by richardtoohey » Thu May 07, 2020 4:20 am

Definitely a case of a midget standing on the shoulders of giants!

So as well as thanks to Paul, thanks to Matt Godbolt for jsbeeb! =D>

And Chet & Lee for the admin & database maintenance.

Main thing to watch out for is browser caching. If you are experiencing odd behaviour you can try a hard refresh or clearing your browser caches (but WARNING that may clear other things you don't want to, so really a last resort option! No guarantees, warranty voided etc.)

All I did (in the end) was to create a new directory, unzip the latest version of jsbeeb from Github into that new directory, and copy play.php from the old jsbeeb directory into the new jsbeeb directory and tweak that play.php (play.php does some of the work of jsbeeb's index.html). Most time spent trying to understand what was what - the actual process was very simple in the end.

User avatar
vanekp
Posts: 907
Joined: Thu Nov 30, 2000 7:09 am
Location: The Netherlands
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by vanekp » Thu May 07, 2020 6:17 am

only the debugger seems to be broken on bbcmicro.co.uk not sure if that always was the case but if you press Ctrl+home to get into the debugger it shows no memory data (Only ABCDEFG) and also does not decode the machine code on the right.
JSbeebDebug1.png
For normal use its not required but if you have a problem with one of the programs you cant try to fix it or see where the problem is on bbcmicro.co.uk
Peter.

User avatar
richardtoohey
Posts: 3986
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by richardtoohey » Thu May 07, 2020 10:12 pm

The play.php file looks like (I may have the the wrong end of the stick) an older version of jsbeeb's index.html with changes to pull in jsbeeb into the bbcmicro.co.uk site.

It's (play.php) got enough to work with jsbeeb, but I suspect some of the newer functionality will need changes to play.php to make it more in sync with jsbeeb's index.html. e.g. I copied over the change from index.html to play.php to alert the user about clicking to enable audio. So I think more of that sort of thing would be required.

But I assumed bbcmicro.co.uk more of a quick & easy way to play the games in the archive - so if you want a serious debugging session, best to go to https://bbc.godbolt.org/, load your disk/tape and hack away. :D

User avatar
helpful
Posts: 634
Joined: Tue Sep 22, 2009 1:18 pm
Location: London
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by helpful » Thu May 07, 2020 11:01 pm

I'm having a minor issue with the new version :-(

Using Firefox 75.0 on Linux, when playing a game there is a ring of seemingly random lines/pixels around the edge of the Beeb screen, flickering on and off all the time. See in screenshot (enlarge to full size to see it):
Screenshot at 2020-05-07 22-47-20.png
The pattern seems to be different for each game! Resizing the window usually gets rid of it.

Checking on https://bbc.godbolt.org/ it has the same problem, but most of the flickering is hidden behind the Cub monitor graphic.

It doesn't happen in Chrome.

Bryan.
RISC OS User Group Of London - http://www.rougol.jellybaby.net/
RISC OS London Show - http://www.riscoslondonshow.co.uk/

User avatar
lurkio
Posts: 2933
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by lurkio » Thu May 07, 2020 11:10 pm

helpful wrote:
Thu May 07, 2020 11:01 pm
I'm having a minor issue with the new version :-(

Using Firefox 75.0 on Linux, when playing a game there is a ring of seemingly random lines/pixels around the edge of the Beeb screen, flickering on and off all the time.
Yes, I'm also seeing the issue in Safari and Firefox on macOS (and resizing the window makes it go away for me too). As you're seeing the effect on bbc.godbolt.org as well, it seems that it's a JSBeeb issue rather than a bbcmicro.co.uk issue. EDIT: Or perhaps it's a Firefox issue.

Would you consider reporting it on the JSBeeb Github?:
:?:
Last edited by lurkio on Fri May 08, 2020 5:28 am, edited 1 time in total.

User avatar
richardtoohey
Posts: 3986
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by richardtoohey » Thu May 07, 2020 11:30 pm

Just played Arcadians on MacOS Firefox - works fine here (Firefox 76).

Obviously something going on because more than one person seeing it ... but we're missing the vital piece of information on how to make it happen all the time. Might be an off-by-one-pixel thing on the canvas/border - it's not clearing the play area ... or something ... :-k

User avatar
lurkio
Posts: 2933
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by lurkio » Thu May 07, 2020 11:42 pm

richardtoohey wrote:
Thu May 07, 2020 11:30 pm
we're missing the vital piece of information on how to make it happen all the time.
It happens every time for me in Firefox 76 on macOS Mojave. I don't have to do anything unusual -- I just click any Play button on bbcmicro.co.uk.

I can no longer get the bug to manifest in Safari, though -- possibly because I've just installed the latest Safari update.

:idea:

EDIT: Perhaps this is actually a Firefox issue rather than a JSBeeb issue?

User avatar
pau1ie
Posts: 720
Joined: Thu May 10, 2012 10:48 pm
Location: Bedford
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by pau1ie » Mon May 11, 2020 12:13 pm

The flashing graphical artefacts happen for me in bbc.godbolt.org in Firefox on Linux. Especially in full screen where parts of the browser window decoration appear at the edges of the canvas. I am pretty sure that at least is a Firefox issue. It doesn't appear in Chromium. I had a quick look at the Firefox issue tracker and couldn't see an obvious candidate, but to raise an issue one would probably have to come up with a minimal JavaScript test case for them, probably by taking the screen update code from jsbeeb and cutting it down as much as possible. I don't fancy doing this.

What I will offer though is to take this Saturday (while at the virtual Cambridge Centre for Computing History event) and attempt to update the play.html file. I think bbcmicro would benefit from the full-screen function (Should it be the default?). Then I think we could revert the background to white to match the rest of the site, because fullscreen makes it black! I think the config menu item would be useful. I will try to include it in the menu bar.

Not promising anything, and bear in mind the more features I try to add the less likely I am to succeed.
  • I won't be able fix the Firefox issue. I could spend the time trying to get a test case to raise a bug instead of changing play.html.
  • Most important is that the play button works
  • Ideally full screen mode works
  • Hopefully the debugger works
  • Maybe make the keyboard LEDs work? I couldn't suss them out last time, so abandoned it!
  • Maybe the config menu works.
  • Pretty sure Discs, Cassette and reset menus are not required. Not sure about the paste area.

User avatar
lurkio
Posts: 2933
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by lurkio » Mon May 11, 2020 12:51 pm

pau1ie wrote:
Mon May 11, 2020 12:13 pm
I think bbcmicro would benefit from the full-screen function (Should it be the default?).
I don't think fullscreen mode should be the default because I think that will cause problems on iOS, where it won't be clear how to exit fullscreen mode! Possibly. I'd need to see a demo to understand how fullscreen would work on iOS.

pau1ie wrote:
Mon May 11, 2020 12:13 pm
Then I think we could revert the background to white to match the rest of the site
I'd prefer to keep the background colour as is -- discreet, muted -- but I'm not too fussed.

pau1ie wrote:
Mon May 11, 2020 12:13 pm
I think the config menu item would be useful. I will try to include it in the menu bar.
What scenarios did you have in mind where the config menu item would be useful?

I wonder if rather than adding various things to play.php we should simply provide a link to the "raw" JSBeeb URL so that "advanced" users can just switch to that fuller interface -- but we could keep the existing per-game URL params so that the disc-image would remain loaded after the switch..?

The advantage of the current default play screen on bbcmicro.co.uk is that it's simple and uncluttered and doesn't distract the user with loads of extraneous details or config options.

pau1ie wrote:
Mon May 11, 2020 12:13 pm
Not promising anything, and bear in mind the more features I try to add the less likely I am to succeed.
Please don't feel pressured to add anything if you don't want to! The website is already working well thanks to your and Richard's hard work.

pau1ie wrote:
Mon May 11, 2020 12:13 pm
I won't be able fix the Firefox issue. I could spend the time trying to get a test case to raise a bug instead of changing play.html.
I don't think that's a high priority.

pau1ie wrote:
Mon May 11, 2020 12:13 pm
Most important is that the play button works
Agreed. The Play button already works well.

Oh, but I did recently think it could do with a slight mod so that it handled copyright-claimed games better. E.g. Granny's Garden: the Play button is displayed even though there's no disc-image to play! (I tried to hack Flowers Of Crystal for the same reason, but my hack isn't ideal.)

pau1ie wrote:
Mon May 11, 2020 12:13 pm
Ideally full screen mode works
I can see how that would be useful sometimes, but I still don't think it should be the default.

pau1ie wrote:
Mon May 11, 2020 12:13 pm
Hopefully the debugger works
Maybe make the keyboard LEDs work? I couldn't suss them out last time, so abandoned it!
Maybe the config menu works.
Pretty sure Discs, Cassette and reset menus are not required. Not sure about the paste area.
I think that all of those features could be accessed if my idea of a link to the "raw" JSBeeb interface were implemented. Maybe it could be labelled "Pro Mode" or something.

The advantage of the current default play screen on bbcmicro.co.uk is that it's simple and uncluttered and doesn't distract the user with loads of extraneous details or config options.

But one thing I thought might be a useful addition to play.php is an area below the JSBeeb canvas/rectangle for text-info: e.g. a note about any special keymappings -- which might possibly be autogenerated from the URL params? See e.g. Thrust which maps CapsLock/Ctrl to A/S. This proposed new text area could also contain any essential hints or tips or info specific to the current game -- though I realise that that might require some work to the database. Anyway, just a suggestion.

:idea:
Last edited by lurkio on Mon May 11, 2020 3:43 pm, edited 1 time in total.

User avatar
scruss
Posts: 276
Joined: Sun Jul 01, 2018 4:12 pm
Location: Toronto
Contact:

Re: Upgrading the version of jsbeeb on bbcmicro.co.uk

Post by scruss » Mon May 11, 2020 1:48 pm

richardtoohey wrote:
Thu May 07, 2020 11:30 pm
Just played Arcadians on MacOS Firefox - works fine here (Firefox 76).
No flashing/flickering here on Firefox 76, Ubuntu 20.04 x86_64. Tried full screen, small windows — no flickering. My system's fast(ish), but has no accelerated graphics.

As a sometime Internet Archive emulated system tester, I've seen some flickering in my time …

Locked

Return to “the complete BBC games archive”