BBCB Emulator on Retropie

This topic contains 35 replies, has 8 voices, and was last updated by Profile photo of trixster trixster 1 year, 4 months ago.

Viewing 35 posts - 1 through 35 (of 36 total)
  • Author
    Posts
  • #113215
    Profile photo of planeflake
    planeflake
    Participant

    Has anyone set this up or knows how to get it done? I would love to have all of my old bbcb games up and running again.

    #113224
    Profile photo of InsecureSpike
    InsecureSpike
    Participant

    fancy posting links?

    #113253
    Profile photo of robertybob
    robertybob
    Participant
    #113292
    Profile photo of yorkie
    yorkie
    Participant

    I managed to do this a while ago by following the instructions here;

    http://haprpi.blogspot.co.uk/p/the-bbc-lives.html?m=1

    #113347
    Profile photo of InsecureSpike
    InsecureSpike
    Participant

    yup got it working on Jessie, thanks fella!

    #114255
    Profile photo of retrofan
    retrofan
    Participant

    yup got it working on Jessie, thanks fella!

    I installed it, following the same instructions, but I have no sound on Rpi2 and the emulator crashes when entering the disk file selector.
    Is there a way to at least get the sound working?
    Without sound, its quite useless.
    Does anyone know what should be changed (sound driver maybe) to get the sound?
    I am not Linux expert but I really wish we had BBC computers in Retropie.
    We have emulators for some pretty obscure models but for Acorn, nothing.
    Beebem emulator looks so close and within reach, but without sound, it’s simply not good enough.

    #114261
    Profile photo of labelwhore
    labelwhore
    Participant

    I’ve got beebem working. No sound though, and controls are obviously not consistent.

    I couldn’t get it to launch archimedes games at all though. If anyone figures that out, I’d love to hear how you did it.

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #114307
    Profile photo of InsecureSpike
    InsecureSpike
    Participant

    not sure if it does??

    #114328
    Profile photo of labelwhore
    labelwhore
    Participant

    I made some assumptions while reading through the beebem documentation, and some other things about the BBC Micro and Archimedes. It’s probably not supposed to emulate that system as well. My testing certainly seems to indicate that. I was very thorough with the command line options.

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #114345
    Profile photo of InsecureSpike
    InsecureSpike
    Participant

    there is an Archimedes emulator I found the other day not had time to test yet, I also found an Electron one too,

    Electron:

    http://elkulator.acornelectron.co.uk

    Archimedes:

    http://www.marutan.net/rpcemuspoon/

    actually, both have links on the BeebEm webpage, but not tried either

    #114612
    Profile photo of retrofan
    retrofan
    Participant

    All in all, no one knows how to get a fully working BBC emulator in Retropie.

    #115772
    Profile photo of trixster
    trixster
    Participant

    Sound did used to work with BeebEm occasionally if you cycled it in the gui but in the latest versions of retropie it has stopped functioning properly. B-Em works correctly under the rpi desktop but it wont run in retropie.

    #115782
    Profile photo of herbfargus
    herbfargus
    Member
    #115796
    Profile photo of InsecureSpike
    InsecureSpike
    Participant

    awesome, what other systems are supported with mess on the pi?

    #115802
    Profile photo of herbfargus
    herbfargus
    Member

    A bajillion. Actually just over a thousand, though I can’t say I’ve tested very many as I’ve only focused on the few that retropie doesnt have or that aren’t obscure enough that nobody would want. I’m guessing some just flat out wont work, others probably will have terrible performance, and there may be a few that perform well. If you have the time for testing I’d be interested in your results.

    Just as an fyi MESS is more of a quantity over quality so they basically just puke out as many barely functioning systems as they can without too much regard to optimisations and whatnot. Standalone emulators and retroarch focus more on performance and optimisations hence why they usually run better than their MESS counterparts.

    When I’m feeling really ambitious I may make a module for a few systems but I need to figure out if I want to mash it in with advmame or if I want it as a separate module with multiple system configurations. I haven’t really decided yet.

    #115872
    Profile photo of labelwhore
    labelwhore
    Participant

    For the ignorant (like myself) could you spell out how to install MESS? The instructions I see are from 2012, my guess is the steps have changed a little since then.

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #115889
    Profile photo of herbfargus
    herbfargus
    Member

    You create a file called advmess.sh in

    /home/pi/RetroPie-Setup/scriptmodules/emulators/

    And copy over the module listed in the link above and then you can install it from the experimental menu of the setup script and then just place everything in the paths mentioned. (The module could definitely be cleaned up)

    #115898
    Profile photo of labelwhore
    labelwhore
    Participant

    I’ve been wondering how to add things to that menu. Now I have a couple things to play with. Thanks!

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #115899
    Profile photo of labelwhore
    labelwhore
    Participant

    So am I reading that correctly, that we can’t launch bbc micro games directly from ES? (As in, we’ll need to type in commands to start the games once the emulator launches?) Is there a way to have adv-mess type in the commands for us ala Vice?

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #115900
    Profile photo of herbfargus
    herbfargus
    Member

    I don’t know of any direct launch options for the BBC micro games though it’s probably possible with a script of sorts, I haven’t really looked into it all that much.

    #115903
    Profile photo of labelwhore
    labelwhore
    Participant

    Ok, I’m not averse to doing the leg work there. However, I’m struggling to find any sort of manual for advmess. Does such a thing exist, and would anyone know where I can find it?

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #115907
    Profile photo of herbfargus
    herbfargus
    Member

    Most people use mess with a gui so there isn’t much documentation on command line options. But you can follow the config examples on the github page above to get an idea of configs for each system.

    This page was the most useful for me:
    http://www.progettoemma.net/mess/sysset.php

    Name column is the rom folder name for that system, and then if you select a sytem it shows you the options for command line (like if you’re loading a cartridge vs a disk image) and it also says which bios is required. I may look at modifying the module so that the rom folder paths are set to retropie’s rom folder and bios folder (can be set in the advmess.rc file)

    #115908
    Profile photo of labelwhore
    labelwhore
    Participant

    Thanks! that just saved me a ton of frustration. It does not appear that AdvMESS can auto launch BBC Micro games. We have to launch them by typing in the commands once the emulator starts.

    http://www.progettoemma.net/mess/system.php?machine=bbca

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #115910
    Profile photo of herbfargus
    herbfargus
    Member

    btw this is my latest modified module (should in theory automatically set the rom and bios folders. I haven’t tested yet but am testing now: Really advmess and advmame are essentially the same, just a few minor config differences.

    #!/usr/bin/env bash
    
    # This file is part of The RetroPie Project
    # 
    # The RetroPie Project is the legal property of its developers, whose names are
    # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source.
    # 
    # See the LICENSE.md file at the top-level directory of this distribution and 
    # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md
    #
    
    rp_module_id="advmess"
    rp_module_desc="AdvanceMESS"
    rp_module_menus="4+"
    rp_module_flags="!x86 !mali"
    
    function depends_advmess() {
        getDepends libsdl1.2-dev
    }
    
    function sources_advmess() {
            wget -O- -q "https://github.com/amadvance/advancemame/releases/download/advancemess-1.4/advancemess-1.4.tar.gz" | tar -xvz --strip-components=1
    }
    
    function build_advmess() {
            ./configure CFLAGS="$CFLAGS -fsigned-char" LDFLAGS="-s -lm -Wl,--no-as-needed" --prefix="$md_inst"
            make clean
            make
    }
    
    function install_advmess() {
            make install
    }
    
    function configure_advmess() {
        mkRomDir "mame-advmess"
        mkRomDir "bbcb"
    
        moveConfigDir "$home/.advance" "$configdir/mame-advmess"
    
            su "$user" -c "$md_inst/bin/advmess --default"
    
            iniConfig " " "" "$configdir/mame-advmess/advmess.rc"
            iniSet "misc_quiet" "yes"
            iniSet "device_video" "fb"
            iniSet "device_video_cursor" "off"
            iniSet "device_keyboard" "raw"
            iniSet "device_sound" "alsa"
            iniSet "display_vsync" "no"
            iniSet "sound_samplerate" "44100"
            iniSet "sound_latency" "0.2"
            iniSet "sound_normalize" "no"
            iniSet "dir_rom" "$biosdir"
            iniSet "dir_artwork" "$romdir/mame-advmess/artwork"
            iniSet "dir_sample" "$romdir/mame-advmess/samples"
            iniSet "dir_image" "$romdir"
            iniSet "device_video_clock" "5 - 50 / 15.62 / 50 ; 5 - 50 / 15.73 / 60"
    
            addSystem 0 "$md_id" "mame-advmess arcade mame" "$md_inst/bin/advmess %BASENAME%"
            setESSystem 'BBC Micro Model B' 'bbcb' '~/RetroPie/roms/bbcb' '.bbc .BBC .img .IMG .ssd .SSD' '/opt/retropie/emulators/advmess/bin/advmess bbcb -floppy %BASENAME%' 'bbcb' 'bbc'
    }

    Once you have it compiled and running in the places you want it to be adding new systems will be easy. Basically you just add a new line at the bottom

    addSystem 0 "$md_id" "mame-advmess arcade mame" "$md_inst/bin/advmess %BASENAME%"

    the addSystem function assumes the system is listed in platforms.cfg. if not it needs to be either added or you can use the setESSystem function like so:

    setESSystem 'Kodi' 'kodi' '~/RetroPie/roms/kodi' '.sh .SH' '%ROM%' 'pc' 'kodi'

    Where the 7 (soon to be 8 with direct launch tag) are listed in this order: Full Name, name, rompath, Extensions, launch command, platform, theme.

    https://github.com/RetroPie/RetroPie-Setup/blob/c20409eede07031bca09d6babd07e012e604ea96/scriptmodules/helpers.sh#L296-L331

    Then Once you have added your system and you don’t want to compile advmess again just so you can configure a system you can type:

    cd RetroPie-Setup
    sudo ./retropie_packages.sh advmess configure

    And it should configure the proper launch options (for each system you’ll also likely need to add its rom folder with mkdir <romfolder> in the configure function. Because of how many specific launch options there are with advmess its likely we’d have to do something similar to vice so that even though they are basically the same emulator we treat each game type as it its a different system.

    #115966
    Profile photo of labelwhore
    labelwhore
    Participant

    Thanks guys! sound works now, but launching games is a PITA, especially considering that the keyboard doesn’t map directly to a ‘normal’ one. Since there is no command line option to auto-launch games, I’m gonna have to leave it up to somebody a bit more skilled than me to figure that out.

    Great work once again! 🙂

    Edit: actually scratch that. I can’t launch any games. (The emulator beeped when I launched it the first time, that’s how I determined sound was working.) Because of the keyboard mapping issue I mentioned, I have no “.” key so I can’t type in the name of the file I’m trying to start once the emulator starts.

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #115968
    Profile photo of herbfargus
    herbfargus
    Member

    By normal do you mean US? The BBC is British mate so to the BBC micro, UK layout is normal 😉

    But yes needs lot of config coding (mess is a mess) its on my list, perhaps I’ll get to it one of these days.

    #115970
    Profile photo of labelwhore
    labelwhore
    Participant

    haha, yeah US layout is what I meant. I almost typed “qwerty”, but I think you guys use the same basic layout aside from a few keys. I effectively have no “.” key so I can’t enter the command to launch games.

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #115971
    Profile photo of herbfargus
    herbfargus
    Member

    Tab doesn’t let you reconfigure it? I usually just mash the key until a “.” Shows up

    Has a tendency to change my screen layout in the process as I think that’s what the full stop key is coded to. I wonder where the configs are set for the keyboard. Maybe compiled in.

    #115973
    Profile photo of labelwhore
    labelwhore
    Participant

    Tab doesn’t actually open a menu for me, idk why. Escape works, I get the exit menu.

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #115975
    Profile photo of labelwhore
    labelwhore
    Participant

    huh… Strangely with the on screen keyboard up, if I hit tab, a message is displayed that says “configure” and on screen I can see that the tab key is depressed. So it’s mapped correctly, but I get no configuration menu.

    I may just keep messing with beebem. I almost have that one working 100%. I have my controller working with some keyboard emulation via xboxdrv. (that thing is magical lol) I got some sound on it just now. I think it may just need to start with certain sound options. I’ll experiment with that and report back.

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #115976
    Profile photo of herbfargus
    herbfargus
    Member

    I guess there isn’t a tab configuration for keyboard configs. Pity.

    It is possible there are some config issues in my script that may be causing issues.

    #115980
    Profile photo of labelwhore
    labelwhore
    Participant

    it might be a non-issue given my last post. 😉

    There aren’t many command line options in beebem it seems. Nothing for sound. I’m building an older version now just to see what happens. All in all, beebem is working ok for me, except the sound issue.

    If all else fails I could probably start it with a script and simply play some mp3s in the background lol. It wasn’t important that I had a BBC emulator, tbh, I just wanted the challenge of running an emulator few have working.

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #115993
    Profile photo of labelwhore
    labelwhore
    Participant

    …still no sound on version 0.0.12 of beebem.

    I’m keeping it anyway, unless some smart folks add an autolaunch feature to adv-mess.

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #116000
    Profile photo of labelwhore
    labelwhore
    Participant

    LOL my solution is cool as hell. First I installed FAPGand ran it against a folder on the HDDattached to my pi that happens to contain a copy of my mp3 collection to create an m3u playlist containing everything.

    Then I edited /opt/retropie/configs/beebem/emulators.cfg to look like the following (I kept the old musicless one in there just because):

    beebem-0.0.13="/home/pi/.beebem/beebem-0.0.13/src/beebem %ROM%"
    default="beebem-0.0.13-music"
    beebem-0.0.13-music="/opt/retropie/configs/beebem/beebmusic.sh %ROM%"

    Next I created a file called beebmusic.sh in /opt/retropie/configs/beebem which contains this script:

    #!/bin/bash  
    ROM=$1
    mpg123 -z -@ /home/pi/playlist.m3u &
    /home/pi/.beebem/beebem-0.0.13/src/beebem $ROM
    sudo killall mpg123

    Now, my mpg123 will play random mp3s out of my collection while I’m playing BBC Micro. The music stops when I stop the emulator.

    🙂

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #117811
    Profile photo of retrofan
    retrofan
    Participant

    Once you have it compiled and running in the places you want it to be adding new systems will be easy. Basically you just add a new line at the bottom

    addSystem 0 "$md_id" "mame-advmess arcade mame" "$md_inst/bin/advmess %BASENAME%"

    the addSystem function assumes the system is listed in platforms.cfg. if not it needs to be either added or you can use the setESSystem function like so:

    setESSystem 'Kodi' 'kodi' '~/RetroPie/roms/kodi' '.sh .SH' '%ROM%' 'pc' 'kodi'

    Where the 7 (soon to be 8 with direct launch tag) are listed in this order: Full Name, name, rompath, Extensions, launch command, platform, theme.

    https://github.com/RetroPie/RetroPie-Setup/blob/c20409eede07031bca09d6babd07e012e604ea96/scriptmodules/helpers.sh#L296-L331

    Then Once you have added your system and you don’t want to compile advmess again just so you can configure a system you can type:

    cd RetroPie-Setup
    sudo ./retropie_packages.sh advmess configure

    And it should configure the proper launch options (for each system you’ll also likely need to add its rom folder with mkdir <romfolder> in the configure function. Because of how many specific launch options there are with advmess its likely we’d have to do something similar to vice so that even though they are basically the same emulator we treat each game type as it its a different system.

    I wonder what I should do to get support for the BBC B Plus, BBC Master and Master Compact?
    Is it enough just copying the appropriate romsets or these models should be installed as separate systems?

Viewing 35 posts - 1 through 35 (of 36 total)

Forums are currently read only - please visit the new RetroPie forums at https://retropie.org.uk/forums/

Skip to toolbar