launchretrogirl2562 Posted Saturday at 09:03 PM Posted Saturday at 09:03 PM (edited) BBC Micro Launcher for LaunchBox - Setup Guide This launcher provides BBC Micro emulation with automatic file type detection, optimized control schemes (work in progress), and game-specific configurations for MAME. Features Automatic file type detection Floppy Disks: SSD, DSD, FSD, ADS, ADL Cassette Tapes: UEF, WAV ROM Cartridges: ROM Smart control scheme mapping (A/Z/Comma, Z/X/Star, Cursor keys, QAOP) Game-specific boot handling (EXEC vs RUN, TAPE CHAIN commands, special cases) Dual emulator support (MAME standalone + RetroArch/MAME core) Hardware-accurate configurations (acorn1770, wd1770, adfs130) Complete MAME setup (configs, artwork - credit to Mega_bezel project from Duimon, BIOS files included) Installation Steps 1. Extract the Launcher Package Download the BBC_Micro_Launcher.zip BBC_Micro_Launcher.zip Extract contents to your MAME directory (e.g., D:\Emulators\MAME\) (THIS WILL OVERWRITE YOUR OWN BBCB.INI and BBCB artwork...so make a backup if you have an existing BBC Micro setup) The package contains these components: 📁 Root Files: bbcb.ini → MAME configuration for Electron 📁 artwork/bbcb/: bbcmicro.png → System artwork default.lay → Screen layout bbcb.cfg → Artwork configuration 📁 cfg/_bbcmicro/: default.cfg, bbcb.cfg → Main control configs azcomma/ → A/Z/</> control scheme configs zxstar/ → Z/X/*? control scheme configs 📁 launchers/: bbc_micro_launcher.bat → Main launcher script (for use with official MAME Software lists) bbc_micro_launcher_tosec.bat → Main launcher script (for use with custom romsets like TOSEC) 📁 luascripts/: bbc_cass_new.lua → Cassette fast-loading bbc_advanced_disc.lua → Auto-launches BBC Micro ADFS floppy gamesAuto-boot detection bbcb_rom_new.lua → rom games bbc_double_sided_disk.lua → Doublesided disk games bbcb_flop_new.lua → Manual boot script 📁 roms/: BBC Micro BIOS files 2. Update Launcher Paths Open mame\launchers\bbc_micro_launcher.bat and mame\launchers\bbc_micro_launcher_tosec.bat in a text editor Update these paths to match your system: set "RETROARCH_PATH=D:\RetroArch" ← Your RetroArch path (not important if u have no retroarch, as it is not used in this launcher with FORCEMAME=1) set "MAME_PATH=D:\Emulators\MAME" ← Your MAME path set "LUASCRIPT_PATH=D:\Emulators\MAME\luascripts" ← Your lua scripts path 3. Update Rompath (bbcb.ini) Open mame\bbcb.ini in a text editor Update the rompath to match your system: rompath "roms;D:\Games\BBC Micro" ← Change D:\Games\BBC Micro to whereever your own bbc micro roms are located 4. Launchbox - Add new Platform (BBC Micro) Open Launchbox Go to Tools → Manage → Platforms Click 'Add' Enter Platform Name : BBC Micro For 'Scrape as:' also choose BBC Microcomputer system Click OK 5. Launchbox - Add new Emulator Go to Tools → Manage → Emulators Click 'Add' Emulator Name → Enter any name of your choosing (Because I have several Launcher_ bat files, I name mine Launcher_BBC_Micro Application Path → Browse to your MAME\Launchers folder and pick the bbc_micro_launcher.bat (if u are using the official MAME SOFTWARE LISTS zips) or pick the bbc_micro_launcher_tosec.bat (if u are using an unofficial romset like TOSEC) Leave all other settings default and you should have the following setup Click on the second menu 'Associated Platforms' and add your BBC Micro platform and set it as 'Default Emulator' Click OK 6. BBC Micro roms Go to Tools → Import→ Rom Files → Single Platform Browse to the location where your BBC Micro games are located Either Add them 'By Folder' or 'By files' Choose the correct platform 'BBC Micro' Choose the newly created 'Launcher_BBC_MICRO' Choose your desired option to either copy, move or current location After this it is basically clicking NEXT 4 times and FINISH Should be good to go from here on to launch the games. In testing I used roms from following MAME SL folders Extra details The launcher tells you what it is doing, which filetype it has, which lua it runs, etc... The launcher is also well documented so if u spend a few minutes to read the comments, it should be pretty straightforward to understand. Each game should be in a ZIP file containing one of the supported formats. (SSD, DSD, FSD, ADS, ADL, UEF, ROM, WAV) Cassette games (UEF, WAV) use a fastload luascript to speed up the loading time. With the launcher, it basically runs every type of game u throw at it. Again, of course I haven't tested all bbc micro roms from the mame software lists. But the launcher can be further customised to add certain games (by romname), for instance if u encounter other FLOP games that require certain commands besides LOAD or SHIFTBREAK...u can add them by editing the lua files. BBC lua files that have a local GAMES setting can be further customized and added to. For the most part however, I already did most of the work to get this system up and running. Is the launcher able to launch every bbc micro roms...I wouldn't be able to say unless I actually tested it with each and every rom. From my tests, I think it should launch most of them without any further hassle or configuring. The remaining 10-20% will be handled by adding them as exceptions as described here above in any of the lua local games lists. TOSEC vs. OFFICIAL MAME SOFTWARE LISTS (mame SL is recommended) Official MAME software list zips have short names and no other characters beside A-Z 0-9 _ TOSEC, has longer filenames and special characters in the filename()#! Especially the filenames with an exclamation mark (!) cannot be run with this launcher. So if u are using a TOSEC set, it's best to rename any rom name which has exclamation marks in it. Blast! (1989)(Audiogenic).zip → should be renamed to → Blast (1989)(Audiogenic).zip Control Schemes (for controller mapping) This is still a work in progress. Basically, most games will fall in this category: - AZCOMMA_GAMES - For A/Z/</> controls - ZXSTAR_GAMES - For Z/X/*? controls - CURSOR_GAMES - For cursor key controls - QAOP_GAMES - For Q/A/O/P controls Idea is, when u find a game which for instance uses A/Z/</> controls, u only need to configure them once, copy the fully configured config files to the \MAME\cfg\_BBCMicro\azcomma directory and just add any new games u find to the AZCOMMA_GAMES list Same goes for the other types of control schemes. But it is time consuming work, so I haven't finished this part yet. Of course, keyboard always works... Hope this launcher will at least take away some of the hassle of getting this system up and running and open up the BBC Micro games to more users. Final words Of course it goes without saying that it is recommended to use the official mame software list in combination with the bbc_micro_launcher.bat because it has less quirks. If users find any of their own exceptions, or games that do not boot, or make improvements themselves. Please let me know so I can improve the launcher. These launchers are now in a working state, depending on requests or need I might make separate posts for them. Just shout out. @fromlostdays @ancient_mu_mu @jamz Happy gaming Changelog v1.0 - 28 march 2026 - First release v1.1 - 31 march 2026 - Added exceptions for boffin and boffin2 (updated bbc_cass_new.lua) Edited Tuesday at 02:55 AM by launchretrogirl2562 Quote
jamz Posted Monday at 09:43 PM Posted Monday at 09:43 PM Thanks so much for this! It works really well - I used the MAME Importer from the following thread as it names the imported files rather than using the MAME 'short names': Once imported I tried a bunch of games - some worked, some didn't (bbc_cass\boffin.zip and bbc_cass\boffin2.zip don't seem to) but lots of them I tested did. It makes it SO much easier to launch and use these. I'd be really interested in the Atom launcher as well, just to complete the set - Atom, Electron and BBC! 1 Quote
launchretrogirl2562 Posted Tuesday at 12:56 AM Author Posted Tuesday at 12:56 AM 3 hours ago, jamz said: Thanks so much for this! It works really well - I used the MAME Importer from the following thread as it names the imported files rather than using the MAME 'short names': Once imported I tried a bunch of games - some worked, some didn't (bbc_cass\boffin.zip and bbc_cass\boffin2.zip don't seem to) but lots of them I tested did. It makes it SO much easier to launch and use these. I'd be really interested in the Atom launcher as well, just to complete the set - Atom, Electron and BBC! I will look into the boffin files. Shouldn't be too hard to find out. Will get working on an atom post. Thanks for testing! Quote
launchretrogirl2562 Posted Tuesday at 01:35 AM Author Posted Tuesday at 01:35 AM (edited) 5 hours ago, jamz said: Thanks so much for this! It works really well - I used the MAME Importer from the following thread as it names the imported files rather than using the MAME 'short names': Once imported I tried a bunch of games - some worked, some didn't (bbc_cass\boffin.zip and bbc_cass\boffin2.zip don't seem to) but lots of them I tested did. It makes it SO much easier to launch and use these. I'd be really interested in the Atom launcher as well, just to complete the set - Atom, Electron and BBC! Boffin and boffin2 just needed be added to the exceptions in bbc_cass_new.lua These games need *TAPE and the *RUN to launch ["boffin"] = "RUN", ["boffin2"] = "RUN", just replace your bbc_cass_new with this one. i also updated the zip to include these changes. bbc_cass_new.lua Edited Tuesday at 02:58 AM by launchretrogirl2562 Quote
jamz Posted Tuesday at 04:19 PM Posted Tuesday at 04:19 PM Thanks, that fixed it. It's really impressive how easy it is to make the change in the script so that it works. I'll have a play around over the next few days and post anything I find which needs some tweaking. 1 Quote
SiriusVI Posted Tuesday at 06:21 PM Posted Tuesday at 06:21 PM This is such a valuable contribution, thank you! It also has potential to be expanded. There are many so computer systems that are a pain to set up so they launch automatically (Apple2 cassette tapes, electron, atom, and so on). It would be great if there were scrips like this for other systems as well. 1 Quote
launchretrogirl2562 Posted Tuesday at 06:29 PM Author Posted Tuesday at 06:29 PM 2 hours ago, jamz said: Thanks, that fixed it. It's really impressive how easy it is to make the change in the script so that it works. I'll have a play around over the next few days and post anything I find which needs some tweaking. I pointed to this in my original posting. All LUA's that have a local_games setting...such as the bbc_cass has...can be expanded upon. For cassette games...they have a default of TAPE CHAIN...but if u encounter any cassette games that don't launch...u can add to the local_games list in the cass lua...and try it with RUN...or try it with LOAD I just paved the way for most games running with the defaults. Any exceptions...I hope to learn from user input here. Quote
launchretrogirl2562 Posted Tuesday at 06:30 PM Author Posted Tuesday at 06:30 PM (edited) 1 hour ago, SiriusVI said: This is such a valuable contribution, thank you! It also has potential to be expanded. There are many so computer systems that are a pain to set up so they launch automatically (Apple2 cassette tapes, electron, atom, and so on). It would be great if there were scrips like this for other systems as well. I already made a launcher for electron I will be releasing others in the coming weeks. Atom is next on the list to release. And these following systems I already made similar launchers for...but I still have to release them. | Edited Tuesday at 07:21 PM by launchretrogirl2562 Quote
SiriusVI Posted Tuesday at 07:48 PM Posted Tuesday at 07:48 PM (edited) 1 hour ago, launchretrogirl2562 said: I already made a launcher for electron I will be releasing others in the coming weeks. Atom is next on the list to release. That is absolutely amazing. Didn't know about that. I will have to try all of this out once I get the chance. Another question: is there some kind of method for dealing with games that need a game specific boot command? I remember some games needing a version of the games name to be typed out in order to run. Also, for Apple 2 cassette tapes, I remember that each game has a special code that needs to be typed in order to run. So far I have only managed to automate this process using custom command line parameters in conjunction with AHK scrips to make such games run automatically. This is extremely demanding if you want to set this up for every single game. Edited Tuesday at 07:49 PM by SiriusVI Quote
launchretrogirl2562 Posted Tuesday at 08:53 PM Author Posted Tuesday at 08:53 PM (edited) 1 hour ago, SiriusVI said: That is absolutely amazing. Didn't know about that. I will have to try all of this out once I get the chance. Another question: is there some kind of method for dealing with games that need a game specific boot command? I remember some games needing a version of the games name to be typed out in order to run. Also, for Apple 2 cassette tapes, I remember that each game has a special code that needs to be typed in order to run. So far I have only managed to automate this process using custom command line parameters in conjunction with AHK scrips to make such games run automatically. This is extremely demanding if you want to set this up for every single game. Method...that is trial and error. For some launchers for instance...I included a *CAT command before I run the actual game. The *CAT command shows the directory listing of the disk. Most floppy disks run with !BOOT....and that already shows then when u pull up the directory. But sometimes, some games....they show for instance the game name, or show how u need to run it. So yeah, a launcher can only go so far. But at least I made it customizable. Most of my lua's have a local_games variable which can be added to... It's near impossible to make a launcher that runs everything, without knowing each launch command for each game. But, for most platforms...the standard commands run basically 80% of all games. Rest is indeed manual labor to add the exceptions. But beggars can't be choosers. I hope to learn from other users, and slowly improve on the launcher to include all exceptions. Edited Tuesday at 09:04 PM by launchretrogirl2562 Quote
launchretrogirl2562 Posted Wednesday at 07:40 PM Author Posted Wednesday at 07:40 PM 23 hours ago, SiriusVI said: That is absolutely amazing. Didn't know about that. I will have to try all of this out once I get the chance. Another question: is there some kind of method for dealing with games that need a game specific boot command? I remember some games needing a version of the games name to be typed out in order to run. Also, for Apple 2 cassette tapes, I remember that each game has a special code that needs to be typed in order to run. So far I have only managed to automate this process using custom command line parameters in conjunction with AHK scrips to make such games run automatically. This is extremely demanding if you want to set this up for every single game. Also, to add to this...in another launcher of mine, i parsed the whole xml hash from mame...and included all run commands from the xml in my local_games exceptions. But not every xml from mame has these run commands listed. With those that don't have...it is just trying. Quote
SiriusVI Posted 17 hours ago Posted 17 hours ago 21 hours ago, launchretrogirl2562 said: Also, to add to this...in another launcher of mine, i parsed the whole xml hash from mame...and included all run commands from the xml in my local_games exceptions. But not every xml from mame has these run commands listed. With those that don't have...it is just trying. Is there a list of all your launchers somewhere? I have found a few, but I don't want to miss any 😀 Quote
launchretrogirl2562 Posted 15 hours ago Author Posted 15 hours ago 2 hours ago, SiriusVI said: Is there a list of all your launchers somewhere? I have found a few, but I don't want to miss any 😀 I haven't released my others yet. Atom is the one i am working on the release next. Don't worry about missing any. If I make a new post, I will tag u in it. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.