Jump to content
LaunchBox Community Forums

Recommended Posts

Posted (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

  1. Download the Acorn_Electron_Launcher.zip
  2. 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)
  3. 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

  1. Open mame\launchers\acorn_electron_launcher.bat and mame\launchers\acorn_electron_launcher_tosec.bat in a text editor
  2. 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)

  1. Open mame\electron.ini in a text editor
  2. 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)

  1. Open Launchbox
  2. Go to Tools → Manage → Platforms
  3. Click 'Add'
  4. Enter Platform Name : Acorn Electron
  5. For 'Scrape as:' also choose Acorn Electron
  6. Click OK
    image.thumb.png.a8d77eac528919186ba9bbda8ac57473.png

5. Launchbox - Add new Emulator

  1. Go to Tools → Manage → Emulators
  2. Click 'Add'
  3. Emulator Name → Enter any name of your choosing (Because I have several Launcher_ bat files, I name mine Launcher_AcornElectron
  4. 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)
  5. Leave all other settings default and you should have the following setup
    image.thumb.png.a90355f4b5d0aeaed57818dc9e56d318.png
  6. Click on the second menu 'Associated Platforms' and add your Acorn Electron platform and set it as 'Default Emulator'
    image.thumb.png.3e134e5d954c56b779e23adac4eefee4.png 
  7. Click OK

6. Acorn Electron roms

  1. Go to Tools → Import→ Rom Files → Single Platform
  2. Browse to the location where your Acorn Electron games are located
  3. Either Add them 'By Folder' or 'By files'
    image.thumb.png.82825c255a5746d914824a9d842f4e7b.png
  4. Choose the correct platform 'Acorn Electron'
    image.thumb.png.965fcdd67caa9643405b6cc988588d2c.png
  5. Choose the newly created 'Launcher_AcornElectron'
    image.thumb.png.0fe40fcbf43ee104e7bda2cfc8726f94.png
  6. Choose your desired option to either copy, move or current location
    image.thumb.png.90929a1ed7bed4b1b66685f81a12612a.png
  7. After this it is basically clicking NEXT 4 times and FINISH
    image.thumb.png.d8dbd33164e9f86cadde99f964170e6b.png

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.

image.thumb.png.d154701e3c6cb911a3253e4ad5114679.png

Same goes for games that need to run with Plus 3 + SEDS + AP5 cartridges, they can also be easily added to the launcher

image.thumb.png.da691a523a40b31d9fd93e1b6c3a76e7.png

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 _
image.thumb.png.263de77dddf9bf4f14a9767878a01791.png

TOSEC, has longer filenames and and special characters in the filename()#!
image.thumb.png.a821538b12ad32cc4e60bca73359ad00.png

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
image.thumb.png.185714cd34b3fd15e742609e694cbf59.png

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
AstroPlumber.thumb.png.9ad82a7aefd3f39a3d0ff7690b6df91a.png

 Acorn_Electron_Launcher.zip

Edited by launchretrogirl2562
  • Thanks 3
Posted (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 by jamz
  • Like 1
Posted
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
image.thumb.png.a648bda04b5cb642af8124db1728cc2b.png

And the BBC micro I also have a setup which I can share, but they are individual game BAT files. But they do work.

  • Thanks 1
Posted
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.

  • Thanks 1
Posted

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.

 

Posted

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

image.thumb.png.2f364a39b0cf44670daf4e8fa376237f.png

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

Alphatron.thumb.png.db272c6a5ef306c78d4e7c36b5770928.png

image.thumb.png.f2fdc6b30300445e580c42e5cda4cc24.png

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

 

Posted (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 by launchretrogirl2562
Posted (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 by jamz
Posted
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
 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...