Jump to content
LaunchBox Community Forums

The Acorn Electron and the GamesDB


kerszr

Recommended Posts

I apologize if i exhumed a post of over 3 years old, but i can't find nothing else about this subject, at least here in the forum.

Imho, i prefer to use official MAME release instead of old RetroArch-cores and Emulators (at the moment i'm using version 0.261)

From Tools > Manage > Emulators > MAME > Associated Platforms > Acorn Electron > Default Command Line Parameters,

based on what's discussed here, all working parameters i've found so far are:

 

for DISCS:

electron -exp plus3,bios=4 -autoboot_command "n\n*exec !boot\n" -flop


for TAPES (i use uppercase for "chain" command otherwise i get the ">MISTAKE" error):

electron -autoboot_delay "2" -autoboot_command "*tape\nCHAIN""""""\n" -cass


for CARTRIDGES:

electron -exp plus1 -cart1    

 

Unfortunately i didn't understand how to create a script/ini/lua configuration file, to start all my Acorn Electron collection, avoiding to:
- change these parameters depending of file format
- add a personalized configuration for each game

Is it possible to create/edit a single configuration with this "official mame" method?

 

P.S. it would be nice to have a sort of single pinned section containing all the info collected so far, for all the platforms that are currently supported by LB... probably it's not a simple thing to do :)

Edited by Umarel
Link to comment
Share on other sites

22 minutes ago, Umarel said:

Unfortunately i didn't understand how to create a script/ini/lua configuration file, to start all my Acorn Electron collection, avoiding to:
- change these parameters depending of file format
- add a personalized configuration for each game

Is it possible to create/edit a single configuration with this "official mame" method?

Not easily.

No matter how you go about it, your command line, at minimum is going to need electron AND either -flopdisc, or cart1.  Akin creating an elaborate script that will check the ROM then sending the correct parameters to MAME, the easiest way would be to have separate platforms for each media type (flop, disc, cart).  Then just set the correct parameters for the corresponding Associated Platform.  Easy peasy.

If you are adamant about not having them separated like that, 2 possible options are:

Create a category Acorn Electron and put the 3 platforms into it.   Then set your view to Categories.

 

The other option (of many others, I'm sure) is to have all 3 media-type platforms moved into a single platform. ...After a little finagling...

  1. Import the 3 into separate platforms.  (i.e. electron_cart, electron_cass, electron_flop)
  2. Install the Bulk Custom Command-Line Editor plugin
  3. Restart LaunchBox after installing the plugin
  4. select one of the three platforms (say... "electron_cart") then select all the games in that platform (select one, then press Ctrl+A)
  5. Right-click one of them and select (at the bottom of the menu) Bulk Command Line Editor
  6. Type in, or copy-and-paste electron -exp plus1 -cart1 and click Finish
  7. Repeat steps #4 #5 #6 for the other 2 platforms, changing the command line, accordingly
  8. Test a game or 2 in each of the 3 to confirm all-is-[still]-good
  9. Do step #4
  10. Now press Ctrl+E to start LaunchBox's Bulk Edit Wizard
  11. On the 2nd page, for Field:, select Platform
  12. For the Value: type in the name of the platform you want all 3 to be in (i.e. Acorn Electron)
  13. Repeat steps 9, 10, 11 and 12 for the other 2 platforms

 

  • Thanks 1
Link to comment
Share on other sites

46 minutes ago, JoeViking245 said:

Not easily.

No matter how you go about it, your command line, at minimum is going to need electron AND either -flopdisc, or cart1.  Akin creating an elaborate script that will check the ROM then sending the correct parameters to MAME, the easiest way would be to have separate platforms for each media type (flop, disc, cart).  Then just set the correct parameters for the corresponding Associated Platform.  Easy peasy.

If you are adamant about not having them separated like that, 2 possible options are:

Create a category Acorn Electron and put the 3 platforms into it.   Then set your view to Categories.

 

The other option (of many others, I'm sure) is to have all 3 media-type platforms moved into a single platform. ...After a little finagling...

  1. Import the 3 into separate platforms.  (i.e. electron_cart, electron_cass, electron_flop)
  2. Install the Bulk Custom Command-Line Editor plugin
  3. Restart LaunchBox after installing the plugin
  4. select one of the three platforms (say... "electron_cart") then select all the games in that platform (select one, then press Ctrl+A)
  5. Right-click one of them and select (at the bottom of the menu) Bulk Command Line Editor
  6. Type in, or copy-and-paste electron -exp plus1 -cart1 and click Finish
  7. Repeat steps #4 #5 #6 for the other 2 platforms, changing the command line, accordingly
  8. Test a game or 2 in each of the 3 to confirm all-is-[still]-good
  9. Do step #4
  10. Now press Ctrl+E to start LaunchBox's Bulk Edit Wizard
  11. On the 2nd page, for Field:, select Platform
  12. For the Value: type in the name of the platform you want all 3 to be in (i.e. Acorn Electron)
  13. Repeat steps 9, 10, 11 and 12 for the other 2 platforms

 

I'll check thanks!

Edited by Umarel
Link to comment
Share on other sites

I use MAME to emulate the Electron cart, cass and flop software lists, and I don't bother with the rom sw list.
All 3 share a common platform in LaunchBox: I use default parameters for cassettes and set per-game custom parameters for the cart and flop formats. I don't have too many Electron games installed, so setting things manually is not a big effort.
These parameters work fine for me.

Cartridge
electron -cart1

Cassette
electron -ab *TAPE\nCHAIN\"\"\n -autoboot_delay 2 -cass

Floppy ADFS format
electron -ab "*CAT\n\n\n\n\n\n*RUN !BOOT\n" -autoboot_delay 2 -flop

Floppy DFS format
electron -exp plus1 -cart1 seds -ab "*EXEC !BOOT\n" - autoboot_delay 2 -flop

Note that some disk games may require *RUN instead of *EXEC and vice-versa.
 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

In general i would keep only the exclusive games that came out only for that specific platform (without complicating life too much), instead of having thousands of games that i will never play.

Unfortunately i still haven't found an "exclusive games" list for Atom Electron (although Wikipedia has several platform-exclusive lists, and probably they are the most reliable/updated ones i've found, at least  so far...

In any case these two approaches are useful for most situations ;)

Edited by Umarel
Link to comment
Share on other sites

Whats the best way anyone has found to handle customized configs for each Acorn Electron game, for the purposes of assigning keys to controller movements?

Electron control methods are all over the place, some games support joysticks and thats fairly straightforward but most dont. And of keyboard control only games, theres not really a standard for up / down / left / right / fire so mapping is an issue. Mame only allows mapping per machine emulated, but we need per game. I know theres a way to do this with .ini files but Retroarch seems more straightforward for customizing controls for each game, but then it seems clunky to run electron games via mame and via retroarch at the same time.

Grateful if anyone can share their experiences on this.

 

Link to comment
Share on other sites

16 minutes ago, shanghaiultra said:

Mame only allows mapping per machine emulated, but we need per game.

Stand-alone MAME allows per-game configuration for softlist systems (as well as Arcade systems).  To change the controls for just one specific game and not affect the rest of that systems games,

  • load that game ("Berzerk" as an example)
  • set the controls and exit MAME
    • press {Tab} then select Input (this Machine) and set your controls.  Do not select Input (general) or you will set the controls for every machine loaded in MAME
  • In your ../MAME/cfg/ folder, create a new folder called "electron" and in there, a folder called "berzerk" (the exact same name as the ROM file).   i.e.  ../MAME/cfg/electron/berzerk/
  • Move electron.cfg (in the /cfg/ folder) into the berzerk folder.  
  • In LaunchBox, edit Berzerk and in the Emulation section, check Use Custom Command-line Parameters and in the field below it put
    • electron -cfg_directory cfg/electron/berzerk -cass

If you're using autoboot commands, add those into the above line.

Wash, rinse and repeat for other games.

Link to comment
Share on other sites

On 12/27/2023 at 8:58 PM, Umarel said:

In general i would keep only the exclusive games that came out only for that specific platform (without complicating life too much), instead of having thousands of games that i will never play.

Unfortunately i still haven't found an "exclusive games" list for Atom Electron (although Wikipedia has several platform-exclusive lists, and probably they are the most reliable/updated ones i've found, at least  so far...

In any case these two approaches are useful for most situations ;)

This TOSEC list is the most comprehensive I have found of all Electron games, and although its not the exclusive on you are seeking, you can find just about any Electron game you want in there, and you may find my approach to collecting Electron games useful.

Like you, I am also weary of hoarding absurd numbers of games that will never be played. Plus, as you will know there's a high degree of crossover between BBC B and Electron games. So what I basically do is just go for the BBC B version of a game, and only seek out the Electron version if there was something unique about it which made it more memorable than the BBC version. The Electron was my first computer as a kid and I have specific memories of certain games - Superior Software's version of Space Invaders being one. But of course this is all down to personal experience and preference.

I just think pruning Launchbox games collections is probably something everyone should be doing at least somewhat. If there are Electron-only games, I can't think what they could have been, if they do exist would they be worth playing? It's been interesting playing so many Electron games from the past, and even discovering titles which I never knew about or couldn't get my hands on at the time. But I find some games just aren't fun to play today and probably weren't all that great even when they came out. So from a collection point of view, the Electron is interesting since so many of its games work, run and play a little better on a similar platform so there's a lot of duplication if you are collecting BBC B games as well.

To get back on topic, one thing I discovered was that quite a few Electron games were simply never released on disk. I didn't realise this until I had spent ages searching for disk versions of cassette games, in an effort to simply my autoscripting process. If every Electron game was in SSD format, things would be a lot easier.

Perhaps there is some way to convert cassette games to disk images... but that's a rabbit hole I don't think many will want to explore and probably not worth the effort.

 

  • Like 1
Link to comment
Share on other sites

10 hours ago, JoeViking245 said:

Stand-alone MAME allows per-game configuration for softlist systems (as well as Arcade systems).  To change the controls for just one specific game and not affect the rest of that systems games,

  • load that game ("Berzerk" as an example)
  • set the controls and exit MAME
    • press {Tab} then select Input (this Machine) and set your controls.  Do not select Input (general) or you will set the controls for every machine loaded in MAME
  • In your ../MAME/cfg/ folder, create a new folder called "electron" and in there, a folder called "berzerk" (the exact same name as the ROM file).   i.e.  ../MAME/cfg/electron/berzerk/
  • Move electron.cfg (in the /cfg/ folder) into the berzerk folder.  
  • In LaunchBox, edit Berzerk and in the Emulation section, check Use Custom Command-line Parameters and in the field below it put
    • electron -cfg_directory cfg/electron/berzerk -cass

If you're using autoboot commands, add those into the above line.

Wash, rinse and repeat for other games.

Many thanks for sharing this Joe. As has been said elsewhere on the thread, it's worth the effort to do per-game setups as its a one-time job. 

Would be nice if MAME or even Launchbox had a way to make this process less labourious, But either way it's still a good solution, especially for those who like to setup everything on Launchbox so you can sit down with a controller and never have to touch a keyboard.

 

  • Game On 1
Link to comment
Share on other sites

  • 1 month later...
On 1/2/2024 at 11:10 PM, JoeViking245 said:

Stand-alone MAME allows per-game configuration for softlist systems (as well as Arcade systems).  To change the controls for just one specific game and not affect the rest of that systems games,

  • load that game ("Berzerk" as an example)
  • set the controls and exit MAME
    • press {Tab} then select Input (this Machine) and set your controls.  Do not select Input (general) or you will set the controls for every machine loaded in MAME
  • In your ../MAME/cfg/ folder, create a new folder called "electron" and in there, a folder called "berzerk" (the exact same name as the ROM file).   i.e.  ../MAME/cfg/electron/berzerk/
  • Move electron.cfg (in the /cfg/ folder) into the berzerk folder.  
  • In LaunchBox, edit Berzerk and in the Emulation section, check Use Custom Command-line Parameters and in the field below it put
    • electron -cfg_directory cfg/electron/berzerk -cass

If you're using autoboot commands, add those into the above line.

Wash, rinse and repeat for other games.

Worked out a more streamlined version of the process of custom Mame configs for individual Acorn Electron games (presume this will work for many other computer systems emulated by Mame.)

Simply edit the custom command line in the emulation section to include "electron -cfg_directory cfg/electron/"<game name>" and then launch the game and press tab and set your controls in "Input (this machine)". The config folder and config files will be created automatically. The <game name> for the config folder doesnt matter as long as its unique to the game you are launching.

If Launchbox is able to accept individual folders for individual roms then %rompath% variable could be used to automate this process for every game. Have not had time to explore this yet though.

Link to comment
Share on other sites

11 minutes ago, shanghaiultra said:

Worked out a more streamlined version of the process of custom Mame configs for individual Acorn Electron games (presume this will work for many other computer systems emulated by Mame.)

Simply edit the custom command line in the emulation section to include "electron -cfg_directory cfg/electron/"<game name>" and then launch the game and press tab and set your controls in "Input (this machine)". The config folder and config files will be created automatically. The <game name> for the config folder doesnt matter as long as its unique to the game you are launching.

If Launchbox is able to accept individual folders for individual roms then %rompath% variable could be used to automate this process for every game. Have not had time to explore this yet though.

Very nice!  Cuts out all the middle leg work.

Add the variable %romfile% in the emulators command-line parameters and you'll be good to go.

Cartridge
electron -cfg_directory cfg/electron_cart/%romfile% -cart1 %romfile%

Cassette
electron -ab *TAPE\nCHAIN\"\"\n -autoboot_delay 2 -cfg_directory cfg/electron_cass/%romfile% -cass %romfile%

The ROM file name gives each game the unique name you're looking for.  Since we're adding %romfile% to the 'middle' of the command-line parameters, we need to add it at the end as well.  

Note the above separates electron_cart and electron_cass.  You'll need to do this because of games that have the same name in each media type (i.e. "hopper")

Link to comment
Share on other sites

On 2/19/2024 at 8:16 PM, JoeViking245 said:

Very nice!  Cuts out all the middle leg work.

Add the variable %romfile% in the emulators command-line parameters and you'll be good to go.

Cartridge
electron -cfg_directory cfg/electron_cart/%romfile% -cart1 %romfile%

Cassette
electron -ab *TAPE\nCHAIN\"\"\n -autoboot_delay 2 -cfg_directory cfg/electron_cass/%romfile% -cass %romfile%

The ROM file name gives each game the unique name you're looking for.  Since we're adding %romfile% to the 'middle' of the command-line parameters, we need to add it at the end as well.  

Note the above separates electron_cart and electron_cass.  You'll need to do this because of games that have the same name in each media type (i.e. "hopper")

Cheers Joe, this is indeed roughly what I had in mind. Unfortunately though it seems %romfile% doesn't work. According to this post we can see that the emulator section allows us to set %romfile% to include either the full path to the rom or just the name of the rom. However as far as I understand the %romfile% in your example above needs just the filename the first time, and the full path the second time.

All was not lost however - I tried %gameid% instead which works perfectly. The only drawback is that it creates folders in the Mame config directory named after the game ID which is of course a number and not the name of the game so its very impractical to keep track of which folder a config file for a specific game is. This is a pretty minor issue however and I can live with it. Anyway thank you Joe for your assistance.

I think this method will be good for anyone using Mame to emulate home computer systems and wanting to use a controller to do everything. Just set your controls once for an individual game in Mame and you're good any time you come back to that game.

  • Game On 1
Link to comment
Share on other sites

31 minutes ago, shanghaiultra said:

Unfortunately though it seems %romfile% doesn't work. According to this post we can see that the emulator section allows us to set %romfile% to include either the full path to the rom or just the name of the rom. However as far as I understand the %romfile% in your example above needs just the filename the first time, and the full path the second time.

Good point.  I guess it comes down to how you have your MAME setup.  Mine happens to just pass the rom filename [at the end of the command line], so in my instance it worked.  Using %gameid% is a great alternative for setups needing the pass the full_path _to_the_ROM.zip.  As far as mucking things up in MAME's subfolders, you say minor issue, I say non-existent issue. Once you figure how and why it works the way it does, you never look in the folders anyway. ;) 

  • Like 1
Link to comment
Share on other sites

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