launchretrogirl2562 Posted 22 hours ago Posted 22 hours ago (edited) Acorn Electron Launcher for LaunchBox - Setup Guide This launcher provides Acorn Electron emulation with automatic file type detection, optimized control schemes (work in progress), and game-specific configurations for MAME. Features Automatic file type detection (UEF, ADF, ADM, DSD, SSD, ROM) Smart control scheme mapping (A/Z/Comma, Z/X/Star, Cursor keys, QAOP) Game-specific boot handling (EXEC vs RUN commands, special cases) Dual emulator support (MAME standalone + RetroArch/MAME core) Hardware-accurate configurations (Plus 1, Plus 3, SEDS, AP5 expansions) Complete MAME setup (configs, artwork - credit to Mega_bezel project from Duimon, BIOS files included) Installation Steps 1. Extract the Launcher Package Download the Acorn_Electron_Launcher.zip Extract contents to your MAME directory (e.g., D:\Emulators\MAME\) (THIS WILL OVERWRITE YOUR OWN ELECTRON.INI and ELECTRON artwork...so make a backup if you have an existing electron setup) The package contains these components: 📁 Root Files: electron.ini → MAME configuration for Electron 📁 artwork/electron/: acornelectron.png → System artwork default.lay → Screen layout electron.cfg → Artwork configuration 📁 cfg/_Electron/: default.cfg, electron.cfg → Main control configs azcomma/ → A/Z/</> control scheme configs zxstar/ → Z/X/*? control scheme configs 📁 launchers/: acorn_electron_launcher.bat → Main launcher script (for use with official MAME Software lists) acorn_electron_launcher_tosec.bat → Main launcher script (for use with custom romsets like TOSEC) 📁 luascripts/: electron_fastload.lua → Cassette fast-loading electron_flop_detector.lua → Auto-boot detection electron_flop_runboot.lua → RUN !BOOT games electron_spellbinder.lua → Spellbinder special case electron_flop.lua → Manual boot script 📁 roms/: Acorn Electron BIOS files 2. Update Launcher Paths Open mame\launchers\acorn_electron_launcher.bat and mame\launchers\acorn_electron_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 (electron.ini) Open mame\electron.ini in a text editor Update the rompath to match your system: rompath "roms;D:\Games\Acorn Electron" ← Change D:\Games\Acorn Electron to whereever your own electron roms are located 4. Launchbox - Add new Platform (Acorn Electron) Open Launchbox Go to Tools → Manage → Platforms Click 'Add' Enter Platform Name : Acorn Electron For 'Scrape as:' also choose Acorn Electron 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_AcornElectron Application Path → Browse to your MAME\Launchers folder and pick the acorn_electron_launcher.bat (if u are using the official MAME SOFTWARE LISTS zips) or pick the acorn_electron_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 Acorn Electron platform and set it as 'Default Emulator' Click OK 6. Acorn Electron roms Go to Tools → Import→ Rom Files → Single Platform Browse to the location where your Acorn Electron games are located Either Add them 'By Folder' or 'By files' Choose the correct platform 'Acorn Electron' Choose the newly created 'Launcher_AcornElectron' 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. 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. (UEF, ADF, ADM, DSD, SSD, ROM) Cassette games (UEF) use a fastload luascript to speed up the loading time. Because it is difficult to get the timing correct for each and every single game the cassette games need a keypress F1 to stop fastloading. So after a game is fully loaded, just press F1. (it will also state this while launching) With the launcher, it basically runs every type of game u throw at it. Of course I haven't tested all 600+ acorn electron 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 RUN!BOOT...u can add them. Same goes for games that need to run with Plus 3 + SEDS + AP5 cartridges, they can also be easily added to the launcher 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 600+ acorn electron 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 about 90% of them without any further hassle or configuring. The remaining 10% will be handled by adding them as exceptions as described here above. TOSEC vs OFFICIAL MAME SOFTWARE LISTS Official zips have short names and no other characters beside A-Z 0-9 _ TOSEC, has longer filenames and 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\_Electron\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 Acorn Electron games to more users. @fromlostdays @ancient_mu_mu @jamz Happy gaming Acorn_Electron_Launcher.zip Edited 4 hours ago by launchretrogirl2562 3 Quote
jamz Posted 22 hours ago Posted 22 hours ago (edited) This looks amazing, thanks so much. I'll give it a go tomorrow and report back! I assume it'd be fairly straightforward to amend for the BBC Micro also .. same loading mechanisms, etc. Edited 22 hours ago by jamz 1 Quote
launchretrogirl2562 Posted 22 hours ago Author Posted 22 hours ago 10 minutes ago, jamz said: This looks amazing, thanks so much. I'll give it a go tomorrow and report back! I assume it'd be fairly straightforward to amend for the BBC Micro also .. same loading mechanisms, etc. I have these also fully configured And the BBC micro I also have a setup which I can share, but they are individual game BAT files. But they do work. 1 Quote
launchretrogirl2562 Posted 18 hours ago Author Posted 18 hours ago 4 hours ago, jamz said: This looks amazing, thanks so much. I'll give it a go tomorrow and report back! I assume it'd be fairly straightforward to amend for the BBC Micro also .. same loading mechanisms, etc. No. Not as straightforward as it seems. BBC micro needs a completely different lua. (chain / shift break / load / ...) The lua's that are available don't run every game. So I made a new one which I am still testing. I want my lua to run all zips from the mame software list bbcb_flop and bbcb_flop_orig When I have a working version I will post it in a new BBC Micro Launcher for LaunchBox post. 1 Quote
jamz Posted 10 hours ago Posted 10 hours ago Hi @launchretrogirl2562 I've installed it this morning and it doesn't fully seem to be working. My setup is as follows: acorn_electron_launcher.bat: set "RETROARCH_PATH=D:\Emulators\RetroArch" set "MAME_PATH=D:\Emulators\MAME" set "LUASCRIPT_PATH=D:\Emulators\MAME\luascripts" electron.ini: rompath "roms;Y:\Emulators\Roms\Acorn Electron" I've tried with both a UEF file and an SSD file as follows: Y:\>c:\bin\7za.exe l "y:\Emulators\Roms\Acorn Electron\Disks\Alphatron (19xx)(Program Power).zip" 7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 Listing archive: y:\Emulators\Roms\Acorn Electron\Disks\Alphatron (19xx)(Program Power).zip -- Path = y:\Emulators\Roms\Acorn Electron\Disks\Alphatron (19xx)(Program Power).zip Type = zip Physical Size = 7607 Date Time Attr Size Compressed Name ------------------- ----- ------------ ------------ ------------------------ 2026-03-11 15:44:28 ..... 22272 7439 Alphatron (19xx)(Program Power).ssd ------------------- ----- ------------ ------------ ------------------------ 22272 7439 1 files, 0 folders Y:\>c:\bin\7za.exe l "y:\Emulators\Roms\Acorn Electron\Tapes\Answer Back - Junior Quiz General Knowledge (198x)(Kosmos Software).zip" 7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 Listing archive: y:\Emulators\Roms\Acorn Electron\Tapes\Answer Back - Junior Quiz General Knowledge (198x)(Kosmos Software).zip -- Path = y:\Emulators\Roms\Acorn Electron\Tapes\Answer Back - Junior Quiz General Knowledge (198x)(Kosmos Software).zip Type = zip Physical Size = 44994 Date Time Attr Size Compressed Name ------------------- ----- ------------ ------------ ------------------------ 2026-03-11 15:44:28 ..... 44893 44754 Answer Back - Junior Quiz General Knowledge (198x)(Kosmos Software).uef ------------------- ----- ------------ ------------ ------------------------ 44893 44754 1 files, 0 folders In both cases the script correctly detects the filetype (I inserted a pause into the bat file to capture the below): =============================================== Loading: Alphatron (19xx)(Program Power) =============================================== Games can be run with either ROMNAME or ROMPATH If you encounter issues with MAME not finding the game then use ROMPATH For instance use -flop ROMPATH instead of -flop ROMNAME (Don't forget to include the % around ROMPATH or ROMNAME) Best practice is to make sure to correctly configure the rompath in the electron.ini This way mame does not need the fullpath to the mame rom =============================================== FORCE MAME MODE ENABLED (from environment variable) Using electron_flop_detector.lua . Using config directory: cfg\_Electron Detecting file type... Detected: SSD Press any key to continue . . . =============================================== Loading: Answer Back - Junior Quiz General Knowledge (198x)(Kosmos Software) =============================================== Games can be run with either ROMNAME or ROMPATH If you encounter issues with MAME not finding the game then use ROMPATH For instance use -flop ROMPATH instead of -flop ROMNAME (Don't forget to include the % around ROMPATH or ROMNAME) Best practice is to make sure to correctly configure the rompath in the electron.ini This way mame does not need the fullpath to the mame rom =============================================== FORCE MAME MODE ENABLED (from environment variable) Using electron_flop_detector.lua . Using config directory: cfg\_Electron Detecting file type... Detected: UEF Press any key to continue . . . When I press a key the batch file continues and then just vanishes. Even with a second pause in a block which I believe it should enter, it doesn't pause and just closes: echo Detecting file type... for /f "delims=" %%i in ('powershell -command "Add-Type -AssemblyName System.IO.Compression.FileSystem; $zip = [System.IO.Compression.ZipFile]::OpenRead('%ROMPATH%'); $entries = $zip.Entries; $zip.Dispose(); if($entries.Name -like '*.uef'){Write-Output 'UEF'} elseif($entries.Name -like '*.adf'){Write-Output 'ADF'} elseif($entries.Name -like '*.adm'){Write-Output 'ADM'} elseif($entries.Name -like '*.dsd'){Write-Output 'DSD'} elseif($entries.Name -like '*.ssd'){Write-Output 'SSD'} elseif($entries.Name -like '*.rom'){Write-Output 'ROM'} else {Write-Output 'UNKNOWN'}"') do set FILETYPE=%%i echo Detected: %FILETYPE% pause if "%FILETYPE%"=="UEF" ( pause echo. echo File type: UEF - Cassette Tape Format echo =============================================== echo Cassette games are loaded with electron_fastload powershell -command "Write-Host 'PRESS F1 TO DISABLE FAST FORWARD WHEN GAME HAS LOADED!' -ForegroundColor Red" echo to stop the fastload. echo =============================================== echo. echo DEBUG: FORCE_MAME = %FORCE_MAME% It never seems to reach the second pause after the "if "%FILETYPE%"=="UEF" (" line, even when it correctly identifies the game as a UEF file. If I can provide any further info to help debug, please let me know. And thanks for the efforts on the script - it's clear the amount of work that has gone into it. Quote
launchretrogirl2562 Posted 9 hours ago Author Posted 9 hours ago @jamz : what is the 7za.exe doing and why is it doing anything? That is not needed. Those acorn electron roms should be passed to the script in zip format and don't need to be handled by 7zip Try running this command in a command window (when in folder mame\launchers) acorn_electron_launcher.bat "y:\Emulators\Roms\Acorn Electron\Disks\Alphatron (19xx)(Program Power).zip" What does it do then? On a sidenote, my launcher is built and tested with the official MAME software lists (version 0.286) and MAME (version 0.286) And my alphatron game... Quote
jamz Posted 9 hours ago Posted 9 hours ago 1 minute ago, launchretrogirl2562 said: @jamz : what is the 7za.exe doing and why is it doing anything? That is not needed. Those acorn electron roms should be passed to the script in zip format and don't need to be handled by 7zip That was just me showing you the content of the zip file in case it helped 2 minutes ago, launchretrogirl2562 said: Try running this command in a command window (when in folder mame\launchers) acorn_electron_launcher.bat "y:\Emulators\Roms\Acorn Electron\Disks\Alphatron (19xx)(Program Power).zip" It says this: D:\Emulators\MAME\launchers>acorn_electron_launcher.bat "y:\Emulators\Roms\Acorn Electron\Disks\Alphatron (19xx)(Program Power).zip" =============================================== Loading: Alphatron (19xx)(Program Power) =============================================== Games can be run with either ROMNAME or ROMPATH If you encounter issues with MAME not finding the game then use ROMPATH For instance use -flop ROMPATH instead of -flop ROMNAME (Don't forget to include the % around ROMPATH or ROMNAME) Best practice is to make sure to correctly configure the rompath in the electron.ini This way mame does not need the fullpath to the mame rom =============================================== FORCE MAME MODE ENABLED (from environment variable) Using electron_flop_detector.lua . Using config directory: cfg\_Electron Detecting file type... Detected: SSD (Program was unexpected at this time. D:\Emulators\MAME\launchers> I don't think the script like the brackets in the filename - if I remove them, it works: D:\Emulators\MAME\launchers>acorn_electron_launcher.bat "d:\Emulators\MAME\launchers\Alphatron.zip" =============================================== Loading: Alphatron =============================================== Games can be run with either ROMNAME or ROMPATH If you encounter issues with MAME not finding the game then use ROMPATH For instance use -flop ROMPATH instead of -flop ROMNAME (Don't forget to include the % around ROMPATH or ROMNAME) Best practice is to make sure to correctly configure the rompath in the electron.ini This way mame does not need the fullpath to the mame rom =============================================== FORCE MAME MODE ENABLED (from environment variable) Using electron_flop_detector.lua . Using config directory: cfg\_Electron Detecting file type... Detected: SSD File type: SSD - Standard Single Sided Disk Using DFS (Disk Filing System) with automatic boot detection with Plus 3 interface, BIOS 4 Using default SSD command with electron_flop_detector.lua Using standalone MAME... Quote
launchretrogirl2562 Posted 9 hours ago Author Posted 9 hours ago (edited) @jamz I know...I was already working on a fix for it. But as I said, I didn't create my launcher for TOSEC. But. I have it fixed. Try my updated launcher. Copy it to your launchers folder. And don't forget to change your emulator to use this one instead. Try run the command first acorn_electron_launcher_tosec.bat "y:\Emulators\Roms\Acorn Electron\Disks\Alphatron (19xx)(Program Power).zip" Should work now. acorn_electron_launcher_tosec.bat Edited 5 hours ago by launchretrogirl2562 Quote
jamz Posted 9 hours ago Posted 9 hours ago (edited) It works perfectly, thanks for helping! Would be very interested in the others, particularly the atom and BBC when they were in a release state (umm, and both my collections for those are TOSEC as well ...) Edited 9 hours ago by jamz Quote
launchretrogirl2562 Posted 8 hours ago Author Posted 8 hours ago 3 minutes ago, jamz said: It works perfectly, thanks for helping! Would be very interested in the others, particularly the atom and BBC when they were in a release state (umm, and both my collections for those are TOSEC as well ...) I will get to them in the coming days, and from now on I will always provide two separate launchers. One for the official MAME Software lists and one for TOSEC. For Tosec it needs different code and I want to keep my launchers clean and less bloated and cater to every need, but still keep it manageable. So, those that have official MAME SL set can take my regular launcher, those that have TOSEC or other sets...can take the tosec launcher. And do test some more roms, with varying extensions from your TOSEC romset. ADF/ADM/DSD/SSD/ROM/UEF 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.