{"id":13759524,"url":"https://github.com/mupen64plus/mupen64plus-core","last_synced_at":"2025-04-12T12:37:19.448Z","repository":{"id":12591944,"uuid":"15262758","full_name":"mupen64plus/mupen64plus-core","owner":"mupen64plus","description":"Core module of the Mupen64Plus project","archived":false,"fork":false,"pushed_at":"2024-11-03T04:15:39.000Z","size":14711,"stargazers_count":1365,"open_issues_count":218,"forks_count":260,"subscribers_count":76,"default_branch":"master","last_synced_at":"2025-04-05T10:01:41.200Z","etag":null,"topics":["emulation","n64"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mupen64plus.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSES","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-12-17T18:41:09.000Z","updated_at":"2025-04-04T00:59:44.000Z","dependencies_parsed_at":"2023-02-17T20:15:42.140Z","dependency_job_id":"53a894e7-d86c-4fd8-800e-69024245ca66","html_url":"https://github.com/mupen64plus/mupen64plus-core","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mupen64plus%2Fmupen64plus-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mupen64plus%2Fmupen64plus-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mupen64plus%2Fmupen64plus-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mupen64plus%2Fmupen64plus-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mupen64plus","download_url":"https://codeload.github.com/mupen64plus/mupen64plus-core/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248567656,"owners_count":21125871,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emulation","n64"],"created_at":"2024-08-03T13:00:54.709Z","updated_at":"2025-04-12T12:37:19.423Z","avatar_url":"https://github.com/mupen64plus.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"Mupen64Plus-Core README\n-----------------------\n\nMore documentation can be found on the Mupen64Plus website.\n(https://mupen64plus.org/docs/)\nYou can find a more complete README file on the wiki:\nhttps://mupen64plus.org/wiki/index.php/README\n\nMupen64Plus is based off of mupen64, originally created by Hacktarux. This\npackage contains the only the Mupen64Plus core library.  For a fully functional\nemulator, the user must also install graphics, sound, input, and RSP plugins,\nas well as a user interface program (called a front-end).\n\nREADME Sections\n  1. Requirements for building or running Mupen64Plus\n  2. Building From Source\n  3. Installation\n  4. Key Commands In Emulator\n\n1. Requirements and Pre-requisites\n----------------------------------\n\n*Binary Package Requirements*\n\n  - SDL 2\n  - libpng\n  - freetype 2\n  - zlib \n\n*Source Build Requirements*\n\nIn addition to the binary libraries, the following packages are required if you\nbuild Mupen64Plus from source:\n\n  - GNU C and C++ compiler, libraries, and headers\n  - GNU make\n  - Nasm\n  - Development packages for all the libraries above\n\n2. Building From Source\n-----------------------\n\nIf you downloaded the binary distribution of Mupen64Plus, skip to the\nInstallation section. To build the source distribution, unzip and cd into the\nprojects/unix directory, then build using make:\n\n $ unzip mupen64plus-core-x-y-z-src.zip\n $ cd mupen64plus-core-x-y-z-src/projects/unix\n $ make all\n\nType 'make' by itself to view all available build options:\n\n $ make\n Mupen64Plus-core makefile.\n   Targets:\n     all            == Build Mupen64Plus core library\n     clean          == remove object files\n     install        == Install Mupen64Plus core library\n     uninstall      == Uninstall Mupen64Plus core library\n   Build Options:\n     BITS=32        == build 32-bit binaries on 64-bit machine\n     LIRC=1         == enable LIRC support\n     NO_ASM=1       == build without assembly (no dynamic recompiler or MMX/SSE code)\n     USE_GLES=1     == build against GLESv2 instead of OpenGL\n     VC=1           == build against Broadcom Videocore GLESv2\n     NEON=1         == (ARM only) build for hard floating point environments\n     VFP_HARD=1     == (ARM only) full hardware floating point ABI\n     SHAREDIR=path  == extra path to search for shared data files\n     OPTFLAGS=flag  == compiler optimization (default: -O3 -flto)\n     WARNFLAGS=flag == compiler warning levels (default: -Wall)\n     PIC=(1|0)      == Force enable/disable of position independent code\n     OSD=(1|0)      == Enable/disable build of OpenGL On-screen display\n     NETPLAY=1      == Enable netplay functionality, requires SDL2_net\n     NEW_DYNAREC=1  == Replace dynamic recompiler with Ari64's experimental dynarec\n     KEYBINDINGS=0  == Disables the default keybindings\n     ACCURATE_FPU=1 == Enables accurate FPU behavior (i.e correct cause bits)\n     OPENCV=1       == Enable OpenCV support\n     VULKAN=0       == Disable vulkan support for the default video extension implementation\n     POSTFIX=name   == String added to the name of the the build (default: '')\n   Install Options:\n     PREFIX=path    == install/uninstall prefix (default: /usr/local/)\n     SHAREDIR=path  == path to install shared data files (default: PREFIX/share/mupen64plus)\n     LIBDIR=path    == path to install core library (default: PREFIX/lib)\n     INCDIR=path    == path to install core header files (default: PREFIX/include/mupen64plus)\n     DESTDIR=path   == path to prepend to all installation paths (only for packagers)\n   Debugging Options:\n     PROFILE=1      == build gprof instrumentation into binaries for profiling\n     DEBUG=1        == add debugging symbols to binaries\n     DEBUGGER=1     == build debugger API into core for front-ends.  runs slower.\n     DBG_CORE=1     == print debugging info in r4300 core\n     DBG_COUNT=1    == print R4300 instruction count totals (64-bit dynarec only)\n     DBG_COMPARE=1  == enable core-synchronized r4300 debugging\n     DBG_TIMING=1   == print timing data\n     DBG_PROFILE=1  == dump profiling data for r4300 dynarec to data file\n     V=1            == show verbose compiler output\n\n3. Installation\n---------------\n\n*Binary Distribution*\n\nTo install the binary distribution of Mupen64Plus, su to root and run the\nprovided install.sh script:\n\n $ su\n # ./install.sh\n # exit\n $\n\nThe install script will copy the executable to /usr/local/bin and a directory\ncalled /usr/local/share/mupen64plus will be created to hold plugins and other\nfiles used by mupen64plus.\n\nNOTE: By default, install.sh uses /usr/local for the install prefix. Although\nthe user can specify an alternate prefix to install.sh at the commandline, the\nmupen64plus binary was compiled to look for the install directory in /usr/local,\nso specifying an alternate prefix to install.sh will cause problems (the\nmupen64plus front-end application will not find the directory containing the\ncore library) unless the directory to which you install it is known by your\ndynamic library loader (ie, included in /etc/ld.conf.so)\n\nIf you want to use a prefix other than /usr/local, you may also download the\nsource code package and build with the PREFIX option (see below).\n\n*Source Distribution*\n\nAfter building mupen64plus and all plugins, su to root and type 'make install'\nto install Mupen64Plus. The install process will copy the executable to\n$PREFIX/bin and a directory called $PREFIX/share/mupen64plus will be created\nto hold plugins and other files used by mupen64plus. By default, PREFIX is set\nto /usr/local. This can be changed by passing the PREFIX option to make. NOTE:\nyou must pass the prefix, when building AND installing. For example, to install\nmupen64plus to /usr, do this:\n\n $ make PREFIX=/usr all\n $ sudo make PREFIX=/usr install\n $\n \n *Custom Installation Paths*\n \n You may customize the installation of the Mupen64Plus program by using the\n options for the install.sh script:\n\nusage: install.sh [PREFIX] [SHAREDIR] [BINDIR] [LIBDIR] [MANDIR]\n\nPREFIX - installation directories prefix (default: /usr/local)\nSHAREDIR - path to Mupen64Plus shared data files (default: $PREFIX/share/mupen64plus)\nBINDIR - path to Mupen64Plus binary program files (default: $PREFIX/bin)\nLIBDIR - path to Mupen64Plus plugin files (default: $SHAREDIR/plugins)\nMANDIR - path to manual files (default: $PREFIX/man/man1)\n\nYou must pass the same options to the uninstall.sh script when uninstalling\nin order to remove all of the Mupen64Plus files.\n\nYou should install the Mupen64Plus plugins (libraries) in their own folder.\nIf you install them in a common directory such as /usr/lib and then later\nuninstall them with \"sudo uninstall.sh LIBDIR=/usr/lib\", it will delete all system libraries.\n\nIf you install with SHAREDIR in a place other than /usr/local/share/mupen64plus\nor /usr/share/mupen64plus, and BINDIR is not the same as SHAREDIR, then users\nwill have to run Mupen64Plus with the --installdir= option, otherwise they will get an error.\nThe mupen64plus executable looks in up to 5 different directories in order to find the\nShared Data Directory. The order in which the directories are searched is:\n\n  - directory specified on command line with --installdir\n  - same directory as the mupen64plus binary\n  - /usr/local/share/mupen64plus\n  - /usr/share/mupen64plus\n  - current working directory\n\n\nIf you choose to install the plugins in a non-standard location (someplace other than $SHAREDIR/plugins),\nthen you must set the PluginDirectory parameter in the mupen64plus.conf config\nfile to the directory path in which the plugins have been installed.\n\n4. Key Commands In Emulator\n---------------------------\nThe keys or joystick/mouse inputs which will be mapped to the N64 controller\nfor playing the games are determined by the input plugin.  The emulator core\nalso supports several key commands during emulation, which may be configured by\nediting the ~/.config/mupen64plus/mupen64plus.cfg file.  They are:\n\n   Escape == Quit the emulator\n      0-9 == Select virtual 'slot' for save/load state (F5 and F7) commands\n       F5 == Save emulator state\n       F7 == Load emulator state\n       F9 == Reset emulator\n      F10 == slow down emulator by 5%\n      F11 == speed up emulator by 5%\n      F12 == take screenshot\nAlt-Enter == Toggle between windowed and fullscreen (may not be supported by all video plugins)\n   p or P == Pause on/off\n   m or M == Mute/unmute sound\n   g or G == Press \"Game Shark\" button (only if cheats are enabled)\n   / or ? == single frame advance while paused\n        F == Fast Forward (playback at 250% normal speed while F key is pressed)\n        [ == Decrease volume\n        ] == Increase volume\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmupen64plus%2Fmupen64plus-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmupen64plus%2Fmupen64plus-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmupen64plus%2Fmupen64plus-core/lists"}