RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support

    Scheduled Pinned Locked Moved Ideas and Development
    mame
    1.5k Posts 70 Posters 1.7m Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • markwkiddM
      markwkidd
      last edited by markwkidd

      New support today for Double Dragon 3 - The Rosetta Stone (Japan)

      arcadez added romset ddragon3j

      Trivia about this version shared by arcadez:

      The Japanese version discards the weapon shops completely from the game. Instead, the game asks the player to select from the 4 character types available when they begin (Lee, Chin, Urquidez or Oyama). The one-armed stand head-butt and the hurricane kick are available as part of the default moveset, but the hurricane kick is made hard to execute. While controlling one of the Lee brothers, a nunchaku or a sword can be found on the floor in certain stages. The first stage is slightly re-arranged, with the starting point moved in front of the Power Records store and the conveyor belt inside the warehouse removed.

      1 Reply Last reply Reply Quote 2
      • markwkiddM
        markwkidd @janderclander14
        last edited by

        @janderclander14 you might want to post in this existing mame2003-plus github issue, which began as a question about LED interfaces: https://github.com/libretro/mame2003-plus-libretro/issues/239

        At the moment no one with the expertise has shown up to determine how feasible this is. If it can be determined that this is in the realm of possibility, it would probably make a great bounty.

        1 Reply Last reply Reply Quote 0
        • G
          grant2258 Banned
          last edited by

          i believe outrun using the numlock and caps lock for led utput on the original mame078 not sure exactly where you want this out put to go and what exactly you want to do with it though.

          J 1 Reply Last reply Reply Quote 0
          • G
            grant2258 Banned
            last edited by grant2258

            aadding the lay format isint in the relm of realistic possibilities to add to our core. It would be easier adding a new core base than adding them changes

            1 Reply Last reply Reply Quote 0
            • markwkiddM
              markwkidd
              last edited by markwkidd

              I agree it makes sense to define pre-LAY codebases as "the realm of possibility" here.

              I want to spend some more time looking at AdvanceMAME because they use the same basic MAME artwork engine as 0.78 if I understand correctly.

              1 Reply Last reply Reply Quote 0
              • G
                grant2258 Banned
                last edited by

                I would just need more info to look into what they are trying to do blinking a few leds isint much info to go on.

                1 Reply Last reply Reply Quote 0
                • G
                  grant2258 Banned
                  last edited by

                  there are a few drivers with set_led_status

                  1 Reply Last reply Reply Quote 0
                  • G
                    grant2258 Banned
                    last edited by

                    i believe one of your artwork examples had leds mark just need to know what the user plans on doing with the data ect

                    1 Reply Last reply Reply Quote 0
                    • G
                      grant2258 Banned
                      last edited by

                      @mark looks like code is alread in place for led_state_cb whatever that does

                      1 Reply Last reply Reply Quote 0
                      • J
                        janderclander14 @grant2258
                        last edited by janderclander14

                        @grant2258 The idea is to capture the Mame outputs with a program/daemon like Rgbcommander (users.telenet.be/rgbcommander/) or Mamehooker (dragonking.arcadecontrols.com/static.php?page=aboutmamehooker), which will then act on external leds. For example, the buttons in my arcade stick have leds that are activated according to the actual buttons used by the game/system in use. This is done via Rgbcommander, which monitors the Retroarch core and game executed an has a database of the buttons (and colors) of the original arcade, which are then used to light only the buttons in use.

                        Rgbcommander is also able to capture de Mame outputs of the game in use and, for example blink the start button when introducing a coin or the coin button when no more coins remain.

                        The website of Rgbcommander provides some information on how the Mame outputs (in the standard Mame) works and in which versions have been implemented (see the Mame section)

                        users.telenet.be/rgbcommander/

                        markwkiddM 1 Reply Last reply Reply Quote 0
                        • markwkiddM
                          markwkidd @janderclander14
                          last edited by markwkidd

                          @janderclander14 are there any libretro cores that currently work with rgb commander?

                          edit: I've looked over the site and the answer appears to be "no." The source is closed although the author pledges to open the next version.

                          The earliest version of mainline MAME that the author has tried is 0.169:

                          Linux : 0.? <-> 0.169 - Auto detection works fine. Rom dependant blinking LEDs are functional through old communication system.

                          I don't know for sure but I think that even the "old communication system" is one generation after the code we have from MAME 0.78. If that's the case, it maybe RGB Commander could be made to interface with RetroArch's LED driver eventually assuming that MAME 2003-Plus is able to send data to RA. It would require the participation of the RGB author at that point.

                          J 1 Reply Last reply Reply Quote 0
                          • markwkiddM
                            markwkidd
                            last edited by

                            MAME hooker (http://dragonking.arcadecontrols.com/static.php?page=aboutmamehooker) seems like a more likely initial target for this due to maturity, open source, and API than RGB Commander. Again this is purely speculative and would require someone to add support for MAME 2003-Plus to that tool if and when LED signaling is working within the core.

                            All that is to say that this is a little closer to being possible than I first guessed.

                            1 Reply Last reply Reply Quote 0
                            • J
                              janderclander14 @markwkidd
                              last edited by

                              @markwkidd Thanks for having a look at it. The only thing I can add is that the author of RGBcommander has been quite reactive to requests via email and, so far, is the only software that works on retropie (Mamehooker is Windows only).

                              1 Reply Last reply Reply Quote 0
                              • G
                                grant2258 Banned
                                last edited by grant2258

                                it isint a problem writing to the pi io in theroy ra has a driver for it. I checked mame thedata is coming through form the drivers that support it. We just need to decide what we want to do with it.

                                et_led_status num:0 status:0
                                set_led_status num:1 status:0
                                set_led_status num:0 status:0
                                set_led_status num:1 status:0
                                set_led_status num:0 status:0
                                set_led_status num:1 status:0
                                set_led_status num:0 status:4
                                set_led_status num:1 status:0
                                led display updated
                                set_led_status num:0 status:4
                                set_led_status num:1 status:0
                                set_led_status num:0 status:0
                                set_led_status num:1 status:0
                                led display updated
                                set_led_status num:0 status:0
                                set_led_status num:1 status:0
                                set_led_status num:0 status:0
                                set_led_status num:1 status:2
                                led display updated
                                set_led_status num:0 status:0
                                set_led_status num:1 status:0
                                led display updated
                                set_led_status num:0 status:0
                                set_led_status num:1 status:2
                                led display updated
                                set_led_status num:0 status:0
                                set_led_status num:1 status:0
                                led display updated
                                set_led_status num:0 status:0
                                set_led_status num:1 status:2
                                led display updated
                                set_led_status num:0 status:0
                                set_led_status num:1 status:0
                                led display updated
                                set_led_status num:0 status:0
                                set_led_status num:1 status:2
                                led display updated
                                set_led_status num:0 status:0
                                set_led_status num:1 status:0
                                led display updated
                                set_led_status num:0 status:0
                                set_led_status num:1 status:2
                                led display updated
                                set_led_status num:0 status:0
                                set_led_status num:1 status:0
                                led display updated

                                ect

                                The problem is we need a system wide solution for RA.Writing to the pie gpio ports is very doable by the looks of things what system will you be using?

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  janderclander14 @grant2258
                                  last edited by janderclander14

                                  @grant2258 I think it would be better to mimic the general behavior of the mame outputs as in the standard Mame, so that other apps more focused on managing leds/outputs (such as Rgbcommander) can use these outputs. Otherwise lr-mame will be cluttered with led-related options.

                                  In fact, led management usually requires dedicated hardware (such as Ledwiz), due to the Pi's gpio is too limited in the number of leds that can be managed and the current it supports. Rgbcommader supports most of such hardware already so there is no need for Mame to do that, other than provide the outputs.

                                  1 Reply Last reply Reply Quote 0
                                  • G
                                    grant2258 Banned
                                    last edited by

                                    I really dont agree here windows users dont have that option and i have no idea what you mean why you say mimic mame078 just send pulses to numlock and caplock ect

                                    J 1 Reply Last reply Reply Quote 0
                                    • G
                                      grant2258 Banned
                                      last edited by grant2258

                                      here is the windows code for mame078 you want us to flash the numlock keys?

                                      https://github.com/mamedev/historic-mame/blob/54a1619c9596ddbdc58fa345726b493f209c4af8/src/windows/input.c#L2106-L2150

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        janderclander14 @grant2258
                                        last edited by

                                        @grant2258 Sorry if I wasn't clear. Windows users already employ Mamehooker instead of Rgbcommander to catch Mame outputs and drive leds, counters, etc. Both Windows and linux standard Mames already provide these outputs (and the non-Retroarch linux version provides outputs on the Pi, which can be catched by Rgbcommander, but runs too slow).

                                        The request was whether the Mame output system (as implemented in the standard Mame until version 169) could be ported to the Retroarch core. The link to the Rgbcommander site I included above explains a little how the outputs work through the different Mame versions.

                                        G 1 Reply Last reply Reply Quote 0
                                        • G
                                          grant2258 Banned @janderclander14
                                          last edited by grant2258

                                          ok do me a favor test mame standard 078 see if it hooks the output from what i see in the standard code youll get 3 leds only in mame078

                                          J 1 Reply Last reply Reply Quote 0
                                          • J
                                            janderclander14 @grant2258
                                            last edited by janderclander14

                                            @grant2258 I had a look at it and it seems the standard Mame 0.78 doesn't implement the output system, just the keyboard leds. According to Aaron Giles, the output system was introduced in version 107u4 (August 2006). The following link explains how the outputs work.

                                            https://aarongiles.com/old/?p=181

                                            It seems that the ouput system seamlessly redirects keyboard leds and backdrop lights, which have been supported in much earlier versions of Mame, so that third party softwares can use them to light external leds. Obviouly, more complex outputs (like force feedback effects in racing games) are only available in versions after 2006 and newer drivers. The following posts by the developer of Mamehooker provide some info on this:

                                            http://forum.arcadecontrols.com/index.php/topic,100880.msg1066814.html#msg1066814

                                            forum.arcadecontrols.com/index.php/topic,101789.0/all.html

                                            I don't know whether it could be feasible to backport the mame output system from v107u4 to lr-mame so that at least keyboard leds and backdrop lights are offered as outputs. More complex outputs would likely be unfeasible, because they would imply backporting much newer (and less efficient) drivers.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.