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

    Hope lr-fbneo support kof 97 practice mode(kof97pm.zip)

    Scheduled Pinned Locked Moved Ideas and Development
    emulatorshbmamekof hack romlr-fbneo
    42 Posts 4 Posters 8.8k 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.
    • ninjaN
      ninja @barbudreadmon
      last edited by

      @barbudreadmon
      Let me explain what I did in detail.

      I downloaded Fbneo and extracted all files in the .zip file.

      After adding support information to kof97pm.zip in file:

      FBNeo-master/src/burn/drv/neogeo/d_neogeo.cpp
      

      I compiled fbneo under FBNeo-master with command

       make pi
      

      and got an executable

      fbneo
      

      I tryied to run it and encountered error above.

      After checking the post Donkey Kong Spooky Remix in Retropie? and the directory structure of Retropie, I found what I need is actually

      fbneo_libretro.so
      

      Then I went to

      FBNeo-master/src/burner/libretro
      

      and recompiled with

      make -j5 -f Makefile platform=rpi3 clean
      make -j5 -f Makefile platform=rpi3 generate-files
      make -j5 -f Makefile platform=rpi3
      

      then I got

      fbneo_libretro.so
      

      I moved it to

      /opt/retropie/libretrocores/lr-fbneo
      

      and replaced the file of same name there.

      Now what else do I need to do ?

      B 1 Reply Last reply Reply Quote 0
      • ninjaN
        ninja
        last edited by

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • B
          barbudreadmon @ninja
          last edited by barbudreadmon

          @ninja said in Hope lr-fbneo support kof 97 practice mode(kof97pm.zip):

          Now what else do I need to do ?

          Nothing, if you launch kof97pm with fbneo through emulationstation it should use your custom compiled core

          FBNeo developer - github - forum

          ninjaN 1 Reply Last reply Reply Quote 0
          • ninjaN
            ninja @barbudreadmon
            last edited by ninja

            @barbudreadmon

            But I have recompiled

            fbneo_libretro.so
            

            and placed it in

            /opt/retropie/libretrocores/lr-fbneo
            

            So now I can play kof97pm from the EmulationStation interface, just like any other roms in Retropie ?

            B 1 Reply Last reply Reply Quote 0
            • B
              barbudreadmon @ninja
              last edited by

              @ninja yes

              FBNeo developer - github - forum

              ninjaN 1 Reply Last reply Reply Quote 0
              • ninjaN
                ninja @barbudreadmon
                last edited by ninja

                @barbudreadmon OK, I'll give it a try this evening.
                BTW, can I submit my changes of FBNeo to it's master branch(also to RetroPie)?

                If so, future versions of FBNeo and RetroPie will support kof97pm by default, and all global users can play this game automatically in future.

                B 1 Reply Last reply Reply Quote 0
                • B
                  barbudreadmon @ninja
                  last edited by

                  @ninja said in Hope lr-fbneo support kof 97 practice mode(kof97pm.zip):

                  BTW, can I submit my changes of FBNeo to it's master branch(also to RetroPie)?

                  Sure, you can submit it to https://github.com/finalburnneo/FBNeo

                  FBNeo developer - github - forum

                  ninjaN 2 Replies Last reply Reply Quote 0
                  • ninjaN
                    ninja @barbudreadmon
                    last edited by

                    @barbudreadmon

                    Do you know how to set BIOS for kof97pm ?
                    Because If I want to play kof97pm in practice mode, I have to use UniBIOS(which is in neogeo.zip).

                    But I don't know where and how to set a BIOS for kof97pm in RetroPie.

                    Screenshot from 2020-08-20 18-26-15.png

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

                      @ninja said in Hope lr-fbneo support kof 97 practice mode(kof97pm.zip):

                      Do you know how to set BIOS for kof97pm ?

                      Use the Core Options in RetroArch's quick menu to choose between BIOS versions.

                      ninjaN 1 Reply Last reply Reply Quote 1
                      • ninjaN
                        ninja @mitu
                        last edited by

                        @mitu Is it possible to specify a BIOS only for kof97pm ?

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

                          @ninja Yes, Core options can be saved per-game - there's a menu entry on top of the option list that does that. Just set the options you want for the game in question (opening the RGUI while in-game), save them, then set the options back to the values you want to be the default.

                          1 Reply Last reply Reply Quote 0
                          • ninjaN
                            ninja @barbudreadmon
                            last edited by ninja

                            @barbudreadmon Thanks for your help. Now I can run kof97pm on my RetroPie.

                            But there are still some small problems. For example, I cannot see clearly the words on the screen when playing kof97pm.

                            I guess it's because the support codes added to d_neogeo.cpp might not be complete. So I attached these codes below:

                            // The King of Fighters '97 Practice Mode
                            
                            static struct BurnRomInfo kof97pmRomDesc[] = {
                                    { "232pm-p1.p1",   0x100000, 0x34ccabae, 1 | BRF_ESS | BRF_PRG }, //  0 68K code 
                                    { "232-p2.sp2",   0x400000, 0x158b23f6, 1 | BRF_ESS | BRF_PRG }, //   1
                            
                                    { "232-s1.s1",   0x020000, 0x8514ecf5, 2 | BRF_GRA },          //  2 Text layer tiles
                            
                                    { "232-c1.c1",   0x800000, 0x5f8bf0a1, 3 | BRF_GRA },           //  3 Sprite data
                                    { "232-c2.c2",   0x800000, 0xe4d45c81, 3 | BRF_GRA },           //  4 
                                    { "232-c3.c3",   0x800000, 0x581d6618, 3 | BRF_GRA },           //  5 
                                    { "232-c4.c4",   0x800000, 0x49bb1e68, 3 | BRF_GRA },           //  6 
                                    { "232-c5.c5",   0x400000, 0x34fc4e51, 3 | BRF_GRA },           //  7 
                                    { "232-c6.c6",   0x400000, 0x4ff4d47b, 3 | BRF_GRA },           //  8 
                            
                                    { "232-m1.m1",   0x020000, 0x45348747, 4 | BRF_ESS | BRF_PRG }, //  9 Z80 code
                            
                                    { "232-v1.v1",   0x400000, 0x22a2b5b5, 5 | BRF_SND },           // 10 Sound data
                                    { "232-v2.v2",   0x400000, 0x2304e744, 5 | BRF_SND },           // 11 
                                    { "232-v3.v3",   0x400000, 0x759eb954, 5 | BRF_SND },           // 12 
                            };
                            
                            STDROMPICKEXT(kof97pm, kof97pm, neogeo)
                            STD_ROM_FN(kof97pm)
                            
                            static void kof97pmCallback()
                            {
                                    lans2004_sx_decode();
                            }
                            
                            static INT32 kof97pmInit()
                            {
                                    NeoCallbackActive->pInitialise = kof97pmCallback;
                            
                                    return NeoInit();
                            }
                            
                            struct BurnDriver BurnDrvkof97pm = {
                                    "kof97pm", "kof97", "neogeo", NULL, "1997",
                                    "The King of Fighters '97 (Practice Mode)\0", NULL, "hack", "Neo Geo MVS",
                                    NULL, NULL, NULL, NULL,
                                    BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_PREFIX_CARTRIDGE | HARDWARE_SNK_NEOGEO, GBF_VSFIGHT, FBF_KOF,
                                    NULL, kof97pmRomInfo, kof97pmRomName, NULL, NULL, NULL, NULL, neogeoInputInfo, neogeoDIPInfo,
                                    kof97pmInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
                                    0x1000, 304, 224, 4, 3
                            };
                            

                            Did I miss anything important ?
                            And what do these codes mean exactly?

                            mituM B 2 Replies Last reply Reply Quote 0
                            • mituM
                              mitu Global Moderator @ninja
                              last edited by

                              @ninja Are you running the game with fbneo directly or with lr-fbneo ?

                              ninjaN 1 Reply Last reply Reply Quote 0
                              • ninjaN
                                ninja @mitu
                                last edited by ninja

                                @mitu lr-fbneo recompiled by myself
                                words.jpg

                                1 Reply Last reply Reply Quote 0
                                • B
                                  barbudreadmon @ninja
                                  last edited by

                                  @ninja is there a reason for using a custom init ? it doesn't work if you call NeoInit directly instead of your custom kof97pmInit ? HBMAME is using standard init for that hack.

                                  FBNeo developer - github - forum

                                  ninjaN 1 Reply Last reply Reply Quote 0
                                  • ninjaN
                                    ninja @barbudreadmon
                                    last edited by

                                    @barbudreadmon
                                    Well, I just copied the codes for kof97pla from d_neogeo.cpp and modified them for my kof97pm.

                                    Acutally, I even don't understand what they mean.

                                    B 2 Replies Last reply Reply Quote 0
                                    • B
                                      barbudreadmon @ninja
                                      last edited by barbudreadmon

                                      @ninja said in Hope lr-fbneo support kof 97 practice mode(kof97pm.zip):

                                      Well, I just copied the codes for kof97pla from d_neogeo.cpp and modified them for my kof97pm.

                                      This code is meant to decode sx rom before loading it, it seems to be required for kof97pla (see init_kof97pla at the beginning of https://raw.githubusercontent.com/Robbbert/hbmame/master/src/hbmame/drivers/kof97.cpp), but it doesn't seem to be required for kof97pm (or any other kof97 hack for that matter), see this code around the end of hbmame's kof97.cpp file :

                                      ...
                                      HACK( 2003, kof97pla,  kof97,    neogeo_noslot, neogeo, neogeo_state,kof97pla, ROT0, "bootleg", "Kof'97 (Plus)(set 1)", MACHINE_SUPPORTS_SAVE )
                                      HACK( 2003, kof97plc,  kof97,    neogeo_noslot, neogeo, neogeo_state, neogeo,   ROT0, "ZKW", "Kof'97 Plus (Black Edition)", MACHINE_SUPPORTS_SAVE )
                                      HACK( 2006, kof97plus, kof97,    neogeo_noslot, neogeo, neogeo_state, neogeo,   ROT0, "bootleg", "Kof'97 (Plus 2006)", MACHINE_SUPPORTS_SAVE )
                                      HACK( 1997, kof97pm,   kof97,    neogeo_noslot, neogeo, neogeo_state, neogeo,   ROT0, "Kof1996", "Kof'97 (Practice Mode)", MACHINE_SUPPORTS_SAVE )
                                      ...
                                      

                                      The 7th member is either kof97pla (will trigger the call to the init_kof97pla function at boot) or neogeo (will call the standard neogeo init)

                                      FBNeo developer - github - forum

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        barbudreadmon @ninja
                                        last edited by

                                        @ninja also, if you look at this line in your code :

                                        	{ "232-s1.s1",   0x020000, 0x8514ecf5, 2 | BRF_GRA },          //  2 Text layer tiles
                                        

                                        You can see it's about the text layer in the comment, the file is named 232-s1.s1, the .s1 extension means it's one of the sx files you are decoding.

                                        FBNeo developer - github - forum

                                        ninjaN 1 Reply Last reply Reply Quote 0
                                        • ninjaN
                                          ninja @barbudreadmon
                                          last edited by

                                          @barbudreadmon But I cannot find this file in kof97pm.zip, there is only 232pm.p1 in this zip file.

                                          B 1 Reply Last reply Reply Quote 0
                                          • B
                                            barbudreadmon @ninja
                                            last edited by barbudreadmon

                                            @ninja that's probably because you are using split romsets, so 232pm.p1 is loaded from kof97pm.zip and every other files are loaded from parent kof97.zip

                                            FBNeo developer - github - forum

                                            ninjaN 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.