Author
Topic: MAWLER: A MAWS Recreation (Read 18975 times)

I've rewritten MAWS, which you can find at http://www.ids.ca/mame/maws2.zip It is a stand-alone app, written in Java, so it should run just about anywhere. See the readme file in the zip for how to configure. Currently it loads all data files on start up - so it will be very slow to start and consume a lot of memory. This may result in it not running in constrained environments (e.g. very old computer, raspberry-pi, etc). As a very rough estimate, assume you'll need about 750MB-1GB free RAM.

The coding was done largely without looking at the original MAWS code, so differences may exist. I've attempted to recreate the GUI, based on images from the wayback machine, with some tweaks to make better use of screen real-estate. The current feature set is largely due to BYOAC member feedback, with artwork from 8bitmonk, et al.

fwiw, the name MAWLER was chosen by members - i think we're still trying to figure out what it stands for We've collected a decent assortment of guesses, which will be displayed on the splash screen and title bar.

The app starts with a randomly displayed game (shown in next post), but the real fun usually starts with the search (filter). The search criteria are permanently displayed down the left side of the screen, and the result show when you hit the "search" button:

Some explanations:

The "User definable search criteria" really just defines what fields run down the left side. Out of the box you get a minimalistic "Simple" and a big "Deluxe" option, but you can redefine these and make your own.

"Purge" will remove items from the in-memory database - a pop-up will ask if you want to purge everything shown in the list, or just those things you have selected (if any). Your mame.xml and other files are not changed. Hitting "save" after this will save a backup of the resulting database. This is generally used to make start-up times faster.[No longer an issue - loading mame.xml has been much improved. Purge all the stuff you don't normally care for, save, and next time you start the app, it should be much faster (depending on how much has been purged) will load this file. I would recommend doing this the first time you use the app only to prune unwanted content, such as fruit machines. You may also notice that search criteria drop-lists have fewer elements after a purge - for example, if you purge all games with a "hanafuda" control, then "hanafuda" will be removed from the list. Another benefit of the purge - simpler UI

Export supports only CSV and Hyperspin formats right now - more to come

The "history" thing is not perfect, but it's better than nothing fixing it is on the to-do list

Then, what many are looking for, the details. Game details are shown when you double click an item from the search list:

Images shown in top-right of screen. Not many images supported right now, but more to come.

As you can see from the scroll bar on the right side of the screen shot, there is a lot more data not show, such as dip switch details, history.dat and mameinfo.dat entries, etc. These latter two are formatted and include hyperlinks, etc. The "Controls" detail table obviously needs some work as well, as you can see, I need to merge the joystick colour with the directional entries, among other things.

e.g. here are some dip switches - pinkish colour highlights the default setting. The dip switch setting title is in blue because you can click to search for other games that have a setting with that same title:

and here is more formatting mameinfo, with recommended games clickable:

The app also tries to respect your right to do things your way. Some basic config:

The items above are:

If checked, monitor resolutions will be shown as per monitor rotation. The default, unchecked, leaves resolution as reported by mame.xml, which is the resolution of the monitor itself, with no rotation (e.g. horizontal style, such as would be used for watching standard def tv)

Text searches (e.g. "name", "history") will match if any of the words entered are found, unless this is checked, then all words must be present (in any order)

The named "ini" files may contain entries not found in the mame.xml itself, such entries can be numerous and have little info, so the default (unchecked) is to ignore those entries.

Similarly, mameinfo.dat contains many entries about drivers - and without matching data from mame.xml and other sources, these entries are quite lean and confusing. Leaving this unchecked will therefore remove a lot of driver entries from your in-memory database, so you can focus on games.

As shown in the next screenshot below, you can define which search criteria fields are shown along the left side of the main window. You can create (green plus sign) a variety of your own criteria settings, remove ones you don't like (via the red "x" which is shown disabled and grey here as you cannot delete the built-in settings, just modify them), etc:

This next screen defines what fields are shown in the search result listing. "Name" is required by a few hard-coded bits inside the app, so you have no choice with that one (that's why it's disabled):

Here you can define what fields are included when you hit the Export toolbar button (applies to CSV, but other formats may ignore this):

Lets you define where the source input files reside - which is funny considering that they must all be in the same folder as the app or the app wont startfixed. Obviously this is a work in progress. The buttons with ellipses will show a file selection dialog:

Tab-based details pages. Ability to open new tabs when viewing game details

Improve default resolution for windoze - I'm finding the app very ugly in windoze, need to focus more on this asap

It would be nice to support multiple snaps. ie Snapshots, Cabinets, Control Panel, Flyers, Manuals, Marquees and PCB. If you go here they have all of those in separate packages. Snapshots are also broken down into different categories like snaps of the Title screen, Snaps of Gameplay, Snaps of Bosses, Snaps of Game Over, etc. It doesn't have to display all of them at once. - first cut implemented

Add more options (eg driver) to the search result options (config dialog). When you change this setting the list should refresh automatically. - Added Driver - will add anything asked for - so please ask

There are several hundred roms I see at the top of the list that have almost no information, are these from the mame xml? tecomcup, tecmocupu, tecmocups are examples. - See config dialog, first (general) tab, last two check-boxes, likely the cause before those two things were implemented

I remember in maws a feature was that you could, through one of the filters, change the mame version of the data you were looking at. I don't find this terribly useful but if you want to fully replicate maws this is something I see missing.

For browsing roms a hierachical listing with the clones indented and a different color would be visually useful. - Added colour coding, indenting is a to-do

It looks great man! My suggestion and I'm not sure how hard this would be to implement, would be command line options.

Like you send it some filters and it silently spits out a csv file.

If it can do that then FE authors can write an app that'll read the file and convert it to their particular list format (or better yet just use the default file) and the app would double as a list generator.

If you add native support for all the FEs out there you will kill yourself with work only to discover that when you complete it they've decided to add more features and thus the format is invalid (been there, done that).

You raise a very good point - I would not want to get stuck on the never ending treadmill of playing catch-up with front ends. But are all, or most, front ends able to import some form of CSV? If not, I could also provide a very simple plug-in interface and tie it into the GUI via the export option.

Otherwise, a command line interface would not be too difficult at all.

It'd be nice to be able to pick the location of the snaps and icons and support non-zipped format. That way you don't have to dupe them into the mawler root if you want to use them as it's a lot of space. Most people will keep one copy of these, typically in their mame folder uncompressed if they want to use them in other apps that only support non-zipped format.

Being able to custom mark/flag groups of roms and then filter and/or export by those groupings is still the highest on my wish list. Squeak squeak. You said squeaky wheel right? Not to be a request hog, I have made most of the feature requests I guess so hopefully some others chime in here.

On startup, if mame.xml cannot be found, you get a chance to locate all relevant files.

Improved handling of images - you can specify, via new tab in config dialog, the location of zip files or directories for images. You can also use the systems path separator (e.g. ":" in *nix, ";" in windows) to provide more than one location for a given type of image.

Looks like some snafu's in this version, first version I haven't been able to successfully launch.

If the mame.xml is in the folder it errors out, says 'unable to load mame.xml, application cannot continue, please make sure mame.xml is in the C:/xxx/xxx directory. Tried changing the location of the folder on different hard drives/sub folders etc.

If I put the support files in separate folder named 'support files' the paths dialog box comes up but the file browser does not work. Selection a location on your computer at left doesn't allow you to navigate to file. This works for the icons, flyers etc. however. I tried manually putting in a path to the support files as well and not luck, it says it can't find mame.xml and crashes

My spot checking shows some of the images work now but not all. For instance when I pull up 1943 I only see the flyer. When I pull up Robotron I can see the flyer and using the arrows can go to the control panel as well but not the snapshots or icon or cabinet etc.

Noticed an error that it's not finding Catver.ini even though it's in the path i'm pointing to.

EDIT: Was also going to mention that it might be a good idea to have the flyers smaller or be able to set the default size. With them full size you can't see any of the other info below as it takes up the whole screen. Might be good to have little previews that you could click to enlarge only if you wanted to.

I've dl'd an assortment of images and will work on improving things in that area. I see flyers are quite big, as you mention, so I'll put an upper limit on size and scale them appropriately.

I have tweaked the splash to cycle through a selection of images, each time drawing a different random acronym expansion. Not much of a change, so I'll wait till I get more done before pushing out a new build.

8bit: In cases where an image does not come up - can you confirm there is an image, it is named <romname>.{jpg|png|ico}, and is not in a subfolder? For ex, for 1941 (not a clone or otherwise), there should be a file called 1941.png (or other extension) in the named zip file or directory, and not in a nested folder/dir.

Ok, I did some further testing. I made 6 new folders named Cabinet, Icon, Snap, Control Panel, Marquee and Flyer. Inside each of the folder I placed the appropriate image with the rom name of 19xx so each was 19xx.png. I then went into MAWLER and set the path to the 6 folders using the browse button and then looked up 19xx by searching for it and no images appeared. Opening up the preferences again to set the paths I noticed that there was a colon in from of the drive letter name so for instance :I:\ArcadeTools\MAWLER\image files\snap. I removed the colon at the beginning and then all images appear. It seems selecting the folder with the browse button adds a colon at the beginning.

Icons shown separately from other images, no need to scroll through them

Wired up the "launch game" toolbar button. Currently there is no mechanism to define the command line, it runs "mame <romname>"; hopefully that covers most usages for now. You can specify where the mame executable lives in the Config dialog. The process is run in the directory containing the executable.

Icons shown separately from other images, no need to scroll through them

Wired up the "launch game" toolbar button. Currently there is no mechanism to define the command line, it runs "mame <romname>"; hopefully that covers most usages for now. You can specify where the mame executable lives in the Config dialog. The process is run in the directory containing the executable.

Nice update, thanks! The "Launch Game" feature is very useful as I use Mawler to find games I would like to add to my front end. Is there any way to mark a game as a favorite or to add it to a custom list? Currently if I find a game using Mawler that I want to add to my fe, I must either write it down or start my fe and go ahead and add it to a game list in the fe. Might be nice to be able to flag games as favorites if there are others that would find that useful. If another drop down in the search panel was added for user created custom lists, it opens up more possibilities to make your export even more useful.

On a related note, mameui32/64 allows games to be added to custom folders. These are just ini files that contain the rom names of those games a user adds to each custom folder. Mala can currently import these ini files into game lists. I'm not sure if storing favorites in a similar format would be feasible or not. If not, perhaps adding this same format to your export procedure would at least add support for Mala, mameui32, and any other frontend that can import custom lists from mameui32.

BobA - the download link (http://www.ids.ca/mame/maws2.zip) does not have a web page to show, it's a direct link to the file. If clicking is not triggering a download, maybe a right-click is needed or something to suggest to your browser you'd like to save the file at that link? It is coming along - much slower than I'd like, but I'm quite swamped at the moment. I need to update those screen shots above as well.

SGT: seems I assume the "launch game" works then (I've not really tested it). The idea of flagging and custom lists has been on my TO-DO list for a good while, but I just haven't gotten around to it yet, sorry. Been busy, and trying to think of good visuals and interaction mechanisms for it. On a related note, I'm also trying to visualize building more complex search filters - e.g. some of those, not that, etc (ie arbitrary combinations of AND, OR, NOT). Perhaps these can be combined in some way, as well, and then saved with a user selectable name ("favourites", "shooters", etc.) - would be nice to have small icons to go with each list, but that might be a stretch. The favourites/ini list-file thing sounds like a great way for the app to store these things, as the current "properties" file is being pushed beyond it's typical usage and is becoming a bit fragile (ie. please don't edit, or at least be careful). I could easily use it both as the apps way to track user lists, and also provide access via the Export, so you can save these things anywhere you'd like. Hopefully I'll find time for this soon.

Quick question. When I use Mawler to list only those games that require a CHD, it lists 383 games. I am using mame.xml from mame 0.151. When I use mameui.151, it lists 619 games with CHDs. An example of a specific game is cndypuzl. Mameui32 lists it as requiring a chd while mawler does not. If I try to run it, mame confirms the chd is missing.

Took a quick look at a mame.xml I have lying around, seems like there is no simple means to determine if a CHD is required. Some ROMS have a <disk...> entry, some have a <device..> that specifies a "chd", etc. Not sure why there is not a single, simple flag (or maybe there is and I'm missing it). I'll try to get an updated build out soon. Thanks for pointing this out.

Wasn't going to comment since I'm still on an old build, but since SGT mentioned CHDs.....Someone in the main forum requested a list of games requiring CHDs, so off to Mawler to generate a list!I tried to run a list of working or imperfect games requiring CHDs, but noticed a lot of ommisions.

So yeah, whatever it is using as criteria for CHDs is missing a lot.Off the top of my head:Killer Instinct 1 & 2, Area 51, Maximum Force.....

I've tweaked the code a bit (not posted) and ran a quick test against mame.xml from 151. I'm getting 602 instead of 619 for "CHD Required". An improvement, but not perfect.

The resulting list shows the games mentioned; several Killer Instinct and Maximum Force games, as well as Candy Puzzle

I've checked with MameUI source code - it's leveraging some mame internals to make this determination. Internals which do not appear to map directly to the mame.xml. I ran MameUI and didn't see any obvious ways to export a list. Without knowing which games I am missing, it's going to be a challenge to figure out what's wrong. I'll try to keep at it, hope to find the problem and post a fix soon, but lately I've had negative free time (much sleep being sacrificed). If I can't make it perfect soon, I'll post the better but still imperfect version.

The site could be temporarily unavailable or too busy. Try again in a few moments. If you are unable to load any pages, check your computer's network connection. If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.

Logged

"I know what a HAL 9000 is... I was wondering if HAL 7600 was his retarded cousin or something..."-HarumaN

Thanks, ids. No need to hurry on my account, but I appreciate the work you put into this one. I have been enjoying mawler. Really good for dicing up romsets to match exact criteria to put exact roms into a specialty cabinet. This has become standard software on all my computers.

hi im a bit lost, just trying to get a list of the gambling/fruit machine type stuff, but not sure how to search for those with mawler. i added mame155 xml and catver.ini to mawler, am i missing something? i dont seem to have any info on 'category' and 'genre' (see pic below); im assuming i need that info before i can generate the lists im after? nothing apart from 'any' is available in the 'genre' and 'category' drop down menus on the left..

Thanks, ids. No need to hurry on my account, but I appreciate the work you put into this one. I have been enjoying mawler. Really good for dicing up romsets to match exact criteria to put exact roms into a specialty cabinet. This has become standard software on all my computers.

The same.Its easier to just put the ROMs you want on the PC than filter them with the front end.At least for me it is.

hi im a bit lost, just trying to get a list of the gambling/fruit machine type stuff, but not sure how to search for those with mawler. i added mame155 xml and catver.ini to mawler, am i missing something? i dont seem to have any info on 'category' and 'genre' (see pic below); im assuming i need that info before i can generate the lists im after? nothing apart from 'any' is available in the 'genre' and 'category' drop down menus on the left..

Same issue here. Nothing in Genre or Category. I have defined that mame.xml and catver.ini. The version added info that appears to be in the catver.ini file is not listed in MAWLER either.

Yeah, sorry, free time has been quite limited for a while now. I did take a look recently...at which point I remembered I was in the middle of reworking some stuff, so it's in a state of not compiling, which makes it hard to do simple fixes I'll get back to it as soon as I can. Sorry.