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 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. Only when needed u can press F1 to stop the fast forwarding.
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.
LUA Scripts - Electron_fastload
Default behavior: CHAIN"" Most games run with just CHAIN"" β this is what gets sent automatically after switching to *TAPE mode.
Exception list: *RUN then CHAIN"" A handful of games are hardcoded in the run_games table to use *RUN first, then CHAIN"". These are games that are known to need it. The *RUN call essentially executes a binary/executable file from tape before the CHAIN command chains into the game properly.
Auto-fallback: also *RUN then CHAIN"" Even for games not in the exception list, the script has a fallback mechanism β if it detects that the tape stopped too early or never started loading at all (within the first few seconds), it automatically tries the *RUN + CHAIN"" method anyway. So the exception list is really just for games where you know upfront they'll need it, saving the wasted time of attempting CHAIN first.
So in short: almost everything uses CHAIN"", a known set uses *RUN + CHAIN"" immediately, and anything else that fails with CHAIN"" falls back to *RUN + CHAIN"" automatically.
TOSEC vs. OFFICIAL MAME SOFTWARE LISTS (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\_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.
Final words
Of course it goes without saying that it is recommended to use the official mame software list in combination with the acorn_electron_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.
@fromlostdays @ancient_mu_mu @jamz
Happy gaming
Changelog
v1.1 - Added separate launcher for unofficial romset (tosec) handling
Added file : acorn_electron_launcher_tosec.bat
v1.2 - Improved multi-stage cassette loading. Cassette loads automatically with throttle and fast forward. Removed the need for manual input (F1) to stop the fast forward.
Changed file : electron_fastload.lua
v1.3 - Handle ampersands in acorn electron tosec launcher
Changed file : acorn_electron_launcher_tosec.bat