RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    SM64PC Ports and Hacks

    Scheduled Pinned Locked Moved Help and Support
    pi4ports
    8 Posts 2 Posters 1.9k 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.
    • W
      WhiteT982
      last edited by

      First off I’m fairly ignorant when it comes to this sort of thing but I have learned a fair amount after tinkering with pi’s for a few years. Just don’t laugh too hard if some of the following seems a little outlandish. But I have recently compiled the SM64 PC Port using this guide on my Pi4 successfully and thought I would try some other things.

      First on my list was to try and compile sm64plus. Using the previous guide as a base it appeared to compile without any errors and I was able to launch the game but 90% of the textures are black and purple squares and the game crashes when entering the castle. Otherwise seems fine (audio and controls all work great).

      I also tried to compile sm64-moonshine. This time I got the following error:

      pi@retropie:-/sm64-moonshine $ make VERSION=us TARGET RPI=1 -34 make: Entering directory '/home/pi/sm64-moonshine/tools' CC -I../include -I. -Wall - Wextra -Wno-unused-parameter -pedantic -std=c99 -02 -S
      -Iaudiofile -Wno-uninitialized sdk-tools/tabledesign/codebook.c sdk-tools/tabled esign/estimate.c sdk-tools/tabledesign/print.c sdk-tools/tabledesign/tabledesign. C-o tabledesign -lm -Laudiofile -laudiofile -lstdc++ -lm /usr/bin/id: audiofile/libaudiofile.a: error adding symbols: file format not reco gnized collect2: error: ld returned 1 exit status make: *** (Makefile:54: tabledesign] Error 1 make: Leaving directory '/home/pi/sm64-moonshine/tools' Makefile:271: *** Failed to build tools. Stop. 
      

      On a somewhat different note I found out that some people were creating pc ports of several SM64 romhacks. aspieweeb759 and jesusyoshi64 both have repos where they have made .bps patches that you apply to .z64 roms then change to a .exe which work perfectly on Windows. I thought maybe I could replace the source code in their forks with the code that they have listed for each of the patches and then compile a romhack out of that that would work in Retropie?

      Basically I have no idea if any of this is even feasible much less doable with my knowledge base. Compiling sm64pc just went so well that I thought the other should at least have a chance of working.

      TL:DR
      Is it possible to get sm64plus and sm64-moonshine working in Retropie along with romhacks using the SM64 PC port?

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

        @WhiteT982 said in SM64PC Ports and Hacks:

        I also tried to compile sm64-moonshine. This time I got the following error:
        [...]

        The error comes from a pre-compiled libaudiofile.a in tools/audiofile - it's pre-compiled for a x86-64 machine, incompatible with the ARM CPU architecture on a Pi. Remove the file and re-run the make command.

        W 2 Replies Last reply Reply Quote 0
        • W
          WhiteT982 @mitu
          last edited by

          Ok I will give that a shot later then. Hopefully it’s as simple as that and thanks for the help

          1 Reply Last reply Reply Quote 0
          • W
            WhiteT982 @mitu
            last edited by

            @mitu
            Deleted the file and ran it again and got

            /usr/bin/ld: audiofile/libaudiofile.a: error adding symbols: archive has no index ; run ranlib to add one collect2: error: ld returned 1 exit status make: *** [Makefile:54: tabledesign] Error 1 make: Leaving directory '/home/pi/sm64-moonshine/tools' Makefile:271: *** Failed to build tools. Stop. 
            

            So I take it it needs that libaudiofile.a to compile so therefore will only work on x86?

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

              I think it can be compiled on ARM too - I thought the main makefile included rules for compiling it. Run

              cd tools/audiofile
              make
              

              then go back to the top folder and run make again - it should progress further.

              W 1 Reply Last reply Reply Quote 0
              • W
                WhiteT982 @mitu
                last edited by

                Alright so when I run make in the tools/audiofile folder it creates a new libaudiofile.a. When I run make VERSION=us TARGET_RPI=1 -j4 again it gives me the same error from the first post. Also tried make EXTERNAL_DATA=1 -j since I saw that in the repo but I also got the same error.

                But I looked through the makefile and it obviously supports pi’s because it mentions it several times. Wondering if there’s some option I need to pick? Here’s a pastebin of the makefile. After a quick browse through it the only thing I could see is changing line 25 to TARGET_RPI 4= 1 possibly? Nothing else in there really made sense to me.

                Lastly only thing that I think was different from building the sm64pc was that there was a build folder that wasn’t in the sm64-moonshine repo. No idea if it’s important but it’s the only other difference I can think of.

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

                  Alright so when I run make in the tools/audiofile folder it creates a new libaudiofile.a. When I run make VERSION=us TARGET_RPI=1 -j4 again it gives me the same error from the first post. Also tried make EXTERNAL_DATA=1 -j since I saw that in the repo but I also got the same error.

                  Then I have no idea what's next. You could try report it upstream, though I don't Issues being enabled on the repo :/.

                  But I looked through the makefile and it obviously supports pi’s because it mentions it several times.

                  Yeah, I wouldn't be so sure. It's copied from the original fork, which I suppose copied it from the original SM64 project, so I wouldn't call it a sure thing.

                  W 1 Reply Last reply Reply Quote 0
                  • W
                    WhiteT982 @mitu
                    last edited by

                    Well it was worth a shot. Maybe I’ll keep playing around and stumble across something. I appreciate the help though.

                    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.