Beebem on Github

Got a programming project in mind? Tell everyone about it!
User avatar
pstnotpd
Posts: 392
Joined: Wed Jan 20, 2010 11:05 am

Re: Beebem on Github

Postby pstnotpd » Sun Mar 26, 2017 2:40 pm

chrisn wrote:Thanks, but really I need the pull request to be on a topic branch rather than master. I'd like to keep the commit history as linear as possible - much the same as the approach taken with B-Em (see the guidance here: https://github.com/stardot/b-em/blob/ma ... PATCHES.md).

In updating to VS2015 I created new project files rather than upgrading the existing ones, to reduce the amount of cruft introduced. Both the Debug and Release configurations work for me (x86 only, I haven't tested x64). But if there's an issue with these, I'd prefer to fix it in a separate pull request.

#-o
Hmm, if you want me to do it exactly like that it will have to wait for a while as I took a different approach. I branced from 4.14, made that build with the Sprow code, then merged in the master branch to add the latest changes and after that one built I pushed it back on my master branch. No rebasing as I've found that a bit unpredictable.

I can push the work branch if you can work with that, but if not then I'll have to start from the beginning again.....

User avatar
pstnotpd
Posts: 392
Joined: Wed Jan 20, 2010 11:05 am

Re: Beebem on Github

Postby pstnotpd » Sun Mar 26, 2017 3:40 pm

pstnotpd wrote:I've mailed Robert Sprowson to see if he'd agree on adding the rom image for the ARM7TDMI as it is his IP obviously.


I've just received a reply from Robert that he's ok with including the rom image with beebem as long as he's duly credited and documentation points to the his site so that people can order the real thing.
That sounds fine to me, provided any accompanying docs/readmes point to
http://www.sprow.co.uk/bbc/armcopro.htm
so people can get the real thing (and the support material).
......
Robert.


Many thanks to Sprow! =D> =D> =D> =D>

chrisn
Posts: 298
Joined: Sat Apr 19, 2014 11:31 am
Location: UK

Re: Beebem on Github

Postby chrisn » Sun Mar 26, 2017 4:01 pm

pstnotpd wrote:
chrisn wrote:Thanks, but really I need the pull request to be on a topic branch rather than master. I'd like to keep the commit history as linear as possible - much the same as the approach taken with B-Em (see the guidance here: https://github.com/stardot/b-em/blob/ma ... PATCHES.md).

#-o
Hmm, if you want me to do it exactly like that it will have to wait for a while as I took a different approach. I branced from 4.14, made that build with the Sprow code, then merged in the master branch to add the latest changes and after that one built I pushed it back on my master branch. No rebasing as I've found that a bit unpredictable.

I can push the work branch if you can work with that, but if not then I'll have to start from the beginning again.....

:( Sorry... I was expecting a pull request on a topic branch based on the current HEAD at master. I find the rebase workflow works pretty well. Can I take a look at your work branch? :-k But if I merge this, the stardot master will have diverged from yours so you'd likely have to do: git reset --hard origin/master.

Edit: I just added a developer guide (based on the B-Em one): https://github.com/stardot/beebem-windows/wiki

User avatar
pstnotpd
Posts: 392
Joined: Wed Jan 20, 2010 11:05 am

Re: Beebem on Github

Postby pstnotpd » Sun Mar 26, 2017 4:27 pm

chrisn wrote:Can I take a look at your work branch? :-k But if I merge this, the stardot master will have diverged from yours so you'd likely have to do: git reset --hard origin/master.


I had just stashed away the development laptop for the week. :lol:
Anyway, I now pushed my work branch to my own fork for you to have a look at. It's the same as the master as the last thing I did was merge this to my master branch before the pull request.

https://github.com/pstnotpd/beebem-wind ... owArmCopro

If that will work for you I can create a new pull request based on this branch and you can reject the old one. As far as I'm aware all commits from the stardot master should be in there.

Before I then actually create the pull request I'll add the rom image and the references to Sprow's site as requested. My image is OS 0.40 which is not the latest.

B.t.w. I usually ditch my working copy anyway so being out of sync is no problem.

User avatar
ctr
Posts: 93
Joined: Wed Jul 16, 2014 2:53 pm

Re: Beebem on Github

Postby ctr » Sun Mar 26, 2017 4:41 pm

pstnotpd wrote:then I'll have to start from the beginning again.....


This is probably a bit late, but sorting out the git side of things is really not that bad. Starting from the contents of your pull-request:

git checkout -b sprow-copro
git reset 2fde97

Now you have a topic branch (sprow-copro) with a simple linear history from upstream and your uncommitted changes in the working directory. (Edited for clarity.)

To fix the project file revert to the original:

git checkout -- BeebEm.vcxproj*

and add in the new files.

Use "git add *" and "git commit" to finish off.

User avatar
pstnotpd
Posts: 392
Joined: Wed Jan 20, 2010 11:05 am

Re: Beebem on Github

Postby pstnotpd » Sun Mar 26, 2017 5:00 pm

Well as you can see in my fork I branched from the 4.14 tag as I obviously got that working in my previous attempt. I wanted to make sure it built 4.14+Sprow correctly before applying the upstream changes as trying to figure out any conflicts starting from the HEAD would imho be more complicated.

The project file changes look a bit more complicated than that. I at least needed extra directives and Kieran apparently used some different settings for his 4.12 build at the time.

Just adding the files to the project and filter files definitely gave weird errors. That's why I decided to try my own first.

Anyway, I'll hold off until chrisn requests to got the "official" route if my workbranch turns out to be unusable. That'll be next weekend then (this is a bit of a time consuming hobby project)

chrisn
Posts: 298
Joined: Sat Apr 19, 2014 11:31 am
Location: UK

Re: Beebem on Github

Postby chrisn » Sun Mar 26, 2017 9:04 pm

pstnotpd wrote:Well as you can see in my fork I branched from the 4.14 tag as I obviously got that working in my previous attempt. I wanted to make sure it built 4.14+Sprow correctly before applying the upstream changes as trying to figure out any conflicts starting from the HEAD would imho be more complicated.

The project file changes look a bit more complicated than that. I at least needed extra directives and Kieran apparently used some different settings for his 4.12 build at the time.

Just adding the files to the project and filter files definitely gave weird errors. That's why I decided to try my own first.

Anyway, I'll hold off until chrisn requests to got the "official" route if my workbranch turns out to be unusable. That'll be next weekend then (this is a bit of a time consuming hobby project)

I've just created a new branch with your additions here: https://github.com/stardot/beebem-windo ... prow-copro. Does this look OK? As it turned out there weren't any conflicts with the other changes on master. I added a commit to add the files to the existing project, with the MODET, MODE32, and BEEBEM preprocessor definitions. It builds fine but there are a few warnings, the most significant being:

Code: Select all

ARMulator\armsupp.c(640): warning C4033: 'ARMul_MRC' must return a value

Do you want to add the ROM image and update the documentation (eg, the HTML in the Help directory), or I could do it if you like?

You also mentioned a problem with the speed settings. Should we raise this as a separate GitHub issue?

User avatar
pstnotpd
Posts: 392
Joined: Wed Jan 20, 2010 11:05 am

Re: Beebem on Github

Postby pstnotpd » Mon Mar 27, 2017 6:12 pm

chrisn wrote:https://github.com/stardot/beebem-windows/tree/chrisn/sprow-copro.

Code: Select all

ARMulator\armsupp.c(640): warning C4033: 'ARMul_MRC' must return a value

Do you want to add the ROM image and update the documentation (eg, the HTML in the Help directory), or I could do it if you like?

You also mentioned a problem with the speed settings. Should we raise this as a separate GitHub issue?


Looks good to me. I'm not on my Dev laptop now so I can't check if it actually builds but I'm quite sure it will as you report it merged smoothly.

My own sprow rom image is taken from my actual machine many years ago and is still at 0.40. If anyone has a current 0.45 image that would be a better addition. Even better would be an updated 0.45 version with jgharston's module handler changes.

I realized today that I noticed the same speed behavior on my linux dev laptop back when I was building scheme and pforth. I remember adjusting the key repeat rate through *fx to compensate at the time. But I think this issue should be addressed at some point.

I've tried to contact Kieran Mockford through linkedin (if that's him) to properly attribute everything.

User avatar
ctr
Posts: 93
Joined: Wed Jul 16, 2014 2:53 pm

Re: Beebem on Github

Postby ctr » Tue Mar 28, 2017 5:50 pm

lurkio wrote:
chrisn wrote:unless anyone has other changes they want to add, the plan for 4.15 is ...
When it's ready I'll contact Mike about hosting the download on his BeebEm webpage.

Sadly I don't have the skills to contribute to BeebEm development, so obviously you can tell me to go boil my head, but I wonder whether it might also be worth someone looking into the 8271 emulation bug, a long-standing and apparently quite significant bug, which Dave/hoglet has already found a fix for in B-em, as the same bug seems to be present in BeebEm too..?

:?:


I had a crack at this if anyone wants to try it. I'll put in a pull request after I've done one for my video fix.

And separately:

chrisn wrote:I've just created a new branch with your additions here: https://github.com/stardot/beebem-windo ... prow-copro. Does this look OK? As it turned out there weren't any conflicts with the other changes on master. I added a commit to add the files to the existing project, with the MODET, MODE32, and BEEBEM preprocessor definitions. It builds fine but there are a few warnings


It builds for me too (with similar warnings) so the PR is basically sound.

User avatar
pstnotpd
Posts: 392
Joined: Wed Jan 20, 2010 11:05 am

Re: Beebem on Github

Postby pstnotpd » Tue Mar 28, 2017 7:24 pm

Ok, let's wrap this one up then. When I'm back on my Dev laptop I'll add the Sprow rom 0.40 and relevant attributions as far as possible.

I've seen the warnings as well, but they don't seem to have any impact so far.

@chrisn: am I allowed to push to the branch, or should I push to my fork for you to pick up?

User avatar
lurkio
Posts: 1156
Joined: Tue Apr 09, 2013 11:30 pm
Location: Doomawangara
Contact:

Re: Beebem on Github

Postby lurkio » Wed Mar 29, 2017 12:15 pm

ctr wrote:
lurkio wrote:
chrisn wrote:unless anyone has other changes they want to add, the plan for 4.15 is ...
When it's ready I'll contact Mike about hosting the download on his BeebEm webpage.

Sadly I don't have the skills to contribute to BeebEm development, so obviously you can tell me to go boil my head, but I wonder whether it might also be worth someone looking into the 8271 emulation bug, a long-standing and apparently quite significant bug, which Dave/hoglet has already found a fix for in B-em, as the same bug seems to be present in BeebEm too..? :?:

I had a crack at this if anyone wants to try it.

Sorry for being thick, but how do I try your fix? Is there a .exe I can download? Or can it only be built from source (in which case I'm out!)?

:?:

User avatar
ctr
Posts: 93
Joined: Wed Jul 16, 2014 2:53 pm

Re: Beebem on Github

Postby ctr » Wed Mar 29, 2017 3:41 pm

lurkio wrote:Sorry for being thick, but how do I try your fix? Is there a .exe I can download? Or can it only be built from source (in which case I'm out!)?

I've put a .exe here. If it won't start you might need the runtime files for the new compiler.

Use at your own risk: I can't guarantee my PC is free of diseases, etc.

chrisn
Posts: 298
Joined: Sat Apr 19, 2014 11:31 am
Location: UK

Re: Beebem on Github

Postby chrisn » Wed Mar 29, 2017 7:20 pm

pstnotpd wrote:Ok, let's wrap this one up then. When I'm back on my Dev laptop I'll add the Sprow rom 0.40 and relevant attributions as far as possible.

I've seen the warnings as well, but they don't seem to have any impact so far.

@chrisn: am I allowed to push to the branch, or should I push to my fork for you to pick up?

Sorry for the delay, I just added you as a collaborator so you can push directly to the chrisn/sprow-copro branch, but please let me merge into the master branch. Or if you prefer I can pick up the change from your fork.

User avatar
pstnotpd
Posts: 392
Joined: Wed Jan 20, 2010 11:05 am

Re: Beebem on Github

Postby pstnotpd » Sat Apr 01, 2017 9:17 am

chrisn wrote:Sorry for the delay, I just added you as a collaborator so you can push directly to the chrisn/sprow-copro branch, but please let me merge into the master branch. Or if you prefer I can pick up the change from your fork.


I just tried to push my changes to the chrisn/sprow-copro branch but I get access denied.

EDIT: My bad, I forgot to accept your invite. #-o #-o #-o

branch updated with the 0.40 rom with permission from Robert Sprowson
http://www.sprow.co.uk/bbc/armcopro.htm

And added attributions to Kieran Mockford and Sprow in README-SPROW.txt

P.S. I also adjusted the optimization setting to full which seems to make it behave better with the speed settings.

chrisn
Posts: 298
Joined: Sat Apr 19, 2014 11:31 am
Location: UK

Re: Beebem on Github

Postby chrisn » Sat Apr 01, 2017 1:25 pm

pstnotpd wrote:branch updated with the 0.40 rom with permission from Robert Sprowson
http://www.sprow.co.uk/bbc/armcopro.htm

And added attributions to Kieran Mockford and Sprow in README-SPROW.txt

P.S. I also adjusted the optimization setting to full which seems to make it behave better with the speed settings.

This is great :D I'll merge the branch now.

User avatar
pstnotpd
Posts: 392
Joined: Wed Jan 20, 2010 11:05 am

Re: Beebem on Github

Postby pstnotpd » Sat Apr 01, 2017 4:10 pm

:)

I've had a reply from Jonathan. He'll have a look at his module handler patches so perhaps at some point we can add the patched rom to the project. I've been digging around in my old yagarto builds for scheme and pforth. I guess I'll set everything up on my own github account and when I got it back working I'll notify you guys to fork to stardot if you'd like.

chrisn
Posts: 298
Joined: Sat Apr 19, 2014 11:31 am
Location: UK

Re: Beebem on Github

Postby chrisn » Wed Apr 05, 2017 12:57 pm

We're nearly ready to publish a v4.15 release. I have a opened a pull request with updates to the CHANGES.txt file and HTML documentation. Are there any other changes we want to include in this release?

User avatar
ctr
Posts: 93
Joined: Wed Jul 16, 2014 2:53 pm

Re: Beebem on Github

Postby ctr » Wed Apr 05, 2017 2:14 pm

chrisn wrote:Are there any other changes we want to include in this release?


I've just put in a pull request for the 8271 fix mentioned above. Following that I've got a fix for "File | Capture Video", which records sound but only the first frame of video on Windows 10 (and maybe Windows 8 ). It would be nice if someone else could reproduce this, because it might just be something weird with my computer.

chrisn
Posts: 298
Joined: Sat Apr 19, 2014 11:31 am
Location: UK

Re: Beebem on Github

Postby chrisn » Wed Apr 05, 2017 2:34 pm

ctr wrote:I've just put in a pull request for the 8271 fix mentioned above. Following that I've got a fix for "File | Capture Video", which records sound but only the first frame of video on Windows 10 (and maybe Windows 8 ). It would be nice if someone else could reproduce this, because it might just be something weird with my computer.

This is excellent, the 8271 fix works well! =D> I have the same problem with video capture on Windows 10. I don't have a Windows 8 machine to test on.

mjwoodcock
Posts: 1
Joined: Thu Apr 06, 2017 9:07 am

Re: Beebem on Github

Postby mjwoodcock » Thu Apr 06, 2017 10:07 am

So, I just found this thread.

I see that stardot has forked my BeebEm repo (https://github.com/mjwoodcock/beebem). I think it's right that startdot should have the master repo, so I was going to delete my fork. I just wanted to check to make sure I won't screw anybody over if I do that. Could somebody confirm that I'm OK to delete my copy, please?

User avatar
SimonSideburns
Posts: 251
Joined: Mon Aug 26, 2013 8:09 pm
Location: Purbrook, Hampshire
Contact:

Re: Beebem on Github

Postby SimonSideburns » Thu Apr 06, 2017 12:59 pm

ctr wrote:
chrisn wrote:Are there any other changes we want to include in this release?


Following that I've got a fix for "File | Capture Video", which records sound but only the first frame of video on Windows 10 (and maybe Windows 8 ). It would be nice if someone else could reproduce this, because it might just be something weird with my computer.


Happened to me too recently when trying to load the Intro music/animation on the game Powerplay to upload to Youtube. I'm on 64-bit Windows 10.
I'm writing a game where you can change your character from a Wizard to a monkey to a cat.

Well, Imogen that!

User avatar
ctr
Posts: 93
Joined: Wed Jul 16, 2014 2:53 pm

Re: Beebem on Github

Postby ctr » Sat Apr 08, 2017 9:37 pm

SimonSideburns wrote:Happened to me too recently when trying to load the Intro music/animation on the game Powerplay to upload to Youtube. I'm on 64-bit Windows 10.


Cheers. It seems to be a bug in the Video for Windows API. Part of it just doesn't work any more. The API is a quarter of a century old this year, so I guess there isn't much software still using it.

tom_seddon
Posts: 78
Joined: Mon Aug 29, 2005 11:42 pm
Contact:

Re: Beebem on Github

Postby tom_seddon » Sat Apr 08, 2017 10:12 pm

I'm using Media Foundation to produce videos. It's pretty easy to get started with (you can basically copy the tutorial, which only omits one detail), and it's generally sensible (like Video for Windows) rather than full bananas (like DirectShow).

Main issues with it are that there's no equivalent to AVISaveOptions, so if you want a codec selection/options GUI then you have to do that yourself, and there don't seem to be any lossless codecs. But for BBC output it looks like 800Kbps H264 video and 96Kbps AAC audio gets output that's good enough, so hopefully that sidesteps both issues.

User avatar
ctr
Posts: 93
Joined: Wed Jul 16, 2014 2:53 pm

Re: Beebem on Github

Postby ctr » Sat Apr 08, 2017 11:00 pm

I'm just reading about Media Foundation! I've got a workaround for the Video for Windows bug so beebem is recording AVI again.

My laptop (which is about six years old) can encode 640x480 H264 in a little better than real-time so older hardware would struggle if beebem switched to H264 only. However, I've no idea what hardware people are actually using.

I was hoping to find a Windows API where I could offer a choice between AVI and something more modern, but there doesn't seem to be one. I could just add Media Foundation support alongside the existing AVI code.

User avatar
pstnotpd
Posts: 392
Joined: Wed Jan 20, 2010 11:05 am

Re: Beebem on Github

Postby pstnotpd » Sun Apr 09, 2017 9:16 am

ctr wrote:I've got a workaround for the Video for Windows bug so beebem is recording AVI again.


I just did a fresh build from the stardot master branch but it doesn't work for me. (W10-64) The avi file just shows a black screen and when ending the video "emulates" a stuck key.

User avatar
ctr
Posts: 93
Joined: Wed Jul 16, 2014 2:53 pm

Re: Beebem on Github

Postby ctr » Sun Apr 09, 2017 10:08 am

pstnotpd wrote:I just did a fresh build from the stardot master branch but it doesn't work for me. (W10-64) The avi file just shows a black screen and when ending the video "emulates" a stuck key.


What are you playing the video on? The new "Films & TV" app is the default AVI player in Windows 10 but it can't play run-length encoded AVI files. Windows Media Player and VLC work.

User avatar
pstnotpd
Posts: 392
Joined: Wed Jan 20, 2010 11:05 am

Re: Beebem on Github

Postby pstnotpd » Mon Apr 10, 2017 5:33 pm

ctr wrote:What are you playing the video on? The new "Films & TV" app is the default AVI player in Windows 10 but it can't play run-length encoded AVI files. Windows Media Player and VLC work.


Yep that must be the problem then :D


Return to “projects”

Who is online

Users browsing this forum: No registered users and 1 guest