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

    AdvMESS For Dummies - a basic guide

    Scheduled Pinned Locked Moved Help and Support
    advmessmessbbcastrocadefairchild
    75 Posts 7 Posters 10.9k 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.
    • S
      spud11 @A Former User
      last edited by

      @John_RM_70 Damn. That's a bit problematic. There is therefore a huge number of variables - what roms/games we've downloaded, what format they are in (tape/disk), what bioses we've each got, what commands are needed to get things working and what model of BBC we're each using. I really hadn't realised just how many commands there appear to be to get games working.

      It's definitely a quick load, no matter which command you use. 3 of the games I've got work with the CHAIN command so they must be tapes/cassettes. They load instantaneously. The version of Elite I have loads with the *!BOOT command so that must be a disk. It loads instantaneously as well.

      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
      • ?
        A Former User
        last edited by

        I had a chat with a old mate I went to school with and he said something along these lines.

        CHAIN "LOADER"

        Will work for a disk image, normally a cassette converted to a disk image. CHAIN, loads the first program as a "basic" program. You can shorten CHAIN "" with CH."GAMEXX". If it's not a basic program, you will get a error message
        "Bad program"
        You can then try "*RUN GAMEXX"
        I tried the CHAIN method and ran out of memory, so if anyone gets "No Room" error, then you simply type MODE 7.
        I have been successful in running games directly, not using *!BOOT. So, CHAIN "CHUCKIE" - for chuckie egg. *!BOOT - for me, only runs on the Master 128 roms, it doesn't work in the Model B roms. Weird.

        Also, pressing the dot key "." will change videomode, so will have to see where that is.

        S 2 Replies Last reply Reply Quote 0
        • S
          spud11 @A Former User
          last edited by

          @John_RM_70 Sounds like it's going to just be trial and error for each game. I can't see any other way to make things a bit simpler.

          It's a real pity beebem doesn't have sound support as it would be the best solution, I think.

          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 @A Former User
            last edited by

            @John_RM_70 I wanted to automate starting Elite, given that it is a disk rather than a cassette. Advmess doesn't have inbuilt simulated keys for the exclamation mark or for the asterisk, but the following script_play command successfully types *!BOOT at the commandline:

            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);
            

            Elite will now start automatically.

            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
            • ?
              A Former User @spud11
              last edited by

              @spud11 Thanks. Is it possible to do this with a wildcard, instead of a specific game ?
              I was thinking of Dragon32. Almost all games are CLOADM, vary rare to use CLOAD (Basic). It would be great to use this for testing games, since a lot of games produce IO Errors - although this seems like a emulator problem, rather than a broken take image.

              S 1 Reply Last reply Reply Quote 0
              • S
                spud11 @A Former User
                last edited by

                @John_RM_70 I'm not sure about the wildcard scenario, but @teller has pointed out that you can use a more standardised script for most games: https://retropie.org.uk/forum/topic/13017/advance-mess-and-bbc-micro-and-joystick-control/57

                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(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 can't see why you couldn't adapt this script for the Dragon 32, for example. Personally, I'm using xroar for Dragon 32 emulation.

                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

                S 1 Reply Last reply Reply Quote 0
                • ?
                  A Former User
                  last edited by

                  Thanks for that, I will have a good read.
                  Take my word on this, but Mess is far better than Xoar. The sound is much better, less crackly. And I found the image quality to be a lot better, although I am on a CRT - I see a better defined, slightly sharper image. This could be the better scaling in Mess, I use Magnify x2 + Integer scaling.

                  S 1 Reply Last reply Reply Quote 1
                  • S
                    spud11 @A Former User
                    last edited by

                    @John_RM_70 That's good to know. I was planning on "advancing" (pun definitely intended) my knowledge of advmess by setting up a few more systems, such Super Cassette Vision, Arcadia 2001 etc, anyway so will give Dragon 32 a go too.

                    Let me know whether things improve for you on the BBC Micro front. There shouldn't be any reason why it won't work. I'll also add a few more games and see if I run into any problems similar to those you have.

                    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
                      SpudsMcToole Banned @spud11
                      last edited by

                      @spud11 said in AdvMESS For Dummies - a basic guide:

                      I can't see why you couldn't adapt this script for the Dragon 32, for example. Personally, I'm using xroar for Dragon 32 emulation.

                      I'm trying to do this right now. Getting some weird teething errors when I try to replicate the approach used in the BBC Micro .RC file directly, but am experimenting.

                      Also, MESS doesn't seem to recognise the .CAS file when I boot it - it thinks there's no tape inserted and I have to go into the MESS menus and select it manually.

                      1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User @spud11
                        last edited by

                        @spud11 I still can't get *!BOOT to work in the BBC Model B rom, I have to load the actual game name, directly. I might have to have 2 entries in ES, one for Model B 32k, one for BBC Master.

                        @SpudsMcToole Make sure your .cas files are all lower case, and not zipped. I had a similar issue, so I unzipped them all and made sure everything was the same case.

                        S 2 Replies Last reply Reply Quote 0
                        • S
                          spud11 @A Former User
                          last edited by

                          @John_RM_70 It is very strange. I've just had a look at my roms - all of them are in the ssd format, meaning they must be disks. Yet, some load with CHAIN "LOAD", a couple have to be loaded with CHAIN followed by the romname and Elite will only work with *!BOOT. The only thing I can think of is that you will probably need to do trial and error for all of them and see which work and probably download a few different romsets. At least once you've got a rom working you can use the script_play command to automate the process.

                          I also agree with your suggestion that you'll need separate setups for the BBC B and for the 128, particularly if it is the only way for you to get some games working. That's really easy to do with Attract Mode, but I'm less sure about emulationstation as it's been more than 2 years since I used that front end.

                          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 @A Former User
                            last edited by spud11

                            @John_RM_70 I've just set out below the script_play commands I'm using.

                            The methodology I've used is one where I have 2 standard/generic script_play commands - one for the 128 and the other for the B - which just chain "loads" games. (That will apply to all games I add in the future. Most games I've got now seem to work with this standard command.) Where that command hasn't worked (eg Chuckie Egg and Thrust), then I've used a specific chain "name" command which overrides the standard "load" command. And for Elite, I've used the boot command because that works for me. With Elite, I noticed on the disk (using *CAT) it has a file called !BOOT. None of the other disks have that.

                            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);
                            

                            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

                              Me too, I couldn't fire up Elite.sdd in bbcb so i switched to bbcbp128 and made a script writing *!BOOT and it's booting fine now:

                              bbcbp128[home_pi_retropie_roms_bbcb_elite]/script_play delay(750); simulate_key(key_scrlock,75); delay(75); simulate_key(key_lshift,150); simulate_key(key_quote,75); delay(75); simulate_key(key_lshift,150); 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);
                              
                              1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @spud11
                                last edited by

                                @spud11 That looks great, spud. I will have a closer look a bit later. Whats annoying is this. *!BOOT, still doesn't work for me in BBCB, yet mostly works in BBC Master mode. On real hardware, *!BOOT works perfectly because it's the first thing executed when you press shift+break. If it doesn't exist, it's normally *LOADER, or even CHAIN "FILENAME", but works on both real B and Master. Although the Master still has issues with a few games.
                                Of course, all this could be eliminated if we had a decent port of Beebem. I tested all these games on Beebem, on my PC, and had no problems at all.
                                At the moment, I'm better off sticking with real hardware. The problem with that is I can't run a Master and Model B, at the same time, on the same TV - I simply don't have the space.

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  spud11 @A Former User
                                  last edited by

                                  @John_RM_70 It's unfortunate about beebem. There is in fact a lot of work being done by people on the stardot forum in respect of various BBC emulators. It's an extremely active community. Although there is discussion of porting the latest emulators to linux, there is no updated "modern" emulator for linux that works with sdl (ie suitable for Retropie).

                                  The problem with beebem seems to be a syncing problem between audio and video. It will require someone with programming knowledge to fix it unfortunately. I wish that were me, but isn't!

                                  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

                                    Unfortunately Firetrack won't work properly. i tested it on bbcb and bbcp128. the game starts fine, but is buggy during gameplay.

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

                                      Unfortunately Astroblaster by Tricky also doesn't work. Same issue like Firetrack.

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

                                        @teller Yes, quite a few games simply don't work in the emulator. None of the super-modern semi-emulated remakes like Astro Blaster or Space Invaders or Centipede do. Them's the breaks.

                                        T 1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User
                                          last edited by

                                          Yep. Same problem as teller.
                                          I will try them on real hardware, and Beebem on PC, just to make sure nothing is missing.

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

                                            @SpudsMcToole Firetrack was from 1987.
                                            https://en.wikipedia.org/wiki/Firetrack

                                            S 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.