b2 - new emulator

discuss bbc micro and electron emulators (including mame) here!
User avatar
robcfg
Posts: 123
Joined: Sun Dec 30, 2018 6:23 pm
Contact:

Re: b2 - new emulator

Post by robcfg »

Hi Tom!

First, let me thank you for your great work! B2 works like a charm on my Mac and I find it extremely easy to use.

I'd like to ask you about the save states. I thought they would be like snapshots and would be saved to disk, but I found that if I close and restart B2, they are all gone.

I'm I doing something wrong or are they intended to work that way? Would it be too complicated to save them to disk? I spent a lot of hours playing Electrobots yesterday (up to 2 am), and when I opened B2 today, all my save states were gone. Oh, the horror... :mrgreen:

Another thing I'd like to ask about is the Save States dialog. When there's more than 3-4, it's impossible to scroll them to click the Load button, as they disappear from the dialog. Can it be just a simple bounding box problem?

Cheers,
Rob
User avatar
richmond62
Posts: 280
Joined: Sun Apr 16, 2017 4:15 pm
Location: Bulgaria
Contact:

Re: b2 - new emulator

Post by richmond62 »

Can someone direct me to a compiled, 64-bit Macintosh version?
User avatar
robcfg
Posts: 123
Joined: Sun Dec 30, 2018 6:23 pm
Contact:

Re: b2 - new emulator

Post by robcfg »

You can find it here: https://github.com/tom-seddon/b2/releases

Cheers,
Rob
User avatar
richmond62
Posts: 280
Joined: Sun Apr 16, 2017 4:15 pm
Location: Bulgaria
Contact:

Re: b2 - new emulator

Post by richmond62 »

Super: especially the keyboard widget:
-
SShot 2021-03-20 at 18.41.51.png
-
Running like a charm on MacOS 11.3 Beta 4
tom_seddon
Posts: 468
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Re: b2 - new emulator

Post by tom_seddon »

Any users of the 32-bit Windows version reading? I'm considering getting rid of it, as I never use it. But it's easy enough to keep the CI server building it, if anybody actually does.

And similarly, does anybody use the multiple windows feature? Window > New in the menus. I'm thinking about removing multiple window support, as it's ended up making the code more complicated than it could be.

--Tom
cmorley
Posts: 1459
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: b2 - new emulator

Post by cmorley »

I use b2 or b2_debug which I assume are the 64 bit builds. So for me dropping the 32 bit build wouldn't matter. I have never used the Window->new feature... I didn't even know it existed or had thought to look for it. That isn't a program operation paradigm I'd really expect other than a new tab/window in a browser TBH.
tom_seddon
Posts: 468
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Re: b2 - new emulator

Post by tom_seddon »

robcfg wrote:
Fri Mar 19, 2021 7:57 pm
Hi Tom!

First, let me thank you for your great work! B2 works like a charm on my Mac and I find it extremely easy to use.

I'd like to ask you about the save states. I thought they would be like snapshots and would be saved to disk, but I found that if I close and restart B2, they are all gone.

I'm I doing something wrong or are they intended to work that way? Would it be too complicated to save them to disk? I spent a lot of hours playing Electrobots yesterday (up to 2 am), and when I opened B2 today, all my save states were gone. Oh, the horror... :mrgreen:

Another thing I'd like to ask about is the Save States dialog. When there's more than 3-4, it's impossible to scroll them to click the Load button, as they disappear from the dialog. Can it be just a simple bounding box problem?

Cheers,
Rob
Thanks for the kind words and I'm glad you're enoying using b2.

Save states are indeed not currently persistent, I'm afraid, though this is on my todo list: https://github.com/tom-seddon/b2/issues/152 - haven't decided on what the UI for this should be like, but it feels like you might want a sort of project type of notion (e.g., you're going to chip away over time on your Repton 2 playthrough or whatever...) - any suggestions welcomed!

The save states window problem is also on the list: https://github.com/tom-seddon/b2/issues/147 - I'll prioritize this one as it's hopefully something simple.

Thanks,

--Tom
tom_seddon
Posts: 468
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Re: b2 - new emulator

Post by tom_seddon »

cmorley wrote:
Fri Mar 26, 2021 2:56 pm
I use b2 or b2_debug which I assume are the 64 bit builds. So for me dropping the 32 bit build wouldn't matter. I have never used the Window->new feature... I didn't even know it existed or had thought to look for it. That isn't a program operation paradigm I'd really expect other than a new tab/window in a browser TBH.
Thanks for the feedback - hopefully it'll be the same for everybody else :lol:

Boiling frog kind of situation I suppose... the way b2 works means multiple windows was always very slightly annoying to deal with, as it's not quite a good fit with the UI library I'm using. But it started out entirely manageable. As I've added more UI stuff, though, it's become progressively more annoying - particularly true for the debugger - and I think I've just reached a tipping point.

--Tom
tom_seddon
Posts: 468
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Re: b2 - new emulator

Post by tom_seddon »

New version on GitHub - no real new features, but a few internal changes that mean on Windows, b2 now always uses OpenGL, rather than D3D9 as it used to. This shouldn't cause any problems, I hope, as b2 is not very graphically demanding. Please post here or open a GitHub issue if it feels like it looks any different from how it used to!

People on Linux and macOS should see no change, as b2 was previously using OpenGL on those platforms already.

--Tom
User avatar
Richard Russell
Posts: 2140
Joined: Sun Feb 27, 2011 10:35 am
Location: Downham Market, Norfolk
Contact:

Re: b2 - new emulator

Post by Richard Russell »

tom_seddon wrote:
Sun Mar 28, 2021 4:39 pm
on Windows, b2 now always uses OpenGL, rather than D3D9 as it used to. This shouldn't cause any problems, I hope
My experience with BBC BASIC for SDL 2.0, which also uses OpenGL on Windows, is that you can expect to receive a few reports of it not working because graphics drivers aren't OpenGL-compliant. But almost always this can be resolved by the user updating their drivers.
I am suffering from 'cognitive decline' and depression. If you have a comment about the style or tone of this message please report it to the moderators by clicking the exclamation mark icon, rather than complaining on the public forum.
tom_seddon
Posts: 468
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Re: b2 - new emulator

Post by tom_seddon »

Richard Russell wrote:
Sun Mar 28, 2021 5:34 pm
My experience with BBC BASIC for SDL 2.0, which also uses OpenGL on Windows, is that you can expect to receive a few reports of it not working because graphics drivers aren't OpenGL-compliant. But almost always this can be resolved by the user updating their drivers.
Excellent, thanks for the note - that sounds manageable. I've generally found OpenGL on Windows to work fine, but I've never previously distributed a program that completely relied on it. I do remember the very bad old days of the late 90s.

What b2 does is just the most basic of OpenGL 1.1 stuff: textures, client-side vertex arrays, glDrawElements. So fingers crossed, nobody should have any serious problems.

--Tom
User avatar
Richard Russell
Posts: 2140
Joined: Sun Feb 27, 2011 10:35 am
Location: Downham Market, Norfolk
Contact:

Re: b2 - new emulator

Post by Richard Russell »

tom_seddon wrote:
Sun Mar 28, 2021 11:10 pm
What b2 does is just the most basic of OpenGL 1.1 stuff: textures, client-side vertex arrays, glDrawElements.
In my case it's (mostly) being accessed via SDL 2.0, which checks the OpenGL capabilities and falls back as necessary, but 1.1 is good enough if that's all there is.
I am suffering from 'cognitive decline' and depression. If you have a comment about the style or tone of this message please report it to the moderators by clicking the exclamation mark icon, rather than complaining on the public forum.
tom_seddon
Posts: 468
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Re: b2 - new emulator

Post by tom_seddon »

derek wrote:
Thu Mar 18, 2021 11:41 am
Hi,

I was struggling to compile B2 on Linux Mint 19.3, after downloading the ZIP file from Github.

But, I tried cloning the GIT source to my hard drive and the compile process worked perfectly, both on the Release and Debug version of the B2.

I am not very knowledgeable with regards to GITHUB, so I read a book last night, and things seem to be clearer.

I must say the B2 emulator is excellent, I like the Clone function which I think can be very useful, also the keyboard mappings are correct for my Fujitsu Core i7 Celsius H7000 laptop.

I would like to get the SDCARD images working on this, I assume that it is just a matter of adding the ROM and link the image file.

Can Beeblink network other BEEB emulators?
Thanks for the note, and I'm glad you're enjoying using b2!

The zip files you get from GitHub are indeed no good, as they don't include the git submodules. I don't think there's any way of fixing this; last I checked, the lack of submodules is a git limitation, and you can't disable zips for your repo. So you just have to know not to use them. This issue is mentioned in the building instructions (https://github.com/tom-seddon/b2/blob/m ... uilding.md), but I probably need to do a better job of highlighting it, as you're not the first person who's been caught out by this.

Regarding SD card stuff, b2 doesn't support that, so the ROMs won't work I'm afraid. What sort of support would you useful? As I understand it, the SD card systems typically use mmb files, and MMB support is planned.

And regarding BeebLink, it doesn't provide any networking functionality as such in terms of direct communication between separate BBCs. But you can have multiple BBCs (or multiple copies of b2) connected to the same server, and they'll all access the same files.

Finally, I do have one question, since you mention the Clone function: have you ended up using Clone much, or multiple b2 windows in general? I ask because I'm thinking about getting rid of this feature, as I've never ended up using it myself and it's making the code a bit more complicated than I'd like.

--Tom
User avatar
daveejhitchins
Posts: 6339
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: b2 - new emulator

Post by daveejhitchins »

Still having trouble (Mac - Big Sur) with getting B2 to remember NODIR (ADFS) over a hard reset - I taking it that a hard reset is the same as a Ctrl/brk? I'm thinking this as I can't find any other way to do a Ctrl/Brk! It is remembered over a standard Brk (fn-F12) fn-control-F12 doesn't work! I currently have to use Hard Reset with the 'F' key held down - despite having set NODIR.

I've also, finally, got 'COPY' working, although not as I expected! When allocating a Mac key to operate as COPY I select "\" and it's duly noted. However, when I come to use it I need to use 'Control-\' to get the COPY function - is this expected?

Can't remember if you're going to support a hard drive (SCSI for ADFS)?

Thanks - Dave H.
tom_seddon
Posts: 468
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Re: b2 - new emulator

Post by tom_seddon »

daveejhitchins wrote:
Fri Apr 02, 2021 7:42 am
Still having trouble (Mac - Big Sur) with getting B2 to remember NODIR (ADFS) over a hard reset - I taking it that a hard reset is the same as a Ctrl/brk? I'm thinking this as I can't find any other way to do a Ctrl/Brk! It is remembered over a standard Brk (fn-F12) fn-control-F12 doesn't work! I currently have to use Hard Reset with the 'F' key held down - despite having set NODIR.
I just had a quick look at this now - do you need to do a File > Save default NVRAM (should really be Save default CMOS RAM...) to save the CMOS/EEPROM contents to disk? File > Hard Reset is not actually like Ctrl+Break - it resets all the emulation state, including reloading the ROMs and CMOS data from disk. I probably need to improve the docs to make this a bit clearer.

I freely admit this is a bit inconvenient compared to a real Master, but I'll be tidying it up when I revamp of the timeline/replay mechanism.

One odd thing I did notice while fiddling around with this is that MOS 3.20 ADFS tries to read the disk even with *CONFIG NODIR if you do the following:

Code: Select all

*CONFIG NODIR
*CONFIG FILE 9
<CTRL+BREAK>
<A+BREAK>
CTRL+A+BREAK sorts it out (and subsequent A+BREAKs then work too). Reproduced on my real Master, so I guess it's a MOS bug.
daveejhitchins wrote:
Fri Apr 02, 2021 7:42 am
I've also, finally, got 'COPY' working, although not as I expected! When allocating a Mac key to operate as COPY I select "\" and it's duly noted. However, when I come to use it I need to use 'Control-\' to get the COPY function - is this expected?
This is not expected, and I can't reproduce it on my Mojave Mac - I've got Big Sur on my old work laptop though so I'll give it a go on that.

Might you have \ assigned to two Beeb keys at once? You can get odd results when that happens. This isn't highlighted especially well in the UI, but if you press \ with the Beeb display in focus and the Keyboard Layouts dialog open (but not in focus) you'll see the corresponding Beeb key(s) flash.

I need to improve this. It should really tell you in the little keys popup if you've got the same PC key assigned to multiple Beeb keys.
daveejhitchins wrote:
Fri Apr 02, 2021 7:42 am
Can't remember if you're going to support a hard drive (SCSI for ADFS)?
I do plan to, definitely, though this will probably come after the timeline/replay cleanup.

--Tom

P.S. GH issues for this stuff, if you want to keep track: timeline/replay revamp, emulation TODOs, including hard disk support (no pressure on anybody to use the GH issues mechanism, I just use it myself to keep track of stuff, and I'll sometimes add notes and stuff)

P.P.S. .adf file support will be in the next release!
User avatar
daveejhitchins
Posts: 6339
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: b2 - new emulator

Post by daveejhitchins »

tom_seddon wrote:
Fri Apr 02, 2021 2:11 pm
This is not expected, and I can't reproduce it on my Mojave Mac - I've got Big Sur on my old work laptop though so I'll give it a go on that.

Might you have \ assigned to two Beeb keys at once? You can get odd results when that happens. This isn't highlighted especially well in the UI, but if you press \ with the Beeb display in focus and the Keyboard Layouts dialog open (but not in focus) you'll see the corresponding Beeb key(s) flash.
Now that's a useful feature :D And it does show two key allocated. When you go into the the "Edit PC Key" feature it does show all the allocated keys - you can add as many key as you want - usually by accident! - But . . . how do you then delete the ones you don't need? I can see the "x" box, presumably for that delete function, but you can't reach them!

Getting closer =D>

Dave H.
tom_seddon
Posts: 468
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Re: b2 - new emulator

Post by tom_seddon »

daveejhitchins wrote:
Sun Apr 04, 2021 7:36 am
Now that's a useful feature :D And it does show two key allocated. When you go into the the "Edit PC Key" feature it does show all the allocated keys - you can add as many key as you want - usually by accident! - But . . . how do you then delete the ones you don't need? I can see the "x" box, presumably for that delete function, but you can't reach them!
The popup will stick around when you click on the key. Then you can click on the X. The UI here probably isn't super intuitive, sorry about that - this hovering popup sort of thing was just something that happened to be easy to do in the UI library I'm using.

I'll attempt to come up with something better. Like, maybe have the list somewhere in the dialog, where it's persistent? Maybe that would be clearer? Or maybe just add a little message.

This is useful feedback! - thanks :D

--Tom
User avatar
daveejhitchins
Posts: 6339
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: b2 - new emulator

Post by daveejhitchins »

tom_seddon wrote:
Sun Apr 04, 2021 5:16 pm
The popup will stick around when you click on the key. Then you can click on the X. The UI here probably isn't super intuitive, sorry about that - this hovering popup sort of thing was just something that happened to be easy to do in the UI library I'm using.
On my Mac the popup doesn't stick around, sorry! So no way to get-at the delete 'x' . . .

Davev H.
User avatar
cardboardguru
Posts: 202
Joined: Fri Mar 09, 2018 10:26 pm
Contact:

Re: b2 - new emulator

Post by cardboardguru »

I found a couple of subtle bugs in teletext handling on b2. Here's some output from b2:
Screenshot 2021-04-08 at 13.04.21.png
Here's how it looks on jsbeeb (which I've confirmed with a real beeb is correct).
Screenshot 2021-04-08 at 13.04.11.png
The visually obvious difference is the first line, where the "separated graphics" control code, shouldn't start showing mosaics, unless there's also a code to set graphics. (In the second line a "blue graphics" control code.)

However there's also a subtler bug in the character definition. See how the top gap between the mosaics doesn't line up:
Screenshot 2021-04-08 at 13.06.33.png
They're not very important bugs. I only spotted them because it showed up by chance in the title screen for my game. See that on every other line, the bricks aren't quite uniform. I actually don't mind it, it makes for a bit of variety in the bricks! But I thought I better report it.
Screenshot 2021-04-08 at 13.26.06.png
tom_seddon
Posts: 468
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Re: b2 - new emulator

Post by tom_seddon »

cardboardguru wrote:
Thu Apr 08, 2021 1:29 pm
I found a couple of subtle bugs in teletext handling on b2. Here's some output from b2:
Excellent, good spot and thanks for reporting them! - I'll get these fixed at some point in the coming weeks.

--Tom
Post Reply

Return to “8-bit acorn emulators”