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

    Advance Mess and BBC Micro and joystick control

    Scheduled Pinned Locked Moved Help and Support
    advance messjoystickbbc micro
    75 Posts 5 Posters 10.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.
    • T
      teller
      last edited by teller

      Are there any games that only work with the bbcb, that can't be loaded on bbcbp128?
      I ask because I think it's not possible to switch between the two without modifying manually the emulators.cfg.

      S 1 Reply Last reply Reply Quote 0
      • S
        SpudsMcToole Banned @teller
        last edited by

        @teller said in Advance Mess and BBC Micro and joystick control:

        Are there any games that only work with the bbcb, that can't be loaded on bbcbp128?
        I ask because I think it's not possible to switch between the two without modifying manually the emulators.cfg.

        I found a few, I'd recommend using bbcb rather tham bbcbp128.

        1 Reply Last reply Reply Quote 0
        • T
          teller
          last edited by teller

          unfortunately in this game SABRE WULF the input key SHIFT is used for using the sword. It can't be mapped twice, otherwise i get a Type mismatch error and the autoboot command looks like this:
          CHAIN 2LOAD2 instead of CHAIN "LOAD"

          input map (SWORD):

          bbcb[home_pi_retropie_roms_bbcmicro_sabrewulf]/input_map[key_shift] joystick_button[046d_c219,a] or keyboard[0566_3029,lshift]
          

          autoboot command

          bbcb[home_pi_retropie_roms_bbcmicro_sabrewulf]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200); simulate_key(key_enter,75); delay(75);
          

          I also tried rshift.
          In other words, a game which uses the same keys for the autoboot command can't be used.

          S 1 Reply Last reply Reply Quote 0
          • S
            spud11 @teller
            last edited by

            @teller Could you use capslock instead? That's what I use in the script_play commands.

            RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

            T 1 Reply Last reply Reply Quote 0
            • T
              teller @spud11
              last edited by teller

              @spud11 Good idea!
              But if I try key_capslock I get
              CHAIN load

              S 2 Replies Last reply Reply Quote 0
              • S
                spud11 @teller
                last edited by spud11

                @teller Ok. Repeat the capslock command in your script_play so that it is capitalised again and make sure you use the "2" to create the quotations. Have a look at some of my scripts in the other thread.

                RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

                1 Reply Last reply Reply Quote 0
                • S
                  spud11 @teller
                  last edited by

                  @teller In fact, here are my scripts for you:

                  
                  bbcb/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcbp128/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_c,75); delay(75); simulate_key(key_k,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_g,75); delay(75); simulate_key(key_g,75); delay(75); simulate_key(key_2,50); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_capslock,75); delay(75); simulate_key(key_quote,75); delay(75); simulate_key(key_1,75); delay(75); simulate_key(key_b,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcb[home_pi_retropie_roms_bbcmicro_chuckie]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_c,75); delay(75); simulate_key(key_k,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_g,75); delay(75); simulate_key(key_g,75); delay(75); simulate_key(key_2,50); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcb[home_pi_retropie_roms_bbcmicro_elite]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_capslock,75); delay(75); simulate_key(key_quote,75); delay(75); simulate_key(key_1,75); delay(75); simulate_key(key_b,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcb[home_pi_retropie_roms_bbcmicro_thrust]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcb[home_pi_retropie_roms_bbcmicro_repton]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcbp128[home_pi_retropie_roms_bbcmicro_repton]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcb[home_pi_retropie_roms_bbcmicro_tempest]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_m,75); delay(75); simulate_key(key_p,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcbp128[home_pi_retropie_roms_bbcmicro_tempest]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_m,75); delay(75); simulate_key(key_p,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcb[home_pi_retropie_roms_bbcmicro_meteors]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_m,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcbp128[home_pi_retropie_roms_bbcmicro_meteors]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_m,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcb[home_pi_retropie_roms_bbcmicro_snapper]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_p,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcbp128[home_pi_retropie_roms_bbcmicro_snapper]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_p,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcb[home_pi_retropie_roms_bbcmicro_loderunner]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_capslock,75); delay(75); simulate_key(key_quote,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_n,75); delay(100); simulate_key(key_space,100); simulate_key(key_2,75); delay(75); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  
                  bbcbp128[home_pi_retropie_roms_bbcmicro_loderunner]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_capslock,75); delay(75); simulate_key(key_quote,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_n,75); delay(100); simulate_key(key_space,100); simulate_key(key_2,75); delay(75); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
                  

                  RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

                  1 Reply Last reply Reply Quote 0
                  • T
                    teller
                    last edited by

                    That trick with double capslock didn't work either.
                    Thanks for your scripts.
                    I also tested your default script_play commands on my system.
                    All I get is
                    CHAIN 2load2
                    do you have different keyboard settings? I didn't change anything in raspi-config.

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      spud11 @teller
                      last edited by

                      @teller I think you may have capslock on automatically. That can be the only explanation if using one of my scripts switches you to small letters when you "press" capslock.

                      Leave the capslock out and just use the "2" key to create the quotations (capslock + 2 should create quotations).

                      It's probably the difference between the UK-style keyboard and the US-style keyboard. The BBC Micro was a UK computer. I'm using a US-style keyboard. On my US-style keyboard, the quotation key appears next to the enter key. However, in order to create quotations using the capslock on the BBC Micro, I need to press the "2" key. I figured this out by trial and error by just typing various keys.

                      RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

                      1 Reply Last reply Reply Quote 0
                      • T
                        teller
                        last edited by teller

                        Yeah, must be a keyboard setup difference.
                        Or it could be that we use a different Acorn DFS Basic ROM?
                        But if I have another game that uses capslock, then the autoboot won't work as well.
                        THRUST uses capslock if I remember.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          spud11 @teller
                          last edited by

                          @teller Possibly. Advmess is a mess indeed.

                          You could have separate scripts for Sabre Wulf and for Thrust - one that uses capslock and one that doesn't.

                          Worst case, remove all the scripts, start a BBC Micro game, attach your keyboard to the Pi (or use a bluetooth keyboard) and experiment by pressing keys with or without capslock/shift to see what comes up on the BBC. That's what I ended up doing for a few of my scripts, particularly because I found the * was in a completely different location on the BBC from where it was on my keyboard.

                          RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

                          T 1 Reply Last reply Reply Quote 1
                          • T
                            teller @spud11
                            last edited by teller

                            @spud11 found the right key to get " working ! i need to press alt + 2, then I'll get "

                            1 Reply Last reply Reply Quote 0
                            • T
                              teller
                              last edited by teller

                              Shift for Thrust doesn't work on my joystick although it's mapped correctly.

                              bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_shift] joystick_button[046d_c219,a]
                              

                              the autoboot script has no shift command in use.
                              i don't know why, advmess is driving me crazy!

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                spud11 @teller
                                last edited by

                                @teller In my advmess.rc file, I have:

                                input_map[key_lshift] keyboard[0,lshift] or joystick_button[0079_0006_3,2]
                                input_map[key_rshift] keyboard[0,rshift]
                                input_map[key_shift] auto
                                bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_lshift] joystick_button[0079_0006_3,2] or keyboard[0,lshift]
                                bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_rshift] joystick_button[0079_0006_3,2] or keyboard[0,lshift]
                                

                                Obviously, the joystick buttons will be different for you. There's unfortunately not a lot of consistency overall between everyone's setups, so experimentation is probably the only way to get there.

                                RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

                                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.