SiriusVI Posted May 6, 2020 Share Posted May 6, 2020 (edited) 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 "apple2gs -flop3 sys601:flop1 -rp \"L:\LaunchBox\Games\Arcade\" -flop4 \"%romfile%\"" Software list roms must be in the correct folders for this to work. So, in my example, the apple2gs roms should be placed here: “L:\LaunchBox\Games\Arcade\apple2gs” BBC Micro cass bbcm -skip_gameinfo -autoboot_command "*tape\nchain""""""\n" -cass floppydisk1 mame bbcb -skip_gameinfo -autoboot_delay "1" -autoboot_command "*cat\n*exec !boot\n" -floppydisk1 D:\mame\roms\bbcb\CastleQuest.zip Comment: Can supply file format as .zip or the unzipped .ssd file 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 Fujitsu FM-7 To my understanding FM7 disks boot right away, so no need for an autoboot for them. cass 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.) 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 It might be necessary to add an autoboot delay, such as: samcoupe -autoboot_delay 2 -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. Edited August 17, 2021 by SiriusVI 1 1 Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted May 6, 2020 Author Share Posted May 6, 2020 (edited) I've just realized that I may need to include a separate column for mame in retroarch, since it's a bit more complicated to pass on the autoboot command in retroarch. In fact, I'm stuck and I have no idea how to continue. I'm able to run a game and pass on certain parts of the commands, but not all of them. Here's an example. This is what's inside my "Extra command-line Parameters" for Acorn Electron cassette tapes: "electron -autoboot_delay 2 -autoboot_command *tape\nchain""""""\n -rp \"L:\LaunchBox\Games\Acorn Electron\" -cass \"%romfile%\"" Everything boots fine, the delay is set to "2" and on screen I can see that the autoboot sequence is being entered fine until it gets to the quotes. This is what I'm seeing on screen: >*tape >CHAIN This is what I should be seeing: >*tape >CHAIN"""""" As you can see it stops after CHAIN and right before the 6 """""". So it seems like the Extra command line parameters field is unable to pass along the command to type quotes. Does anyone have an idea how I can make this happen? I've tried different variations, all of which lead to the game not launching at all, such as: "*tape\nchain""""""\n" or *tape\n"chain"""""""\n Edited May 6, 2020 by SiriusVI Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted May 6, 2020 Share Posted May 6, 2020 Have you tried escaping the quotations by adding a \ before each “ Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted May 6, 2020 Author Share Posted May 6, 2020 1 hour ago, Headrush69 said: Have you tried escaping the quotations by adding a \ before each “ That worked, thank you! I've included the command line in the chart =). Quote Link to comment Share on other sites More sharing options...
spycat Posted May 6, 2020 Share Posted May 6, 2020 This looks like a very good and needed project. With MAME itself (not RA core) I use a slightly different command line for the cassette games. electron -autoboot_delay 2 -autoboot_command *tape\nchain\"\"\n -cass And if using the electron.ini file instead autoboot_delay 2 autoboot_command *tape\nchain""\n By the way is there a reason why you use 6 double quotes with CHAIN instead of the normal 2? Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted May 6, 2020 Author Share Posted May 6, 2020 21 minutes ago, spycat said: By the way is there a reason why you use 6 double quotes with CHAIN instead of the normal 2? If I use less than 6 I will get an error message, such as: Missing """ (depending on how many quotes I'm missing.) But I might have made another error at some point, I really don't know what I'm doing half the time, haha. I'm still learning. I will be sure to test your versions as well and include them in the chart, although I can only test with RetroArch at the moment, since I don't have Mame Standalone setup. Actually, I'm already stuck trying to autoboot Apple II Cassettes. Some Apple II cassettes require to switch to Integer Basic before you can start the tape and load it. You enter Integer Basic by holding CTRL + B and then press RETURN. Is there a way to send a command like this to mame "Press Return while holding CTRL +B"? Also, how can I do something like "send [F2]"? Quote Link to comment Share on other sites More sharing options...
spycat Posted May 6, 2020 Share Posted May 6, 2020 I'm the opposite in that I only use MAME itself. I can't help with the Apple as I don't emulate it. Here are a couple of straightforward ones. Oric Atmos (if emulating the Oric 1 replace orica with oric1). Command line MAME standalone parameters orica -autoboot_delay 4 -autoboot_command cload\"\"\n -cass As all Oric game tapes use the same loading commands you could just use system ini files, oric1.ini and orica.ini containing autoboot_delay 4 autoboot_command cload""\n Dragon 32/64 emulating the Dragon 64 (if emulating the Dragon 32 replace dragon64 with dragon32). Command line MAME standalone parameters for BASIC games dragon64 -autoboot_delay 4 -autoboot_command cload\n -cass Command line MAME standalone parameters for machine coded games dragon64 -autoboot_delay 4 -autoboot_command cloadm\n -cass Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted May 7, 2020 Author Share Posted May 7, 2020 (edited) @spycat Thank you so much. I've included your systems in the chart. Is there any wy to easily distinguish between Dragon 32/64 Basic and Machine Coded games? E.g. do the file extensions differ or is there a clue in the hash file? I may figure out apple2 mself, It's just that I lack some basic skills, such as not knowing how to send a button combination or function keys. If I type: "-autoboot_command F2", it just literally types F2 (which makes sense), so I need a command that tells it to send [F2]. Edited May 7, 2020 by SiriusVI Quote Link to comment Share on other sites More sharing options...
kurzih Posted May 7, 2020 Share Posted May 7, 2020 Hi! Here's a few more I've been using myself, so why not share them too. Some are useful for floppies some cassettes only: Sharp X1: x1 -skip_gameinfo -autoboot_command "CHAIN”“\n" -autoboot_delay 9 -cass (You need to be careful with the ”“ they are not "" :D) Sam Coupé: samcoupe -skip_gameinfo -autoboot_command "\nBOOT\n" -flop1 BBC Micro: bbcm -skip_gameinfo -autoboot_command "*tape\nchain""""""\n" -cass Camputers Lynx: lynx128k -skip_gameinfo -autoboot_command "mload""""""\n" -cass Matra & Hachette Alice: alice90 -skip_gameinfo -autoboot_command "cload\n" -cass Memotech MTX512: mtx512 -skip_gameinfo -autoboot_command "load""""""\n" -autoboot_delay 3 -cass Philips VG 5000: vg5k -skip_gameinfo -autoboot_command "cload\n" -autoboot_delay 3 -cass And Bonus for Apple IIGS for floppy games that need to boot from OS: apple2gs -skip_gameinfo -flop3 "PATH TO System 6.0.1 DISK IMAGE" -flop4 Apple II floppies boot fine (at least the ones I've tested) without autoboot: apple2ee -skip_gameinfo -flop1 Good night! Quote Link to comment Share on other sites More sharing options...
spycat Posted May 7, 2020 Share Posted May 7, 2020 One way of determining whether a Dragon game uses CLOAD or CLOADM is by checking the game's original cassette or inlay for details. The majority of commercially published games use CLOADM. Also, a small number of games will not open automatically but need you to type RUN (for BASIC files) or EXEC (for binary ones) once the tape has finished loading. I don't know how this could be automated. The Tandy TRS-80 floppy games Pac-Man, Donkey Kong and Donkey Kong Remix and the Assembly Demo use unique loading commands and so custom parameters are needed in LaunchBox. coco3 -autoboot_delay 2 -autoboot_command run\"pacman\"\n -flop1 coco3 -autoboot_delay 2 -autoboot_command run\"donkey\"\n -flop1 coco3 -autoboot_delay 2 -autoboot_command loadm\"dkremix\":exec\n -flop1 There is a long wait (over 1 minute) before Donkey Kong Remix opens! 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 Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted May 8, 2020 Author Share Posted May 8, 2020 Thanks @spycat and @kurzih! 7 hours ago, spycat said: One way of determining whether a Dragon game uses CLOAD or CLOADM is by checking the game's original cassette or inlay for details. The majority of commercially published games use CLOADM. There wouldn't happen to be a list somewhere, would there? 10 hours ago, kurzih said: And Bonus for Apple IIGS for floppy games that need to boot from OS: How may games are there that need this method? In the mame ash file I found only 2 games: Thexder v1 (no OS, not self booting) Cribbage King / Gin king v1.01 (no OS, not self booting) Is that all or are there more? (Or did I misunderstand something?) Quote Link to comment Share on other sites More sharing options...
kurzih Posted May 8, 2020 Share Posted May 8, 2020 (edited) 22 minutes ago, SiriusVI said: How may games are there that need this method? In the mame ash file I found only 2 games: Thexder v1 (no OS, not self booting) Cribbage King / Gin king v1.01 (no OS, not self booting) Is that all or are there more? (Or did I misunderstand something?) You're welcome! There indeed isn't probably many Apple IIGS games that require that. I'm afraid I don't have a proper answer/list of games that do. There was the unreleased Shuffle Puck Cafe that probably requires the OS too (says unable to load ProDos otherwise). But I would think that many that don't need the OS do still work with the OS option, if one doesn't mind clicking the game from the OS to start it. As I said, that was just a "bonus" command line . I have this option as the default command line and if a game wouldn't work then I'd use a custom command line without the OS. Probably a matter of preference and I kind of like the old school 6.01 IIGS OS. I don't mind loading from there. EDIT: maybe the "none boot" mention (from the game files' name) in the TOSEC IIGS collection might work for a list of games that requires the OS. Edited May 8, 2020 by kurzih Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted May 8, 2020 Author Share Posted May 8, 2020 I've found other entries in the mame hash files that read "no boot". Thank you! ? Do you know by chance how to send function keys or comminds such as "hold down <CTRL> while pressing <B>" via command line? ? Quote Link to comment Share on other sites More sharing options...
kurzih Posted May 8, 2020 Share Posted May 8, 2020 No prob! Sorry nothing here. I did try to find out if that would be possible earlier and I suspect my skills for coding some "sendkeys" would have hit the wall anyway That would have saved a lot of command lining indeed But do tell us if you manage to find a way! Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted May 9, 2020 Author Share Posted May 9, 2020 18 hours ago, kurzih said: But do tell us if you manage to find a way! I've spent hours googleing but found no real solution that works for me, the reason being most likely that I have realy no knowledge of how command lines actually work. I imagine there must be a universal command that tells a commind line to send a specific key combination or function keys. there must be, right? Maybe I don't find anything because the answer is too obvious and the internet is rolling its eyes on me. Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted May 10, 2020 Author Share Posted May 10, 2020 (edited) Unfortunately, I'm not getting any further. With acorn electron, this command automatically triggers the tape to play in mame: "*tape\nchain""""""\n" But I can't figure out how to do the same in apple 2. It's possible that it cannot be done via autoboot_command, since that just passes plain text. Maybe there is a text command that hits "play" on apple2, but I couldn't find one. The other option would be to send specific keys and key combinations. @JoeViking245 taught me that for some apple games, you must: 1. Hold CTRL + B and then press Enter to get into Integer Basic mode 2. Play the tape by pressing F2 3. Typing "LOAD" then press Enter 4. Wait till the process is finished and then type "RUN" and press Enter This can maybe be done via a LUA script. Here are some key combinations: https://github.com/me2d13/luamacros/wiki/List-of-Keys I've tried creating a script file with some code from mame tutorial and loading it with the an apple game, but nothing happens. I don't know if the script is even recognized: https://docs.mamedev.org/techspecs/luaengine.html I've created a plain text file with the code in it as the tutorial specified and then pointed the autoboot_script from the "apple2.ini" to the file, like this: # SCRIPTING OPTIONS # autoboot_command autoboot_delay 2 autoboot_script "M:\LaunchBox\Emulators\RetroArch\system\mame\scripts\apple2_cass_autoboot.txt" console 0 plugins 1 plugin noplugin As I said, the effect was that the rom still booted, but nothing happens. Maybe someoe with a little more experience than me can help me how to run a simple script. Edited May 10, 2020 by SiriusVI Quote Link to comment Share on other sites More sharing options...
kurzih Posted May 10, 2020 Share Posted May 10, 2020 (edited) On my part I only managed to get into Integer basic mode without pressing anything like this: apple2e -skip_gameinfo -autoboot_command "INT\n" -autoboot_delay 12 -flop1 "PATH TO IMAGE DISK dos33mst.dsk" -cass Notes: this partial solution works with the Apple II/e model and I loaded "Apple DOS 3.3 BASICS (1980)" disk to do that. Main issue (same as yours): the cassette does not start itself when writing "LOAD" after the "INT" which is executed fine with autoboot. The game I got to work was the cassette game bomber1.zip. But I needed to manually start the tape and then wrote "LOAD", waited, and then wrote "RUN" to finally get the game running. Hopefully this might give a clue to a solution where everything is automated, but I doubt we might find one since cassette loading times differ and we need that "run" command after the program has been loaded. Edited May 10, 2020 by kurzih Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted May 10, 2020 Author Share Posted May 10, 2020 (edited) Thanks so much for looking into this @kurzih! 18 minutes ago, kurzih said: but I doubt we might find one since cassette loading times differ and we need that "run" command after the program has been loaded. Well, couldn't we just set a fairly long loading time and just accept that this is one bitter pill to swallow for the benefit of an automated launch? Besides, Retroarch can fast forward, so waiting times are irrelevant anyway for people using it. 18 minutes ago, kurzih said: Main issue: the cassette does not start itself when writing "LOAD" after the "INT" which is executed fine with autoboot. This is probably the biggest issue as far as I understand. Maybe some of the awesome and talented people in this forum will look into it? Please ?? Edited May 10, 2020 by SiriusVI Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted May 10, 2020 Share Posted May 10, 2020 @SiriusVI Try changing the file extension to .lua so that it knows it's a Lua script. apple2_cass_autoboot.lua Not sure if that'd work, but 1 sure way of finding out. Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted May 10, 2020 Author Share Posted May 10, 2020 (edited) 12 minutes ago, JoeViking245 said: @SiriusVI Try changing the file extension to .lua so that it knows it's a Lua script. apple2_cass_autoboot.lua Not sure if that'd work, but 1 sure way of finding out. Yeah, I'v tried that. In fact I had it as .lua first until I've seen the tutorial mention a plain text file. Edited May 10, 2020 by SiriusVI Quote Link to comment Share on other sites More sharing options...
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.