RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    BBC Micro / Acorn Electron Emu

    Scheduled Pinned Locked Moved Ideas and Development
    bbcacornmodel belectronbbc micro
    178 Posts 9 Posters 48.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Folly @retrofan
      last edited by Folly

      @retrofan

      I looked at the help of matchbox-window-manager.
      If we add -use_titlebar no the window is gone.
      But the side effect will be that there is no way of exiting the emulator.

      Well you can open a new terminal (for example : ctrl+alt+F2) and poweroff the pi but that is not what we want.

      Perhaps there is a way if we put a kill command in the starter script that is activated when pressing a specific button.
      Just an idea, I will look at it when I can.

      1 Reply Last reply Reply Quote 0
      • R
        retrofan
        last edited by

        @folly

        I am currently using an LCD TV, maybe this fork is adapted to monitor resolutions and that's why full screen works.
        Tried with both lr_mame and lr_mess, but they are too slow and definitely suitable only for Pi4.
        Thanks for the matchbox-window-manager tip, I'll try that too.
        It's really interesting to play with this emulator, I'm thinking of trying to compile a standard b-em installation on the Raspbian desktop OS and try its full features.
        We will see, this has been a long day, but a successful one. ;)

        F 1 Reply Last reply Reply Quote 0
        • F
          Folly @retrofan
          last edited by

          @retrofan

          I added a post in Grahams thread, perhaps I will get a response.
          But the thread isn't that much alive.
          https://stardot.org.uk/forums/viewtopic.php?f=4&t=21985&p=322048#p322048

          The standard b-em compiles very easy if you know what packages to install.
          But it doesn't work at full speed on the RPI3/4.
          You have to put the speed on 400% or 500% and it will stutter a bit.
          That is why I choose the Graham's fork.

          Add dependencies (I think you need these, but perhaps you need more) :

          sudo apt install build-essential cmake
          sudo apt install liballegro5-dev liballegro-audio5-dev liballegro-acodec5-dev liballegro-image5-dev liballegro-dialog5-dev liballegro-video5-dev
          

          Compile :

          ./autogen.sh && ./configure && make
          

          You can search in other threads on stardot, perhaps you can find something useful for the RPI.

          R 1 Reply Last reply Reply Quote 0
          • R
            retrofan @Folly
            last edited by

            @folly

            Thanks Folly.
            Just tried it and you're right, standard b-em is a noticeably slower than Graham fork, on pi3.
            btw, there's one more thing worth fixing.
            By default the mouse pointer always appears in the center of the screen and it would be far better to be moved to the upper right corner and not spoil the startup beeb screen.
            I looked in the source code a bit, but I can't find where the start coordinates are stored.
            Could you maybe take a look, if there's a chance this can be sorted out ?

            F 1 Reply Last reply Reply Quote 0
            • F
              Folly @retrofan
              last edited by Folly

              @retrofan

              EDIT : I added all the fixes in my module-scripts :
              github_commit_link
              Fixing bbcmicro module-scripts :
              - changing a compiling line depending on the platform RPI4 or something else (RPI3 tested)
              - no window border anymore
              - no mouse pointer anymore
              - quit is possible with (ctrl+c)


              The mouse pointer is from the matchbox-windows-manager.

              For all the problems I have found a solution.
              Adding config-options to matchbox-windows-manager in :
              /opt/retropie/emulators/b-em-pico-pi/xmaster.sh

              #!/bin/bash
              xset -dpms s off s noblank
              matchbox-window-manager -use_titlebar no -use_cursor no -kbdconfig /opt/retropie/ports/b-em-pico_pi/matchbox_shortcuts &
              /opt/retropie/emulators/b-em-pico-pi/xmaster -disc "$1"
              

              Adding a keyboard-shortcut-file /opt/retropie/ports/b-em-pico_pi/matchbox_shortcuts :

              <ctrl>c=close
              

              So now it's possible to :

              • have no window border anymore
              • have no mouse pointer anymore
              • quit with (ctrl+c)

              I tried to set the <escape> button, but up til now I had no luck with this.
              It's an early discovery, I have not added it to my module-scripts yet.

              I found the solutions running the help :

              matchbox-window-manager -h
              

              And looking at these pages :
              https://unix.stackexchange.com/questions/223110/what-are-the-keyboard-shortcuts-for-matchbox-window-manager
              http://git.yoctoproject.org/cgit.cgi/matchbox-history/plain/matchbox-documentation/manual/matchbox-manual.xml

              R 1 Reply Last reply Reply Quote 0
              • R
                retrofan @Folly
                last edited by retrofan

                @folly

                It’s a great finding, now everything works and looks almost like a real beeb. ;)
                In the meantime, I noticed some lag when typing.
                I don't think it's related to these latest changes, but it's easiest to notice if you hold down a key and observe the auto repeat function.
                At the beginning, the letters are printed smoothly, but then it starts to get stuck at irregular intervals and it seems that the emulator cannot catch up with all the keyboard input.
                This doesn't happen on PC emulators, maybe pi 3 doesn't have enough horse power, so it would be worth trying on Pi4.
                I tested with a wired and wifi keyboard, but it behaves the same...

                F 1 Reply Last reply Reply Quote 0
                • F
                  Folly @retrofan
                  last edited by Folly

                  @retrofan

                  I had the same issue when using the pi3.
                  It kept jumping with the game Blagger.

                  Perhaps we have to add frameskipping for the RPI3.
                  Frameskipping is selectable in the qui.
                  (Edit : It seems I have no key lag with frame skip = 4)

                  The installation was ok on my pi4.
                  And I detected no lag with the keys on the pi4.

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    retrofan @Folly
                    last edited by retrofan

                    @folly

                    Yes, it seems that even pi3+ isn't strong enough for b-em.
                    I was surprised that the frame drop during the key auto repeat process went from 50 fps, all the way below 30 fps and back.
                    I don't think there's any point in lowering the resolution below 640x480, because the image quality drops quite a bit.
                    On the other hand, I've never liked frame skipping, so I'll try to explore some more tweaking options or buy pi4, as the easiest solution. ;)
                    It's really a pity, that after almost a whole decade, there's still no solution for a sound issue with a beebem on a Raspberry Pi, because it's also a great emulator, less demanding than b-em.

                    F 1 Reply Last reply Reply Quote 0
                    • F
                      Folly @retrofan
                      last edited by Folly

                      @retrofan

                      Too bad it's not that great on the RPI3, indeed you can consider a RPI4.
                      RPI4 is really nice !

                      Well if you only want a go with bbc-micro you can still try this solution on RPI3 :
                      https://retropie.org.uk/forum/topic/29402/bbc-micro-acorn-electron-emu/57
                      Beware of what mitu told !, Not supported, but if you only use it for bbcmicro, who cares.

                      The framerate is much better.
                      But you have to remove the platform check in the updated module-script.
                      (you can just change rpi4 into rpi3, that will work)

                      Edit: I tried again and with this solution and it works just as fast as on a rpi4 !
                      This morning I had some blackouts in the desktop with the exp driver on.
                      Could be a power-supply issue, but could also be related to the exp driver though, so be aware of it !

                      R Lister of SmegL 2 Replies Last reply Reply Quote 0
                      • R
                        retrofan @Folly
                        last edited by

                        @folly

                        I did the whole procedure with full GL Driver enabled, compiled ES from source and emulator works, but I have no sound at all in the whole retropie system.
                        There is no HDMI option in the audio setup, only the Headphone, setting audio to default does not help.
                        With fake GL Driver, the sound worked, still every entry in any option in the ES menu gives an error:
                        VolumeControl :: init () - Failed to find mixer elements!
                        Once again I reinstalled ES from source, but without success and now I have no idea how to fix this.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          segasonic @retrofan
                          last edited by

                          @retrofan said in BBC Micro / Acorn Electron Emu:

                          VolumeControl :: init () - Failed to find mixer elements!

                          Edit 'es_settings.cfg' and change 'AudioDevice' to 'HDMI'. I think it's set to PCM by default.

                          R 1 Reply Last reply Reply Quote 0
                          • R
                            retrofan @segasonic
                            last edited by retrofan

                            @segasonic

                            Nope, HDMI is already there, but the sound doesn't work at all with the full GL driver and there are no hdmi options in the Audio settings.
                            With fake GL, sound works, with the bunch of error message I mentioned and hdmi option exist in audio settings.
                            Everything is installed from scratch, following Folly's instructions, step by step.
                            btw, the emulator speed is really good, but there's still the same occasional stuttering with the keys auto repeat function, not only in the emulator, but also in the ES menu, when we press and hold the up/down keys.
                            Maybe there is a problem in some keyboard buffer, which overflows and creates this issue ?
                            I'm really stuck here...

                            F 1 Reply Last reply Reply Quote 0
                            • F
                              Folly @retrofan
                              last edited by Folly

                              @retrofan

                              Thanks for setting your mind to it !
                              We already learned quite some stuff here ;-)

                              Looks like we are now a bit out of options here.
                              I will have look at it once more.
                              Can't promise anything though.

                              I am now on the fake KMSjust to test if I get a black screen again with this.
                              So on this setting I used raspi-config to change audio between HDMI or Headphone. (see -> system options)
                              It works with both outputs here.
                              Indeed, strange that this doesn't work with emulationstation though.
                              But there have been audio issues before like this because of updates.
                              Perhaps emulationstation is not yet well adapted to these updates.

                              btw. this is how you can run the emulator from the cli without using emulationstation :
                              /opt/retropie/supplementary/runcommand/runcommand.sh 0 SYS bbcmicro /home/pi/RetroPie/roms/bbcmicro/your_game.ssd

                              R 1 Reply Last reply Reply Quote 0
                              • R
                                retrofan @Folly
                                last edited by

                                @folly

                                Yes, I also have hdmi sound with fake GL driver but I can't get it at all with full one, within ES or cli.
                                Do you have a sound with full GL drivers, maybe I missed something after all ?
                                Frankly, I don't know what the difference is between a full and fake GL driver, but the speed is now at stable 50 fps and the image renders better than legacy drivers, without crisp edges etc.
                                As for the key auto repeat issue, I played around a bit with the governor within the runcommand setting and the "performance" option seems to be the best choice.
                                In these few days, great progress has been made, thanks to you, and this is now just a desire for perfection. ;)

                                F 1 Reply Last reply Reply Quote 0
                                • F
                                  Folly @retrofan
                                  last edited by

                                  @retrofan

                                  I tested full KMS again.
                                  No hdmi sound also and black screen again in Desktop. ;-(
                                  So no success with this option either.

                                  1 Reply Last reply Reply Quote 0
                                  • Lister of SmegL
                                    Lister of Smeg @Folly
                                    last edited by Lister of Smeg

                                    @folly
                                    Hi, just a quick fyi
                                    I may be late to the party but I have had b-em 2.2 from http://b-em.bbcmicro.com (actually i'm using a slightly updated fork but can't remember where I got it from - if you want I can upload my install folder somehow?) running fullscreen/fullspeed/fullsound on a pi3 - stretch
                                    It's old, but it works great for games
                                    btw - thanks for your work on the electron

                                    *edit - link for version I use (games removed)
                                    https://www109.zippyshare.com/v/uWq1jLsJ/file.html

                                    F 1 Reply Last reply Reply Quote 1
                                    • F
                                      Folly @Lister of Smeg
                                      last edited by

                                      @lister-of-smeg

                                      That is interesting.

                                      I will have a look at that, when I can.

                                      Lister of SmegL 1 Reply Last reply Reply Quote 0
                                      • Lister of SmegL
                                        Lister of Smeg @Folly
                                        last edited by

                                        @folly
                                        hope it's useful for someone
                                        I think your solutions for the electron emulator should only take minor tweaking to get this scripted and working - applying cea-17 at the run command gives a resolution for full screen that just about lets the (f11) gui be seen (at least that is what i'm using)
                                        sorry about the poor photos - they're only to give you a rough idea of what's possible
                                        IMG_20210702_155335548.jpg IMG_20210702_155249017.jpg IMG_20210702_155213795.jpg

                                        F 1 Reply Last reply Reply Quote 1
                                        • F
                                          Folly @Lister of Smeg
                                          last edited by

                                          @lister-of-smeg

                                          I never had issues, not seeing the (f11) menu.
                                          I will have try on my tv.

                                          Lister of SmegL 1 Reply Last reply Reply Quote 0
                                          • Lister of SmegL
                                            Lister of Smeg @Folly
                                            last edited by

                                            @folly
                                            admittedly I am still using the stretch image so there may be differences as compared with buster - but as far as just playing games?, a little bit of a missing menu is definitely not a deal breaker (for me at least) & I know stretch isn't supported anymore so don't worry too much
                                            photo from electron emu on stretch
                                            IMG_20210702_174246333.jpg

                                            F 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.