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.4k 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 have never tested it on the rpi2/3.
      But I think it should work.
      Did you have a look at your RetroPie log after trying this ?
      Unzip the latest/specific one from /home/pi/RetroPie-Setup/logs .
      Have a look in there and see what is going wrong.
      Otherwise you can put it on pastebin.com and link to it in the post.
      Don't know if I can fix this, but then I can have a look at the log.

      Edit:
      I did a quick test on my old RPI3 and I updated RetroPie-Setup.
      My RPI3 is still on "stretch" so the b-em package would not compile because it requires a higher version of "cmake".
      That said, you must at least run "buster" on your RPI2/3.

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

        @folly said in BBC Micro / Acorn Electron Emu:

        @retrofan

        I have never tested it on the rpi2/3.
        But I think it should work.
        Did you have a look at your RetroPie log after trying this ?
        Unzip the latest/specific one from /home/pi/RetroPie-Setup/logs .
        Have a look in there and see what is going wrong.
        Otherwise you can put it on pastebin.com and link to it in the post.
        Don't know if I can fix this, but then I can have a look at the log.

        Edit:
        I did a quick test on my old RPI3 and I updated RetroPie-Setup.
        My RPI3 is still on "stretch" so the b-em package would not compile because it requires a higher version of "cmake".
        That said, you must at least run "buster" on your RPI2/3.

        Thanks for the reply Folly,

        Today I did the whole procedure again from scratch and new micro SD card.
        The latest Retropie v4.7.1 with fully updated Raspbian Buster is installed.
        Then I ran your script from here and successfully (no errors) installed b-em-pico from retropie_setup.
        I got xbeeb (562,092 bytes), xbeeb.sh, xmaster (1,662,108 bytes) and xmaster.sh in the /opt/retropie/emulators/b-em-pico folder, as well as the following content in emulators.cfg
        xbeeb = "XINIT: /opt/retropie/emulators/b-em-pico-pi/xbeeb.sh ROM%"
        default = "xbeeb"
        xmaster = "XINIT: /opt/retropie/emulators/b-em-pico-pi/xmaster.sh ROM%"
        When I start a game from emulationstation, the familiar BBC B startup sound is heard at the very beginning and the emulator window box is briefly displayed, then everything crashes and returns to the emulationstation menu.
        In the log file from /dev/shm/runcommand.log, you can see the same error message that MrNoHolster described.
        https://pastebin.com/FfKRkbVm
        Both xbeeb and xmaster behave the same, on Pi2 and Pi3A +, which I used.
        Here are all the relevant files, which may help solve this problem.
        https://www3.zippyshare.com/v/riPCv8XI/file.html
        I really wanted to try this emulator, especially the BBC Master model, and I hope that it will be possible to resolve this...

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

          @retrofan

          It looks like a problem with xinit, which cannot find the correct resolution.

          If I have some time I will upgrade my pi3 and see what happens.

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

            @folly said in BBC Micro / Acorn Electron Emu:

            @retrofan

            It looks like a problem with xinit, which cannot find the correct resolution.

            If I have some time I will upgrade my pi3 and see what happens.

            Thanks Folly, really appreciate it.

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

              @retrofan

              Seems like I have some problem too.
              The match-box isn't used if I boot it from the cli.
              Normally I use the desktop environment, so I wasn't aware of this problem.

              I tried my older "port" version.
              That worked ok.

              Can you try that for me ?
              It can't open disk files, but it does contain some demo's and a game.

              My advice is to de-install and remove the emulator version from your RetroPie-Setup to avoid conflicts.(edit:seems not nessesary !, both can work alongside each other)

              Get the port version with :

              wget -nv -O /home/pi/RetroPie-Setup/scriptmodules/ports/b-em-pico_pi.sh https://raw.githubusercontent.com/FollyMaddy/RetroPie-Share/main/00-scriptmodules-00/ports/b-em-pico_pi.sh
              
              

              Then install it in the RetroPie-Setup.

              Let me know how it goes.

              I emulationstation you have to go to ports !

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

                @folly said in BBC Micro / Acorn Electron Emu:

                @retrofan

                Seems like I have some problem too.
                The match-box isn't used if I boot it from the cli.
                Normally I use the desktop environment, so I wasn't aware of this problem.

                I tried my older "port" version.
                That worked ok.

                Can you try that for me ?
                It can't open disk files, but it does contain some demo's and a game.

                My advice is to de-install and remove the emulator version from your RetroPie-Setup to avoid conflicts.(edit:seems not nessesary !, both can work alongside each other)

                Get the port version with :

                wget -nv -O /home/pi/RetroPie-Setup/scriptmodules/ports/b-em-pico_pi.sh https://raw.githubusercontent.com/FollyMaddy/RetroPie-Share/main/00-scriptmodules-00/ports/b-em-pico_pi.sh
                
                

                Then install it in the RetroPie-Setup.

                Let me know how it goes.

                I emulationstation you have to go to ports !

                Just tried it, unfortunately the exact same thing happens with this version, too.
                The emulator window with the mouse pointer in the middle appears for just a second, followed by the familiar startup sound and then returns to the emulation station menu, as before...

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

                  @retrofan

                  In my last post I ran a test part that I had not removed and that part wasn't working.
                  The original lines were ok.
                  So for the RPI4 the scripts seems to be working fine.

                  I have to test this on my RPI3.
                  This can take a while because I have to build up a new OS.
                  I will try to test this in the coming week.
                  When I do, I get back to you.

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

                    @retrofan

                    Edit :
                    You should skip this part and try this solution first :
                    https://retropie.org.uk/forum/topic/29402/bbc-micro-acorn-electron-emu/62

                    I hope I will be making YOUR DAY !
                    It looks like I found the solution for the RPI3 to run xbeeb and xmaster !

                    Edit :
                    Although this seems to work for xbeeb and xmaster it will break running emulationstation !
                    I found a fix for this too.
                    So read carefully !

                    Installation b-em-pico-pi from the RetroPie-Setup was OK.
                    So no compilation problems.

                    After trying it the first time, I had a look at the /dev/shm/runcommand.log.
                    It contained 2 errors :

                    • libEGL warning: DRI2: failed to authenticate
                    • ERROR(/home/pi/RetroPie-Setup/tmp/build/b-em-pico_pi/b-em-pico/src/pico/x_gui/x_gui.cpp:663) : failed to create texture

                    So it seems like the RPI3 is missing some video hardware or driver and that is why it fails to create the textures.

                    I had no idea where to look, but I had to do something in the raspi-config .
                    By accident I found that you can install an experimental full KMS openGL desktop driver.
                    ( Advanced Options -> GL driver - > GL (fake KMS) -> restart )
                    I installed it and now xbeeb and xmaster are working on the RPI3.
                    Edit: Reverting back to the normal driver seems not always possible !
                    Using (full KMS) there are many troubles like :
                    (so not advisable to use !)

                    - no sound from hdmi
                    - black screens, so you have to force a poweroff sometimes

                    As told at the beginning, the binary version of emulationstation doesn't work with this driver !
                    Also other things can break because RetroPie doesn't seem to support the experimental GL driver.

                    After enabling the GL driver I installed emulationstation from source and now both work !

                    When you reboot after installing the GL driver emulationstation will not work anymore.
                    Chances are that you come into the CLI enviroment.
                    From here you have to run the RetroPie-Setup :

                    cd RetroPie-Setup
                    sudo ./retropie_setup.sh
                    

                    Then install emulationstation from source again.
                    Reboot :

                    sudo reboot
                    

                    Now it should work, at least I hope so.

                    Let me know how it goes !

                    mituM 1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator @Folly
                      last edited by

                      @folly said in BBC Micro / Acorn Electron Emu:

                      By accident I found that you can install an experimental full KMS openGL desktop driver.
                      ( Advanced Options -> GL driver - > GL (full KMS) )

                      This will break an existing RetroPie install, since most emulators use the Broadcom GPU drivers (GLES) and not the KMS GL driver. Installing EmulationStation would fix the issue for it, but all the other emulators would need to be installed from source. Note that this is not a supported configuration on a RPI3 or less.

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

                        @mitu said in BBC Micro / Acorn Electron Emu:

                        @folly said in BBC Micro / Acorn Electron Emu:

                        By accident I found that you can install an experimental full KMS openGL desktop driver.
                        ( Advanced Options -> GL driver - > GL (full KMS) )

                        This will break an existing RetroPie install, since most emulators use the Broadcom GPU drivers (GLES) and not the KMS GL driver. Installing EmulationStation would fix the issue for it, but all the other emulators would need to be installed from source. Note that this is not a supported configuration on a RPI3 or less.

                        Yes indeed. I have mentioned this :

                        Also other things can break because RetroPie doesn't seem to support the experimental GL driver.

                        Do you have an idea of fixing this without using this experimental GL driver ?

                        mituM 1 Reply Last reply Reply Quote 0
                        • mituM
                          mitu Global Moderator @Folly
                          last edited by

                          @folly said in BBC Micro / Acorn Electron Emu:

                          Do you have an idea of fixing this without using this experimental GL driver ?

                          Convince the emulator to use software rendering and not rely on OpenGL.

                          F 2 Replies Last reply Reply Quote 0
                          • F
                            Folly @mitu
                            last edited by

                            @mitu

                            Ok, I should look at the flags on how it's compiling then.
                            No idea on where to look but i will have a look.

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

                              @mitu @retrofan

                              I had a look at the readme :
                              https://github.com/kilograham/b-em/blob/pico/README.md

                              As it says :

                              • YOU MUST NOT BE USING THE LEGACY VIDEO DRIVER.

                              I was thinking I could not use the legacy driver.

                              Reading further it says :

                              • You can run the Pi Build on other desktop Linuxes, omitting -DDRM_PRIME=1 if your driver doesn't support DRM_PRIME/DRI3. It will use the slower C CPU emulation, but that shouldn't be a problem on any recent desktop.

                              So I turned back to the legacy driver and rebooted.

                              I remove the part -DDRM_PRIME=1 in the module script and installed it again.

                              A bit slower, but now it worked without the experimental GL driver!

                              So @retrofan can you test this solution ?
                              Can you remove the two -DDRM_PRIME=1 parts in the module-script by yourself, for now ?

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

                                @folly

                                Just to confirm, it works !
                                Thanks Folly, you really made my day, just tried Stunt Car Racer and Prince of Persia, they work perfectly in 50fps. :)
                                Just a few questions:
                                Is it possible to run the emulator in full screen mode, this windowed box pretty much spoils the realism?
                                Can we started ssd images through the command prompt, without using ES ?
                                I have already read that there's no way to exit the emulator with a keyboard, only with the mouse.
                                Is there a way to solve this ?

                                Once again, thank you very much for your kind help.

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

                                  @retrofan said in BBC Micro / Acorn Electron Emu:

                                  @folly

                                  Just to confirm, it works !

                                  Great to hear !

                                  Thanks Folly, you really made my day, just tried Stunt Car Racer and Prince of Persia, they work perfectly in 50fps. :)

                                  Nice indeed.
                                  This emu isn't perfect, but with this some things can work that otherwise weren't possible.
                                  Btw. mine had only 15 fps with the second solution, but it ran ok.

                                  Just a few questions:
                                  Is it possible to run the emulator in full screen mode, this windowed box pretty much spoils the realism?

                                  The only way to make full screen is to turn off the aspect ratio.
                                  (but you will keep the match-box window).
                                  For now, there is no way, I think, to get around that window.
                                  I have tried, but then it gets very small and the keyboard isn't working then.
                                  Also there is no escape button programmed in the emulator.

                                  Can we started ssd images through the command prompt, without using ES ?

                                  Basically it should be possible but it has to run with xinit.
                                  You can't use xinit by default, so no solution now.

                                  Though if you install Raspberry Pi OS with a desktop environment and install RetroPie on top of that you can open a terminal in the desktop and you will be able to run xbeeb/xmaster directly from the command-line.

                                  I have already read that there's no way to exit the emulator with a keyboard, only with the mouse.
                                  Is there a way to solve this ?

                                  Then it should be programmed in the emulator.

                                  Once again, thank you very much for your kind help.

                                  Your, wecome !

                                  Enjoy, post some pictures in here, that would be nice !

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

                                    I experimented a bit with the overscan settings in the config.txt file and moved the status bar outside of visible zone but the white windows frame remained, altough it looks better now.
                                    In a desktop environment, I would be able to change the color of this window to black and solve the problem easily, but I don't know how to do it here.
                                    Interestingly, in Graham Sanderson's video, Pico boots directly into the emulator and works in fullscreen.
                                    The speed is very dependent on the resolution, so I have set to 640x480 framebuffer resolution in config.txt and have a constant 50 fps, even with xmaster.
                                    Here are a few pictures from the TV screen, while testing the Stunt Car Racer. :)
                                    scr1.jpg
                                    scr2.jpg

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

                                      @retrofan

                                      Haha.
                                      That's a good idea using the overscan settings ! ;-)
                                      That is looking great.

                                      I am using 800x600 perhaps you have to try that.
                                      I can run full screen.
                                      Perhaps it depends on what monitor you are using, I don't know.

                                      Btw. Have you ever tried lr-mess or mame for bbcmicro ?

                                      1 Reply Last reply Reply Quote 0
                                      • 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
                                            • 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.