Jump to content
LaunchBox Community Forums

Autoboot Command / Script for MAME SWL (Computer Systems)


SiriusVI

Recommended Posts

Since I'm not getting any further with Apple II, I would like to find a solution to another problem. As I've come to learn, some games (especially cassette tapes) need to have a special code entered to play. This means that in order to automate some games, we cannot use one single autoboot command, but rather many differen autoboot_commands for many different games.

Now when we right click on a game and select edit, we can define a custom command line parameter for this specific game. Unfortunately for me, I have no idea what I have to enter there to make anything work. Do I have to include the commandline for the emulator as well? let's use electron cartridges as an example. The command line for retroarch is as follows:

"electron -exp romboxp -rp \"L:\LaunchBox\Games\Acorn Electron\" -cart1 \"%romfile%\""

Now if I want to use a custom command line as mentioned above, would I do something like this?
 

"retroarch -L "cores\mame_libretro.dll" electron -exp romboxp -rp \"L:\LaunchBox\Games\Acorn Electron\" -cart1 \"%romfile%\"" 

 

EDIT:

Something unrelated. I've just found a better way to launch DFS floppy roms of the Acorn Electron. Many roms would launch, but also give out errors. This command launches them perfectly. An example is the game "Egghead in Space". @JoeViking245 if you're reading this, I know you stated that you had problems launching this game in the other thread:

"electron -exp plus1 -cart1 seds -cart2 ap5 -autoboot_delay 2 -autoboot_command *cat\n\n\n\n\n\n*exec!boot\n -rp \"L:\LaunchBox\Games\Acorn Electron\" -flop1 \"%romfile%\""

 

I didn't come up with this myself, I read it here:

https://stardot.org.uk/forums/viewtopic.php?t=16555

Edited by SiriusVI
Link to comment
Share on other sites

The custom command line is going to have whatever you need entered between the emulator executable_name and the rom_file_name.

-L "cores\mame_libretro.dll" electron -exp romboxp -rp "L:\LaunchBox\Games\Acorn Electron" -cart1

LB will put in retroarch in front of the above line and the rom name at the end when launched.  The rom name will go in based on the check boxes you have in the emulator settings.  i.e.  "Don't use quotes..." and "Use file name only....".   Also, you shouldn't need to make literal (\) the quotes like you have for the rom_Path (-rp) above.

That worked perfect for egghead. TY!

A note on rom paths for SoftLists:  (at least for stand alone MAME)

For the anal retentive, OCD type folk out there,  this may put them out of their comfort zone.... But..... if you put your softlist roms in folders the same name as their hash file xml names... all under one directory, you only need to add that one directory to the rompath in mame.ini.  So for example, I created a directory under mame called "software".   D:\mame\software\   So in my mame.ini, I have

rompath      roms;software

No more. No less.  Then under "software", it looks likeimage.png.8c6d31b66ca8591f8a15123d53708af8.pngYou can probably put any corresponding bios/device files in the respective softlist folder, but as some of them share these files (like the apple2 variants) I put them inside the "software" folder itself.

In this manner, you won't need to add -rp (unless RetroArch want to to 'different') to the command line.  Also, in the LB emulator settings, you can check both "Don't use quotes..." and "Use file name only...." boxes without issue.

Credit goes to @sundogak for this tidbit (at least this is where I learned about it :) ). 

 

  • Like 1
Link to comment
Share on other sites

  • 2 months later...
On 5/6/2020 at 9:02 AM, SiriusVI said:

Hey everyone,

over the last few days I've been trying to get various computer systems to work with mame and having games automatically loaded via autoboot command. With the help of @JoeViking245 and @kurzih I was able to get several the Acorn Electron roms to automatically boot when starting a rom via LaunchBox. You can accompish this either by using a command line or by editing the electron.ini in...system\mame\ini\ (if you use retroarch:

Example:

#
# SCRIPTING OPTIONS

autoboot_command          "*cat\n\n\n\n\n\n*run !boot\n"
autoboot_delay            2
autoboot_script          


Since I'm a total noob when it comes to figuring out working autoboot commands, I thought it would be great to have a thread where we can share and collect autoboot commands (or even scripts) for several computer systems when emulated with Mame. The idea is that anyone who has figured out how to autoboot roms for a particular system can post instructions here and I'm going to add them to the following chart:

System

Format

Command line Mame Standalone

Command line Mame RetroArch

Aamber Pegasus

cart

 

"pegasus -rp \"L:\LaunchBox\Games\Aamber Pegasus\" -rom1 \"%romfile%\""

ABC 80

flop

abc80 -skip_gameinfo -autoboot_delay "3" -autoboot_command "loadhiresinv\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nrun\n" -flop1

 

every rom needs its own command line, because the file name has to be typed out to boot each individual game. The command line above is an example for booting the game "hiresinv.zip".

Also, depending on your machine, you might need to add a couple of ” \n”.

 

Acorn Electron

cart

 

"electron -exp romboxp -rp \"L:\LaunchBox\Games\Acorn Electron\" -cart1 \"%romfile%\""

cass

electron -skip_gameinfo -autoboot_delay "2" -autoboot_command "*tape\nchain""""""\n" -cass

"electron -exp plus3,bios=1 -autoboot_delay 2 -autoboot_command *tape\nchain\"\"\"\"\"\"\n -rp \"L:\LaunchBox\Games\Acorn Electron\" -cass \"%romfile%\""

flop (ADFS)

electron -skip_gameinfo -autoboot_delay "2" -autoboot_command "*cat\n\n\n\n\n\n*run !boot\n" -flop

"electron -exp plus3,bios=1 -autoboot_delay 2 -autoboot_command *cat\n\n\n\n\n\n*run!boot\n -rp \"L:\LaunchBox\Games\Acorn Electron\" -flop1 \"%romfile%\""

flop (DFS) = .ssd files

electron -exp plus1 -cart1 seds -cart2 ap5 -skip_gameinfo -autoboot_command "*cat\n\n\n\n\n\n*exec !boot\n" -flop

 

some games need *run instead of *exec

"electron -exp plus1 -cart1 seds -cart2 ap5 -autoboot_delay 2 -autoboot_command *cat\n\n\n\n\n\n*exec!boot\n -rp \"L:\LaunchBox\Games\Acorn Electron\" -flop1 \"%romfile%\""

 

some games need *run instead of *exec

rom

 

"electron -exp plus2 -rp \"L:\LaunchBox\Games\Acorn Electron\" -rom1 \"%romfile%\""

Apple II

 

 

 

Apple IIGS

Flop (floppy games that need to boot from OS)

apple2gs -skip_gameinfo -flop3 "PATH TO System 6.0.1 DISK IMAGE" -flop4

 

BBC Micro

cass

bbcm -skip_gameinfo -autoboot_command "*tape\nchain""""""\n" -cass

 

Camputers Lynx

cass

lynx128k -skip_gameinfo -autoboot_command "mload""""""\n" -cass

 

Dragon 32/64

cass (Basic Games)

dragon64 -autoboot_delay 4 -autoboot_command cload\n -cass

 

if emulating the Dragon 32 replace dragon64 with dragon32

 

cass (Machine Codes Games)

dragon64 -autoboot_delay 4 -autoboot_command cloadm\n -cass

 

if emulating the Dragon 32 replace dragon64 with dragon32

 

Matra & Hachette Alice

cass

alice90 -skip_gameinfo -autoboot_command "cload\n" -cass

 

Memotech MTX512

cass

mtx512 -skip_gameinfo -autoboot_command "load""""""\n" -autoboot_delay 3 -cass

 

Oric Atmos / Oric 1

cass

orica -autoboot_delay 4 -autoboot_command cload\"\"\n -cass

 

if emulating the Oric 1 replace orica with oric1

 

Philips VG 5000

cass

vg5k -skip_gameinfo -autoboot_command "cload\n" -autoboot_delay 3 -cass

 

Sam Coupé

flop

samcoupe -skip_gameinfo -autoboot_command "\nBOOT\n" -flop1

 

Sharp X1

cass

x1 -skip_gameinfo -autoboot_command "CHAIN”“\n" -autoboot_delay 9 -cass

 

(You need to be careful with the ”“ they are not "" :D)

 

Tandy Radio Shack Color Computer

flop

 

 

flop (Pac-Man)

coco3 -autoboot_delay 2 -autoboot_command run\"pacman\"\n -flop1

 

flop (Donkey Kong)

coco3 -autoboot_delay 2 -autoboot_command run\"donkey\"\n -flop1

 

flop (Donkey Kong Remix)

coco3 -autoboot_delay 2 -autoboot_command loadm\"dkremix\":exec\n -flop1

 

There is a long wait (over 1 minute) before Donkey Kong Remix opens!

 

flop (Assembly Demo)

coco3 -autoboot_delay 2 -autoboot_command loadm\"asm-demo\":exec\n -flop1

or

coco3 -autoboot_delay 2 -autoboot_command loadm\"asm-auto\":exec\n -flop1

 

 

 

 

 

Directories such as: "L:\LaunchBox\Games\Acorn Electron\" must be replaced with your own directories. They must point towards where your bios file(s) for the system in question is located.

Do you think this is a good idea? I have started with the Acorn Electron autoboot commands and I hope I didn't make any mistake putting those together?. Feel free to participate by adding to this list.

 

 

I see there is a command line for BBC cass but I've been trying to autoboot BBC micro disc images via mame/mess but it only boots to the bios screen from launchbox. Some games will then load with the shift+break (shift+f12 I think?) combo but I wondered if anyone could tell me if there is a command line to do this? 

 Could the Acorn Electron floppy command line be adapted as they are similar machines? I'll admit that this is a bit above my understanding. 

   

Link to comment
Share on other sites

OK, thanks,  it was a bit of a punt about using the acorn line as I know they are similar machines, I don't have any understanding of this or what most of the lines actually mean. 

 For clarity, are you saying I need to use the complete acorn line but substitute the model to BBC then use this to replace the end?  

 Also where should I put this line in Launchbox, I have an idea but I'd rather be sure in case I do it wrong! 

  Thanks for your help. 

 

Link to comment
Share on other sites

The one I tested was for the Model B (which uses the system file bbcb).  The simplest way in LB is... Edit your MAME emulator.  Then under "Associated Platforms", edit the default command-line parameter for the Platform (however you named it).  So add this 

bbcb -autoboot_delay "2" -autoboot_command "*cat\n\n\n\n*exec !boot\n" -flop1

so that it looks like thisimage.thumb.png.6c494d4bba0615e3ae98928b519b0ff5.pngClick OK.

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

\n   is the {Enter} key.  So   *cat\n  sends the literal   *cat  and then "presses" Enter.    Sometimes the 'computer' you're emulating needs a moment to think after sending *cat, so the extra \n's in there just 'hits' Enter (several more times) to 'waste' some time before sending the next command.  Send the next one too fast, and it may not catch the 1st part of   *exec !boot.    It might just see    c !boot

  • Thanks 1
Link to comment
Share on other sites

OK, now I've got all this set up and running nicely in mame but I have run into another issue in that I don't seem to be able to save different control configs for games as they are all treated as the same machine.

As many games require different key presses, in Retroarch I normally map them to my controller then save the game config but I can't see a way to do this in mame which leads me to my next question... 

 Is there a way to get this (bbc micro) running in mame retroarch via launchbox? I have tried to follow a few guides claiming to do the this for other systems but nothing seems to work for me although I have manged to manually get it working in RA mame. 

Link to comment
Share on other sites

1 hour ago, Djronz said:

a way to do this in mame

For standalone MAME Software Lists (such as bbcb) add to the command line "-cfg_directory".  For example the 'game' "ABC" would look like:

mame64.exe bbcb -cfg_directory "d:\emulators\mame\cfg\bbcb\abc" -flop1 abc.zip

Your custom controller config files for this game are now saved like so.

d:\emulators\mame\cfg\bbcb\abc\bbcb.cfg
d:\emulators\mame\cfg\bbcb\abc\default.cfg

In LaunchBox, edit the game, go to Emulation, check "Use Custom Command-line Parameters" and fill in this:

bbcb -cfg_directory "d:\emulators\mame\cfg\bbcb\abc" -flop1

So it looks like thisimage.thumb.png.f36785147c41e54e3b4d7bbed3e187f3.pngNote: "abc" in the command line is the name of the games romfile.  So you'll need to do this [custom] for each game.

If you decide you like stand alone MAME over RA-MAME, you can quickly add this command line to all games at once using the Bulk Custom Command Line Editor plugin (which can automatically add in the games romfile name in there for you).  It can be found in the Downloads section.

The command line parameters can also be stacked to do something like:

bbcb -cfg_directory "d:\emulators\mame\cfg\bbcb\abc" -autoboot_delay "2" -autoboot_command "*cat\n\n\n\n*exec !boot\n" -flop1

Oh.... and change the path in the above command line(s) so that points to your ../mame/cfg/..... folder.  MAME will automatically create the folders (i.e. "bbcb" and "abc") if they don't exist.

 

  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...
On 5/6/2020 at 11:02 AM, SiriusVI said:

 

Feel free to participate by adding to this list.

 

 


While adding entries to the DB for Fujitsu FM-7 I noticed that one entry "ate" another one: "Flight Simulator Space Bee" took it's ID to "Flight Simulator". So I need to submit the "Flight Simulator" as its own separate entry in the DB*.
I wanted to make sure it's really not the same game and it wasn't. FM7 Cassettes need to be booted with a command line, so here's another addition for this list :)
EDIT: 
*it was actually a double-feature release with two games: Flight Simulator AND Space Bee.
 

Fujitsu FM-7 Cassettes:
fm7 -skip_gameinfo -autoboot_command "LOADM”“,,R\n" -autoboot_delay 4 -cass

Note! Same thing with Sharp X1 the ”“ after LOADM are not the same as "", Mame will just quit if it's wrong. And unfortunately this machine does not auto-play the cassette unit automatically so you'll need to play the tape yourself within MAME after you see "Searching" after the autoboot command has been executed.

(To my understanding FM7 disks boot right away, so no need for an autoboot for them.)

 

Edited by kurzih
Link to comment
Share on other sites

  • 2 weeks later...
  • 7 months later...

Hello everyone,

I've started working a little on launching computer systems again and got stuck on a specific issue:

So one way to autoboot a system is writing an autoboot command into an .ini file that mame can read. However, with some systems, you have to individually type in the rom name in order to boot a game, which means every game needs their individual autoboot command and a systemwide autoboot command does not work.

Now I've learned that mame can actually create and read per game .ini files:

https://easyemu.mameworld.info/mameguide/config_files/customini.html

My problem now is that this seems to work only with arcade games, but not with Software List games. I think the reason for this is the command line used to launch the games from Launchbox. here is an example:

If I launch a mame arcade rom (e.g. "1on1gov.zip"), mame will read settings from an .ini named "1on1gov.ini" if one is present --> this works just fine.

However, the problem occurs if I launch a software list game (e.g., the apple2 cassette game "3dstarfi.zip") from launchbox using this command line:

"apple2 -autoboot_delay 2 -rp \"L:\LaunchBox\Games\Arcade\" -cass \"%romfile%\""

 

This will only ever create an .ini file called "apple2.ini", but never "3dstarfi.ini". If I create "3dstarfi.ini" manually, Retroarch mame will ignore it.

So my question is: Is there a way to (maybe) add something to the command line that will tell Retroarch mame to look for a "3dstarfi.ini" instead of an "apple2.ini"?

Edited by SiriusVI
Link to comment
Share on other sites

 

5 hours ago, SiriusVI said:

This will only ever create an .ini file called "apple2.ini", but never "3dstarfi.ini". If I create "3dstarfi.ini" manually, Retroarch mame will ignore it.

I imagine you could do the exact same thing here as you would for setting-up/saving individual softlist game config files.

Instead of  -cfg_directory  you'd use  -inipath

 

Link to comment
Share on other sites

10 minutes ago, SiriusVI said:

So I would create a separate folder for each game, each with its own "apple2.ini" inside of it? Is that correct?

Correct.  Quite tedious.  But correct.  So something like:

D:\Emulators\MAME\ini\apple2\3dstarfi\apple2.ini

This is assuming that RA MAME accepts the same command line parameters as 'the real deal'.

Link to comment
Share on other sites

7 minutes ago, JoeViking245 said:

Correct.  Quite tedious.  But correct.  So something like:

D:\Emulators\MAME\ini\apple2\3dstarfi\apple2.ini

This is assuming that RA MAME accepts the same command line parameters as 'the real deal'.

Great! Tedious yeah, but it's a one time setup. Will Check out how RA Mame handles the cl. I guess in this case it should work the same way. I' get back to you if I find out how this works, haha.

 

Thanks so much for the assistance so far ?!

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