SiriusVI Posted April 15, 2020 Share Posted April 15, 2020 (edited) Hey everyone, some time ago, I tried to emulate Apple II games with the Mame core of Retroarch and succeded. There was some tinkering involved and lots of help by this wonderful forum. I've since managed to emulate lots and lots of systems using using this method. The basics for how this works can be reviewed here: Let's look at how I got Apple II to run: 1. Get Mame Software List Roms and put them in a folder. 2. You make sure that you copy any extra files that mame requires My Folder is called "Apple II" and looks like this: 3. Go to X:\LaunchBox\Emulators\RetroArch\system\mame\ini and edit "apple2e.ini". You need to specify where your roms are: 4. Add a new Retroarch Emulator to your list of emulators and check "Don't use Quotes". 5. Add Apple II as an associated platform, choose mame (no year tags) as your core and use this command line (yes with the double quotes): "apple2e -rp \"L:\LaunchBox\Games\Apple II\" -flop1 \"%romfile%\"" This way, the apple roms load fine (in the mame core options, you must turn CLI on for Apple II to work). Now, if this works, why am I complaining? Well, there are some downsides to using Software List Mame roms. First of all, they are named in a way that prevents Launchbox to scrape Metadata, and second, The software List roms include not only games, but also loads of programs and other software that don't work or that I don't need. Recently I've read in this form that Mame actually CAN use roms that are named differently from Software List conventions when using command lines to open them. This interested me so I tried to load Apple II toms from the TOSEC set using the same method as shown above. And what do you know. It works very well. This is great, because sets like TOSEC separate games from other kinds of software and the file names are usable by Launchbox. So what's the problem? The problem is that this method works well with computer systems that use floppy disks or cassettes. It does NOT work for systems using cartridges (-cart). Systems that use cartridges seem to work differently from systems using floppies and cassettes. For example, if I try to emulate Atari 5200 using Software List roms, I don't need t add a corresponding commandline like for Apple II ("apple2e -rp \"L:\LaunchBox\Games\Apple II\" -flop1 \"%romfile%\""). Instead, the game will run fine using the mame core without any command line. The same goes for other cartridge based systems like Aamber Pegasus. If I however try to use a different Set, say the no intro set for Atari 5200, the game will not load. For Example, if I load "berzerk.zip", the game will work. If I load "BerZerk (USA).zip", the game will not load. Then I thought, maybe I need that weird command line to be able to use non Software List roms with mame. So I tried: "a5200 -rp \"L:\LaunchBox\Games\Atari 5200\" -cart \"%romfile%\"" This however causes Retroarch to crash. So why is this? Why can I emulate floppy based systems like Apple II or Acorn Archimedes, but not cartridge based systems such as Atari 5200 or Aamber Pegasus? I'm not against using Software List roms, I just like to keep things consistent and convenient, but I always have the option of going back to using Software List roms. However, I'm really interested in why this just won't work. It's really bugging me. Edited April 15, 2020 by SiriusVI Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted April 15, 2020 Share Posted April 15, 2020 I've never tried MAME roms in RotroArch because... well MAME works. But if you're using the MAME core in RA, you were really close to answering your own question when talking about BerZerk. "berzerk.zip" works, but "BerZerk (USA).zip" does not. MAME, be it stand alone or through RA uses and looks for it's file naming convention. i.e. berzerk.zip or adventur.zip. So when it see "BerZerk (USA).zip", it doesn't recognize it, so probably doesn't even bother to look inside the zip for the .bin file. I don't know about the 5200 no-intros, but the 2600 set, inside the zip file has a ".a26" file extension. Again, MAME probably wants a ".bin". So kind of a double wammy of using non-MAME roms with the MAME core. But if you have the other [no-intro] sets you could still use RA but with a different core loaded. Couldn't you? Quote Link to comment Share on other sites More sharing options...
sundogak Posted April 15, 2020 Share Posted April 15, 2020 (edited) It must be that your are not using a proper MAME set from naming perspective. The 5200 launches fine for me via RA. I don't use it as primary but had tested /set it up. Here are my screens: Edited April 15, 2020 by sundogak 2 Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted April 16, 2020 Author Share Posted April 16, 2020 (edited) Thank you for answering. Yes it seems to have something to do with mame Software List naming conventions, but this is only an issue for cartdidges it seems. Maybe I explained it badly in my initial post, so I try to simplify it here: 1. I have Apple II roms and Acorn Achimedes roms (from the TOSEC set) which are NOT named correctly (acording to Mame Software List), but mame will still load them if I use the commandline shown above 2. I have Atari 5200 roms and Aamber pegasus roms (from the TOSEC set) which are NOT named correctly (acording to Mame Software List), and mame refuses to load them. 3. As far as I understood, both of you use Software List roms and yes Mame will obviously load any roms which are named correctly acording to Mame Software List So the question ist: why can I load Apple II, Acorn Achimedes and many other disk based systems (with incorrect names), but not Atari 5200, Aamber Pegasus and other cartridge based systems. Edited April 16, 2020 by SiriusVI Quote Link to comment Share on other sites More sharing options...
DOS76 Posted April 16, 2020 Share Posted April 16, 2020 There is a way to use RA MAME core with for Software List games in MAME using non software list roms ie no-intro roms will work. The thing of it is I don't remember how to do so and can't recall who posted the solution on the forums but it is definitely possible just much easier to use MAME and official Software LIst roms. Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted April 16, 2020 Author Share Posted April 16, 2020 6 minutes ago, DOS76 said: There is a way to use RA MAME core with for Software List games in MAME using non software list roms ie no-intro roms will work. The thing of it is I don't remember how to do so and can't recall who posted the solution on the forums but it is definitely possible just much easier to use MAME and official Software LIst roms. Yes I know that it is possible (it was a post by you that put me up to this idea ;)), and I managed to do it with all systems that use floppy disk and cassette images. I'm just wondering why it doesn't also work for cartridge images. Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted April 16, 2020 Share Posted April 16, 2020 You've got my morbid curiosity going now.... let's try some reverse-engineering. Look at apple2_cass. [grabbing a file near the top of the list] let's compare the MAME rom "advent0.zip". Is your TOSEC rom for the same game by any chance named something along the lines of "adventure 0 special sampler (1979)(adventure international)"? same thing... apple2_flop_orig -- 1on1.zip. Is your TOSEC rom named "one on one"? Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted April 16, 2020 Author Share Posted April 16, 2020 (edited) 1 hour ago, JoeViking245 said: You've got my morbid curiosity going now.... let's try some reverse-engineering. That's great =D. So let's look at my apple2 games: Apple II game "Alcazar - The Forgotten Fortress" TOSEC name is: "Alcazar - The Forgotten Fortress (1985)(Activision)[48K].zip" containing "Alcazar - The Forgotten Fortress (1985)(Activision)[48K].woz" Mame SL-Name is: "alcazar.zip" containing "alcazar.woz" Both games load fine. I did however look into the a5200 rom set from no intro and the zip files contain ".a25" files, whereas the mame set contails .bin files. So I went and grabbed the TOSEC set for a5200 which also uses .bin files. Sadly, the roms still don't load. I did some more testing and found out that if you rename the TOSEC .zip files the way mame expects them, the games will load just fine even though the files within the .zip files has a different name than the one in the mame set. Edit: I'm almost 100% sure that the error lies at the command line.This works for Apple and all other floppy and cassette systems I've tried: "apple2e -rp \"L:\LaunchBox\Games\Apple II\" -flop1 \"%romfile%\"" But the same command line does not work for nay cartridge based system I've tried "a5200 -rp \"L:\LaunchBox\Games\Atari 5200\" -cart \"%romfile%\"" Edited April 16, 2020 by SiriusVI Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted April 16, 2020 Share Posted April 16, 2020 We might be looking at different implementations between Computers vs Consoles and also how they're ripped. Ya, ya... bits/bytes, toma[y]to /toma[h]to. (Binary might in there too). Anyway, different implementations: the team working on Computers may be more lenient towards filenames whereas the Console team working with the binary rips say "I'm going to call it whatever I want." My guess with TOSEC zip renaming (5200), once MAME sees the correct [zip] filename, it doesn't care what's inside. As long as the crc [?and/or sha1 [both?]] check out. Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted April 17, 2020 Author Share Posted April 17, 2020 (edited) I fixed it! Atari 5200 is up and running. The error was in the mame core options. the option "boot from cli" must be "enabled", same as with Apple II. The reason why I left it disabled was that with mame Software List Roms, Atari and other cartridge-based systems work with CLI disabled. So I just thought I didn't need to enable it. Don't know why I didn't think to test this option before. Edit: interestingly enough. This fix does not work for Aamber Pegasus, even with the same settings. Edited April 17, 2020 by SiriusVI Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted April 17, 2020 Share Posted April 17, 2020 Boot from command line? That's all it was? Really? ? lol Glad you solved the mystery. Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted April 17, 2020 Author Share Posted April 17, 2020 Yeah I'm sorry. I still can't get Aamber Pegasus to work. Same settings as 5200, also cartridge based, cli enabled. It does not work. Any ideas? Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted April 17, 2020 Share Posted April 17, 2020 Use -rom1 instead of -cart in the command line Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted April 17, 2020 Author Share Posted April 17, 2020 3 minutes ago, JoeViking245 said: Use -rom1 instead of -cart in the command line OMG, that did it. Thank you so much =D. This means, however, that the info here is wrong and needs an update: https://pastebin.com/18W3EbD0 Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted April 17, 2020 Share Posted April 17, 2020 That page pulls it's info directly from MAME itself (via -listmedia) which in turns coincides with the MAME hash xml (-cart or -cart1..). I found it (-rom1) under Media Options on the Arcade Database for the Aamber Pegasus. Don't now where they pull their info from. Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted April 17, 2020 Share Posted April 17, 2020 4 minutes ago, JoeViking245 said: That page pulls it's info directly from MAME itself (via -listmedia) which in turns coincides with the MAME hash xml (-cart or -cart1..). That was from 2016 and MAME version 0.174 though. You are right, MAME 0.219 itself lists: Quote PS C:\Users\ARCADEPC\LaunchBox\Emulators\MAME> .\mame64.exe pegasus -listmedia SYSTEM MEDIA NAME (brief) IMAGE FILE EXTENSIONS SUPPORTED ---------------- --------------------------- ------------------------------- pegasus romimage1 (rom1) .bin romimage2 (rom2) .bin romimage3 (rom3) .bin romimage4 (rom4) .bin romimage5 (rom5) .bin cassette (cass) .wav Directly from MAME is always best source. Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted April 17, 2020 Share Posted April 17, 2020 Well Snap!! The latest hash file (0.220) also [still] says "cart". Never would have thought to cross check with the -listmedia. Well played @Headrush69 Thanks! I may need to rethink how I pull the info to use in the Software List Import Tool. Then again, I'm thinking for a few anomalies, it'd be easier to stick with the hash file and answer questions later. Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted April 17, 2020 Share Posted April 17, 2020 16 minutes ago, JoeViking245 said: it'd be easier to stick with the hash file and answer questions later. Probably. It's weird that it's still called a cart device, but they use the rom media type. Seems inconsistent. I did some searching in the MAME/MESS change logs and don't see much in regards to the Aamber Pegasus and when it changed. It wasn't an exhaustive search, but thought if it was just an over sight, would be something to report on Mame Testers. JoeViking245, kudos on your software import tool BTW. I don't use software lists much myself, but I appreciate you providing that tool for people that do. (After spending decades amassing rom files, since finding LaunchBox and making an arcade cabinet, I'm much more into a smaller curated list of games that play well within that setting. My Apple 2 collection only has 7 games. Only ones from my youth that still play well today.) Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted April 17, 2020 Author Share Posted April 17, 2020 Yeah, I love the Software List Import Tool as well. The only downside to using Software Lists is that they contain so much software that isn't games that you have to go through all of the files separately once importing is donw. Would be great if there was a way to filter out all the non-games from the software lists. Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted April 17, 2020 Share Posted April 17, 2020 26 minutes ago, Headrush69 said: kudos on your software import tool Thank you very much. Both of you. It's been a fun project/learning experience. 23 minutes ago, SiriusVI said: Would be great if there was a way to filter out all the non-games from the software lists. I haven't looked at all, but if you can find a current compiled 'category'-type file for Software Lists, it's definitely something that could be looked into. 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.