11 April 2020

Negatron - a MAME Desktop Frontend at its best

Okay, I quite finished my review, but will update it incrementally from time to time.
Update 11 April - Negatron Cross Platform Pack, MAMEUI screenshot, further .ini info and NegaMAME
Update 13 April - included further information on Extras, In-Game Extras and the Manuals tab; edited the information on .ini issues.
Update 14 April - finishing up with a conclusion
Update 30 April - negatron 0.100.1 gets rid of some Mac-specific bugs, so go and get it!

MAME frontends for MacOS have always been scarce. That's why I was surprised to learn about this Negatron MAME Desktop Frontend being available cross platform, thus for MacOS as well. Already after my first tests, I was blown away by its capabilities. This review tries to point to the outstanding functions, especially for MacOS users, so that you can choose whether to give it a try.


Version tested: 0.100.1 (yes, the software is around since 2015, and I was never aware of - shame on me!)
Website NegaMAME: http://www.babelsoft.net/products/negamame.htm (a dedicated MAME derivative)
The software is updated frequently by its developer XinYingHo.


Tech Basics - Java and VLC under the hood
Negatron relies on Java and VLC. For testing it out, go for the bigger version that bundles all required software - 'All-in-one-pack'. To test out, take the additional 35MB and have no issues with getting it running.
For those who care: Negatron is licensed under GPL 3.0, which is one of the best licenses for free software.

Negatron Cross-Platform Pack in MacOS (a bit advanced)
That one requires you to have VLC and JDK installed. With version 0.100 of Negatron, I successfully managed that. If you have homebrew up and running, the best way to install the JDK via
brew cask install oracle-jdk
Important note: the cross-platform pack does not make use of the directory Username/Application support/Negatron, but saves everything into the Negatron folder. I quite like this approach, since this allows me to move the app easier, including to Linux or Windows.

Manual - what an impressive documentation!
Already the documentation reveals how much efforts the developer has put into everything. You find a lot about about MAME history and its fundamental structure. The documentation of the Software List is invaluable. The 37 pages manual is even embedded into the frontend, which is another great move. May I strongly recommend you to browse through this manual, you will find a lot of interesting facts.

Desktop Frontends vs. Multimedia Frontends
The documentation also nicely explains that Negatron falls into the Desktop Frontend category, like e.g. also QMC2 does. It relies a lot on mouse navigation and provides you with a lot of configuration options. On the other hand, Multimedia Frontends, such as Attract Mode, provides for limited configuration options and joystick controls. With Negatron and Attract Mode, you now have two extremely capable frontends of both kinds in MacOS.

Extras, Extras, Extras
A MAME Desktop Frontend will only reveal its huge advantage after you have installed all the Extras that are out there for MAME, and for which you find all these subdirectories in every official MAME distribution. So do care about artworkpreview, cabinets, marquees, pcbs, snaps, vidosnaps etc. - because Negatron, once properly configured, will display them all in a very neat way.
And you will see: Suddenly, when browsing through your games list, you will find out about games you never would have found out just by its name. This is where MAME Desktop Frontends are great - in exploring new games, their looks in real life and their history. This is why all these Extras matter.
Folders vs .zip: Both MAME and Negatron treat folders and .zip files the same way. For example, it does not matter whether you have a folder called cabinets or a compressed cabinets.zip file - as long as the names are identical, the programs will automagically find the content. So as long as you do not manipulate Extras content, you will be better of with .zip files.
Exception - Artwork: Since the Artwork files are zipped themselves, you need to keep them as a folder.

By the way: The internal MAME UI Frontend can do a lot for you - however in a far less polished way than here in Negatron.


MAME UI handles all the Extras neatly and with a very nice retro feel. Still, look down what Negatron provides you with (click for larger picture)
Note - for the time being, keep mame.ini and other .ini files in the mame root directory, avoid the ini subdirectory!
As described in more detail below,  Negatron directly writes into your MAME .ini files. So it is always recommended to keep your valuable .ini files as backup at a safe place (this is anyways recommended when moving from MAME version to MAME version).
plugin.ini configuration is currently tricky: If you put your mame.ini and the other ini files into the ini subdirectory and configure Negatron to point at it, the plugin.ini content is wiped out. XinYinHo is already working on a workaround. For the time being, it is safer to keep your mame.ini and other .ini files in the MAME root folder, i.e. next to the MAME binary. There everything works as expected.

First Startup
At first startup, Negatron does a lot of smart self-configuraftion based on the location of your MAME binary and the designated directories. As long as you follow the classical folder hierarchy of MAME, Negtron can configure a lot by itself.

Activate Enhanced Preferences. While Negatron does a lot automagically, I do recommend to activate the enhanced preferences. Then you can look in very much detail into the folder configuration of your extras, so that all these gems pop up correctly.


 Negatron Standard Global Configuration (click for bigger picture)


Negatron Enhanced Global Configuration (click for bigger picture)


Looks and Performance
From a MacOS UI perspective, the looks of Negatron are sufficiently decent. In my opinion better than QMC2, which relies on QT. Performance is great in overall, startup times are acceptable considering all the data being loaded at startup. The app itself is very snappy on my Mac. You can find the cache in the /Library/Application Support/Negatron/Cache folder. Negatron does not provide an application menu in MacOS (according to the documentation, a deliberate decision), and pressing the close button closes the app - no worries about that.

So just let me present you with a first screenshot including icons and Extras - in all its glory!!!


      The OMG experience of firing up Negatron first time with all the Machine Externals being in place: Marquee, Cabinet, Flyer and Control Panel, the list on the left side including icons. Changing games also includes a very nice animation in the right panel. You cannot ask for more. Click for bigger picture.


Very often the In-Game Content will not be as popularized as in this example here, because a lot of games are underrepresented in these categories: Title, Snapshot, Logo, HowTo, Score, Boss, Game Over, Ends, Select, Artwork Preview, Versus. A Video Snapshot is played above these shots (see the Video icon in the down right corner).


Another OMG moment - machine internals, obviously required devices and pcb - extras installed, as a result, you can scroll through a plethora of machine information you probably never cared to look at before. Negatron collects all nicely and puts it together for every game. This just rocks. Click for bigger picture. 

The text information page, currently with history.dat, maneinfo.dat and story.dat. I do have some troubles configuring these dats correctly, but at some moment it worked out for me. This is also very polished and nice to read.



























Another very smart move:
By default, the Manuals Tab contains the Negatron Manual. However, if you put a game-specific manual into the manuals folder or the manuals.zip, Negatron switches to this manual. Very cool.

Relationship between Negatron and MAME
It is always crucial to understand how a frontend plays together with MAME. Some frontends are designed in a way that they are very hard to use in parallel to other frontends. Also for me it is crucial to run MAME (i) in different frontends and (ii) standalone. For example, I remember that doing this in QMC2 was a bit of a problem.

Again, be warned: If you change an option in the Global Settings of Negatron, these settings are written into the original .ini files! So be sure to keep a backup of your .ini files in place.

NegaMAME - What is it?
The documentation strongly recommends usage of its MAME derivative called NegaMAME. As its developer XinYingHo explains:

"NegaMAME, you need it for emulated machines with dynamic configuration properties e.g. any computers like IBM PCs, Apple II, Amstrad or Atari ST. But also some consoles, for instance, when you select the Mega Drive and then Sonic&Knuckles in the software list, a second cartridge slot will only appear with NegaMAME, not vanilla MAME. This is about emulating the famous lock-on connector to combine S&K with Sonic 3 for instance."

According to him, it seems that since MAME 186, some third party interfaces were closed, on which Negatron relies on. Anyways, the NegaMAME link (displayed above) provides you with up-to-date MAME binaries for MacOS as well, so it will be worth a try.

What‘s Next?
The developer XinYingHo is very busy with this app, so more can be expected to come. Individual machine configuration via the GUI will be definitely on his list. Most importantly, MacOS is in the development focus. 
I also intend to test the app on MacOS Catalina on another Mac at hand. As stated in my Catalina post, I would not recommend upgrading if you are into emulation.

Conclusion
Negatron is the best MAME Desktop Frontend in MacOS I am aware of. The looks of this Java app are decent enough, performance is great, and it is under steady development. The frontend concept enables you to run MAME standalone or with another frontend, e.g. Attract Mode, side by side. There is hardly anything more to ask for.

Please do not hesitate to share your thoughts in the comments.












No comments:

Post a Comment

Any comments are welcome!