The NEW Build Your Own Arcade Controls

Main => Software Forum => Topic started by: h0tw1r3 on July 07, 2015, 01:34:18 am

Title: UXME (mame fork) 0.171 (2016-03-03)
Post by: h0tw1r3 on July 07, 2015, 01:34:18 am
I spent quite a long time trying all the MAME flavors available, but nothing quite met my needs. So I decided to roll my own.

Unofficial eXtended Machine Emulator

Unique features (or bugs...)
Features from other sources
Emulation hacks

Source code: https://github.com/h0tw1r3/uxme (https://github.com/h0tw1r3/uxme)
Automated: https://build.btolab.com/bot/builders (https://build.btolab.com/bot/builders)
Builds: https://build.btolab.com/project/uxme/ (https://build.btolab.com/project/uxme/)

The main INI file is named 'uxme.ini' so it won't clobber your existing setup.
I have a bunch of things on my list to merge and/or code. Comments, suggestions, welcome.

* mamedev accepted patch
** Minor modifications
Title: Re: UXME (my mame fork)
Post by: baritonomarchetto on July 07, 2015, 11:29:47 am
What do you mean with "code cleanup"? Something that could speed up some "heavy" game?
Title: Re: UXME (my mame fork)
Post by: h0tw1r3 on July 07, 2015, 05:26:32 pm
What do you mean with "code cleanup"? Something that could speed up some "heavy" game?

No (at least not yet).

Things like - today I cleaned up the cross compile support so it works out-of-the-box. Allows me to build windows binaries on my linux box.
Title: Re: UXME (my mame fork)
Post by: nitrogen_widget on July 08, 2015, 01:55:15 pm
What do you mean with "code cleanup"? Something that could speed up some "heavy" game?

No (at least not yet).

Things like - today I cleaned up the cross compile support so it works out-of-the-box. Allows me to build windows binaries on my linux box.

what about linux binaries on your linux box?
Title: Re: UXME (my mame fork)
Post by: Fursphere on July 09, 2015, 09:41:16 am
Wouldn't it make sense to try and get these added as part of the mamedev source?   Instead of forking?
Title: Re: UXME (my mame fork)
Post by: h0tw1r3 on July 09, 2015, 10:30:20 am
Official Mame will not accept most of these changes.

However I do intend to submit the build changes and lua api extensions.
Title: Re: UXME (mame fork)
Post by: h0tw1r3 on August 31, 2015, 05:54:57 am
Lots of new features added to first post.

Two big changes:

Next up is to do a proper archive with all the goodies (filters, artwork, etc) like a standard Mame release.
Title: Re: UXME (mame fork)
Post by: h0tw1r3 on January 06, 2016, 07:59:55 pm
As of 0.169 Mac OS X builds are 10.7+ only. Mamedev moved to C++14 which is not supported on 10.6. Sorry!

Extended the crap out of the LUA api:

I was motivated to extend the lua api because I'm developing a little system to automatically generate attract videos and title/scoreboard snapshots. Idea is to regenerate the snapshots (or videos) after playing a game so the "real" last scoreboard shows up on the frontend. With a little more coding, it will run "headless" after exiting the game.

Also started building full sdlmame releases for OSX and Windows. Packaged exactly as like official releases.
https://build.btolab.com/project/sdlmame/
Title: Re: UXME (mame fork)
Post by: lamprey on January 08, 2016, 02:14:56 am
Thanks for putting this together!

I was testing out 0169-5 x64 on windows and noticed a couple of things:

1. To get the Fast startup for unthrottled emulation to work, what is the proper ini setting? I have "faststart" set to "auto" and tried setting "faststart_skip" to "1" and "0" but that doesn't seem to skip/unthrottle anything..?

2. It looks like the message skipping is working, but it still displays the "Initializing..." message box. I wasn't sure if this was supposed to be disabled or not. I think the high-score/no-nag patch for main-line mame removes that message box and get rid of the border (the white line around the edge of the screen) when mame is launching. I don't know if you can either way, but it's nice to have nothing appear when launching a game (at least for me). :)

Cheers!
Title: Re: UXME (mame fork)
Post by: h0tw1r3 on January 08, 2016, 06:27:11 pm
1. To get the Fast startup for unthrottled emulation to work, what is the proper ini setting? I have "faststart" set to "auto" and tried setting "faststart_skip" to "1" and "0" but that doesn't seem to skip/unthrottle anything..?

It's not you :) I looked at the code again and tried to set it up myself. Not very intuitive.
I just pushed a new build that improves faststart (see next post for ini options).

faststart.dat (https://build.zaplabs.com/project/uxme/faststart.dat) is formatted exactly the same as hiscore.dat and will be loaded from datpath (see uxme.ini) if it exists.

framecounter.lua (https://build.zaplabs.com/project/uxme/framecounter.lua). It is very useful for determining the frame number to faststart up to.

For games that initialize nvram or hard drives, you must completely boot the machine at least once so it initializes the defaults. This default init process effects the frame counter. After the first time, you should be good to go with a consistent frame number.

Here's how I add a new game to faststart.


2. It looks like the message skipping is working, but it still displays the "Initializing..." message box. I wasn't sure if this was supposed to be disabled or not. I think the high-score/no-nag patch for main-line mame removes that message box and get rid of the border (the white line around the edge of the screen) when mame is launching. I don't know if you can either way, but it's nice to have nothing appear when launching a game (at least for me). :)

I'll take a look at removing the init message and border.
Title: Re: UXME (mame fork) 0.169-17 (2016-01-16)
Post by: h0tw1r3 on January 17, 2016, 12:57:29 pm
* Added config option, render_border (defaults to off), which properly removes the white border around OSD UI message screens. This means you can leave "skip_loading" off to see the pre-boot messages without the annoying white border around the screen.
* Removed borders around all UI messages and menus.
* Add type() method to LUA. Returns raster, vector, etc...  manager:machine().screens[":screen"]:type()
* Extended faststart to support a two values. See docs below.

If you prefer to add faststart to your own builds, I have created a patch that should apply to mame 0169.
http://playground.btolab.com/sandbox/kb/arcade/emulation/mame/patches/ (http://playground.btolab.com/sandbox/kb/arcade/emulation/mame/patches/)


Automatically fast forward through machine boot sequence.

* Configuration *

    faststart:
        0 = disable
        1 = enable; use first value from faststart.dat
        2 = *enable; use second value from faststart.dat
                     (fallback to first)

    faststart_skip:
        0 = disable
        1 = enable; do not render frames or audio during faststart

* DAT *

    Download sample from:
    build.btolab.com/project/uxme/faststart.dat

    Format is one value per line. Romname:, frames, *frames.
    Multiple rom names may be specified (one per line) before the frame
    skip value(s).

    ** Example **

        1941:
        1040

        pacman:
        puckman:
        mspacman:
        mspacpls:
        294

        sfex2:
        600
        1900

        strhoop:
        710
        1000

* Intended for skipping more than just the boot sequence.
Title: Re: UXME (mame fork) 0.170 (2016-01-28)
Post by: artyfarty on February 12, 2016, 02:30:19 am
Hi h0tw1r3,

Trying to use your patch for MAME 0.169 to get faststart working.

I can apply the patch and mame compiles OK, but I don't seem to be able to get it to work. I downloaded faststart.dat and put it in my dat directory. I'm using galaga as my test case, and it works fine with UXME.

I've added "faststart 1" and "faststart_skip 1" to my mame.ini, as well as trying "-faststart_skip -faststart 1" on the mame command line, but:
Code: [Select]
uxme64 galaga -faststart_skip -faststart 1works, and:
Code: [Select]
mame64 galaga -faststart_skip -faststart 1doesn't.

The faststart code is there - I don't get errors about the command line options, and mame64 -showusage includes faststart

Any clues about what I might have wrong?

Thanks,

Martin
Title: Re: UXME (mame fork) 0.171 (2016-03-03)
Post by: h0tw1r3 on March 03, 2016, 08:59:59 pm
Merged mame 0.171 release. Source pushed to github and builds should be finished in the next hour or so.

Good news, most of my LUA and cross build modifications were merged into mame 0.171!  :applaud:
Title: Re: UXME (mame fork) 0.170 (2016-01-28)
Post by: h0tw1r3 on March 03, 2016, 09:01:50 pm
I can apply the patch and mame compiles OK, but I don't seem to be able to get it to work. I downloaded faststart.dat and put it in my dat directory. I'm using galaga as my test case, and it works fine with UXME.

The faststart code is there - I don't get errors about the command line options, and mame64 -showusage includes faststart

Any clues about what I might have wrong?

Not really, but I will update the patch for 0.171 and test with plain mame. Are you applying any other patches?
Title: Re: UXME (mame fork) 0.171 (2016-03-03)
Post by: baritonomarchetto on March 04, 2016, 12:47:57 am


Good news, most of my LUA and cross build modifications were merged into mame 0.171!  :applaud:
This really is! Congrats!