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

    (Request) Add Libretro Neogeo CD Emulator

    Scheduled Pinned Locked Moved Ideas and Development
    neogeo cdlibretro core
    59 Posts 12 Posters 15.1k 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.
    • DarksaviorD
      Darksavior
      last edited by

      https://github.com/fabrice-martinez/neocd_libretro
      Benefits over the fba core:
      CD Speed hack and skipping cd loading. CHD support is a WIP.
      Thanks.

      1 Reply Last reply Reply Quote 3
      • MajorDangerNineM
        MajorDangerNine
        last edited by MajorDangerNine

        The emulator runs full speed on a stock RPi3B, and I even had the zfast CRT standard shader running with it. The emulation hacks are wonderful as well. Not enough processing power overhead to run RetroArch's RunAhead latency hack though.

        No idea if anyone wants this, but I threw together this manual install for NeoCD. It was compiled on my RPi3B, but I guess it'll work on other Pi versions. if there are any problems, don't hesitate to tell me.

        FILE DELETED

        Edit: Updated version with the SS3 fix. https://drive.google.com/file/d/1VxemRLXoQxjtBijyYdYSoX2XSgukzqgm/view?usp=sharing

        SBCGaming | Unofficial RetroPie Discord

        DarksaviorD ANDRELLVSA 2 Replies Last reply Reply Quote 3
        • DarksaviorD
          Darksavior @MajorDangerNine
          last edited by

          @MajorDangerNine Thanks! I asked the dev for a build but he seems busy atm. I would love it to be officially added to retropie for updates. I'm really looking forward to the chd support.

          MajorDangerNineM 1 Reply Last reply Reply Quote 2
          • MajorDangerNineM
            MajorDangerNine @Darksavior
            last edited by MajorDangerNine

            @Darksavior Welcome. Hope it works correctly for you.

            Yeah, CHD support would be nice. I'd go down to 8.5GB from the current 17.1GB my Neo Geo CD collection is taking up.

            SBCGaming | Unofficial RetroPie Discord

            DarksaviorD 1 Reply Last reply Reply Quote 0
            • DarksaviorD
              Darksavior @MajorDangerNine
              last edited by Darksavior

              @MajorDangerNine The few I tried worked but when trying Samurai Shodown 3 it freezes the whole pi when the first match starts. I rebooted and re-transferred the game and it still happens. I don't want to open an issue about it on github until the dev can provide his own build.

              Also, some corrections from your readme. There's more games with arranged soundtracks. At least kof94,95, 96. Maybe more.

              The required bios files are only two. ng-lo.rom(000-lo.lo) and then choose ONE of the others. I chose the latest which is neocd_z.rom (neocd.bin)

              I tried to decompress a chd set I already have with qt chdman gui to bin\cue but then the wrong tracks are played.
              Either way, I'm really enjoying the near instant load times. Too bad games like Kof96 can't have the music playing without interruption of the load times.

              MajorDangerNineM 1 Reply Last reply Reply Quote 0
              • MajorDangerNineM
                MajorDangerNine @Darksavior
                last edited by MajorDangerNine

                @Darksavior

                The few I tried worked but when trying Samurai Shodown 3 it freezes the whole pi when the first match starts. I rebooted and re-transferred the game and it still happens. I don't want to open an issue about it on github until the dev can provide his own build.

                I'll give that game a look.

                Also, some corrections from your readme. There's more games with arranged soundtracks. At least kof94,95, 96. Maybe more.

                Is that so? Well, database was wrong then.

                The required bios files are only two. ng-lo.rom(000-lo.lo) and then choose ONE of the others. I chose the latest which is neocd_z.rom (neocd.bin)

                Eh, I like choices in case of problems. Probably not going to have issues using the latest BIOS though.

                I tried to decompress a chd set I already have with qt chdman gui to bin\cue but then the wrong tracks are played.

                Really now? I haven't checked things in detail. Any game you recommend so that I can hear this problem?

                Either way, I'm really enjoying the near instant load times. Too bad games like Kof96 can't have the music playing without interruption of the load times.

                Yeah, it's nice. I typically just use the fast forward function on load screens when playing PSX.

                Oh, I'll have to give that game a look as well to see that behavior.

                SBCGaming | Unofficial RetroPie Discord

                DarksaviorD 1 Reply Last reply Reply Quote 0
                • DarksaviorD
                  Darksavior @MajorDangerNine
                  last edited by Darksavior

                  @MajorDangerNine I converted Last Blade 2 from chd to bin\cueand the tracks were all over the place. I noticed it from the character select screen and the first match. It might be the qt chdman converter I'm using. I gave up and re-downloaded.

                  Update: I tested ~50 games in img\cue and all work except for Samurai Shodown 3. I downloaded the game from another source in iso\wav\cue but got the same results.

                  MajorDangerNineM 1 Reply Last reply Reply Quote 0
                  • MajorDangerNineM
                    MajorDangerNine @Darksavior
                    last edited by MajorDangerNine

                    @Darksavior

                    Update: I tested ~50 games in img\cue and all work except for Samurai Shodown 3. I downloaded the game from another source in iso\wav\cue but got the same results.

                    Yeah, Samurai Shodown 3 also freezes RetroArch on my Pi as well. Checked NeoCD on the PC and it works fine with the same ROM, BIOS, and same Core Options. On the Pi, the CPU is being maxed out when it freezes.

                    I converted Last Blade 2 from chd to bin\cueand the tracks were all over the place. I noticed it from the character select screen and the first match. It might be the qt chdman converter I'm using. I gave up and re-downloaded.

                    Ah, I see now. Same behavior using the latest CHDMAN. Also happens on the PC.

                    SBCGaming | Unofficial RetroPie Discord

                    1 Reply Last reply Reply Quote 0
                    • W
                      Winklepicker
                      last edited by

                      I would love to see Neogeo CD officially added onto Retropie

                      The ability to play Neogeo games with awesome CD quality soundtracks, and no loading is an absolute godsend to be honest.

                      Please add onto Retropie

                      1 Reply Last reply Reply Quote 1
                      • akafoxA
                        akafox
                        last edited by

                        I compiled the mame2003-plus core and got a "lr-fbalpha-neocd" core? (and the mame2003-plus core of course)

                        What is that and how do you use it? How does it compare to this core?

                        People want things easy...but then complain that life is boring...

                        MajorDangerNineM 1 Reply Last reply Reply Quote 0
                        • MajorDangerNineM
                          MajorDangerNine @akafox
                          last edited by MajorDangerNine

                          @akafox That is unrelated to your install of mame2003-plus and has been part of RetroPie for some time now.

                          Regardless, fbalpha-neocd is pretty good to my knowledge. Just a different mode for FBA to run in. Doesn't have the emulation hacks that NeoCD does, but other that that it is perfectly serviceable now that the NeoCD developer fixed FBA's lack of CDA playback (might need to update from source).

                          Now if only either added CHD support. I'd even take the cue/bin format you get from decompressing the CHD being supported.

                          SBCGaming | Unofficial RetroPie Discord

                          akafoxA 1 Reply Last reply Reply Quote 0
                          • akafoxA
                            akafox @MajorDangerNine
                            last edited by akafox

                            @MajorDangerNine Yeah I figured that. Just thought it was strange to get two cores...that and it being from a mame core getting a fba core.

                            I looked for the core on the forum here and you are correct been round awhile now. Odd I never ran across it till now. However I am going to try this core first. I am compiling it as I type for x64..if it works ok then i can try it on the PI for pits and piggels.

                            CHD support is coming i see..which is good the few I have are CHD format anyway. SO MUCH room is saved that way...waiting for chd support on rearmed (of which I think it is added..I don't remember) that is for another thread though...

                            Anyway going to try this out. and thanks for the code! :D

                            People want things easy...but then complain that life is boring...

                            1 Reply Last reply Reply Quote 0
                            • akafoxA
                              akafox
                              last edited by

                              Okay works GREAT on x86/x64 but I am having a bit of a problem compiling for the RPI3.

                              I changed the CMakeLists.txt file as follows:

                              from
                              -march=x86-64 -mtune=generic
                              to
                              -march=armv7 -mtune=arm7

                              but I get this error

                              /home/pi/neocd_libretro-master/src/3rdparty/musashi/m68kopdm.cpp:1:0: error: target CPU does not support ARM mode

                              so I am at a loss :/

                              People want things easy...but then complain that life is boring...

                              MajorDangerNineM 1 Reply Last reply Reply Quote 0
                              • MajorDangerNineM
                                MajorDangerNine @akafox
                                last edited by

                                @akafox I think I just commented:

                                set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -march=x86-64 -mtune=generic ${BASE_CXX_OPTIONS}")

                                Uncommented:

                                # set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -march=native ${BASE_CXX_OPTIONS}")

                                Then compiled it on my RPi3B.

                                Got a working version that way, though I don't understand much of anything about compiling. Basic idea I have is it is some sort of auto-conversion type deal is going, which is most likely the reason Samurai Shodown 3 freezes on the Pi but doesn't on the PC as something isn't going right in the supposed auto-conversion when it comes to that game.

                                SBCGaming | Unofficial RetroPie Discord

                                1 Reply Last reply Reply Quote 0
                                • akafoxA
                                  akafox
                                  last edited by

                                  okay when I do that without changing the -march flag (I leave it "native" like you have ) I get this:

                                  Scanning dependencies of target neocd_libretro
                                  [ 2%] Building CXX object CMakeFiles/neocd_libretro.dir/src/3rdparty/musashi/m68kopdm.cpp.o
                                  *** Error in `/usr/bin/c++': double free or corruption (top): 0x0070c0a0 ***
                                  CMakeFiles/neocd_libretro.dir/build.make:62: recipe for target 'CMakeFiles/neocd_libretro.dir/src/3rdparty/musashi/m68kopdm.cpp.o' failed
                                  make[2]: *** [CMakeFiles/neocd_libretro.dir/src/3rdparty/musashi/m68kopdm.cpp.o] Aborted
                                  CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/neocd_libretro.dir/all' failed
                                  make[1]: *** [CMakeFiles/neocd_libretro.dir/all] Error 2
                                  Makefile:83: recipe for target 'all' failed
                                  make: *** [all] Error 2

                                  People want things easy...but then complain that life is boring...

                                  MajorDangerNineM mituM 2 Replies Last reply Reply Quote 0
                                  • MajorDangerNineM
                                    MajorDangerNine @akafox
                                    last edited by

                                    @akafox Eh, I'm at a loss. Well, unless you are overclocking your Pi and haven't made sure it is stable.

                                    I just did my best to follow what was HERE and produced that one binary for the RPi3B that I posted near the beginning topic.

                                    Good luck. Hopefully the developer will add CHD support soon and polish whatever else needs polishing so that it can be made an official Libretro core.

                                    SBCGaming | Unofficial RetroPie Discord

                                    DarksaviorD 1 Reply Last reply Reply Quote 0
                                    • mituM
                                      mitu Global Moderator @akafox
                                      last edited by

                                      @akafox -march=native is not supported by the gcc compiler on the Pi (hence the crash). You can take a look at the compilation flags used by the RetroPie-Setup script for various platforms here.

                                      1 Reply Last reply Reply Quote 0
                                      • DarksaviorD
                                        Darksavior @MajorDangerNine
                                        last edited by Darksavior

                                        @MajorDangerNine It's not an official libretro core for legal reasons. https://github.com/fabrice-martinez/neocd_libretro/issues/1

                                        If you can figure out how to make samsho3 not freeze up, then please post an updated binary, thanks.

                                        markwkiddM 1 Reply Last reply Reply Quote 0
                                        • akafoxA
                                          akafox
                                          last edited by akafox

                                          -- The C compiler identification is GNU 4.9.2
                                          -- The CXX compiler identification is GNU 4.9.2

                                          cmake -G "Unix Makefiles" passes no error

                                          make fails

                                          c++: error: unrecognized argument in option '-march=rpi3'
                                          c++: note: valid arguments to '-march=' are: armv2 armv2a armv3 armv3m armv4 armv4t armv5 armv5e armv5t armv5te armv6 armv6-m armv6j armv6k armv6s-m armv6t2 armv6z armv6zk armv7 armv7-a armv7-m armv7-r armv7e-m armv7ve armv8-a armv8-a+crc iwmmxt iwmmxt2 native
                                          CMakeFiles/neocd_libretro.dir/build.make:62: recipe for target 'CMakeFiles/neocd_libretro.dir/src/3rdparty/musashi/m68kopdm.cpp.o' failed
                                          -cut-

                                          when i use armv7 for -march= i get:

                                          /home/pi/neocd_libretro/src/3rdparty/musashi/m68kopdm.cpp:1:0: error: target CPU does not support ARM mode

                                          (This card is still raspian jessie)

                                          @mitu said in (Request) Add Libretro Neogeo CD Emulator:

                                          @akafox -march=native is not supported by the gcc compiler on the Pi (hence the crash). You can take a look at the compilation flags used by the RetroPie-Setup script for various platforms here.

                                          I am not using the retropie-set up script. I am just ssh in and compiling

                                          People want things easy...but then complain that life is boring...

                                          DarksaviorD 1 Reply Last reply Reply Quote 0
                                          • DarksaviorD
                                            Darksavior @akafox
                                            last edited by Darksavior

                                            I just compiled it on my own, yay. The default options @MajorDangerNine provided works but I also tried on my pi3b+:
                                            set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -march=armv8-a+crc -mtune=cortex-a53 ${BASE_CXX_OPTIONS}")

                                            @akafox Maybe upgrade to stretch? My setup is always up-to date.
                                            -- The C compiler identification is GNU 6.3.0 -- The CXX compiler identification is GNU 6.3.0

                                            1 Reply Last reply Reply Quote 1
                                            • 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.