RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Acorn BBC Micro Emulator (current?)

    Scheduled Pinned Locked Moved Help and Support
    acorn bbc
    116 Posts 12 Posters 24.5k 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.
    • M
      MrNoHolster
      last edited by

      Finally got this to work! Sorry to ask but is there an easy way to exit from each game back to the menu? The regular START/SELECT hotkey doesn't work in this case. Also, how would I map keyboard key controls to a gamepad? I'm running this inside a PiBoy DMG case so having the buttons as controller would be amazing. Huge thanks for your work on this! :D

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

        @MrNoHolster said in Acorn BBC Micro Emulator (current?):

        Finally got this to work! Sorry to ask but is there an easy way to exit from each game back to the menu? The regular START/SELECT hotkey doesn't work in this case.

        No there isn't.
        Both packages are created from programs made for "windows" use.
        So controlling the emulator with the keyboard is the default here.
        Using the START/SELECT button from the joystick would mean changing the source code which is not inside.
        I am not able to do that.
        So you need to find a joy2key solution in order to achieve this.
        There is a joy2key.py script inside retropie but I am not sure if it's even possible to use that.

        Also, how would I map keyboard key controls to a gamepad? I'm running this inside a PiBoy DMG case so having the buttons as controller would be amazing. Huge thanks for your work on this! :D

        Edited :
        Perhaps there are better and other ways but what you could try to do is make a button on your gpio and use ydotool to simultate a keypress.
        You can read this post to find more about that solution.
        Pehaps I forgot something but I think the only thing you need to do is alter the keypress "5" into (F11-> <alt>+f -> e for b-em) (ctrl + c b-em-pico-pi) for in the commandline.

        Probably xdotool can also be used as this works within matchbox-window-manager.
        It's also a better choice when working.
        The code could probably be added in the b-em-allegro4-multiload.sh script.
        For b-em-pico-pi probably in xbeeb.sh xmaster.sh.

        Lord VekL 1 Reply Last reply Reply Quote 0
        • Lord VekL
          Lord Vek @Folly
          last edited by

          @Folly Hello,

          May I ask, is there a way to get B-em to begin in fullscreen? Something to write to the config for example?

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

            @Lord-Vek said in Acorn BBC Micro Emulator (current?):

            @Folly Hello,

            May I ask, is there a way to get B-em to begin in fullscreen? Something to write to the config for example?

            In the past I tried to edit the source but could not get it working.
            ( for elkulator I could however )
            xdotool could be a solution to simulate the key-presses at start.
            I think I experimented with that before.
            I certainly have implemented xdotool to autoload the `roms.

            Lord VekL 1 Reply Last reply Reply Quote 0
            • Lord VekL
              Lord Vek @Folly
              last edited by

              @Folly Yes, but how exactly can I do that? What should I edit, what commands...?

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

                @Lord-Vek

                Have a look at :
                /opt/retropie/emulators/b-em-allegro4/b-em-allegro4-multiload.sh

                You would only have to add "alt+enter" before loading the software.
                ( https://gitlab.com/cunidev/gestures/-/wikis/xdotool-list-of-key-codes )

                When quitting however you would probably have to do it manually.

                The code would probably be something like this :

                xdotool sleep 1.5 keydown Alt+Return sleep 1 keyup Alt+Return
                

                (code is working !)

                For example you can test it by editing line 12 in b-em-allegro4-multiload.sh for the disc load commandline into this :

                /opt/retropie/emulators/b-em-allegro4/b-em $1 -disc "$2" | xdotool sleep 1.5 keydown Alt+Return sleep 1 keyup Alt+Return sleep 1.5 keydown Shift_L+F12 sleep 1 keyup Shift_L+F12
                

                (tested and it looks like it's working ok)

                Lord VekL 1 Reply Last reply Reply Quote 0
                • Lord VekL
                  Lord Vek
                  last edited by

                  Yep! It worked! Thanks again, my friend!

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

                    @Lord-Vek @MrNoHolster

                    For quitting the emulator from fullscreen and with keyboard or joystick I will have a look later if I have the time.
                    Just to see if I can extract key-presses and joystick-presses while the emulator is running and break the script so the emulator will stop and exit.

                    I think the "Alt+Return" fix has to be implemented in the module-script together with an exit fix once I found that.

                    Lord VekL M 2 Replies Last reply Reply Quote 0
                    • Lord VekL
                      Lord Vek @Folly
                      last edited by

                      @Folly It would be nice if the B-em was to be even better!

                      1 Reply Last reply Reply Quote 0
                      • M
                        MrNoHolster @Folly
                        last edited by

                        @Folly Thanks for your hard work on this! So much love for this emulator that it'd be a superb addition to Retropie gaming.

                        1 Reply Last reply Reply Quote 1
                        • Lord VekL
                          Lord Vek @Folly
                          last edited by

                          @Folly said in Acorn BBC Micro Emulator (current?):

                          For example you can test it by editing line 12 in b-em-allegro4-multiload.sh for the disc load commandline into this :

                          /opt/retropie/emulators/b-em-allegro4/b-em $1 -disc "$2" | xdotool sleep 1.5 keydown Alt+Return sleep 1 keyup Alt+Return sleep 1.5 keydown Shift_L+F12 sleep 1 keyup Shift_L+F12
                          (tested and it looks like it's working ok)

                          Hello,

                          I discovered that, when I make this change, it is changing back, probably after an update. What I should do to make this change permanent?

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

                            @Lord-Vek

                            Hmmm...
                            If you update my scripts than yes it's overwritten.

                            Perhaps I can add it to my module-script, though I have to add a message on how to quit before the emulator is loading.
                            Will have to think about it.

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

                              @Folly said in Acorn BBC Micro Emulator (current?):

                              If you update my scripts than yes it's overwritten.

                              Own/user 'emulator' lines in emulators.cfg won't be overwritten by updates.

                              Lord VekL 1 Reply Last reply Reply Quote 0
                              • F
                                Folly @Lord Vek
                                last edited by

                                @Lord-Vek

                                As @mitu said the own/user 'emulator' lines in emulators.cfg won't be overwritten by updates unless you install it again.
                                Did you do that too ?

                                1 Reply Last reply Reply Quote 0
                                • Lord VekL
                                  Lord Vek @mitu
                                  last edited by Lord Vek

                                  @mitu No, I didn't. So, should I edit \retropie\root\opt\retropie\configs\bbcmicro\emulators.cfg? And what lines should I change into what?

                                  mituM F 2 Replies Last reply Reply Quote 0
                                  • mituM
                                    mitu Global Moderator @Lord Vek
                                    last edited by mitu

                                    @Lord-Vek You should duplicate the line that was overwritten by the update/upgrade and save it with a custom name. I.e. if the emulator start looks like:

                                    ..
                                    emulator1=/opt/retropie/emulators/b-em-allegro4/b-em $1 -disc "$2" | xdotool sleep 1.5 keydown Alt+Return sleep 1 keyup Alt+Return sleep 1.5 keydown Shift_L+F12 sleep 1 keyup Shift_L+F12
                                    ..
                                    

                                    just add a similar line, but name the emulator entry differently:

                                    ...
                                    emulator1-custom=/opt/retropie/emulators/b-em-allegro4/b-em $1 -disc "$2" | xdotool sleep 1.5 keydown Alt+Return sleep 1 keyup Alt+Return sleep 1.5 keydown Shift_L+F12 sleep 1 keyup Shift_L+F12
                                    ...
                                    

                                    You can then use the runcommand launch menu to choose this custom emulator to run games.
                                    Since this is a custom emulator (using @Folly's scripts) I don't know what the defaults are and what is the emulators.cfg looks like.

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

                                      @mitu

                                      Thanks for the help.

                                      Though the structure of the loading the emulator is a bit different.
                                      The runcommand loads a script that will detect if the media is tape or disk and with what system to load and loads b-em with the appropriate options..
                                      So the part @Lord-Vek is asking about is the part of simulating Alt+Return implementation in that script.
                                      So if he changed the loading script and then reinstalled it with my module-script the loading script will be overwritten and the key simulation presses of getting full-screen are gone again.
                                      That is because the solution hasn't been implemented in my module-script.

                                      So the solution for him is to change the loading script again like suggested in post 42.
                                      Note : editing has to be done as root (super user) otherwise changes in the file /opt/retropie/emulators/b-em-allegro4/b-em-allegro4-multiload.sh will not be saved.

                                      Or I have to change my module-script and add that solution so in the future the key simulation presses of getting full-screen is added from the install and not by manual editing.
                                      I will have a look at this solution when I can, seems the best one.

                                      1 Reply Last reply Reply Quote 0
                                      • F Folly referenced this topic on
                                      • F
                                        Folly @Lord Vek
                                        last edited by Folly

                                        @Lord-Vek

                                        I have updated the script :
                                        https://github.com/FollyMaddy/RetroPie-Share/commit/893fc7dc4259ded92f827f604c9cd366843eda71

                                        Replace your old module-script with the new one and re-install it.

                                        Optional :
                                        Or if you don't want to compile the b-em emulator, if it is already there, then do the following commands to only configure and save the loader script :

                                        cd RetroPie-Setup
                                        sudo ./retropie_packages.sh b-em-allegro4 configure
                                        
                                        Lord VekL 1 Reply Last reply Reply Quote 0
                                        • Lord VekL
                                          Lord Vek @Folly
                                          last edited by

                                          @Folly I replaced the b-em-allegro4.sh with the new one, then from Retropie's setup I uninstalled the b-em allegro emulator, then installed it again from source. But now the emulator is hanging up, it doesn't even return back to game selection.

                                          F 3 Replies Last reply Reply Quote 0
                                          • F
                                            Folly @Lord Vek
                                            last edited by Folly

                                            @Lord-Vek

                                            I have that same issue.
                                            I seems you have to press Alt+Return fist before you exit.
                                            This prevents a crash.
                                            I think that issue was there all along you probably forgot.
                                            I updated my script again to fix some more.
                                            I added a message about quitting before the emulator starts so we don't forget.
                                            https://github.com/FollyMaddy/RetroPie-Share/commit/0600e67d96004925bd1b35c9e16417aa06620f57

                                            Sadly not all perfect solutions.

                                            Edit :
                                            Found that the dialog msgbox creates the issue of hanging totally when not using linux desktop.
                                            Will test some other stuff or just remove it.

                                            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.