Jump to content
LaunchBox Community Forums

Lightspeed: Ultra-Fast Mame Importer Tool


Jason Carr

Recommended Posts

Drybonz said *edit* On a side note... as I'm testing the new version I was thinking one thing that might be nice for down the road is if Lightspeed would write your directories to a cfg/ini file so you don't have to fill them each time.
In my to do list, no doubt!
Link to comment
Share on other sites

Breakout is a TTL game like Pong and it uses the same Mame driver, pong.cpp. I remember playing it with DICE. It's classed as working in Mame since 0.161. It doesn't seem to be included in the full Mame 0.172 romset. At least I couldn't find it. However, If you run Mame itself and do a search for it, it appears as Breakout [TTL]. To play it via LaunchBox, make a dummy zip called breakout.zip and add this to Mame's roms folder and then the game can be set up and played using LaunchBox.
Link to comment
Share on other sites

One thing I'm noticing that would be really nice to fix (though it might not be easy) is that the paths to the ROM files are absolute, which breaks portability. For example, the paths come over like this: D:\Dropbox\LaunchBox\Games\MAME\example.zip Instead, if you can manage to make the path relative like this, portability would be maintained: Games\MAME\example.zip Basically, the path should be relative to the LaunchBox folder. LaunchBox automatically turns these paths into the proper absolute paths at runtime to send over to the emulator. That way, users that sync their collections with Dropbox can still have a functional setup even if the folder path is changed. Another thing that might be nice to fix (though it's much less important) is that all the paths come over as all lowercase. Certainly doesn't matter much in Windows but it bugs me a little. ;) Thank you @Antropus!
Link to comment
Share on other sites

scree said It doesn't seem to be included in the full Mame 0.172 romset. At least I couldn't find it.
Well, that might explain why I have it in my set because I got the .171-.172 upgrade set. I seem to remember it always being there, though... at least for a long time. Regardless, here are semi-official Breakout and Destroyer artwork packs, from the mameworld forums, for everyone to enjoy. They look great and may not be in your official art packs. https://drive.google.com/folderview?id=0B83sfaum07QoRmFqMjgzekszZTQ&usp=sharing
Link to comment
Share on other sites

Jason Carr said One thing I'm noticing that would be really nice to fix (though it might not be easy) is that the paths to the ROM files are absolute, which breaks portability. For example, the paths come over like this: D:\Dropbox\LaunchBox\Games\MAME\example.zip Instead, if you can manage to make the path relative like this, portability would be maintained: Games\MAME\example.zip
Would that prevent me from keeping my roms in folder outside the LB structure? Because none of my roms are in those folders.
Link to comment
Share on other sites

No, LaunchBox works that way for everything already. If a folder is outside of the LaunchBox folder the path looks like this: ..\..\Games\MAME\example.zip ..\ means to go up to the parent directory. That's how Windows does it. The only time you have to resort to an absolute path is if the file is on a different drive than your LaunchBox folder is. In that case, LaunchBox just uses the absolute path.
Link to comment
Share on other sites

Both suggestions don't seem hard to implement. The lowercase was introduced because I thought it looked nicer for some reason. I can simply remove that line and everything will be original again. About the relative path, that shouldn't be too hard. Seems like all I need to do is: 1) check for the drive and compare to the path to launchbox.xml 2) if different drive, keep the way it is, with absolute paths 3) if drives match, compare rom path against launchbox.xml 4) if the path to launchbox.xml is contained within the rom path, trim everything until that point so it's relative 5) if not part of launchbox path, then replace the folder names with ..\ all the way to the root. About the game being TTL, that's new info to me. Not sure how that works and how mame looks for those games. I already have a routine in place to generate dummy zip files to make CHDs work, so the approach can be exactly the same, but I will need to research more about those types of games. Thanks guys!
Link to comment
Share on other sites

I saw the TTL in the game title, but honestly have no idea what that even means. *edit* Just found this... good information from scree https://www.launchbox-app.com/forum/emulation/discrete-logic-ttl-arcade-game-emulation *edit* So, sounds like the "chd" equivalent, or the file that the TTL games need is in the zip file?
Link to comment
Share on other sites

I just looked at how many [TTL] games there are in mame xml. Vast majority is preliminary. The only ones marked as "good" are breakout and about 3 versions of pong. I could, in theory, check if the game: 1) Contains [TTL] in the name 2) if it does, check if the emulation status is marked as "good" 3) if it is, check if a rom of the same name is present in the roms folder 4) if it's not, create a dummy zip Now, that's a little risky, because all those scenarios can be met and the dummies can be generated but if you still don't have the roms where those live, the game will not work. The question is: where are those roms coning from? What set contains them? Info on TTL games: http://discrete.mameworld.info/
Link to comment
Share on other sites

Well, I just looked in my full split set and I also don't have a breakout.zip (even though the breakout.zip art works) so those files must be in some parent, even though it isn't listed as a clone. *edit* Ok, I looked in the pong.zip (the source for Breakout is pong.cpp) to see what files where in there and the only thing is pong.netlist... lol. So, I have no idea. o_O
Link to comment
Share on other sites

Here's a little test a I just did: 1) Installed a brand new mame, with no roms in the rom path 2) Ran "Mame64 breakout" in the CMD window 3) Game launched perfectly :) That means that there are no roms associated to those games. Seems like they live within the mame.exe file ;) In fact, you can copy JUST your mame.exe to ANY folder right now and from the command line run "mame64 breakout" for example and the game launches with no problem. Since this is the case, I can safely create the dummy zip files IF the emulation status is marked as "good". Easy :) -Kris
Link to comment
Share on other sites

New version coming tomorrow. I need to test it a bit before release, but I need to go to bed now :) Change log preview: - TTL games are now parsed and playable. If they are marked as emulation "good", a dummy zip file will be created and the game will be imported/playable under Launchbox. So far, only 4 games fall into this criteria: Breakout and 3 Pong variations. - Lowercase removed. Everything preserved as present in the original paths - No more redo... a config (ini) file will now be generated, saving all your current settings on exit and reading them all back next time you open Lightspeed. This took forever to do... so many fields/checkboxes. Now I remember why I decided to delay this. Glad it's there now, though :) - Relative paths still in progress. I got the game paths already in place. Need to do the emulator paths next. What is preferable, ".\Games\Mame" or "Games\Mame"? I'm using the first, but either way doesn't matter much to me in terms of work, so let me know which one you prefer, Jason. -Kris
Link to comment
Share on other sites

Here's an update ready for some tests. I rushed a bit and moved quite a bit of code around, but didn't have a whole lot of time to test, so you guys please let me know how it goes: EDIT: please download the very latest version from the link at the very first post of this thread Change log: - TTL games playable (if emulation status is good, obviously) - Corrected lowercase - New config (Lightspeed.ini) file saved on exit, so no more filling up everything every time. You can also edit the file manually if you want to change things around faster. - Relative paths now implemented. One thing though, the paths will be considered relative in relation to the position of your launchbox.xml file. So anything pointed to any folder inside of your launchbox installation folder will become relative, which is the way Jason has things set. BUT, at this point, anything outside of launchbox's install folder will be assumed to be absolute paths, even if they are in the same drive as launchbox, but outside of the installation folder, at least for now. Please test and report. Thanks! -Kris
Link to comment
Share on other sites

Another distraction for me these days is to expand my program to import Amiga games, with the possibility of filtering them. I wrote a little app that extracts the WHDLoad games one by one, searches for the readme file inside each one, parses the info from it to extract the game's full name, year and manufacturer and then looks for clues in the zipped file names to extract country (when available) and version (almost always available). My intention is to create an ini file with all this info compiled in it, that can be used for filtering purposes. I know that .dat files are available for the TOSEC and Dat-O-Matic sets, which I'm not interested in at this point (besides, they don't carry a whole lot of metadata in them anyway). The reason is that I bought a registered key for the WHDLoad set years ago and I'm proud to support those guys for the awesome job they've done over the years. Besides, WHDLoader is a pretty straight forward launcher. -Kris
Link to comment
Share on other sites

Antropus said Another distraction for me these days is to expand my program to import Amiga games, with the possibility of filtering them. I wrote a little app that extracts the WHDLoad games one by one, searches for the readme file inside each one, parses the info from it to extract the game's full name, year and manufacturer and then looks for clues in the zipped file names to extract country (when available) and version (almost always available). My intention is to create an ini file with all this info compiled in it, that can be used for filtering purposes. I know that .dat files are available for the TOSEC and Dat-O-Matic sets, which I'm not interested in at this point (besides, they don't carry a whole lot of metadata in them anyway). The reason is that I bought a registered key for the WHDLoad set years ago and I'm proud to support those guys for the awesome job they've done over the years. Besides, WHDLoader is a pretty straight forward launcher. -Kris
Kris, that would be amazing, Amiga games are another system that has very little support and information in the game database, so anything that would help with importing this system would be fantastic! The data files that are available for WHDLoad seem to be very lacking. No pressure, but that would be an amazing addition to your import tool!
Link to comment
Share on other sites

Version 0.3g is up: https://drive.google.com/file/d/0B23vaxsfSk1ycXBKT0hhejhSdTA/view?usp=sharing Change Log: - I removed the place hold, Mame and Mess buttons for now, since they were disabled at this point anyway. - Relative paths fully implemented (although not fully tested). 3 possible scenarios: a) Path in a drive other than the Launchbox installation folder = paths become absolute, following the example convention: "k:\Mame\Snaps" b) Path is inside of the launchbox installation folder = path becomes relative, following the example convention: "Images\Snaps" c) Path is outside of the launchbox installation folder, but in the same drive = path becomes relative, following the example convention: "..\Mame\Snaps" Relative paths apply to: Emulators, Roms and Artwork A lot of code was added today, so please test and report anything broken. Thanks! -Kris
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...